Blame src/lex.c

Packit 728676
Packit 728676
#line 3 "lex.c"
Packit 728676
Packit 728676
#define  YY_INT_ALIGNED short int
Packit 728676
Packit 728676
/* A lexical scanner generated by flex */
Packit 728676
Packit 728676
#define FLEX_SCANNER
Packit 728676
#define YY_FLEX_MAJOR_VERSION 2
Packit 728676
#define YY_FLEX_MINOR_VERSION 6
Packit 728676
#define YY_FLEX_SUBMINOR_VERSION 1
Packit 728676
#if YY_FLEX_SUBMINOR_VERSION > 0
Packit 728676
#define FLEX_BETA
Packit 728676
#endif
Packit 728676
Packit 728676
/* First, we deal with  platform-specific or compiler-specific issues. */
Packit 728676
Packit 728676
/* begin standard C headers. */
Packit 728676
#include <stdio.h>
Packit 728676
#include <string.h>
Packit 728676
#include <errno.h>
Packit 728676
#include <stdlib.h>
Packit 728676
Packit 728676
/* end standard C headers. */
Packit 728676
Packit 728676
/* flex integer type definitions */
Packit 728676
Packit 728676
#ifndef FLEXINT_H
Packit 728676
#define FLEXINT_H
Packit 728676
Packit 728676
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
Packit 728676
Packit 728676
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
Packit 728676
Packit 728676
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
Packit 728676
 * if you want the limit (max/min) macros for int types. 
Packit 728676
 */
Packit 728676
#ifndef __STDC_LIMIT_MACROS
Packit 728676
#define __STDC_LIMIT_MACROS 1
Packit 728676
#endif
Packit 728676
Packit 728676
#include <inttypes.h>
Packit 728676
typedef int8_t flex_int8_t;
Packit 728676
typedef uint8_t flex_uint8_t;
Packit 728676
typedef int16_t flex_int16_t;
Packit 728676
typedef uint16_t flex_uint16_t;
Packit 728676
typedef int32_t flex_int32_t;
Packit 728676
typedef uint32_t flex_uint32_t;
Packit 728676
#else
Packit 728676
typedef signed char flex_int8_t;
Packit 728676
typedef short int flex_int16_t;
Packit 728676
typedef int flex_int32_t;
Packit 728676
typedef unsigned char flex_uint8_t; 
Packit 728676
typedef unsigned short int flex_uint16_t;
Packit 728676
typedef unsigned int flex_uint32_t;
Packit 728676
Packit 728676
/* Limits of integral types. */
Packit 728676
#ifndef INT8_MIN
Packit 728676
#define INT8_MIN               (-128)
Packit 728676
#endif
Packit 728676
#ifndef INT16_MIN
Packit 728676
#define INT16_MIN              (-32767-1)
Packit 728676
#endif
Packit 728676
#ifndef INT32_MIN
Packit 728676
#define INT32_MIN              (-2147483647-1)
Packit 728676
#endif
Packit 728676
#ifndef INT8_MAX
Packit 728676
#define INT8_MAX               (127)
Packit 728676
#endif
Packit 728676
#ifndef INT16_MAX
Packit 728676
#define INT16_MAX              (32767)
Packit 728676
#endif
Packit 728676
#ifndef INT32_MAX
Packit 728676
#define INT32_MAX              (2147483647)
Packit 728676
#endif
Packit 728676
#ifndef UINT8_MAX
Packit 728676
#define UINT8_MAX              (255U)
Packit 728676
#endif
Packit 728676
#ifndef UINT16_MAX
Packit 728676
#define UINT16_MAX             (65535U)
Packit 728676
#endif
Packit 728676
#ifndef UINT32_MAX
Packit 728676
#define UINT32_MAX             (4294967295U)
Packit 728676
#endif
Packit 728676
Packit 728676
#endif /* ! C99 */
Packit 728676
Packit 728676
#endif /* ! FLEXINT_H */
Packit 728676
Packit 728676
/* TODO: this is always defined, so inline it */
Packit 728676
#define yyconst const
Packit 728676
Packit 728676
#if defined(__GNUC__) && __GNUC__ >= 3
Packit 728676
#define yynoreturn __attribute__((__noreturn__))
Packit 728676
#else
Packit 728676
#define yynoreturn
Packit 728676
#endif
Packit 728676
Packit 728676
/* Returned upon end-of-file. */
Packit 728676
#define YY_NULL 0
Packit 728676
Packit 728676
/* Promotes a possibly negative, possibly signed char to an unsigned
Packit 728676
 * integer for use as an array index.  If the signed char is negative,
Packit 728676
 * we want to instead treat it as an 8-bit unsigned char, hence the
Packit 728676
 * double cast.
Packit 728676
 */
Packit 728676
#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
Packit 728676
Packit 728676
/* Enter a start condition.  This macro really ought to take a parameter,
Packit 728676
 * but we do it the disgusting crufty way forced on us by the ()-less
Packit 728676
 * definition of BEGIN.
Packit 728676
 */
Packit 728676
#define BEGIN (yy_start) = 1 + 2 *
Packit 728676
Packit 728676
/* Translate the current start state into a value that can be later handed
Packit 728676
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
Packit 728676
 * compatibility.
Packit 728676
 */
Packit 728676
#define YY_START (((yy_start) - 1) / 2)
Packit 728676
#define YYSTATE YY_START
Packit 728676
Packit 728676
/* Action number for EOF rule of a given start state. */
Packit 728676
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
Packit 728676
Packit 728676
/* Special action meaning "start processing a new file". */
Packit 728676
#define YY_NEW_FILE yyrestart(yyin  )
Packit 728676
Packit 728676
#define YY_END_OF_BUFFER_CHAR 0
Packit 728676
Packit 728676
/* Size of default input buffer. */
Packit 728676
#ifndef YY_BUF_SIZE
Packit 728676
#ifdef __ia64__
Packit 728676
/* On IA-64, the buffer size is 16k, not 8k.
Packit 728676
 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
Packit 728676
 * Ditto for the __ia64__ case accordingly.
Packit 728676
 */
Packit 728676
#define YY_BUF_SIZE 32768
Packit 728676
#else
Packit 728676
#define YY_BUF_SIZE 16384
Packit 728676
#endif /* __ia64__ */
Packit 728676
#endif
Packit 728676
Packit 728676
/* The state buf must be large enough to hold one state per character in the main buffer.
Packit 728676
 */
Packit 728676
#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
Packit 728676
Packit 728676
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
Packit 728676
#define YY_TYPEDEF_YY_BUFFER_STATE
Packit 728676
typedef struct yy_buffer_state *YY_BUFFER_STATE;
Packit 728676
#endif
Packit 728676
Packit 728676
#ifndef YY_TYPEDEF_YY_SIZE_T
Packit 728676
#define YY_TYPEDEF_YY_SIZE_T
Packit 728676
typedef size_t yy_size_t;
Packit 728676
#endif
Packit 728676
Packit 728676
extern int yyleng;
Packit 728676
Packit 728676
extern FILE *yyin, *yyout;
Packit 728676
Packit 728676
#define EOB_ACT_CONTINUE_SCAN 0
Packit 728676
#define EOB_ACT_END_OF_FILE 1
Packit 728676
#define EOB_ACT_LAST_MATCH 2
Packit 728676
Packit 728676
    #define YY_LESS_LINENO(n)
Packit 728676
    #define YY_LINENO_REWIND_TO(ptr)
Packit 728676
    
Packit 728676
/* Return all but the first "n" matched characters back to the input stream. */
Packit 728676
#define yyless(n) \
Packit 728676
	do \
Packit 728676
		{ \
Packit 728676
		/* Undo effects of setting up yytext. */ \
Packit 728676
        int yyless_macro_arg = (n); \
Packit 728676
        YY_LESS_LINENO(yyless_macro_arg);\
Packit 728676
		*yy_cp = (yy_hold_char); \
Packit 728676
		YY_RESTORE_YY_MORE_OFFSET \
Packit 728676
		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
Packit 728676
		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
Packit 728676
		} \
Packit 728676
	while ( 0 )
