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#define yyin ssl_expr_yyin
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yyleng ssl_expr_yyleng
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yylex ssl_expr_yylex
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yyout ssl_expr_yyout
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yyrestart ssl_expr_yyrestart
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yytext ssl_expr_yytext
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* A lexical scanner generated by flex */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* Scanner skeleton version:
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define FLEX_SCANNER
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_FLEX_MAJOR_VERSION 2
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_FLEX_MINOR_VERSION 5
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#include <stdio.h>
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#ifdef c_plusplus
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#ifndef __cplusplus
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define __cplusplus
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
19b4bb652f5cdc2797b66595eaf8811881aa9873Jakub Hrozek
19b4bb652f5cdc2797b66595eaf8811881aa9873Jakub Hrozek
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#ifdef __cplusplus
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#include <stdlib.h>
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#include <unistd.h>
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* Use prototypes in function declarations. */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_USE_PROTOS
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* The "const" storage-class-modifier is valid. */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_USE_CONST
cc2d77d5218c188119fa954c856e858cbde76947Pavel Březina
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#else /* ! __cplusplus */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#if __STDC__
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_USE_PROTOS
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_USE_CONST
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif /* __STDC__ */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif /* ! __cplusplus */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#ifdef __TURBOC__
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher #pragma warn -rch
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher #pragma warn -use
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#include <io.h>
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#include <stdlib.h>
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_USE_CONST
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_USE_PROTOS
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce#ifdef YY_USE_CONST
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce#define yyconst const
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce#else
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yyconst
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#ifdef YY_USE_PROTOS
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_PROTO(proto) proto
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#else
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_PROTO(proto) ()
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* Returned upon end-of-file. */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_NULL 0
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov
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 */
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce
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.
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define BEGIN yy_start = 1 + 2 *
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov
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 */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_START ((yy_start - 1) / 2)
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YYSTATE YY_START
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
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
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* Special action meaning "start processing a new file". */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_NEW_FILE yyrestart( yyin )
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_END_OF_BUFFER_CHAR 0
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* Size of default input buffer. */
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher#define YY_BUF_SIZE 16384
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallaghertypedef struct yy_buffer_state *YY_BUFFER_STATE;
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagherextern int yyleng;
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagherextern FILE *yyin, *yyout;
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce#define EOB_ACT_CONTINUE_SCAN 0
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce#define EOB_ACT_END_OF_FILE 1
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher#define EOB_ACT_LAST_MATCH 2
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher
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 *
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher * if ( condition_holds )
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher * yyless( 5 );
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher * else
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher * do_something_else();
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher *
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 */
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher/* Return all but the first 'n' matched characters back to the input stream. */
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher
9acfb09f7969a69f58bd45c856b01700541853caLukas Slebodnik#define yyless(n) \
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce do \
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce { \
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce /* Undo effects of setting up yytext. */ \
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher *yy_cp = yy_hold_char; \
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce YY_RESTORE_YY_MORE_OFFSET \
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher YY_DO_BEFORE_ACTION; /* set up yytext again */ \
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher } \
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher while ( 0 )
9acfb09f7969a69f58bd45c856b01700541853caLukas Slebodnik
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce#define unput(c) yyunput( c, yytext_ptr )
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce
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).
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce */
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallaghertypedef unsigned int yy_size_t;
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagherstruct yy_buffer_state
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov {
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov FILE *yy_input_file;
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher char *yy_ch_buf; /* input buffer */
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher char *yy_buf_pos; /* current position in input buffer */
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher /* Size of input buffer in bytes, not including room for EOB
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher * characters.
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher */
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher yy_size_t yy_buf_size;
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher /* Number of characters read into yy_ch_buf, not including EOB
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher * characters.
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher */
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher int yy_n_chars;
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher
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 * delete it.
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher int yy_is_our_buffer;
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
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 */
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher int yy_is_interactive;
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher
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
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher * not.
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher */
545f49b72cdf8453fb0b85c9d87e7d4711da57daLukas Slebodnik int yy_at_bol;
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov
545f49b72cdf8453fb0b85c9d87e7d4711da57daLukas Slebodnik /* Whether to try to fill the input buffer when we reach the
545f49b72cdf8453fb0b85c9d87e7d4711da57daLukas Slebodnik * end of it.
545f49b72cdf8453fb0b85c9d87e7d4711da57daLukas Slebodnik */
545f49b72cdf8453fb0b85c9d87e7d4711da57daLukas Slebodnik int yy_fill_buffer;
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov
545f49b72cdf8453fb0b85c9d87e7d4711da57daLukas Slebodnik int yy_buffer_status;
545f49b72cdf8453fb0b85c9d87e7d4711da57daLukas Slebodnik#define YY_BUFFER_NEW 0
545f49b72cdf8453fb0b85c9d87e7d4711da57daLukas Slebodnik#define YY_BUFFER_NORMAL 1
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 *
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.
526d4d5e5a916cf30a043836cba14eab529cb7b1Jakub Hrozek */
526d4d5e5a916cf30a043836cba14eab529cb7b1Jakub Hrozek#define YY_BUFFER_EOF_PENDING 2
526d4d5e5a916cf30a043836cba14eab529cb7b1Jakub Hrozek };
526d4d5e5a916cf30a043836cba14eab529cb7b1Jakub Hrozek
526d4d5e5a916cf30a043836cba14eab529cb7b1Jakub Hrozekstatic YY_BUFFER_STATE yy_current_buffer = 0;
526d4d5e5a916cf30a043836cba14eab529cb7b1Jakub Hrozek
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".
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_CURRENT_BUFFER yy_current_buffer
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov/* yy_hold_char holds the character lost when yytext is formed. */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic char yy_hold_char;
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic int yy_n_chars; /* number of characters read into yy_ch_buf */
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherint yyleng;
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
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
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 Gallagher */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic int yy_did_buffer_switch_on_eof;
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallaghervoid yyrestart YY_PROTO(( FILE *input_file ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
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 Gallagher
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 Gallagher
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
9acfb09f7969a69f58bd45c856b01700541853caLukas Slebodnik#define yy_new_buffer yy_create_buffer
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yy_set_interactive(is_interactive) \
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher { \
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher if ( ! yy_current_buffer ) \
9acfb09f7969a69f58bd45c856b01700541853caLukas Slebodnik yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher yy_current_buffer->yy_is_interactive = is_interactive; \
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher }
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yy_set_bol(at_bol) \
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher { \
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher if ( ! yy_current_buffer ) \
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher yy_current_buffer->yy_at_bol = at_bol; \
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher }
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yywrap() 1
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_SKIP_YYWRAP
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallaghertypedef unsigned char YY_CHAR;
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai KondrashovFILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallaghertypedef int yy_state_type;
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherextern char *yytext;
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yytext_ptr yytext
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov
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
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* Done after the current pattern has been matched and before the
545f49b72cdf8453fb0b85c9d87e7d4711da57daLukas Slebodnik * corresponding action - sets up yytext.
545f49b72cdf8453fb0b85c9d87e7d4711da57daLukas Slebodnik */
545f49b72cdf8453fb0b85c9d87e7d4711da57daLukas Slebodnik#define YY_DO_BEFORE_ACTION \
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher yytext_ptr = yy_bp; \
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher yyleng = (int) (yy_cp - yy_bp); \
07e941c1bbdc752142bbd3b838c540bc7ecd0ed7Stef Walter yy_hold_char = *yy_cp; \
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher *yy_cp = '\0'; \
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher yy_c_buf_p = yy_cp;
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_NUM_RULES 46
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_END_OF_BUFFER 47
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic yyconst short int yy_accept[86] =
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher { 0,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 0, 0, 0, 0, 0, 0, 0, 0, 47, 45,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 1, 38, 2, 45, 43, 24, 45, 28, 44, 44,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 44, 44, 44, 44, 44, 44, 44, 44, 44, 45,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 13, 4, 3, 14, 16, 18, 17, 1, 22, 32,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 34, 43, 26, 20, 31, 30, 44, 44, 19, 44,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 44, 29, 27, 39, 25, 23, 15, 15, 21, 44,
d9577dbd92555b0755881e37724019ef9c578404Stef Walter 35, 44, 36, 13, 12, 5, 6, 10, 11, 7,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 8, 9, 33, 44, 44, 37, 44, 5, 6, 44,
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov 40, 41, 5, 42, 0
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov } ;
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic yyconst int yy_ec[256] =
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher { 0,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
d9577dbd92555b0755881e37724019ef9c578404Stef Walter 1, 2, 4, 5, 1, 1, 1, 6, 1, 1,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 1, 1, 1, 1, 7, 1, 1, 8, 8, 8,
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov 8, 8, 8, 8, 8, 9, 9, 7, 1, 10,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 11, 12, 1, 1, 13, 13, 13, 13, 13, 13,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 1, 14, 1, 1, 7, 1, 15, 16, 13, 17,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 18, 19, 20, 13, 21, 13, 13, 22, 23, 24,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 25, 13, 26, 27, 28, 29, 30, 13, 13, 13,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 13, 13, 1, 31, 1, 32, 1, 1, 1, 1,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov 1, 1, 1, 1, 1
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher } ;
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic yyconst int yy_meta[33] =
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov { 0,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 1, 1, 2, 1, 3, 1, 4, 4, 4, 1,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 1, 1, 4, 3, 4, 4, 4, 4, 4, 4,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 1, 1
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher } ;
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
d9577dbd92555b0755881e37724019ef9c578404Stef Walterstatic yyconst short int yy_base[93] =
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher { 0,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 0, 0, 30, 31, 0, 0, 82, 81, 101, 142,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 35, 28, 142, 94, 32, 88, 31, 87, 0, 69,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 66, 28, 28, 67, 29, 63, 30, 63, 62, 57,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 0, 142, 142, 88, 142, 142, 142, 48, 142, 142,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 142, 44, 142, 142, 142, 142, 0, 70, 0, 64,
d9577dbd92555b0755881e37724019ef9c578404Stef Walter 63, 0, 0, 0, 0, 0, 142, 0, 0, 55,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 0, 46, 142, 0, 142, 53, 62, 142, 142, 142,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 142, 142, 0, 44, 48, 0, 41, 70, 72, 38,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 0, 0, 74, 0, 142, 117, 121, 125, 50, 129,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 133, 137
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina } ;
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březinastatic yyconst short int yy_def[93] =
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina { 0,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 85, 1, 86, 86, 87, 87, 88, 88, 85, 85,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 85, 85, 85, 85, 85, 85, 85, 85, 89, 89,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 89, 89, 89, 89, 89, 90, 89, 89, 89, 85,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 91, 85, 85, 92, 85, 85, 85, 85, 85, 85,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 85, 85, 85, 85, 85, 85, 89, 89, 89, 89,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 89, 89, 89, 89, 89, 89, 85, 89, 89, 89,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 89, 89, 85, 91, 85, 85, 85, 85, 85, 85,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 85, 85, 89, 89, 89, 89, 89, 85, 85, 89,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 89, 89, 85, 89, 0, 85, 85, 85, 85, 85,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 85, 85
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina } ;
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březinastatic yyconst short int yy_nxt[175] =
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina { 0,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 10, 11, 11, 12, 13, 14, 10, 15, 15, 16,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 17, 18, 19, 10, 20, 19, 19, 21, 22, 23,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 24, 25, 26, 27, 28, 19, 19, 19, 29, 19,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 30, 10, 32, 32, 33, 33, 38, 38, 39, 42,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 42, 44, 50, 34, 34, 52, 55, 59, 51, 38,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 38, 42, 42, 47, 60, 84, 53, 56, 82, 40,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 78, 79, 45, 57, 57, 81, 57, 57, 57, 79,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 79, 80, 57, 57, 57, 77, 57, 83, 79, 79,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 79, 79, 79, 76, 75, 74, 73, 63, 62, 61,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 54, 49, 48, 57, 57, 66, 67, 46, 43, 41,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 85, 37, 37, 68, 85, 85, 69, 85, 85, 85,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 85, 70, 85, 85, 71, 85, 72, 31, 31, 31,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 31, 35, 35, 35, 35, 36, 36, 36, 36, 58,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 85, 58, 58, 64, 85, 85, 64, 65, 65, 65,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 65, 9, 85, 85, 85, 85, 85, 85, 85, 85,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 85, 85, 85, 85
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina } ;
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březinastatic yyconst short int yy_chk[175] =
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina { 0,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 1, 1, 3, 4, 3, 4, 11, 11, 12, 15,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 15, 17, 22, 3, 4, 23, 25, 27, 22, 38,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 38, 42, 42, 89, 27, 80, 23, 25, 77, 12,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 66, 66, 17, 26, 26, 75, 26, 26, 26, 67,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 67, 74, 26, 26, 26, 62, 26, 78, 78, 79,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 79, 83, 83, 60, 51, 50, 48, 30, 29, 28,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 24, 21, 20, 26, 26, 34, 34, 18, 16, 14,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 9, 8, 7, 34, 0, 0, 34, 0, 0, 0,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 0, 34, 0, 0, 34, 0, 34, 86, 86, 86,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 86, 87, 87, 87, 87, 88, 88, 88, 88, 90,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 0, 90, 90, 91, 0, 0, 91, 92, 92, 92,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 92, 85, 85, 85, 85, 85, 85, 85, 85, 85,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina 85, 85, 85, 85
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina } ;
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březinastatic yy_state_type yy_last_accepting_state;
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březinastatic char *yy_last_accepting_cpos;
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov/* The intent behind this definition is that it'll catch
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * any uses of REJECT which flex missed.
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define REJECT reject_used_but_not_detected
07e941c1bbdc752142bbd3b838c540bc7ecd0ed7Stef Walter#define yymore() yymore_used_but_not_detected
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_MORE_ADJ 0
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov#define YY_RESTORE_YY_MORE_OFFSET
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherchar *yytext;
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#line 1 "ssl_expr_scan.l"
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define INITIAL 0
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* _ _
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina** _ __ ___ ___ __| | ___ ___| |
07e941c1bbdc752142bbd3b838c540bc7ecd0ed7Stef Walter** | '_ ` _ \ / _ \ / _` | / __/ __| |
07e941c1bbdc752142bbd3b838c540bc7ecd0ed7Stef Walter** | | | | | | (_) | (_| | \__ \__ \ | mod_ssl - Apache Interface to OpenSSL
07e941c1bbdc752142bbd3b838c540bc7ecd0ed7Stef Walter** |_| |_| |_|\___/ \__,_|___|___/___/_| http://www.modssl.org/
07e941c1bbdc752142bbd3b838c540bc7ecd0ed7Stef Walter** |_____|
07e941c1bbdc752142bbd3b838c540bc7ecd0ed7Stef Walter** ssl_expr_scan.l
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina** Expression Scanner
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher*/
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov/* ====================================================================
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * Copyright (c) 1998-2001 Ralf S. Engelschall. All rights reserved.
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher *
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 * are met:
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher *
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 *
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 *
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 *
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.
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *
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 *
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 *
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 */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* ``Killing for peace is
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherlike fucking for virginity.''
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher-- Unknown */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* _________________________________________________________________
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher**
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher** Expression Scanner
ac40d2f2b2b2fc35c95389f5e28febd580bd2b7aJakub Hrozek** _________________________________________________________________
ac40d2f2b2b2fc35c95389f5e28febd580bd2b7aJakub Hrozek*/
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#line 73 "ssl_expr_scan.l"
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#include "mod_ssl.h"
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#include "ssl_expr_parse.h"
ac40d2f2b2b2fc35c95389f5e28febd580bd2b7aJakub Hrozek
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_NO_UNPUT 1
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherint yyinput(char *buf, int max_size);
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#undef YY_INPUT
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_INPUT(buf,result,max_size) \
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher (result = yyinput(buf, max_size))
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
89caf5edcc99f5731e89bd51e6ffaad3ec11c304Pavel Březina#define MAX_STR_LEN 2048
89caf5edcc99f5731e89bd51e6ffaad3ec11c304Pavel Březina/* %option stack */
89caf5edcc99f5731e89bd51e6ffaad3ec11c304Pavel Březina#define YY_NEVER_INTERACTIVE 1
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define str 1
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define regex 2
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define regex_flags 3
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#line 537 "lex.ssl_expr_yy.c"
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* Macros after this point can all be overridden by user definitions in
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * section 1.
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#ifndef YY_SKIP_YYWRAP
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#ifdef __cplusplus
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherextern "C" int yywrap YY_PROTO(( void ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#else
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherextern int yywrap YY_PROTO(( void ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#ifndef YY_NO_UNPUT
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic void yyunput YY_PROTO(( int c, char *buf_ptr ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#ifndef yytext_ptr
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
9e2c64c6d4f5560e27207193efea6536a566865eMichal Zidek#ifdef YY_NEED_STRLEN
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic int yy_flex_strlen YY_PROTO(( yyconst char * ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#ifndef YY_NO_INPUT
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#ifdef __cplusplus
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic int yyinput YY_PROTO(( void ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#else
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic int input YY_PROTO(( void ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
ac40d2f2b2b2fc35c95389f5e28febd580bd2b7aJakub Hrozek#if YY_STACK_USED
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic int yy_start_stack_ptr = 0;
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashovstatic int yy_start_stack_depth = 0;
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic int *yy_start_stack = 0;
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#ifndef YY_NO_PUSH_STATE
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic void yy_push_state YY_PROTO(( int new_state ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#ifndef YY_NO_POP_STATE
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashovstatic void yy_pop_state YY_PROTO(( void ));
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov#endif
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#ifndef YY_NO_TOP_STATE
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic int yy_top_state YY_PROTO(( void ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#else
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov#define YY_NO_PUSH_STATE 1
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov#define YY_NO_POP_STATE 1
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_NO_TOP_STATE 1
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov#ifdef YY_MALLOC_DECL
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen GallagherYY_MALLOC_DECL
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#else
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#if __STDC__
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#ifndef __cplusplus
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#include <stdlib.h>
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov#else
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).
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov/* Amount of stuff to slurp up with each read. */
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov#ifndef YY_READ_BUF_SIZE
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_READ_BUF_SIZE 8192
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov/* Copy whatever the last rule matched to the standard output. */
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#ifndef ECHO
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* This used to be an fputs(), but since the string might contain NUL's,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * we now use fwrite().
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
* is returned in "result".
*/
#ifndef YY_INPUT
#define YY_INPUT(buf,result,max_size) \
if ( yy_current_buffer->yy_is_interactive ) \
{ \
int c = '*', n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
if ( c == '\n' ) \
buf[n++] = (char) c; \
if ( c == EOF && ferror( yyin ) ) \
YY_FATAL_ERROR( "input in flex scanner failed" ); \
result = n; \
} \
else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
&& ferror( yyin ) ) \
YY_FATAL_ERROR( "input in flex scanner failed" );
#endif
/* No semi-colon after return; correct usage is to write "yyterminate();" -
* we don't want an extra ';' after the "return" because that will cause
* some compilers to complain about unreachable statements.
*/
#ifndef yyterminate
#define yyterminate() return YY_NULL
#endif
/* Number of entries by which start-condition stack grows. */
#ifndef YY_START_STACK_INCR
#define YY_START_STACK_INCR 25
#endif
/* Report a fatal error. */
#ifndef YY_FATAL_ERROR
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
#endif
/* Default declaration of generated scanner - a define so the user can
* easily add parameters.
*/
#ifndef YY_DECL
#define YY_DECL int yylex YY_PROTO(( void ))
#endif
/* Code executed at the beginning of each rule, after yytext and yyleng
* have been set up.
*/
#ifndef YY_USER_ACTION
#define YY_USER_ACTION
#endif
/* Code executed at the end of each rule. */
#ifndef YY_BREAK
#define YY_BREAK break;
#endif
#define YY_RULE_SETUP \
YY_USER_ACTION
YY_DECL
{
register yy_state_type yy_current_state;
register char *yy_cp, *yy_bp;
register int yy_act;
#line 94 "ssl_expr_scan.l"
char caStr[MAX_STR_LEN];
char *cpStr = NULL;
char caRegex[MAX_STR_LEN];
char *cpRegex = NULL;
char cRegexDel = NUL;
/*
* Whitespaces
*/
#line 700 "lex.ssl_expr_yy.c"
if ( yy_init )
{
yy_init = 0;
#ifdef YY_USER_INIT
YY_USER_INIT;
#endif
if ( ! yy_start )
yy_start = 1; /* first start state */
if ( ! yyin )
yyin = stdin;
if ( ! yyout )
yyout = stdout;
if ( ! yy_current_buffer )
yy_current_buffer =
yy_create_buffer( yyin, YY_BUF_SIZE );
yy_load_buffer_state();
}
while ( 1 ) /* loops until end-of-file is reached */
{
yy_cp = yy_c_buf_p;
/* Support of yytext. */
*yy_cp = yy_hold_char;
/* yy_bp points to the position in yy_ch_buf of the start of
* the current run.
*/
yy_bp = yy_cp;
yy_current_state = yy_start;
yy_match:
do
{
register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
if ( yy_accept[yy_current_state] )
{
yy_last_accepting_state = yy_current_state;
yy_last_accepting_cpos = yy_cp;
}
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 86 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
while ( yy_current_state != 85 );
yy_cp = yy_last_accepting_cpos;
yy_current_state = yy_last_accepting_state;
yy_find_action:
yy_act = yy_accept[yy_current_state];
YY_DO_BEFORE_ACTION;
do_action: /* This label is used only to access EOF actions. */
switch ( yy_act )
{ /* beginning of action switch */
case 0: /* must back up */
/* undo the effects of YY_DO_BEFORE_ACTION */
*yy_cp = yy_hold_char;
yy_cp = yy_last_accepting_cpos;
yy_current_state = yy_last_accepting_state;
goto yy_find_action;
case 1:
YY_RULE_SETUP
#line 105 "ssl_expr_scan.l"
{
/* NOP */
}
YY_BREAK
/*
* C-style strings ("...")
*/
case 2:
YY_RULE_SETUP
#line 112 "ssl_expr_scan.l"
{
cpStr = caStr;
BEGIN(str);
}
YY_BREAK
case 3:
YY_RULE_SETUP
#line 116 "ssl_expr_scan.l"
{
BEGIN(INITIAL);
*cpStr = NUL;
yylval.cpVal = ap_pstrdup(ssl_expr_info.pool, caStr);
return T_STRING;
}
YY_BREAK
case 4:
YY_RULE_SETUP
#line 122 "ssl_expr_scan.l"
{
yyerror("Unterminated string");
}
YY_BREAK
case 5:
YY_RULE_SETUP
#line 125 "ssl_expr_scan.l"
{
int result;
(void)sscanf(yytext+1, "%o", &result);
if (result > 0xff)
yyerror("Escape sequence out of bound");
else
*cpStr++ = result;
}
YY_BREAK
case 6:
YY_RULE_SETUP
#line 134 "ssl_expr_scan.l"
{
yyerror("Bad escape sequence");
}
YY_BREAK
case 7:
YY_RULE_SETUP
#line 137 "ssl_expr_scan.l"
{ *cpStr++ = '\n'; }
YY_BREAK
case 8:
YY_RULE_SETUP
#line 138 "ssl_expr_scan.l"
{ *cpStr++ = '\r'; }
YY_BREAK
case 9:
YY_RULE_SETUP
#line 139 "ssl_expr_scan.l"
{ *cpStr++ = '\t'; }
YY_BREAK
case 10:
YY_RULE_SETUP
#line 140 "ssl_expr_scan.l"
{ *cpStr++ = '\b'; }
YY_BREAK
case 11:
YY_RULE_SETUP
#line 141 "ssl_expr_scan.l"
{ *cpStr++ = '\f'; }
YY_BREAK
case 12:
YY_RULE_SETUP
#line 142 "ssl_expr_scan.l"
{
*cpStr++ = yytext[1];
}
YY_BREAK
case 13:
YY_RULE_SETUP
#line 145 "ssl_expr_scan.l"
{
char *cp = yytext;
while (*cp != NUL)
*cpStr++ = *cp++;
}
YY_BREAK
case 14:
YY_RULE_SETUP
#line 150 "ssl_expr_scan.l"
{
*cpStr++ = yytext[1];
}
YY_BREAK
/*
* Regular Expression
*/
case 15:
YY_RULE_SETUP
#line 157 "ssl_expr_scan.l"
{
cRegexDel = yytext[1];
cpRegex = caRegex;
BEGIN(regex);
}
YY_BREAK
case 16:
YY_RULE_SETUP
#line 162 "ssl_expr_scan.l"
{
if (yytext[0] == cRegexDel) {
*cpRegex = NUL;
BEGIN(regex_flags);
}
else {
*cpRegex++ = yytext[0];
}
}
YY_BREAK
case 17:
YY_RULE_SETUP
#line 171 "ssl_expr_scan.l"
{
yylval.cpVal = ap_pstrdup(ssl_expr_info.pool, caRegex);
BEGIN(INITIAL);
return T_REGEX_I;
}
YY_BREAK
case 18:
YY_RULE_SETUP
#line 176 "ssl_expr_scan.l"
{
yylval.cpVal = ap_pstrdup(ssl_expr_info.pool, caRegex);
yyless(0);
BEGIN(INITIAL);
return T_REGEX;
}
YY_BREAK
case YY_STATE_EOF(regex_flags):
#line 182 "ssl_expr_scan.l"
{
yylval.cpVal = ap_pstrdup(ssl_expr_info.pool, caRegex);
BEGIN(INITIAL);
return T_REGEX;
}
YY_BREAK
/*
* Operators
*/
case 19:
YY_RULE_SETUP
#line 191 "ssl_expr_scan.l"
{ return T_OP_EQ; }
YY_BREAK
case 20:
YY_RULE_SETUP
#line 192 "ssl_expr_scan.l"
{ return T_OP_EQ; }
YY_BREAK
case 21:
YY_RULE_SETUP
#line 193 "ssl_expr_scan.l"
{ return T_OP_NE; }
YY_BREAK
case 22:
YY_RULE_SETUP
#line 194 "ssl_expr_scan.l"
{ return T_OP_NE; }
YY_BREAK
case 23:
YY_RULE_SETUP
#line 195 "ssl_expr_scan.l"
{ return T_OP_LT; }
YY_BREAK
case 24:
YY_RULE_SETUP
#line 196 "ssl_expr_scan.l"
{ return T_OP_LT; }
YY_BREAK
case 25:
YY_RULE_SETUP
#line 197 "ssl_expr_scan.l"
{ return T_OP_LE; }
YY_BREAK
case 26:
YY_RULE_SETUP
#line 198 "ssl_expr_scan.l"
{ return T_OP_LE; }
YY_BREAK
case 27:
YY_RULE_SETUP
#line 199 "ssl_expr_scan.l"
{ return T_OP_GT; }
YY_BREAK
case 28:
YY_RULE_SETUP
#line 200 "ssl_expr_scan.l"
{ return T_OP_GT; }
YY_BREAK
case 29:
YY_RULE_SETUP
#line 201 "ssl_expr_scan.l"
{ return T_OP_GE; }
YY_BREAK
case 30:
YY_RULE_SETUP
#line 202 "ssl_expr_scan.l"
{ return T_OP_GE; }
YY_BREAK
case 31:
YY_RULE_SETUP
#line 203 "ssl_expr_scan.l"
{ return T_OP_REG; }
YY_BREAK
case 32:
YY_RULE_SETUP
#line 204 "ssl_expr_scan.l"
{ return T_OP_NRE; }
YY_BREAK
case 33:
YY_RULE_SETUP
#line 205 "ssl_expr_scan.l"
{ return T_OP_AND; }
YY_BREAK
case 34:
YY_RULE_SETUP
#line 206 "ssl_expr_scan.l"
{ return T_OP_AND; }
YY_BREAK
case 35:
YY_RULE_SETUP
#line 207 "ssl_expr_scan.l"
{ return T_OP_OR; }
YY_BREAK
case 36:
YY_RULE_SETUP
#line 208 "ssl_expr_scan.l"
{ return T_OP_OR; }
YY_BREAK
case 37:
YY_RULE_SETUP
#line 209 "ssl_expr_scan.l"
{ return T_OP_NOT; }
YY_BREAK
case 38:
YY_RULE_SETUP
#line 210 "ssl_expr_scan.l"
{ return T_OP_NOT; }
YY_BREAK
case 39:
YY_RULE_SETUP
#line 211 "ssl_expr_scan.l"
{ return T_OP_IN; }
YY_BREAK
/*
* Functions
*/
case 40:
YY_RULE_SETUP
#line 216 "ssl_expr_scan.l"
{ return T_FUNC_FILE; }
YY_BREAK
/*
* Specials
*/
case 41:
YY_RULE_SETUP
#line 221 "ssl_expr_scan.l"
{ return T_TRUE; }
YY_BREAK
case 42:
YY_RULE_SETUP
#line 222 "ssl_expr_scan.l"
{ return T_FALSE; }
YY_BREAK
/*
* Digits
*/
case 43:
YY_RULE_SETUP
#line 227 "ssl_expr_scan.l"
{
yylval.cpVal = ap_pstrdup(ssl_expr_info.pool, yytext);
return T_DIGIT;
}
YY_BREAK
/*
* Identifiers
*/
case 44:
YY_RULE_SETUP
#line 235 "ssl_expr_scan.l"
{
yylval.cpVal = ap_pstrdup(ssl_expr_info.pool, yytext);
return T_ID;
}
YY_BREAK
/*
* Anything else is returned as is...
*/
case 45:
YY_RULE_SETUP
#line 243 "ssl_expr_scan.l"
{
return yytext[0];
}
YY_BREAK
case 46:
YY_RULE_SETUP
#line 247 "ssl_expr_scan.l"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
#line 1100 "lex.ssl_expr_yy.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(str):
case YY_STATE_EOF(regex):
yyterminate();
case YY_END_OF_BUFFER:
{
/* Amount of text matched not including the EOB char. */
int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
/* Undo the effects of YY_DO_BEFORE_ACTION. */
*yy_cp = yy_hold_char;
YY_RESTORE_YY_MORE_OFFSET
if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
{
/* We're scanning a new file or input source. It's
* possible that this happened because the user
* just pointed yyin at a new source and called
* yylex(). If so, then we have to assure
* consistency between yy_current_buffer and our
* globals. Here is the right place to do so, because
* this is the first action (other than possibly a
* back-up) that will match for the new input source.
*/
yy_n_chars = yy_current_buffer->yy_n_chars;
yy_current_buffer->yy_input_file = yyin;
yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
}
/* Note that here we test for yy_c_buf_p "<=" to the position
* of the first EOB in the buffer, since yy_c_buf_p will
* already have been incremented past the NUL character
* (since all states make transitions on EOB to the
* end-of-buffer state). Contrast this with the test
* in input().
*/
if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
{ /* This was really a NUL. */
yy_state_type yy_next_state;
yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
yy_current_state = yy_get_previous_state();
/* Okay, we're now positioned to make the NUL
* transition. We couldn't have
* yy_get_previous_state() go ahead and do it
* for us because it doesn't know how to deal
* with the possibility of jamming (and we don't
* want to build jamming into it because then it
* will run more slowly).
*/
yy_next_state = yy_try_NUL_trans( yy_current_state );
yy_bp = yytext_ptr + YY_MORE_ADJ;
if ( yy_next_state )
{
/* Consume the NUL. */
yy_cp = ++yy_c_buf_p;
yy_current_state = yy_next_state;
goto yy_match;
}
else
{
yy_cp = yy_last_accepting_cpos;
yy_current_state = yy_last_accepting_state;
goto yy_find_action;
}
}
else switch ( yy_get_next_buffer() )
{
case EOB_ACT_END_OF_FILE:
{
yy_did_buffer_switch_on_eof = 0;
if ( yywrap() )
{
/* Note: because we've taken care in
* yy_get_next_buffer() to have set up
* yytext, we can now set up
* yy_c_buf_p so that if some total
* hoser (like flex itself) wants to
* call the scanner after we return the
* YY_NULL, it'll still work - another
* YY_NULL will get returned.
*/
yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
yy_act = YY_STATE_EOF(YY_START);
goto do_action;
}
else
{
if ( ! yy_did_buffer_switch_on_eof )
YY_NEW_FILE;
}
break;
}
case EOB_ACT_CONTINUE_SCAN:
yy_c_buf_p =
yytext_ptr + yy_amount_of_matched_text;
yy_current_state = yy_get_previous_state();
yy_cp = yy_c_buf_p;
yy_bp = yytext_ptr + YY_MORE_ADJ;
goto yy_match;
case EOB_ACT_LAST_MATCH:
yy_c_buf_p =
&yy_current_buffer->yy_ch_buf[yy_n_chars];
yy_current_state = yy_get_previous_state();
yy_cp = yy_c_buf_p;
yy_bp = yytext_ptr + YY_MORE_ADJ;
goto yy_find_action;
}
break;
}
default:
YY_FATAL_ERROR(
"fatal flex scanner internal error--no action found" );
} /* end of action switch */
} /* end of scanning one token */
} /* end of yylex */
/* yy_get_next_buffer - try to read in a new buffer
*
* Returns a code representing an action:
* EOB_ACT_LAST_MATCH -
* EOB_ACT_CONTINUE_SCAN - continue scanning from current position
* EOB_ACT_END_OF_FILE - end of file
*/
static int yy_get_next_buffer()
{
register char *dest = yy_current_buffer->yy_ch_buf;
register char *source = yytext_ptr;
register int number_to_move, i;
int ret_val;
if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
YY_FATAL_ERROR(
"fatal flex scanner internal error--end of buffer missed" );
if ( yy_current_buffer->yy_fill_buffer == 0 )
{ /* Don't try to fill the buffer, so this is an EOF. */
if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
{
/* We matched a single character, the EOB, so
* treat this as a final EOF.
*/
return EOB_ACT_END_OF_FILE;
}
else
{
/* We matched some text prior to the EOB, first
* process it.
*/
return EOB_ACT_LAST_MATCH;
}
}
/* Try to read more data. */
/* First move last chars to start of buffer. */
number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
for ( i = 0; i < number_to_move; ++i )
*(dest++) = *(source++);
if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
/* don't do the read, it's not guaranteed to return an EOF,
* just force an EOF
*/
yy_current_buffer->yy_n_chars = yy_n_chars = 0;
else
{
int num_to_read =
yy_current_buffer->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
{ /* Not enough room in the buffer - grow it. */
#ifdef YY_USES_REJECT
YY_FATAL_ERROR(
"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
#else
/* just a shorter name for the current buffer */
YY_BUFFER_STATE b = yy_current_buffer;
int yy_c_buf_p_offset =
(int) (yy_c_buf_p - b->yy_ch_buf);
if ( b->yy_is_our_buffer )
{
int new_size = b->yy_buf_size * 2;
if ( new_size <= 0 )
b->yy_buf_size += b->yy_buf_size / 8;
else
b->yy_buf_size *= 2;
b->yy_ch_buf = (char *)
/* Include room in for 2 EOB chars. */
yy_flex_realloc( (void *) b->yy_ch_buf,
b->yy_buf_size + 2 );
}
else
/* Can't grow it, we don't own it. */
b->yy_ch_buf = 0;
if ( ! b->yy_ch_buf )
YY_FATAL_ERROR(
"fatal error - scanner input buffer overflow" );
yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
num_to_read = yy_current_buffer->yy_buf_size -
number_to_move - 1;
#endif
}
if ( num_to_read > YY_READ_BUF_SIZE )
num_to_read = YY_READ_BUF_SIZE;
/* Read in more data. */
YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
yy_n_chars, num_to_read );
yy_current_buffer->yy_n_chars = yy_n_chars;
}
if ( yy_n_chars == 0 )
{
if ( number_to_move == YY_MORE_ADJ )
{
ret_val = EOB_ACT_END_OF_FILE;
yyrestart( yyin );
}
else
{
ret_val = EOB_ACT_LAST_MATCH;
yy_current_buffer->yy_buffer_status =
YY_BUFFER_EOF_PENDING;
}
}
else
ret_val = EOB_ACT_CONTINUE_SCAN;
yy_n_chars += number_to_move;
yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
return ret_val;
}
/* yy_get_previous_state - get the state just before the EOB char was reached */
static yy_state_type yy_get_previous_state()
{
register yy_state_type yy_current_state;
register char *yy_cp;
yy_current_state = yy_start;
for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
{
register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
if ( yy_accept[yy_current_state] )
{
yy_last_accepting_state = yy_current_state;
yy_last_accepting_cpos = yy_cp;
}
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 86 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
}
return yy_current_state;
}
/* yy_try_NUL_trans - try to make a transition on the NUL character
*
* synopsis
* next_state = yy_try_NUL_trans( current_state );
*/
#ifdef YY_USE_PROTOS
static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
#else
static yy_state_type yy_try_NUL_trans( yy_current_state )
yy_state_type yy_current_state;
#endif
{
register int yy_is_jam;
register char *yy_cp = yy_c_buf_p;
register YY_CHAR yy_c = 1;
if ( yy_accept[yy_current_state] )
{
yy_last_accepting_state = yy_current_state;
yy_last_accepting_cpos = yy_cp;
}
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 86 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
yy_is_jam = (yy_current_state == 85);
return yy_is_jam ? 0 : yy_current_state;
}
#ifndef YY_NO_UNPUT
#ifdef YY_USE_PROTOS
static void yyunput( int c, register char *yy_bp )
#else
static void yyunput( c, yy_bp )
int c;
register char *yy_bp;
#endif
{
register char *yy_cp = yy_c_buf_p;
/* undo effects of setting up yytext */
*yy_cp = yy_hold_char;
if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
{ /* need to shift things up to make room */
/* +2 for EOB chars. */
register int number_to_move = yy_n_chars + 2;
register char *dest = &yy_current_buffer->yy_ch_buf[
yy_current_buffer->yy_buf_size + 2];
register char *source =
&yy_current_buffer->yy_ch_buf[number_to_move];
while ( source > yy_current_buffer->yy_ch_buf )
*--dest = *--source;
yy_cp += (int) (dest - source);
yy_bp += (int) (dest - source);
yy_current_buffer->yy_n_chars =
yy_n_chars = yy_current_buffer->yy_buf_size;
if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
YY_FATAL_ERROR( "flex scanner push-back overflow" );
}
*--yy_cp = (char) c;
yytext_ptr = yy_bp;
yy_hold_char = *yy_cp;
yy_c_buf_p = yy_cp;
}
#endif /* ifndef YY_NO_UNPUT */
#ifdef __cplusplus
static int yyinput()
#else
static int input()
#endif
{
int c;
*yy_c_buf_p = yy_hold_char;
if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
{
/* yy_c_buf_p now points to the character we want to return.
* If this occurs *before* the EOB characters, then it's a
* valid NUL; if not, then we've hit the end of the buffer.
*/
if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
/* This was really a NUL. */
*yy_c_buf_p = '\0';
else
{ /* need more input */
int offset = yy_c_buf_p - yytext_ptr;
++yy_c_buf_p;
switch ( yy_get_next_buffer() )
{
case EOB_ACT_LAST_MATCH:
/* This happens because yy_g_n_b()
* sees that we've accumulated a
* token and flags that we need to
* try matching the token before
* proceeding. But for input(),
* there's no matching to consider.
* So convert the EOB_ACT_LAST_MATCH
* to EOB_ACT_END_OF_FILE.
*/
/* Reset buffer status. */
yyrestart( yyin );
/* fall through */
case EOB_ACT_END_OF_FILE:
{
if ( yywrap() )
return EOF;
if ( ! yy_did_buffer_switch_on_eof )
YY_NEW_FILE;
#ifdef __cplusplus
return yyinput();
#else
return input();
#endif
}
case EOB_ACT_CONTINUE_SCAN:
yy_c_buf_p = yytext_ptr + offset;
break;
}
}
}
c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
*yy_c_buf_p = '\0'; /* preserve yytext */
yy_hold_char = *++yy_c_buf_p;
return c;
}
#ifdef YY_USE_PROTOS
void yyrestart( FILE *input_file )
#else
void yyrestart( input_file )
FILE *input_file;
#endif
{
if ( ! yy_current_buffer )
yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
yy_init_buffer( yy_current_buffer, input_file );
yy_load_buffer_state();
}
#ifdef YY_USE_PROTOS
void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
#else
void yy_switch_to_buffer( new_buffer )
YY_BUFFER_STATE new_buffer;
#endif
{
if ( yy_current_buffer == new_buffer )
return;
if ( yy_current_buffer )
{
/* Flush out information for old buffer. */
*yy_c_buf_p = yy_hold_char;
yy_current_buffer->yy_buf_pos = yy_c_buf_p;
yy_current_buffer->yy_n_chars = yy_n_chars;
}
yy_current_buffer = new_buffer;
yy_load_buffer_state();
/* We don't actually know whether we did this switch during
* EOF (yywrap()) processing, but the only time this flag
* is looked at is after yywrap() is called, so it's safe
* to go ahead and always set it.
*/
yy_did_buffer_switch_on_eof = 1;
}
#ifdef YY_USE_PROTOS
void yy_load_buffer_state( void )
#else
void yy_load_buffer_state()
#endif
{
yy_n_chars = yy_current_buffer->yy_n_chars;
yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
yyin = yy_current_buffer->yy_input_file;
yy_hold_char = *yy_c_buf_p;
}
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
#else
YY_BUFFER_STATE yy_create_buffer( file, size )
FILE *file;
int size;
#endif
{
YY_BUFFER_STATE b;
b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
b->yy_buf_size = size;
/* yy_ch_buf has to be 2 characters longer than the size given because
* we need to put in 2 end-of-buffer characters.
*/
b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
if ( ! b->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
b->yy_is_our_buffer = 1;
yy_init_buffer( b, file );
return b;
}
#ifdef YY_USE_PROTOS
void yy_delete_buffer( YY_BUFFER_STATE b )
#else
void yy_delete_buffer( b )
YY_BUFFER_STATE b;
#endif
{
if ( ! b )
return;
if ( b == yy_current_buffer )
yy_current_buffer = (YY_BUFFER_STATE) 0;
if ( b->yy_is_our_buffer )
yy_flex_free( (void *) b->yy_ch_buf );
yy_flex_free( (void *) b );
}
#ifndef YY_ALWAYS_INTERACTIVE
#ifndef YY_NEVER_INTERACTIVE
extern int isatty YY_PROTO(( int ));
#endif
#endif
#ifdef YY_USE_PROTOS
void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
#else
void yy_init_buffer( b, file )
YY_BUFFER_STATE b;
FILE *file;
#endif
{
yy_flush_buffer( b );
b->yy_input_file = file;
b->yy_fill_buffer = 1;
#if YY_ALWAYS_INTERACTIVE
b->yy_is_interactive = 1;
#else
#if YY_NEVER_INTERACTIVE
b->yy_is_interactive = 0;
#else
b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
#endif
#endif
}
#ifdef YY_USE_PROTOS
void yy_flush_buffer( YY_BUFFER_STATE b )
#else
void yy_flush_buffer( b )
YY_BUFFER_STATE b;
#endif
{
if ( ! b )
return;
b->yy_n_chars = 0;
/* We always need two end-of-buffer characters. The first causes
* a transition to the end-of-buffer state. The second causes
* a jam in that state.
*/
b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
b->yy_buf_pos = &b->yy_ch_buf[0];
b->yy_at_bol = 1;
b->yy_buffer_status = YY_BUFFER_NEW;
if ( b == yy_current_buffer )
yy_load_buffer_state();
}
#ifndef YY_NO_SCAN_BUFFER
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
#else
YY_BUFFER_STATE yy_scan_buffer( base, size )
char *base;
yy_size_t size;
#endif
{
YY_BUFFER_STATE b;
if ( size < 2 ||
base[size-2] != YY_END_OF_BUFFER_CHAR ||
base[size-1] != YY_END_OF_BUFFER_CHAR )
/* They forgot to leave room for the EOB's. */
return 0;
b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
b->yy_buf_pos = b->yy_ch_buf = base;
b->yy_is_our_buffer = 0;
b->yy_input_file = 0;
b->yy_n_chars = b->yy_buf_size;
b->yy_is_interactive = 0;
b->yy_at_bol = 1;
b->yy_fill_buffer = 0;
b->yy_buffer_status = YY_BUFFER_NEW;
yy_switch_to_buffer( b );
return b;
}
#endif
#ifndef YY_NO_SCAN_STRING
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
#else
YY_BUFFER_STATE yy_scan_string( yy_str )
yyconst char *yy_str;
#endif
{
int len;
for ( len = 0; yy_str[len]; ++len )
;
return yy_scan_bytes( yy_str, len );
}
#endif
#ifndef YY_NO_SCAN_BYTES
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
#else
YY_BUFFER_STATE yy_scan_bytes( bytes, len )
yyconst char *bytes;
int len;
#endif
{
YY_BUFFER_STATE b;
char *buf;
yy_size_t n;
int i;
/* Get memory for full buffer, including space for trailing EOB's. */
n = len + 2;
buf = (char *) yy_flex_alloc( n );
if ( ! buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
for ( i = 0; i < len; ++i )
buf[i] = bytes[i];
buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
b = yy_scan_buffer( buf, n );
if ( ! b )
YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
/* It's okay to grow etc. this buffer, and we should throw it
* away when we're done.
*/
b->yy_is_our_buffer = 1;
return b;
}
#endif
#ifndef YY_NO_PUSH_STATE
#ifdef YY_USE_PROTOS
static void yy_push_state( int new_state )
#else
static void yy_push_state( new_state )
int new_state;
#endif
{
if ( yy_start_stack_ptr >= yy_start_stack_depth )
{
yy_size_t new_size;
yy_start_stack_depth += YY_START_STACK_INCR;
new_size = yy_start_stack_depth * sizeof( int );
if ( ! yy_start_stack )
yy_start_stack = (int *) yy_flex_alloc( new_size );
else
yy_start_stack = (int *) yy_flex_realloc(
(void *) yy_start_stack, new_size );
if ( ! yy_start_stack )
YY_FATAL_ERROR(
"out of memory expanding start-condition stack" );
}
yy_start_stack[yy_start_stack_ptr++] = YY_START;
BEGIN(new_state);
}
#endif
#ifndef YY_NO_POP_STATE
static void yy_pop_state()
{
if ( --yy_start_stack_ptr < 0 )
YY_FATAL_ERROR( "start-condition stack underflow" );
BEGIN(yy_start_stack[yy_start_stack_ptr]);
}
#endif
#ifndef YY_NO_TOP_STATE
static int yy_top_state()
{
return yy_start_stack[yy_start_stack_ptr - 1];
}
#endif
#ifndef YY_EXIT_FAILURE
#define YY_EXIT_FAILURE 2
#endif
#ifdef YY_USE_PROTOS
static void yy_fatal_error( yyconst char msg[] )
#else
static void yy_fatal_error( msg )
char msg[];
#endif
{
(void) fprintf( stderr, "%s\n", msg );
exit( YY_EXIT_FAILURE );
}
/* Redefine yyless() so it works in section 3 code. */
#undef yyless
#define yyless(n) \
do \
{ \
/* Undo effects of setting up yytext. */ \
yytext[yyleng] = yy_hold_char; \
yy_c_buf_p = yytext + n; \
yy_hold_char = *yy_c_buf_p; \
*yy_c_buf_p = '\0'; \
yyleng = n; \
} \
while ( 0 )
/* Internal utility routines. */
#ifndef yytext_ptr
#ifdef YY_USE_PROTOS
static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
#else
static void yy_flex_strncpy( s1, s2, n )
char *s1;
yyconst char *s2;
int n;
#endif
{
register int i;
for ( i = 0; i < n; ++i )
s1[i] = s2[i];
}
#endif
#ifdef YY_NEED_STRLEN
#ifdef YY_USE_PROTOS
static int yy_flex_strlen( yyconst char *s )
#else
static int yy_flex_strlen( s )
yyconst char *s;
#endif
{
register int n;
for ( n = 0; s[n]; ++n )
;
return n;
}
#endif
#ifdef YY_USE_PROTOS
static void *yy_flex_alloc( yy_size_t size )
#else
static void *yy_flex_alloc( size )
yy_size_t size;
#endif
{
return (void *) malloc( size );
}
#ifdef YY_USE_PROTOS
static void *yy_flex_realloc( void *ptr, yy_size_t size )
#else
static void *yy_flex_realloc( ptr, size )
void *ptr;
yy_size_t size;
#endif
{
/* The cast to (char *) in the following accommodates both
* implementations that use char* generic pointers, and those
* that use void* generic pointers. It works with the latter
* because both ANSI C and C++ allow castless assignment from
* any pointer type to void*, and deal with argument conversions
* as though doing an assignment.
*/
return (void *) realloc( (char *) ptr, size );
}
#ifdef YY_USE_PROTOS
static void yy_flex_free( void *ptr )
#else
static void yy_flex_free( ptr )
void *ptr;
#endif
{
free( ptr );
}
#if YY_MAIN
int main()
{
yylex();
return 0;
}
#endif
#line 247 "ssl_expr_scan.l"
int yyinput(char *buf, int max_size)
{
int n;
if ((n = MIN(max_size, ssl_expr_info.inputbuf
+ ssl_expr_info.inputlen
- ssl_expr_info.inputptr)) <= 0)
return YY_NULL;
memcpy(buf, ssl_expr_info.inputptr, n);
ssl_expr_info.inputptr += n;
return n;
}
#endif /* XXX */