Packit 728676
Packit 728676
#define unput(c) yyunput( c, (yytext_ptr)  )
Packit 728676
Packit 728676
#ifndef YY_STRUCT_YY_BUFFER_STATE
Packit 728676
#define YY_STRUCT_YY_BUFFER_STATE
Packit 728676
struct yy_buffer_state
Packit 728676
	{
Packit 728676
	FILE *yy_input_file;
Packit 728676
Packit 728676
	char *yy_ch_buf;		/* input buffer */
Packit 728676
	char *yy_buf_pos;		/* current position in input buffer */
Packit 728676
Packit 728676
	/* Size of input buffer in bytes, not including room for EOB
Packit 728676
	 * characters.
Packit 728676
	 */
Packit 728676
	int yy_buf_size;
Packit 728676
Packit 728676
	/* Number of characters read into yy_ch_buf, not including EOB
Packit 728676
	 * characters.
Packit 728676
	 */
Packit 728676
	int yy_n_chars;
Packit 728676
Packit 728676
	/* Whether we "own" the buffer - i.e., we know we created it,
Packit 728676
	 * and can realloc() it to grow it, and should free() it to
Packit 728676
	 * delete it.
Packit 728676
	 */
Packit 728676
	int yy_is_our_buffer;
Packit 728676
Packit 728676
	/* Whether this is an "interactive" input source; if so, and
Packit 728676
	 * if we're using stdio for input, then we want to use getc()
Packit 728676
	 * instead of fread(), to make sure we stop fetching input after
Packit 728676
	 * each newline.
Packit 728676
	 */
Packit 728676
	int yy_is_interactive;
Packit 728676
Packit 728676
	/* Whether we're considered to be at the beginning of a line.
Packit 728676
	 * If so, '^' rules will be active on the next match, otherwise
Packit 728676
	 * not.
Packit 728676
	 */
Packit 728676
	int yy_at_bol;
Packit 728676
Packit 728676
    int yy_bs_lineno; /**< The line count. */
Packit 728676
    int yy_bs_column; /**< The column count. */
Packit 728676
Packit 728676
	/* Whether to try to fill the input buffer when we reach the
Packit 728676
	 * end of it.
Packit 728676
	 */
Packit 728676
	int yy_fill_buffer;
Packit 728676
Packit 728676
	int yy_buffer_status;
Packit 728676
Packit 728676
#define YY_BUFFER_NEW 0
Packit 728676
#define YY_BUFFER_NORMAL 1
Packit 728676
	/* When an EOF's been seen but there's still some text to process
Packit 728676
	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
Packit 728676
	 * shouldn't try reading from the input source any more.  We might
Packit 728676
	 * still have a bunch of tokens to match, though, because of
Packit 728676
	 * possible backing-up.
Packit 728676
	 *
Packit 728676
	 * When we actually see the EOF, we change the status to "new"
Packit 728676
	 * (via yyrestart()), so that the user can continue scanning by
Packit 728676
	 * just pointing yyin at a new input file.
Packit 728676
	 */
Packit 728676
#define YY_BUFFER_EOF_PENDING 2
Packit 728676
Packit 728676
	};
Packit 728676
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
Packit 728676
Packit 728676
/* Stack of input buffers. */
Packit 728676
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
Packit 728676
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
Packit 728676
static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
Packit 728676
Packit 728676
/* We provide macros for accessing buffer states in case in the
Packit 728676
 * future we want to put the buffer states in a more general
Packit 728676
 * "scanner state".
Packit 728676
 *
Packit 728676
 * Returns the top of the stack, or NULL.
Packit 728676
 */
Packit 728676
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
Packit 728676
                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
Packit 728676
                          : NULL)
Packit 728676
Packit 728676
/* Same as previous macro, but useful when we know that the buffer stack is not
Packit 728676
 * NULL or when we need an lvalue. For internal use only.
Packit 728676
 */
Packit 728676
#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
Packit 728676
Packit 728676
/* yy_hold_char holds the character lost when yytext is formed. */
Packit 728676
static char yy_hold_char;
Packit 728676
static int yy_n_chars;		/* number of characters read into yy_ch_buf */
Packit 728676
int yyleng;
Packit 728676
Packit 728676
/* Points to current character in buffer. */
Packit 728676
static char *yy_c_buf_p = NULL;
Packit 728676
static int yy_init = 0;		/* whether we need to initialize */
Packit 728676
static int yy_start = 0;	/* start state number */
Packit 728676
Packit 728676
/* Flag which is used to allow yywrap()'s to do buffer switches
Packit 728676
 * instead of setting up a fresh yyin.  A bit of a hack ...
Packit 728676
 */
Packit 728676
static int yy_did_buffer_switch_on_eof;
Packit 728676
Packit 728676
void yyrestart (FILE *input_file  );
Packit 728676
void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
Packit 728676
YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
Packit 728676
void yy_delete_buffer (YY_BUFFER_STATE b  );
Packit 728676
void yy_flush_buffer (YY_BUFFER_STATE b  );
Packit 728676
void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
Packit 728676
void yypop_buffer_state (void );
Packit 728676
Packit 728676
static void yyensure_buffer_stack (void );
Packit 728676
static void yy_load_buffer_state (void );
Packit 728676
static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
Packit 728676
Packit 728676
#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
Packit 728676
Packit 728676
YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
Packit 728676
YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
Packit 728676
YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len  );
Packit 728676
Packit 728676
void *yyalloc (yy_size_t  );
Packit 728676
void *yyrealloc (void *,yy_size_t  );
Packit 728676
void yyfree (void *  );
Packit 728676
Packit 728676
#define yy_new_buffer yy_create_buffer
Packit 728676
Packit 728676
#define yy_set_interactive(is_interactive) \
Packit 728676
	{ \
Packit 728676
	if ( ! YY_CURRENT_BUFFER ){ \
Packit 728676
        yyensure_buffer_stack (); \
Packit 728676
		YY_CURRENT_BUFFER_LVALUE =    \
Packit 728676
            yy_create_buffer(yyin,YY_BUF_SIZE ); \
Packit 728676
	} \
Packit 728676
	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
Packit 728676
	}
Packit 728676
Packit 728676
#define yy_set_bol(at_bol) \
Packit 728676
	{ \
Packit 728676
	if ( ! YY_CURRENT_BUFFER ){\
Packit 728676
        yyensure_buffer_stack (); \
Packit 728676
		YY_CURRENT_BUFFER_LVALUE =    \
Packit 728676
            yy_create_buffer(yyin,YY_BUF_SIZE ); \
Packit 728676
	} \
Packit 728676
	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
Packit 728676
	}
Packit 728676
Packit 728676
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
Packit 728676
Packit 728676
/* Begin user sect3 */
Packit 728676
Packit 728676
#define yywrap() (/*CONSTCOND*/1)
Packit 728676
#define YY_SKIP_YYWRAP
Packit 728676
Packit 728676
typedef unsigned char YY_CHAR;
Packit 728676
Packit 728676
FILE *yyin = NULL, *yyout = NULL;
Packit 728676
Packit 728676
typedef int yy_state_type;
Packit 728676
Packit 728676
extern int yylineno;
Packit 728676
Packit 728676
int yylineno = 1;
Packit 728676
Packit 728676
extern char *yytext;
Packit 728676
#ifdef yytext_ptr
Packit 728676
#undef yytext_ptr
Packit 728676
#endif
Packit 728676
#define yytext_ptr yytext
Packit 728676
Packit 728676
static yy_state_type yy_get_previous_state (void );
Packit 728676
static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
Packit 728676
static int yy_get_next_buffer (void );
Packit 728676
static void yynoreturn yy_fatal_error (yyconst char* msg  );
Packit 728676
Packit 728676
/* Done after the current pattern has been matched and before the
Packit 728676
 * corresponding action - sets up yytext.
Packit 728676
 */
Packit 728676
#define YY_DO_BEFORE_ACTION \
Packit 728676
	(yytext_ptr) = yy_bp; \
Packit 728676
	yyleng = (int) (yy_cp - yy_bp); \
Packit 728676
	(yy_hold_char) = *yy_cp; \
Packit 728676
	*yy_cp = '\0'; \
Packit 728676
	(yy_c_buf_p) = yy_cp;
Packit 728676
Packit 728676
#define YY_NUM_RULES 12
Packit 728676
#define YY_END_OF_BUFFER 13
Packit 728676
/* This struct is not used in this scanner,
Packit 728676
   but its presence is necessary. */
Packit 728676
struct yy_trans_info
Packit 728676
	{
Packit 728676
	flex_int32_t yy_verify;
Packit 728676
	flex_int32_t yy_nxt;
Packit 728676
	};
Packit 728676
static yyconst flex_int16_t yy_accept[25] =
Packit 728676
    {   0,
Packit 728676
        0,    0,   13,   12,    3,    1,    2,   10,   11,   12,
Packit 728676
        8,   11,   11,   11,   11,   11,    9,   11,    5,   11,
Packit 728676
        4,    7,    6,    0
Packit 728676
    } ;
Packit 728676
Packit 728676
static yyconst YY_CHAR yy_ec[256] =
Packit 728676
    {   0,
Packit 728676
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit 728676
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit 728676
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit 728676
        1,    2,    1,    1,    1,    1,    1,    1,    1,    3,
Packit 728676
        4,    5,    1,    1,    6,    1,    1,    6,    6,    6,
Packit 728676
        6,    6,    6,    6,    6,    6,    6,    7,    1,    1,
Packit 728676
        8,    1,    1,    1,    9,    6,    6,   10,    6,    6,
Packit 728676
        6,    6,    6,    6,    6,    6,    6,   11,   12,    6,
Packit 728676
        6,   13,    6,    6,    6,    6,    6,    6,    6,    6,
Packit 728676
        6,    1,    6,    1,    6,    1,   14,    6,    6,   15,
Packit 728676
Packit 728676
        6,    6,    6,    6,    6,    6,    6,    6,    6,   16,
Packit 728676
       17,    6,    6,   18,    6,    6,    6,    6,    6,    6,
Packit 728676
        6,    6,    1,    1,    1,    1,    1,    1,    1,    1,
Packit 728676
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit 728676
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit 728676
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit 728676
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit 728676
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit 728676
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit 728676
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit 728676
Packit 728676
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit 728676
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit 728676
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit 728676
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit 728676
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit 728676
        1,    1,    1,    1,    1
Packit 728676
    } ;
Packit 728676
Packit 728676
static yyconst YY_CHAR yy_meta[19] =
Packit 728676
    {   0,
Packit 728676
        1,    1,    1,    1,    1,    2,    1,    1,    2,    2,
Packit 728676
        2,    2,    2,    2,    2,    2,    2,    2
Packit 728676
    } ;
Packit 728676
Packit 728676
static yyconst flex_uint16_t yy_base[26] =
Packit 728676
    {   0,
Packit 728676
        0,    0,   27,   28,   28,   28,   28,   28,    0,   18,
Packit 728676
       28,   14,   11,    7,    4,    0,   28,   11,    0,    5,
Packit 728676
        0,    0,    0,   28,   17
Packit 728676
    } ;
Packit 728676
Packit 728676
static yyconst flex_int16_t yy_def[26] =
Packit 728676
    {   0,
Packit 728676
       24,    1,   24,   24,   24,   24,   24,   24,   25,   24,
Packit 728676
       24,   25,   25,   25,   25,   25,   24,   25,   25,   25,
Packit 728676
       25,   25,   25,    0,   24
Packit 728676
    } ;
Packit 728676
Packit 728676
static yyconst flex_uint16_t yy_nxt[47] =
Packit 728676
    {   0,
Packit 728676
        4,    5,    6,    7,    8,    9,   10,   11,   12,    9,
Packit 728676
        9,   13,    9,   14,    9,    9,   15,    9,   16,   23,
Packit 728676
       22,   21,   20,   19,   18,   17,   24,    3,   24,   24,
Packit 728676
       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
Packit 728676
       24,   24,   24,   24,   24,   24
Packit 728676
    } ;
Packit 728676
Packit 728676
static yyconst flex_int16_t yy_chk[47] =
Packit 728676
    {   0,
Packit 728676
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit 728676
        1,    1,    1,    1,    1,    1,    1,    1,   25,   20,
Packit 728676
       18,   15,   14,   13,   12,   10,    3,   24,   24,   24,
Packit 728676
       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
Packit 728676
       24,   24,   24,   24,   24,   24
Packit 728676
    } ;
Packit 728676
Packit 728676
static yy_state_type yy_last_accepting_state;
Packit 728676
static char *yy_last_accepting_cpos;
Packit 728676
Packit 728676
extern int yy_flex_debug;
Packit 728676
int yy_flex_debug = 0;
Packit 728676
Packit 728676
/* The intent behind this definition is that it'll catch
Packit 728676
 * any uses of REJECT which flex missed.
Packit 728676
 */
Packit 728676
#define REJECT reject_used_but_not_detected
Packit 728676
#define yymore() yymore_used_but_not_detected
Packit 728676
#define YY_MORE_ADJ 0
Packit 728676
#define YY_RESTORE_YY_MORE_OFFSET
Packit 728676
char *yytext;
Packit 728676
#line 1 "lex.l"
Packit 728676
/* Copyright (C) 2017 mod_auth_gssapi contributors - See COPYING for (C) terms
Packit 728676
 *
Packit 728676
 * Scanner for the GssapiRequiredNameAttributes option parser.
Packit 728676
 */
Packit 728676
#line 6 "lex.l"
Packit 728676
#include <string.h>
Packit 728676
#include "parser.h"
Packit 728676
#define YY_NO_INPUT 1
Packit 728676
#line 476 "lex.c"
Packit 728676
Packit 728676
#define INITIAL 0
Packit 728676
Packit 728676
#ifndef YY_NO_UNISTD_H
Packit 728676
/* Special case for "unistd.h", since it is non-ANSI. We include it way
Packit 728676
 * down here because we want the user's section 1 to have been scanned first.
Packit 728676
 * The user has a chance to override it with an option.
Packit 728676
 */
Packit 728676
#include <unistd.h>
Packit 728676
#endif
Packit 728676
Packit 728676
#ifndef YY_EXTRA_TYPE
Packit 728676
#define YY_EXTRA_TYPE void *
Packit 728676
#endif
Packit 728676
Packit 728676
static int yy_init_globals (void );
Packit 728676
Packit 728676
/* Accessor methods to globals.
Packit 728676
   These are made visible to non-reentrant scanners for convenience. */
Packit 728676
Packit 728676
int yylex_destroy (void );
Packit 728676
Packit 728676
int yyget_debug (void );
Packit 728676
Packit 728676
void yyset_debug (int debug_flag  );
Packit 728676
Packit 728676
YY_EXTRA_TYPE yyget_extra (void );
Packit 728676
Packit 728676
void yyset_extra (YY_EXTRA_TYPE user_defined  );
Packit 728676
Packit 728676
FILE *yyget_in (void );
Packit 728676
Packit 728676
void yyset_in  (FILE * _in_str  );
Packit 728676
Packit 728676
FILE *yyget_out (void );
Packit 728676
Packit 728676
void yyset_out  (FILE * _out_str  );
Packit 728676
Packit 728676
			int yyget_leng (void );
Packit 728676
Packit 728676
char *yyget_text (void );
Packit 728676
Packit 728676
int yyget_lineno (void );
Packit 728676
Packit 728676
void yyset_lineno (int _line_number  );
Packit 728676
Packit 728676
/* Macros after this point can all be overridden by user definitions in
Packit 728676
 * section 1.
Packit 728676
 */
Packit 728676
Packit 728676
#ifndef YY_SKIP_YYWRAP
Packit 728676
#ifdef __cplusplus
Packit 728676
extern "C" int yywrap (void );
Packit 728676
#else
Packit 728676
extern int yywrap (void );
Packit 728676
#endif
Packit 728676
#endif
Packit 728676
Packit 728676
#ifndef YY_NO_UNPUT
Packit 728676
    
Packit 728676
#endif
Packit 728676
Packit 728676
#ifndef yytext_ptr
Packit 728676
static void yy_flex_strncpy (char *,yyconst char *,int );
Packit 728676
#endif
Packit 728676
Packit 728676
#ifdef YY_NEED_STRLEN
Packit 728676
static int yy_flex_strlen (yyconst char * );
Packit 728676
#endif
Packit 728676
Packit 728676
#ifndef YY_NO_INPUT
Packit 728676
Packit 728676
#ifdef __cplusplus
Packit 728676
static int yyinput (void );
Packit 728676
#else
Packit 728676
static int input (void );
Packit 728676
#endif
Packit 728676
Packit 728676
#endif
Packit 728676
Packit 728676
/* Amount of stuff to slurp up with each read. */
Packit 728676
#ifndef YY_READ_BUF_SIZE
Packit 728676
#ifdef __ia64__
Packit 728676
/* On IA-64, the buffer size is 16k, not 8k */
Packit 728676
#define YY_READ_BUF_SIZE 16384
Packit 728676
#else
Packit 728676
#define YY_READ_BUF_SIZE 8192
Packit 728676
#endif /* __ia64__ */
Packit 728676
#endif
Packit 728676
Packit 728676
/* Copy whatever the last rule matched to the standard output. */
Packit 728676
#ifndef ECHO
Packit 728676
/* This used to be an fputs(), but since the string might contain NUL's,
Packit 728676
 * we now use fwrite().
Packit 728676
 */
Packit 728676
#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
Packit 728676
#endif
Packit 728676
Packit 728676
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
Packit 728676
 * is returned in "result".
Packit 728676
 */
Packit 728676
#ifndef YY_INPUT
Packit 728676
#define YY_INPUT(buf,result,max_size) \
Packit 728676
	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
Packit 728676
		{ \
Packit 728676
		int c = '*'; \
Packit 728676
		size_t n; \
Packit 728676
		for ( n = 0; n < max_size && \
Packit 728676
			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Packit 728676
			buf[n] = (char) c; \
Packit 728676
		if ( c == '\n' ) \
Packit 728676
			buf[n++] = (char) c; \
Packit 728676
		if ( c == EOF && ferror( yyin ) ) \
Packit 728676
			YY_FATAL_ERROR( "input in flex scanner failed" ); \
Packit 728676
		result = n; \
Packit 728676
		} \
Packit 728676
	else \
Packit 728676
		{ \
Packit 728676
		errno=0; \
Packit 728676
		while ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
Packit 728676
			{ \
Packit 728676
			if( errno != EINTR) \
Packit 728676
				{ \
Packit 728676
				YY_FATAL_ERROR( "input in flex scanner failed" ); \
Packit 728676
				break; \
Packit 728676
				} \
Packit 728676
			errno=0; \
Packit 728676
			clearerr(yyin); \
Packit 728676
			} \
Packit 728676
		}\
Packit 728676
\
Packit 728676
Packit 728676
#endif
Packit 728676
Packit 728676
/* No semi-colon after return; correct usage is to write "yyterminate();" -
Packit 728676
 * we don't want an extra ';' after the "return" because that will cause
Packit 728676
 * some compilers to complain about unreachable statements.
Packit 728676
 */
Packit 728676
#ifndef yyterminate
Packit 728676
#define yyterminate() return YY_NULL
Packit 728676
#endif
Packit 728676
Packit 728676
/* Number of entries by which start-condition stack grows. */
Packit 728676
#ifndef YY_START_STACK_INCR
Packit 728676
#define YY_START_STACK_INCR 25
Packit 728676
#endif
Packit 728676
Packit 728676
/* Report a fatal error. */
Packit 728676
#ifndef YY_FATAL_ERROR
Packit 728676
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
Packit 728676
#endif
Packit 728676
Packit 728676
/* end tables serialization structures and prototypes */
Packit 728676
Packit 728676
/* Default declaration of generated scanner - a define so the user can
Packit 728676
 * easily add parameters.
Packit 728676
 */
Packit 728676
#ifndef YY_DECL
Packit 728676
#define YY_DECL_IS_OURS 1
Packit 728676
Packit 728676
extern int yylex (void);
Packit 728676
Packit 728676
#define YY_DECL int yylex (void)
Packit 728676
#endif /* !YY_DECL */
Packit 728676
Packit 728676
/* Code executed at the beginning of each rule, after yytext and yyleng
Packit 728676
 * have been set up.
Packit 728676
 */
Packit 728676
#ifndef YY_USER_ACTION
Packit 728676
#define YY_USER_ACTION
Packit 728676
#endif
Packit 728676
Packit 728676
/* Code executed at the end of each rule. */
Packit 728676
#ifndef YY_BREAK
Packit 728676
#define YY_BREAK /*LINTED*/break;
Packit 728676
#endif
Packit 728676
Packit 728676
#define YY_RULE_SETUP \
Packit 728676
	YY_USER_ACTION
Packit 728676
Packit 728676
/** The main scanner function which does all the work.
Packit 728676
 */
Packit 728676
YY_DECL
Packit 728676
{
Packit 728676
	yy_state_type yy_current_state;
Packit 728676
	char *yy_cp, *yy_bp;
Packit 728676
	int yy_act;
Packit 728676
    
Packit 728676
	if ( !(yy_init) )
Packit 728676
		{
Packit 728676
		(yy_init) = 1;
Packit 728676
Packit 728676
#ifdef YY_USER_INIT
Packit 728676
		YY_USER_INIT;
Packit 728676
#endif
Packit 728676
Packit 728676
		if ( ! (yy_start) )
Packit 728676
			(yy_start) = 1;	/* first start state */
Packit 728676
Packit 728676
		if ( ! yyin )
Packit 728676
			yyin = stdin;
Packit 728676
Packit 728676
		if ( ! yyout )
Packit 728676
			yyout = stdout;
Packit 728676
Packit 728676
		if ( ! YY_CURRENT_BUFFER ) {
Packit 728676
			yyensure_buffer_stack ();
Packit 728676
			YY_CURRENT_BUFFER_LVALUE =
Packit 728676
				yy_create_buffer(yyin,YY_BUF_SIZE );
Packit 728676
		}
Packit 728676
Packit 728676
		yy_load_buffer_state( );
Packit 728676
		}
Packit 728676
Packit 728676
	{
Packit 728676
#line 12 "lex.l"
Packit 728676
Packit 728676
Packit 728676
#line 695 "lex.c"
Packit 728676
Packit 728676
	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
Packit 728676
		{
Packit 728676
		yy_cp = (yy_c_buf_p);
Packit 728676
Packit 728676
		/* Support of yytext. */
Packit 728676
		*yy_cp = (yy_hold_char);
Packit 728676
Packit 728676
		/* yy_bp points to the position in yy_ch_buf of the start of
Packit 728676
		 * the current run.
Packit 728676
		 */
Packit 728676
		yy_bp = yy_cp;
Packit 728676
Packit 728676
		yy_current_state = (yy_start);
Packit 728676
yy_match:
Packit 728676
		do
Packit 728676
			{
Packit 728676
			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
Packit 728676
			if ( yy_accept[yy_current_state] )
Packit 728676
				{
Packit 728676
				(yy_last_accepting_state) = yy_current_state;
Packit 728676
				(yy_last_accepting_cpos) = yy_cp;
Packit 728676
				}
Packit 728676
			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
Packit 728676
				{
Packit 728676
				yy_current_state = (int) yy_def[yy_current_state];
Packit 728676
				if ( yy_current_state >= 25 )
Packit 728676
					yy_c = yy_meta[(unsigned int) yy_c];
Packit 728676
				}
Packit 728676
			yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
Packit 728676
			++yy_cp;
Packit 728676
			}
Packit 728676
		while ( yy_base[yy_current_state] != 28 );
Packit 728676
Packit 728676
yy_find_action:
Packit 728676
		yy_act = yy_accept[yy_current_state];
Packit 728676
		if ( yy_act == 0 )
Packit 728676
			{ /* have to back up */
Packit 728676
			yy_cp = (yy_last_accepting_cpos);
Packit 728676
			yy_current_state = (yy_last_accepting_state);
Packit 728676
			yy_act = yy_accept[yy_current_state];
Packit 728676
			}
Packit 728676
Packit 728676
		YY_DO_BEFORE_ACTION;
Packit 728676
Packit 728676
do_action:	/* This label is used only to access EOF actions. */
Packit 728676
Packit 728676
		switch ( yy_act )
Packit 728676
	{ /* beginning of action switch */
Packit 728676
			case 0: /* must back up */
Packit 728676
			/* undo the effects of YY_DO_BEFORE_ACTION */
Packit 728676
			*yy_cp = (yy_hold_char);
Packit 728676
			yy_cp = (yy_last_accepting_cpos);
Packit 728676
			yy_current_state = (yy_last_accepting_state);
Packit 728676
			goto yy_find_action;
Packit 728676
Packit 728676
case 1:
Packit 728676
YY_RULE_SETUP
Packit 728676
#line 14 "lex.l"
Packit 728676
{ return LPAREN; }
Packit 728676
	YY_BREAK
Packit 728676
case 2:
Packit 728676
YY_RULE_SETUP
Packit 728676
#line 15 "lex.l"
Packit 728676
{ return RPAREN; }
Packit 728676
	YY_BREAK
Packit 728676
case 3:
Packit 728676
YY_RULE_SETUP
Packit 728676
#line 16 "lex.l"
Packit 728676
{ return SPACE; }
Packit 728676
	YY_BREAK
Packit 728676
case 4:
Packit 728676
YY_RULE_SETUP
Packit 728676
#line 17 "lex.l"
Packit 728676
{ return OR; }
Packit 728676
	YY_BREAK
Packit 728676
case 5:
Packit 728676
YY_RULE_SETUP
Packit 728676
#line 18 "lex.l"
Packit 728676
{ return OR; }
Packit 728676
	YY_BREAK
Packit 728676
case 6:
Packit 728676
YY_RULE_SETUP
Packit 728676
#line 19 "lex.l"
Packit 728676
{ return AND; }
Packit 728676
	YY_BREAK
Packit 728676
case 7:
Packit 728676
YY_RULE_SETUP
Packit 728676
#line 20 "lex.l"
Packit 728676
{ return AND; }
Packit 728676
	YY_BREAK
Packit 728676
case 8:
Packit 728676
YY_RULE_SETUP
Packit 728676
#line 21 "lex.l"
Packit 728676
{ return EQUAL; }
Packit 728676
	YY_BREAK
Packit 728676
case 9:
Packit 728676
YY_RULE_SETUP
Packit 728676
#line 22 "lex.l"
Packit 728676
{ return EQUALBIN; }
Packit 728676
	YY_BREAK
Packit 728676
case 10:
Packit 728676
YY_RULE_SETUP
Packit 728676
#line 23 "lex.l"
Packit 728676
{ return AST; }
Packit 728676
	YY_BREAK
Packit 728676
case 11:
Packit 728676
YY_RULE_SETUP
Packit 728676
#line 24 "lex.l"
Packit 728676
{
Packit 728676
	yylval.sval = strdup(yytext);
Packit 728676
	return STRING;
Packit 728676
}
Packit 728676
	YY_BREAK
Packit 728676
case 12:
Packit 728676
YY_RULE_SETUP
Packit 728676
#line 29 "lex.l"
Packit 728676
ECHO;
Packit 728676
	YY_BREAK
Packit 728676
#line 815 "lex.c"
Packit 728676
case YY_STATE_EOF(INITIAL):
Packit 728676
	yyterminate();
Packit 728676
Packit 728676
	case YY_END_OF_BUFFER:
Packit 728676
		{
Packit 728676
		/* Amount of text matched not including the EOB char. */
Packit 728676
		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
Packit 728676
Packit 728676
		/* Undo the effects of YY_DO_BEFORE_ACTION. */
Packit 728676
		*yy_cp = (yy_hold_char);
Packit 728676
		YY_RESTORE_YY_MORE_OFFSET
Packit 728676
Packit 728676
		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
Packit 728676
			{
Packit 728676
			/* We're scanning a new file or input source.  It's
Packit 728676
			 * possible that this happened because the user
Packit 728676
			 * just pointed yyin at a new source and called
Packit 728676
			 * yylex().  If so, then we have to assure
Packit 728676
			 * consistency between YY_CURRENT_BUFFER and our
Packit 728676
			 * globals.  Here is the right place to do so, because
Packit 728676
			 * this is the first action (other than possibly a
Packit 728676
			 * back-up) that will match for the new input source.
Packit 728676
			 */
Packit 728676
			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
Packit 728676
			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
Packit 728676
			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
Packit 728676
			}
Packit 728676
Packit 728676
		/* Note that here we test for yy_c_buf_p "<=" to the position
Packit 728676
		 * of the first EOB in the buffer, since yy_c_buf_p will
Packit 728676
		 * already have been incremented past the NUL character
Packit 728676
		 * (since all states make transitions on EOB to the
Packit 728676
		 * end-of-buffer state).  Contrast this with the test
Packit 728676
		 * in input().
Packit 728676
		 */
Packit 728676
		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
Packit 728676
			{ /* This was really a NUL. */
Packit 728676
			yy_state_type yy_next_state;
Packit 728676
Packit 728676
			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
Packit 728676
Packit 728676
			yy_current_state = yy_get_previous_state(  );
Packit 728676
Packit 728676
			/* Okay, we're now positioned to make the NUL
Packit 728676
			 * transition.  We couldn't have
Packit 728676
			 * yy_get_previous_state() go ahead and do it
Packit 728676
			 * for us because it doesn't know how to deal
Packit 728676
			 * with the possibility of jamming (and we don't
Packit 728676
			 * want to build jamming into it because then it
Packit 728676
			 * will run more slowly).
Packit 728676
			 */
Packit 728676
Packit 728676
			yy_next_state = yy_try_NUL_trans( yy_current_state );
Packit 728676
Packit 728676
			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Packit 728676
Packit 728676
			if ( yy_next_state )
Packit 728676
				{
Packit 728676
				/* Consume the NUL. */
Packit 728676
				yy_cp = ++(yy_c_buf_p);
Packit 728676
				yy_current_state = yy_next_state;
Packit 728676
				goto yy_match;
Packit 728676
				}
Packit 728676
Packit 728676
			else
Packit 728676
				{
Packit 728676
				yy_cp = (yy_c_buf_p);
Packit 728676
				goto yy_find_action;
Packit 728676
				}
Packit 728676
			}
Packit 728676
Packit 728676
		else switch ( yy_get_next_buffer(  ) )
Packit 728676
			{
Packit 728676
			case EOB_ACT_END_OF_FILE:
Packit 728676
				{
Packit 728676
				(yy_did_buffer_switch_on_eof) = 0;
Packit 728676
Packit 728676
				if ( yywrap( ) )
Packit 728676
					{
Packit 728676
					/* Note: because we've taken care in
Packit 728676
					 * yy_get_next_buffer() to have set up
Packit 728676
					 * yytext, we can now set up
Packit 728676
					 * yy_c_buf_p so that if some total
Packit 728676
					 * hoser (like flex itself) wants to
Packit 728676
					 * call the scanner after we return the
Packit 728676
					 * YY_NULL, it'll still work - another
Packit 728676
					 * YY_NULL will get returned.
Packit 728676
					 */
Packit 728676
					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
Packit 728676
Packit 728676
					yy_act = YY_STATE_EOF(YY_START);
Packit 728676
					goto do_action;
Packit 728676
					}
Packit 728676
Packit 728676
				else
Packit 728676
					{
Packit 728676
					if ( ! (yy_did_buffer_switch_on_eof) )
Packit 728676
						YY_NEW_FILE;
Packit 728676
					}
Packit 728676
				break;
Packit 728676
				}
Packit 728676
Packit 728676
			case EOB_ACT_CONTINUE_SCAN:
Packit 728676
				(yy_c_buf_p) =
Packit 728676
					(yytext_ptr) + yy_amount_of_matched_text;
Packit 728676
Packit 728676
				yy_current_state = yy_get_previous_state(  );
Packit 728676
Packit 728676
				yy_cp = (yy_c_buf_p);
Packit 728676
				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Packit 728676
				goto yy_match;
Packit 728676
Packit 728676
			case EOB_ACT_LAST_MATCH:
Packit 728676
				(yy_c_buf_p) =
Packit 728676
				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
Packit 728676
Packit 728676
				yy_current_state = yy_get_previous_state(  );
Packit 728676
Packit 728676
				yy_cp = (yy_c_buf_p);
Packit 728676
				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Packit 728676
				goto yy_find_action;
Packit 728676
			}
Packit 728676
		break;
Packit 728676
		}
Packit 728676
Packit 728676
	default:
Packit 728676
		YY_FATAL_ERROR(
Packit 728676
			"fatal flex scanner internal error--no action found" );
Packit 728676
	} /* end of action switch */
Packit 728676
		} /* end of scanning one token */
Packit 728676
	} /* end of user's declarations */
Packit 728676
} /* end of yylex */
Packit 728676
Packit 728676
/* yy_get_next_buffer - try to read in a new buffer
Packit 728676
 *
Packit 728676
 * Returns a code representing an action:
Packit 728676
 *	EOB_ACT_LAST_MATCH -
Packit 728676
 *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
Packit 728676
 *	EOB_ACT_END_OF_FILE - end of file
Packit 728676
 */
Packit 728676
static int yy_get_next_buffer (void)
Packit 728676
{
Packit 728676
    	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
Packit 728676
	char *source = (yytext_ptr);
Packit 728676
	int number_to_move, i;
Packit 728676
	int ret_val;
Packit 728676
Packit 728676
	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
Packit 728676
		YY_FATAL_ERROR(
Packit 728676
		"fatal flex scanner internal error--end of buffer missed" );
Packit 728676
Packit 728676
	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
Packit 728676
		{ /* Don't try to fill the buffer, so this is an EOF. */
Packit 728676
		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
Packit 728676
			{
Packit 728676
			/* We matched a single character, the EOB, so
Packit 728676
			 * treat this as a final EOF.
Packit 728676
			 */
Packit 728676
			return EOB_ACT_END_OF_FILE;
Packit 728676
			}
Packit 728676
Packit 728676
		else
Packit 728676
			{
Packit 728676
			/* We matched some text prior to the EOB, first
Packit 728676
			 * process it.
Packit 728676
			 */
Packit 728676
			return EOB_ACT_LAST_MATCH;
Packit 728676
			}
Packit 728676
		}
Packit 728676
Packit 728676
	/* Try to read more data. */
Packit 728676
Packit 728676
	/* First move last chars to start of buffer. */
Packit 728676
	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
Packit 728676
Packit 728676
	for ( i = 0; i < number_to_move; ++i )
Packit 728676
		*(dest++) = *(source++);
Packit 728676
Packit 728676
	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Packit 728676
		/* don't do the read, it's not guaranteed to return an EOF,
Packit 728676
		 * just force an EOF
Packit 728676
		 */
Packit 728676
		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
Packit 728676
Packit 728676
	else
Packit 728676
		{
Packit 728676
			int num_to_read =
Packit 728676
			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
Packit 728676
Packit 728676
		while ( num_to_read <= 0 )
Packit 728676
			{ /* Not enough room in the buffer - grow it. */
Packit 728676
Packit 728676
			/* just a shorter name for the current buffer */
Packit 728676
			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
Packit 728676
Packit 728676
			int yy_c_buf_p_offset =
Packit 728676
				(int) ((yy_c_buf_p) - b->yy_ch_buf);
Packit 728676
Packit 728676
			if ( b->yy_is_our_buffer )
Packit 728676
				{
Packit 728676
				int new_size = b->yy_buf_size * 2;
Packit 728676
Packit 728676
				if ( new_size <= 0 )
Packit 728676
					b->yy_buf_size += b->yy_buf_size / 8;
Packit 728676
				else
Packit 728676
					b->yy_buf_size *= 2;
Packit 728676
Packit 728676
				b->yy_ch_buf = (char *)
Packit 728676
					/* Include room in for 2 EOB chars. */
Packit 728676
					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
Packit 728676
				}
Packit 728676
			else
Packit 728676
				/* Can't grow it, we don't own it. */
Packit 728676
				b->yy_ch_buf = NULL;
Packit 728676
Packit 728676
			if ( ! b->yy_ch_buf )
Packit 728676
				YY_FATAL_ERROR(
Packit 728676
				"fatal error - scanner input buffer overflow" );
Packit 728676
Packit 728676
			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
Packit 728676
Packit 728676
			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
Packit 728676
						number_to_move - 1;
Packit 728676
Packit 728676
			}
Packit 728676
Packit 728676
		if ( num_to_read > YY_READ_BUF_SIZE )
Packit 728676
			num_to_read = YY_READ_BUF_SIZE;
Packit 728676
Packit 728676
		/* Read in more data. */
Packit 728676
		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
Packit 728676
			(yy_n_chars), num_to_read );
Packit 728676
Packit 728676
		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
Packit 728676
		}
Packit 728676
Packit 728676
	if ( (yy_n_chars) == 0 )
Packit 728676
		{
Packit 728676
		if ( number_to_move == YY_MORE_ADJ )
Packit 728676
			{
Packit 728676
			ret_val = EOB_ACT_END_OF_FILE;
Packit 728676
			yyrestart(yyin  );
Packit 728676
			}
Packit 728676
Packit 728676
		else
Packit 728676
			{
Packit 728676
			ret_val = EOB_ACT_LAST_MATCH;
Packit 728676
			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
Packit 728676
				YY_BUFFER_EOF_PENDING;
Packit 728676
			}
Packit 728676
		}
Packit 728676
Packit 728676
	else
Packit 728676
		ret_val = EOB_ACT_CONTINUE_SCAN;
Packit 728676
Packit 728676
	if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
Packit 728676
		/* Extend the array by 50%, plus the number we really need. */
Packit 728676
		int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
Packit 728676
		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
Packit 728676
		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
Packit 728676
			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
Packit 728676
	}
Packit 728676
Packit 728676
	(yy_n_chars) += number_to_move;
Packit 728676
	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
Packit 728676
	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
Packit 728676
Packit 728676
	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
Packit 728676
Packit 728676
	return ret_val;
Packit 728676
}
Packit 728676
Packit 728676
/* yy_get_previous_state - get the state just before the EOB char was reached */
Packit 728676
Packit 728676
    static yy_state_type yy_get_previous_state (void)
Packit 728676
{
Packit 728676
	yy_state_type yy_current_state;
Packit 728676
	char *yy_cp;
Packit 728676
    
Packit 728676
	yy_current_state = (yy_start);
Packit 728676
Packit 728676
	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
Packit 728676
		{
Packit 728676
		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
Packit 728676
		if ( yy_accept[yy_current_state] )
Packit 728676
			{
Packit 728676
			(yy_last_accepting_state) = yy_current_state;
Packit 728676
			(yy_last_accepting_cpos) = yy_cp;
Packit 728676
			}
Packit 728676
		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
Packit 728676
			{
Packit 728676
			yy_current_state = (int) yy_def[yy_current_state];
Packit 728676
			if ( yy_current_state >= 25 )
Packit 728676
				yy_c = yy_meta[(unsigned int) yy_c];
Packit 728676
			}
Packit 728676
		yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
Packit 728676
		}
Packit 728676
Packit 728676
	return yy_current_state;
Packit 728676
}
Packit 728676
Packit 728676
/* yy_try_NUL_trans - try to make a transition on the NUL character
Packit 728676
 *
Packit 728676
 * synopsis
Packit 728676
 *	next_state = yy_try_NUL_trans( current_state );
Packit 728676
 */
Packit 728676
    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
Packit 728676
{
Packit 728676
	int yy_is_jam;
Packit 728676
    	char *yy_cp = (yy_c_buf_p);
Packit 728676
Packit 728676
	YY_CHAR yy_c = 1;
Packit 728676
	if ( yy_accept[yy_current_state] )
Packit 728676
		{
Packit 728676
		(yy_last_accepting_state) = yy_current_state;
Packit 728676
		(yy_last_accepting_cpos) = yy_cp;
Packit 728676
		}
Packit 728676
	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
Packit 728676
		{
Packit 728676
		yy_current_state = (int) yy_def[yy_current_state];
Packit 728676
		if ( yy_current_state >= 25 )
Packit 728676
			yy_c = yy_meta[(unsigned int) yy_c];
Packit 728676
		}
Packit 728676
	yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
Packit 728676
	yy_is_jam = (yy_current_state == 24);
Packit 728676
Packit 728676
		return yy_is_jam ? 0 : yy_current_state;
Packit 728676
}
Packit 728676
Packit 728676
#ifndef YY_NO_UNPUT
Packit 728676
Packit 728676
#endif
Packit 728676
Packit 728676
#ifndef YY_NO_INPUT
Packit 728676
#ifdef __cplusplus
Packit 728676
    static int yyinput (void)
Packit 728676
#else
Packit 728676
    static int input  (void)
Packit 728676
#endif
Packit 728676
Packit 728676
{
Packit 728676
	int c;
Packit 728676
    
Packit 728676
	*(yy_c_buf_p) = (yy_hold_char);
Packit 728676
Packit 728676
	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
Packit 728676
		{
Packit 728676
		/* yy_c_buf_p now points to the character we want to return.
Packit 728676
		 * If this occurs *before* the EOB characters, then it's a
Packit 728676
		 * valid NUL; if not, then we've hit the end of the buffer.
Packit 728676
		 */
Packit 728676
		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
Packit 728676
			/* This was really a NUL. */
Packit 728676
			*(yy_c_buf_p) = '\0';
Packit 728676
Packit 728676
		else
Packit 728676
			{ /* need more input */
Packit 728676
			int offset = (yy_c_buf_p) - (yytext_ptr);
Packit 728676
			++(yy_c_buf_p);
Packit 728676
Packit 728676
			switch ( yy_get_next_buffer(  ) )
Packit 728676
				{
Packit 728676
				case EOB_ACT_LAST_MATCH:
Packit 728676
					/* This happens because yy_g_n_b()
Packit 728676
					 * sees that we've accumulated a
Packit 728676
					 * token and flags that we need to
Packit 728676
					 * try matching the token before
Packit 728676
					 * proceeding.  But for input(),
Packit 728676
					 * there's no matching to consider.
Packit 728676
					 * So convert the EOB_ACT_LAST_MATCH
Packit 728676
					 * to EOB_ACT_END_OF_FILE.
Packit 728676
					 */
Packit 728676
Packit 728676
					/* Reset buffer status. */
Packit 728676
					yyrestart(yyin );
Packit 728676
Packit 728676
					/*FALLTHROUGH*/
Packit 728676
Packit 728676
				case EOB_ACT_END_OF_FILE:
Packit 728676
					{
Packit 728676
					if ( yywrap( ) )
Packit 728676
						return 0;
Packit 728676
Packit 728676
					if ( ! (yy_did_buffer_switch_on_eof) )
Packit 728676
						YY_NEW_FILE;
Packit 728676
#ifdef __cplusplus
Packit 728676
					return yyinput();
Packit 728676
#else
Packit 728676
					return input();
Packit 728676
#endif
Packit 728676
					}
Packit 728676
Packit 728676
				case EOB_ACT_CONTINUE_SCAN:
Packit 728676
					(yy_c_buf_p) = (yytext_ptr) + offset;
Packit 728676
					break;
Packit 728676
				}
Packit 728676
			}
Packit 728676
		}
Packit 728676
Packit 728676
	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
Packit 728676
	*(yy_c_buf_p) = '\0';	/* preserve yytext */
Packit 728676
	(yy_hold_char) = *++(yy_c_buf_p);
Packit 728676
Packit 728676
	return c;
Packit 728676
}
Packit 728676
#endif	/* ifndef YY_NO_INPUT */
Packit 728676
Packit 728676
/** Immediately switch to a different input stream.
Packit 728676
 * @param input_file A readable stream.
Packit 728676
 * 
Packit 728676
 * @note This function does not reset the start condition to @c INITIAL .
Packit 728676
 */
Packit 728676
    void yyrestart  (FILE * input_file )
Packit 728676
{
Packit 728676
    
Packit 728676
	if ( ! YY_CURRENT_BUFFER ){
Packit 728676
        yyensure_buffer_stack ();
Packit 728676
		YY_CURRENT_BUFFER_LVALUE =
Packit 728676
            yy_create_buffer(yyin,YY_BUF_SIZE );
Packit 728676
	}
Packit 728676
Packit 728676
	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
Packit 728676
	yy_load_buffer_state( );
Packit 728676
}
Packit 728676
Packit 728676
/** Switch to a different input buffer.
Packit 728676
 * @param new_buffer The new input buffer.
Packit 728676
 * 
Packit 728676
 */
Packit 728676
    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
Packit 728676
{
Packit 728676
    
Packit 728676
	/* TODO. We should be able to replace this entire function body
Packit 728676
	 * with
Packit 728676
	 *		yypop_buffer_state();
Packit 728676
	 *		yypush_buffer_state(new_buffer);
Packit 728676
     */
Packit 728676
	yyensure_buffer_stack ();
Packit 728676
	if ( YY_CURRENT_BUFFER == new_buffer )
Packit 728676
		return;
Packit 728676
Packit 728676
	if ( YY_CURRENT_BUFFER )
Packit 728676
		{
Packit 728676
		/* Flush out information for old buffer. */
Packit 728676
		*(yy_c_buf_p) = (yy_hold_char);
Packit 728676
		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
Packit 728676
		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
Packit 728676
		}
Packit 728676
Packit 728676
	YY_CURRENT_BUFFER_LVALUE = new_buffer;
Packit 728676
	yy_load_buffer_state( );
Packit 728676
Packit 728676
	/* We don't actually know whether we did this switch during
Packit 728676
	 * EOF (yywrap()) processing, but the only time this flag
Packit 728676
	 * is looked at is after yywrap() is called, so it's safe
Packit 728676
	 * to go ahead and always set it.
Packit 728676
	 */
Packit 728676
	(yy_did_buffer_switch_on_eof) = 1;
Packit 728676
}
Packit 728676
Packit 728676
static void yy_load_buffer_state  (void)
Packit 728676
{
Packit 728676
    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
Packit 728676
	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
Packit 728676
	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
Packit 728676
	(yy_hold_char) = *(yy_c_buf_p);
Packit 728676
}
Packit 728676
Packit 728676
/** Allocate and initialize an input buffer state.
Packit 728676
 * @param file A readable stream.
Packit 728676
 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
Packit 728676
 * 
Packit 728676
 * @return the allocated buffer state.
Packit 728676
 */
Packit 728676
    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
Packit 728676
{
Packit 728676
	YY_BUFFER_STATE b;
Packit 728676
    
Packit 728676
	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
Packit 728676
	if ( ! b )
Packit 728676
		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Packit 728676
Packit 728676
	b->yy_buf_size = (yy_size_t)size;
Packit 728676
Packit 728676
	/* yy_ch_buf has to be 2 characters longer than the size given because
Packit 728676
	 * we need to put in 2 end-of-buffer characters.
Packit 728676
	 */
Packit 728676
	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
Packit 728676
	if ( ! b->yy_ch_buf )
Packit 728676
		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Packit 728676
Packit 728676
	b->yy_is_our_buffer = 1;
Packit 728676
Packit 728676
	yy_init_buffer(b,file );
Packit 728676
Packit 728676
	return b;
Packit 728676
}
Packit 728676
Packit 728676
/** Destroy the buffer.
Packit 728676
 * @param b a buffer created with yy_create_buffer()
Packit 728676
 * 
Packit 728676
 */
Packit 728676
    void yy_delete_buffer (YY_BUFFER_STATE  b )
Packit 728676
{
Packit 728676
    
Packit 728676
	if ( ! b )
Packit 728676
		return;
Packit 728676
Packit 728676
	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
Packit 728676
		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
Packit 728676
Packit 728676
	if ( b->yy_is_our_buffer )
Packit 728676
		yyfree((void *) b->yy_ch_buf  );
Packit 728676
Packit 728676
	yyfree((void *) b  );
Packit 728676
}
Packit 728676
Packit 728676
/* Initializes or reinitializes a buffer.
Packit 728676
 * This function is sometimes called more than once on the same buffer,
Packit 728676
 * such as during a yyrestart() or at EOF.
Packit 728676
 */
Packit 728676
    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
Packit 728676
Packit 728676
{
Packit 728676
	int oerrno = errno;
Packit 728676
    
Packit 728676
	yy_flush_buffer(b );
Packit 728676
Packit 728676
	b->yy_input_file = file;
Packit 728676
	b->yy_fill_buffer = 1;
Packit 728676
Packit 728676
    /* If b is the current buffer, then yy_init_buffer was _probably_
Packit 728676
     * called from yyrestart() or through yy_get_next_buffer.
Packit 728676
     * In that case, we don't want to reset the lineno or column.
Packit 728676
     */
Packit 728676
    if (b != YY_CURRENT_BUFFER){
Packit 728676
        b->yy_bs_lineno = 1;
Packit 728676
        b->yy_bs_column = 0;
Packit 728676
    }
Packit 728676
Packit 728676
        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
Packit 728676
    
Packit 728676
	errno = oerrno;
Packit 728676
}
Packit 728676
Packit 728676
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
Packit 728676
 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
Packit 728676
 * 
Packit 728676
 */
Packit 728676
    void yy_flush_buffer (YY_BUFFER_STATE  b )
Packit 728676
{
Packit 728676
    	if ( ! b )
Packit 728676
		return;
Packit 728676
Packit 728676
	b->yy_n_chars = 0;
Packit 728676
Packit 728676
	/* We always need two end-of-buffer characters.  The first causes
Packit 728676
	 * a transition to the end-of-buffer state.  The second causes
Packit 728676
	 * a jam in that state.
Packit 728676
	 */
Packit 728676
	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
Packit 728676
	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
Packit 728676
Packit 728676
	b->yy_buf_pos = &b->yy_ch_buf[0];
Packit 728676
Packit 728676
	b->yy_at_bol = 1;
Packit 728676
	b->yy_buffer_status = YY_BUFFER_NEW;
Packit 728676
Packit 728676
	if ( b == YY_CURRENT_BUFFER )
Packit 728676
		yy_load_buffer_state( );
Packit 728676
}
Packit 728676
Packit 728676
/** Pushes the new state onto the stack. The new state becomes
Packit 728676
 *  the current state. This function will allocate the stack
Packit 728676
 *  if necessary.
Packit 728676
 *  @param new_buffer The new state.
Packit 728676
 *  
Packit 728676
 */
Packit 728676
void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
Packit 728676
{
Packit 728676
    	if (new_buffer == NULL)
Packit 728676
		return;
Packit 728676
Packit 728676
	yyensure_buffer_stack();
Packit 728676
Packit 728676
	/* This block is copied from yy_switch_to_buffer. */
Packit 728676
	if ( YY_CURRENT_BUFFER )
Packit 728676
		{
Packit 728676
		/* Flush out information for old buffer. */
Packit 728676
		*(yy_c_buf_p) = (yy_hold_char);
Packit 728676
		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
Packit 728676
		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
Packit 728676
		}
Packit 728676
Packit 728676
	/* Only push if top exists. Otherwise, replace top. */
Packit 728676
	if (YY_CURRENT_BUFFER)
Packit 728676
		(yy_buffer_stack_top)++;
Packit 728676
	YY_CURRENT_BUFFER_LVALUE = new_buffer;
Packit 728676
Packit 728676
	/* copied from yy_switch_to_buffer. */
Packit 728676
	yy_load_buffer_state( );
Packit 728676
	(yy_did_buffer_switch_on_eof) = 1;
Packit 728676
}
Packit 728676
Packit 728676
/** Removes and deletes the top of the stack, if present.
Packit 728676
 *  The next element becomes the new top.
Packit 728676
 *  
Packit 728676
 */
Packit 728676
void yypop_buffer_state (void)
Packit 728676
{
Packit 728676
    	if (!YY_CURRENT_BUFFER)
Packit 728676
		return;
Packit 728676
Packit 728676
	yy_delete_buffer(YY_CURRENT_BUFFER );
Packit 728676
	YY_CURRENT_BUFFER_LVALUE = NULL;
Packit 728676
	if ((yy_buffer_stack_top) > 0)
Packit 728676
		--(yy_buffer_stack_top);
Packit 728676
Packit 728676
	if (YY_CURRENT_BUFFER) {
Packit 728676
		yy_load_buffer_state( );
Packit 728676
		(yy_did_buffer_switch_on_eof) = 1;
Packit 728676
	}
Packit 728676
}
Packit 728676
Packit 728676
/* Allocates the stack if it does not exist.
Packit 728676
 *  Guarantees space for at least one push.
Packit 728676
 */
Packit 728676
static void yyensure_buffer_stack (void)
Packit 728676
{
Packit 728676
	int num_to_alloc;
Packit 728676
    
Packit 728676
	if (!(yy_buffer_stack)) {
Packit 728676
Packit 728676
		/* First allocation is just for 2 elements, since we don't know if this
Packit 728676
		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
Packit 728676
		 * immediate realloc on the next call.
Packit 728676
         */
Packit 728676
      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
Packit 728676
		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
Packit 728676
								(num_to_alloc * sizeof(struct yy_buffer_state*)
Packit 728676
								);
Packit 728676
		if ( ! (yy_buffer_stack) )
Packit 728676
			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
Packit 728676
Packit 728676
		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
Packit 728676
Packit 728676
		(yy_buffer_stack_max) = num_to_alloc;
Packit 728676
		(yy_buffer_stack_top) = 0;
Packit 728676
		return;
Packit 728676
	}
Packit 728676
Packit 728676
	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
Packit 728676
Packit 728676
		/* Increase the buffer to prepare for a possible push. */
Packit 728676
		yy_size_t grow_size = 8 /* arbitrary grow size */;
Packit 728676
Packit 728676
		num_to_alloc = (yy_buffer_stack_max) + grow_size;
Packit 728676
		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
Packit 728676
								((yy_buffer_stack),
Packit 728676
								num_to_alloc * sizeof(struct yy_buffer_state*)
Packit 728676
								);
Packit 728676
		if ( ! (yy_buffer_stack) )
Packit 728676
			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
Packit 728676
Packit 728676
		/* zero only the new slots.*/
Packit 728676
		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
Packit 728676
		(yy_buffer_stack_max) = num_to_alloc;
Packit 728676
	}
Packit 728676
}
Packit 728676
Packit 728676
/** Setup the input buffer state to scan directly from a user-specified character buffer.
Packit 728676
 * @param base the character buffer
Packit 728676
 * @param size the size in bytes of the character buffer
Packit 728676
 * 
Packit 728676
 * @return the newly allocated buffer state object.
Packit 728676
 */
Packit 728676
YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
Packit 728676
{
Packit 728676
	YY_BUFFER_STATE b;
Packit 728676
    
Packit 728676
	if ( size < 2 ||
Packit 728676
	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
Packit 728676
	     base[size-1] != YY_END_OF_BUFFER_CHAR )
Packit 728676
		/* They forgot to leave room for the EOB's. */
Packit 728676
		return NULL;
Packit 728676
Packit 728676
	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
Packit 728676
	if ( ! b )
Packit 728676
		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Packit 728676
Packit 728676
	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
Packit 728676
	b->yy_buf_pos = b->yy_ch_buf = base;
Packit 728676
	b->yy_is_our_buffer = 0;
Packit 728676
	b->yy_input_file = NULL;
Packit 728676
	b->yy_n_chars = b->yy_buf_size;
Packit 728676
	b->yy_is_interactive = 0;
Packit 728676
	b->yy_at_bol = 1;
Packit 728676
	b->yy_fill_buffer = 0;
Packit 728676
	b->yy_buffer_status = YY_BUFFER_NEW;
Packit 728676
Packit 728676
	yy_switch_to_buffer(b  );
Packit 728676
Packit 728676
	return b;
Packit 728676
}
Packit 728676
Packit 728676
/** Setup the input buffer state to scan a string. The next call to yylex() will
Packit 728676
 * scan from a @e copy of @a str.
Packit 728676
 * @param yystr a NUL-terminated string to scan
Packit 728676
 * 
Packit 728676
 * @return the newly allocated buffer state object.
Packit 728676
 * @note If you want to scan bytes that may contain NUL values, then use
Packit 728676
 *       yy_scan_bytes() instead.
Packit 728676
 */
Packit 728676
YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
Packit 728676
{
Packit 728676
    
Packit 728676
	return yy_scan_bytes(yystr,(int) strlen(yystr) );
Packit 728676
}
Packit 728676
Packit 728676
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
Packit 728676
 * scan from a @e copy of @a bytes.
Packit 728676
 * @param yybytes the byte buffer to scan
Packit 728676
 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
Packit 728676
 * 
Packit 728676
 * @return the newly allocated buffer state object.
Packit 728676
 */
Packit 728676
YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
Packit 728676
{
Packit 728676
	YY_BUFFER_STATE b;
Packit 728676
	char *buf;
Packit 728676
	yy_size_t n;
Packit 728676
	int i;
Packit 728676
    
Packit 728676
	/* Get memory for full buffer, including space for trailing EOB's. */
Packit 728676
	n = (yy_size_t) (_yybytes_len + 2);
Packit 728676
	buf = (char *) yyalloc(n  );
Packit 728676
	if ( ! buf )
Packit 728676
		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Packit 728676
Packit 728676
	for ( i = 0; i < _yybytes_len; ++i )
Packit 728676
		buf[i] = yybytes[i];
Packit 728676
Packit 728676
	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
Packit 728676
Packit 728676
	b = yy_scan_buffer(buf,n );
Packit 728676
	if ( ! b )
Packit 728676
		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Packit 728676
Packit 728676
	/* It's okay to grow etc. this buffer, and we should throw it
Packit 728676
	 * away when we're done.
Packit 728676
	 */
Packit 728676
	b->yy_is_our_buffer = 1;
Packit 728676
Packit 728676
	return b;
Packit 728676
}
Packit 728676
Packit 728676
#ifndef YY_EXIT_FAILURE
Packit 728676
#define YY_EXIT_FAILURE 2
Packit 728676
#endif
Packit 728676
Packit 728676
static void yynoreturn yy_fatal_error (yyconst char* msg )
Packit 728676
{
Packit 728676
			(void) fprintf( stderr, "%s\n", msg );
Packit 728676
	exit( YY_EXIT_FAILURE );
Packit 728676
}
Packit 728676
Packit 728676
/* Redefine yyless() so it works in section 3 code. */
Packit 728676
Packit 728676
#undef yyless
Packit 728676
#define yyless(n) \
Packit 728676
	do \
Packit 728676
		{ \
Packit 728676
		/* Undo effects of setting up yytext. */ \
Packit 728676
        int yyless_macro_arg = (n); \
Packit 728676
        YY_LESS_LINENO(yyless_macro_arg);\
Packit 728676
		yytext[yyleng] = (yy_hold_char); \
Packit 728676
		(yy_c_buf_p) = yytext + yyless_macro_arg; \
Packit 728676
		(yy_hold_char) = *(yy_c_buf_p); \
Packit 728676
		*(yy_c_buf_p) = '\0'; \
Packit 728676
		yyleng = yyless_macro_arg; \
Packit 728676
		} \
Packit 728676
	while ( 0 )
Packit 728676
Packit 728676
/* Accessor  methods (get/set functions) to struct members. */
Packit 728676
Packit 728676
/** Get the current line number.
Packit 728676
 * 
Packit 728676
 */
Packit 728676
int yyget_lineno  (void)
Packit 728676
{
Packit 728676
    
Packit 728676
    return yylineno;
Packit 728676
}
Packit 728676
Packit 728676
/** Get the input stream.
Packit 728676
 * 
Packit 728676
 */
Packit 728676
FILE *yyget_in  (void)
Packit 728676
{
Packit 728676
        return yyin;
Packit 728676
}
Packit 728676
Packit 728676
/** Get the output stream.
Packit 728676
 * 
Packit 728676
 */
Packit 728676
FILE *yyget_out  (void)
Packit 728676
{
Packit 728676
        return yyout;
Packit 728676
}
Packit 728676
Packit 728676
/** Get the length of the current token.
Packit 728676
 * 
Packit 728676
 */
Packit 728676
int yyget_leng  (void)
Packit 728676
{
Packit 728676
        return yyleng;
Packit 728676
}
Packit 728676
Packit 728676
/** Get the current token.
Packit 728676
 * 
Packit 728676
 */
Packit 728676
Packit 728676
char *yyget_text  (void)
Packit 728676
{
Packit 728676
        return yytext;
Packit 728676
}
Packit 728676
Packit 728676
/** Set the current line number.
Packit 728676
 * @param _line_number line number
Packit 728676
 * 
Packit 728676
 */
Packit 728676
void yyset_lineno (int  _line_number )
Packit 728676
{
Packit 728676
    
Packit 728676
    yylineno = _line_number;
Packit 728676
}
Packit 728676
Packit 728676
/** Set the input stream. This does not discard the current
Packit 728676
 * input buffer.
Packit 728676
 * @param _in_str A readable stream.
Packit 728676
 * 
Packit 728676
 * @see yy_switch_to_buffer
Packit 728676
 */
Packit 728676
void yyset_in (FILE *  _in_str )
Packit 728676
{
Packit 728676
        yyin = _in_str ;
Packit 728676
}
Packit 728676
Packit 728676
void yyset_out (FILE *  _out_str )
Packit 728676
{
Packit 728676
        yyout = _out_str ;
Packit 728676
}
Packit 728676
Packit 728676
int yyget_debug  (void)
Packit 728676
{
Packit 728676
        return yy_flex_debug;
Packit 728676
}
Packit 728676
Packit 728676
void yyset_debug (int  _bdebug )
Packit 728676
{
Packit 728676
        yy_flex_debug = _bdebug ;
Packit 728676
}
Packit 728676
Packit 728676
static int yy_init_globals (void)
Packit 728676
{
Packit 728676
        /* Initialization is the same as for the non-reentrant scanner.
Packit 728676
     * This function is called from yylex_destroy(), so don't allocate here.
Packit 728676
     */
Packit 728676
Packit 728676
    (yy_buffer_stack) = NULL;
Packit 728676
    (yy_buffer_stack_top) = 0;
Packit 728676
    (yy_buffer_stack_max) = 0;
Packit 728676
    (yy_c_buf_p) = NULL;
Packit 728676
    (yy_init) = 0;
Packit 728676
    (yy_start) = 0;
Packit 728676
Packit 728676
/* Defined in main.c */
Packit 728676
#ifdef YY_STDINIT
Packit 728676
    yyin = stdin;
Packit 728676
    yyout = stdout;
Packit 728676
#else
Packit 728676
    yyin = NULL;
Packit 728676
    yyout = NULL;
Packit 728676
#endif
Packit 728676
Packit 728676
    /* For future reference: Set errno on error, since we are called by
Packit 728676
     * yylex_init()
Packit 728676
     */
Packit 728676
    return 0;
Packit 728676
}
Packit 728676
Packit 728676
/* yylex_destroy is for both reentrant and non-reentrant scanners. */
Packit 728676
int yylex_destroy  (void)
Packit 728676
{
Packit 728676
    
Packit 728676
    /* Pop the buffer stack, destroying each element. */
Packit 728676
	while(YY_CURRENT_BUFFER){
Packit 728676
		yy_delete_buffer(YY_CURRENT_BUFFER  );
Packit 728676
		YY_CURRENT_BUFFER_LVALUE = NULL;
Packit 728676
		yypop_buffer_state();
Packit 728676
	}
Packit 728676
Packit 728676
	/* Destroy the stack itself. */
Packit 728676
	yyfree((yy_buffer_stack) );
Packit 728676
	(yy_buffer_stack) = NULL;
Packit 728676
Packit 728676
    /* Reset the globals. This is important in a non-reentrant scanner so the next time
Packit 728676
     * yylex() is called, initialization will occur. */
Packit 728676
    yy_init_globals( );
Packit 728676
Packit 728676
    return 0;
Packit 728676
}
Packit 728676
Packit 728676
/*
Packit 728676
 * Internal utility routines.
Packit 728676
 */
Packit 728676
Packit 728676
#ifndef yytext_ptr
Packit 728676
static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
Packit 728676
{
Packit 728676
		
Packit 728676
	int i;
Packit 728676
	for ( i = 0; i < n; ++i )
Packit 728676
		s1[i] = s2[i];
Packit 728676
}
Packit 728676
#endif
Packit 728676
Packit 728676
#ifdef YY_NEED_STRLEN
Packit 728676
static int yy_flex_strlen (yyconst char * s )
Packit 728676
{
Packit 728676
	int n;
Packit 728676
	for ( n = 0; s[n]; ++n )
Packit 728676
		;
Packit 728676
Packit 728676
	return n;
Packit 728676
}
Packit 728676
#endif
Packit 728676
Packit 728676
void *yyalloc (yy_size_t  size )
Packit 728676
{
Packit 728676
			return malloc(size);
Packit 728676
}
Packit 728676
Packit 728676
void *yyrealloc  (void * ptr, yy_size_t  size )
Packit 728676
{
Packit 728676
		
Packit 728676
	/* The cast to (char *) in the following accommodates both
Packit 728676
	 * implementations that use char* generic pointers, and those
Packit 728676
	 * that use void* generic pointers.  It works with the latter
Packit 728676
	 * because both ANSI C and C++ allow castless assignment from
Packit 728676
	 * any pointer type to void*, and deal with argument conversions
Packit 728676
	 * as though doing an assignment.
Packit 728676
	 */
Packit 728676
	return realloc(ptr, size);
Packit 728676
}
Packit 728676
Packit 728676
void yyfree (void * ptr )
Packit 728676
{
Packit 728676
			free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
Packit 728676
}
Packit 728676
Packit 728676
#define YYTABLES_NAME "yytables"
Packit 728676
Packit 728676
#line 29 "lex.l"
Packit 728676
Packit 728676
Packit 728676