Blame lex.Error.cc

Packit a4aae4
#line 2 "lex.Error.cc"
Packit a4aae4
Packit a4aae4
#line 4 "lex.Error.cc"
Packit a4aae4
Packit a4aae4
#define  YY_INT_ALIGNED short int
Packit a4aae4
Packit a4aae4
/* A lexical scanner generated by flex */
Packit a4aae4
Packit a4aae4
#define yy_create_buffer Error_create_buffer
Packit a4aae4
#define yy_delete_buffer Error_delete_buffer
Packit a4aae4
#define yy_flex_debug Error_flex_debug
Packit a4aae4
#define yy_init_buffer Error_init_buffer
Packit a4aae4
#define yy_flush_buffer Error_flush_buffer
Packit a4aae4
#define yy_load_buffer_state Error_load_buffer_state
Packit a4aae4
#define yy_switch_to_buffer Error_switch_to_buffer
Packit a4aae4
#define yyin Errorin
Packit a4aae4
#define yyleng Errorleng
Packit a4aae4
#define yylex Errorlex
Packit a4aae4
#define yylineno Errorlineno
Packit a4aae4
#define yyout Errorout
Packit a4aae4
#define yyrestart Errorrestart
Packit a4aae4
#define yytext Errortext
Packit a4aae4
#define yywrap Errorwrap
Packit a4aae4
#define yyalloc Erroralloc
Packit a4aae4
#define yyrealloc Errorrealloc
Packit a4aae4
#define yyfree Errorfree
Packit a4aae4
Packit a4aae4
#define FLEX_SCANNER
Packit a4aae4
#define YY_FLEX_MAJOR_VERSION 2
Packit a4aae4
#define YY_FLEX_MINOR_VERSION 5
Packit a4aae4
#define YY_FLEX_SUBMINOR_VERSION 35
Packit a4aae4
#if YY_FLEX_SUBMINOR_VERSION > 0
Packit a4aae4
#define FLEX_BETA
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
/* First, we deal with  platform-specific or compiler-specific issues. */
Packit a4aae4
Packit a4aae4
/* begin standard C headers. */
Packit a4aae4
#include <stdio.h>
Packit a4aae4
#include <string.h>
Packit a4aae4
#include <errno.h>
Packit a4aae4
#include <stdlib.h>
Packit a4aae4
Packit a4aae4
/* end standard C headers. */
Packit a4aae4
Packit a4aae4
/* flex integer type definitions */
Packit a4aae4
Packit a4aae4
#ifndef FLEXINT_H
Packit a4aae4
#define FLEXINT_H
Packit a4aae4
Packit a4aae4
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
Packit a4aae4
Packit a4aae4
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
Packit a4aae4
Packit a4aae4
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
Packit a4aae4
 * if you want the limit (max/min) macros for int types. 
Packit a4aae4
 */
Packit a4aae4
#ifndef __STDC_LIMIT_MACROS
Packit a4aae4
#define __STDC_LIMIT_MACROS 1
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
#include <inttypes.h>
Packit a4aae4
typedef int8_t flex_int8_t;
Packit a4aae4
typedef uint8_t flex_uint8_t;
Packit a4aae4
typedef int16_t flex_int16_t;
Packit a4aae4
typedef uint16_t flex_uint16_t;
Packit a4aae4
typedef int32_t flex_int32_t;
Packit a4aae4
typedef uint32_t flex_uint32_t;
Packit a4aae4
typedef uint64_t flex_uint64_t;
Packit a4aae4
#else
Packit a4aae4
typedef signed char flex_int8_t;
Packit a4aae4
typedef short int flex_int16_t;
Packit a4aae4
typedef int flex_int32_t;
Packit a4aae4
typedef unsigned char flex_uint8_t; 
Packit a4aae4
typedef unsigned short int flex_uint16_t;
Packit a4aae4
typedef unsigned int flex_uint32_t;
Packit a4aae4
#endif /* ! C99 */
Packit a4aae4
Packit a4aae4
/* Limits of integral types. */
Packit a4aae4
#ifndef INT8_MIN
Packit a4aae4
#define INT8_MIN               (-128)
Packit a4aae4
#endif
Packit a4aae4
#ifndef INT16_MIN
Packit a4aae4
#define INT16_MIN              (-32767-1)
Packit a4aae4
#endif
Packit a4aae4
#ifndef INT32_MIN
Packit a4aae4
#define INT32_MIN              (-2147483647-1)
Packit a4aae4
#endif
Packit a4aae4
#ifndef INT8_MAX
Packit a4aae4
#define INT8_MAX               (127)
Packit a4aae4
#endif
Packit a4aae4
#ifndef INT16_MAX
Packit a4aae4
#define INT16_MAX              (32767)
Packit a4aae4
#endif
Packit a4aae4
#ifndef INT32_MAX
Packit a4aae4
#define INT32_MAX              (2147483647)
Packit a4aae4
#endif
Packit a4aae4
#ifndef UINT8_MAX
Packit a4aae4
#define UINT8_MAX              (255U)
Packit a4aae4
#endif
Packit a4aae4
#ifndef UINT16_MAX
Packit a4aae4
#define UINT16_MAX             (65535U)
Packit a4aae4
#endif
Packit a4aae4
#ifndef UINT32_MAX
Packit a4aae4
#define UINT32_MAX             (4294967295U)
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
#endif /* ! FLEXINT_H */
Packit a4aae4
Packit a4aae4
#ifdef __cplusplus
Packit a4aae4
Packit a4aae4
/* The "const" storage-class-modifier is valid. */
Packit a4aae4
#define YY_USE_CONST
Packit a4aae4
Packit a4aae4
#else	/* ! __cplusplus */
Packit a4aae4
Packit a4aae4
/* C99 requires __STDC__ to be defined as 1. */
Packit a4aae4
#if defined (__STDC__)
Packit a4aae4
Packit a4aae4
#define YY_USE_CONST
Packit a4aae4
Packit a4aae4
#endif	/* defined (__STDC__) */
Packit a4aae4
#endif	/* ! __cplusplus */
Packit a4aae4
Packit a4aae4
#ifdef YY_USE_CONST
Packit a4aae4
#define yyconst const
Packit a4aae4
#else
Packit a4aae4
#define yyconst
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
/* Returned upon end-of-file. */
Packit a4aae4
#define YY_NULL 0
Packit a4aae4
Packit a4aae4
/* Promotes a possibly negative, possibly signed char to an unsigned
Packit a4aae4
 * integer for use as an array index.  If the signed char is negative,
Packit a4aae4
 * we want to instead treat it as an 8-bit unsigned char, hence the
Packit a4aae4
 * double cast.
Packit a4aae4
 */
Packit a4aae4
#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
Packit a4aae4
Packit a4aae4
/* Enter a start condition.  This macro really ought to take a parameter,
Packit a4aae4
 * but we do it the disgusting crufty way forced on us by the ()-less
Packit a4aae4
 * definition of BEGIN.
Packit a4aae4
 */
Packit a4aae4
#define BEGIN (yy_start) = 1 + 2 *
Packit a4aae4
Packit a4aae4
/* Translate the current start state into a value that can be later handed
Packit a4aae4
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
Packit a4aae4
 * compatibility.
Packit a4aae4
 */
Packit a4aae4
#define YY_START (((yy_start) - 1) / 2)
Packit a4aae4
#define YYSTATE YY_START
Packit a4aae4
Packit a4aae4
/* Action number for EOF rule of a given start state. */
Packit a4aae4
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
Packit a4aae4
Packit a4aae4
/* Special action meaning "start processing a new file". */
Packit a4aae4
#define YY_NEW_FILE Errorrestart(Errorin  )
Packit a4aae4
Packit a4aae4
#define YY_END_OF_BUFFER_CHAR 0
Packit a4aae4
Packit a4aae4
/* Size of default input buffer. */
Packit a4aae4
#ifndef YY_BUF_SIZE
Packit a4aae4
#define YY_BUF_SIZE 16384
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
/* The state buf must be large enough to hold one state per character in the main buffer.
Packit a4aae4
 */
Packit a4aae4
#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
Packit a4aae4
Packit a4aae4
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
Packit a4aae4
#define YY_TYPEDEF_YY_BUFFER_STATE
Packit a4aae4
typedef struct yy_buffer_state *YY_BUFFER_STATE;
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
#ifndef YY_TYPEDEF_YY_SIZE_T
Packit a4aae4
#define YY_TYPEDEF_YY_SIZE_T
Packit a4aae4
typedef size_t yy_size_t;
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
extern yy_size_t Errorleng;
Packit a4aae4
Packit a4aae4
extern FILE *Errorin, *Errorout;
Packit a4aae4
Packit a4aae4
#define EOB_ACT_CONTINUE_SCAN 0
Packit a4aae4
#define EOB_ACT_END_OF_FILE 1
Packit a4aae4
#define EOB_ACT_LAST_MATCH 2
Packit a4aae4
Packit a4aae4
    #define YY_LESS_LINENO(n)
Packit a4aae4
    
Packit a4aae4
/* Return all but the first "n" matched characters back to the input stream. */
Packit a4aae4
#define yyless(n) \
Packit a4aae4
	do \
Packit a4aae4
		{ \
Packit a4aae4
		/* Undo effects of setting up Errortext. */ \
Packit a4aae4
        int yyless_macro_arg = (n); \
Packit a4aae4
        YY_LESS_LINENO(yyless_macro_arg);\
Packit a4aae4
		*yy_cp = (yy_hold_char); \
Packit a4aae4
		YY_RESTORE_YY_MORE_OFFSET \
Packit a4aae4
		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
Packit a4aae4
		YY_DO_BEFORE_ACTION; /* set up Errortext again */ \
Packit a4aae4
		} \
Packit a4aae4
	while ( 0 )
Packit a4aae4
Packit a4aae4
#define unput(c) yyunput( c, (yytext_ptr)  )
Packit a4aae4
Packit a4aae4
#ifndef YY_STRUCT_YY_BUFFER_STATE
Packit a4aae4
#define YY_STRUCT_YY_BUFFER_STATE
Packit a4aae4
struct yy_buffer_state
Packit a4aae4
	{
Packit a4aae4
	FILE *yy_input_file;
Packit a4aae4
Packit a4aae4
	char *yy_ch_buf;		/* input buffer */
Packit a4aae4
	char *yy_buf_pos;		/* current position in input buffer */
Packit a4aae4
Packit a4aae4
	/* Size of input buffer in bytes, not including room for EOB
Packit a4aae4
	 * characters.
Packit a4aae4
	 */
Packit a4aae4
	yy_size_t yy_buf_size;
Packit a4aae4
Packit a4aae4
	/* Number of characters read into yy_ch_buf, not including EOB
Packit a4aae4
	 * characters.
Packit a4aae4
	 */
Packit a4aae4
	yy_size_t yy_n_chars;
Packit a4aae4
Packit a4aae4
	/* Whether we "own" the buffer - i.e., we know we created it,
Packit a4aae4
	 * and can realloc() it to grow it, and should free() it to
Packit a4aae4
	 * delete it.
Packit a4aae4
	 */
Packit a4aae4
	int yy_is_our_buffer;
Packit a4aae4
Packit a4aae4
	/* Whether this is an "interactive" input source; if so, and
Packit a4aae4
	 * if we're using stdio for input, then we want to use getc()
Packit a4aae4
	 * instead of fread(), to make sure we stop fetching input after
Packit a4aae4
	 * each newline.
Packit a4aae4
	 */
Packit a4aae4
	int yy_is_interactive;
Packit a4aae4
Packit a4aae4
	/* Whether we're considered to be at the beginning of a line.
Packit a4aae4
	 * If so, '^' rules will be active on the next match, otherwise
Packit a4aae4
	 * not.
Packit a4aae4
	 */
Packit a4aae4
	int yy_at_bol;
Packit a4aae4
Packit a4aae4
    int yy_bs_lineno; /**< The line count. */
Packit a4aae4
    int yy_bs_column; /**< The column count. */
Packit a4aae4
    
Packit a4aae4
	/* Whether to try to fill the input buffer when we reach the
Packit a4aae4
	 * end of it.
Packit a4aae4
	 */
Packit a4aae4
	int yy_fill_buffer;
Packit a4aae4
Packit a4aae4
	int yy_buffer_status;
Packit a4aae4
Packit a4aae4
#define YY_BUFFER_NEW 0
Packit a4aae4
#define YY_BUFFER_NORMAL 1
Packit a4aae4
	/* When an EOF's been seen but there's still some text to process
Packit a4aae4
	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
Packit a4aae4
	 * shouldn't try reading from the input source any more.  We might
Packit a4aae4
	 * still have a bunch of tokens to match, though, because of
Packit a4aae4
	 * possible backing-up.
Packit a4aae4
	 *
Packit a4aae4
	 * When we actually see the EOF, we change the status to "new"
Packit a4aae4
	 * (via Errorrestart()), so that the user can continue scanning by
Packit a4aae4
	 * just pointing Errorin at a new input file.
Packit a4aae4
	 */
Packit a4aae4
#define YY_BUFFER_EOF_PENDING 2
Packit a4aae4
Packit a4aae4
	};
Packit a4aae4
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
Packit a4aae4
Packit a4aae4
/* Stack of input buffers. */
Packit a4aae4
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
Packit a4aae4
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
Packit a4aae4
static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
Packit a4aae4
Packit a4aae4
/* We provide macros for accessing buffer states in case in the
Packit a4aae4
 * future we want to put the buffer states in a more general
Packit a4aae4
 * "scanner state".
Packit a4aae4
 *
Packit a4aae4
 * Returns the top of the stack, or NULL.
Packit a4aae4
 */
Packit a4aae4
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
Packit a4aae4
                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
Packit a4aae4
                          : NULL)
Packit a4aae4
Packit a4aae4
/* Same as previous macro, but useful when we know that the buffer stack is not
Packit a4aae4
 * NULL or when we need an lvalue. For internal use only.
Packit a4aae4
 */
Packit a4aae4
#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
Packit a4aae4
Packit a4aae4
/* yy_hold_char holds the character lost when Errortext is formed. */
Packit a4aae4
static char yy_hold_char;
Packit a4aae4
static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
Packit a4aae4
yy_size_t Errorleng;
Packit a4aae4
Packit a4aae4
/* Points to current character in buffer. */
Packit a4aae4
static char *yy_c_buf_p = (char *) 0;
Packit a4aae4
static int yy_init = 0;		/* whether we need to initialize */
Packit a4aae4
static int yy_start = 0;	/* start state number */
Packit a4aae4
Packit a4aae4
/* Flag which is used to allow Errorwrap()'s to do buffer switches
Packit a4aae4
 * instead of setting up a fresh Errorin.  A bit of a hack ...
Packit a4aae4
 */
Packit a4aae4
static int yy_did_buffer_switch_on_eof;
Packit a4aae4
Packit a4aae4
void Errorrestart (FILE *input_file  );
Packit a4aae4
void Error_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
Packit a4aae4
YY_BUFFER_STATE Error_create_buffer (FILE *file,int size  );
Packit a4aae4
void Error_delete_buffer (YY_BUFFER_STATE b  );
Packit a4aae4
void Error_flush_buffer (YY_BUFFER_STATE b  );
Packit a4aae4
void Errorpush_buffer_state (YY_BUFFER_STATE new_buffer  );
Packit a4aae4
void Errorpop_buffer_state (void );
Packit a4aae4
Packit a4aae4
static void Errorensure_buffer_stack (void );
Packit a4aae4
static void Error_load_buffer_state (void );
Packit a4aae4
static void Error_init_buffer (YY_BUFFER_STATE b,FILE *file  );
Packit a4aae4
Packit a4aae4
#define YY_FLUSH_BUFFER Error_flush_buffer(YY_CURRENT_BUFFER )
Packit a4aae4
Packit a4aae4
YY_BUFFER_STATE Error_scan_buffer (char *base,yy_size_t size  );
Packit a4aae4
YY_BUFFER_STATE Error_scan_string (yyconst char *yy_str  );
Packit a4aae4
YY_BUFFER_STATE Error_scan_bytes (yyconst char *bytes,yy_size_t len  );
Packit a4aae4
Packit a4aae4
void *Erroralloc (yy_size_t  );
Packit a4aae4
void *Errorrealloc (void *,yy_size_t  );
Packit a4aae4
void Errorfree (void *  );
Packit a4aae4
Packit a4aae4
#define yy_new_buffer Error_create_buffer
Packit a4aae4
Packit a4aae4
#define yy_set_interactive(is_interactive) \
Packit a4aae4
	{ \
Packit a4aae4
	if ( ! YY_CURRENT_BUFFER ){ \
Packit a4aae4
        Errorensure_buffer_stack (); \
Packit a4aae4
		YY_CURRENT_BUFFER_LVALUE =    \
Packit a4aae4
            Error_create_buffer(Errorin,YY_BUF_SIZE ); \
Packit a4aae4
	} \
Packit a4aae4
	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
Packit a4aae4
	}
Packit a4aae4
Packit a4aae4
#define yy_set_bol(at_bol) \
Packit a4aae4
	{ \
Packit a4aae4
	if ( ! YY_CURRENT_BUFFER ){\
Packit a4aae4
        Errorensure_buffer_stack (); \
Packit a4aae4
		YY_CURRENT_BUFFER_LVALUE =    \
Packit a4aae4
            Error_create_buffer(Errorin,YY_BUF_SIZE ); \
Packit a4aae4
	} \
Packit a4aae4
	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
Packit a4aae4
	}
Packit a4aae4
Packit a4aae4
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
Packit a4aae4
Packit a4aae4
/* Begin user sect3 */
Packit a4aae4
Packit a4aae4
#define Errorwrap(n) 1
Packit a4aae4
#define YY_SKIP_YYWRAP
Packit a4aae4
Packit a4aae4
typedef unsigned char YY_CHAR;
Packit a4aae4
Packit a4aae4
FILE *Errorin = (FILE *) 0, *Errorout = (FILE *) 0;
Packit a4aae4
Packit a4aae4
typedef int yy_state_type;
Packit a4aae4
Packit a4aae4
extern int Errorlineno;
Packit a4aae4
Packit a4aae4
int Errorlineno = 1;
Packit a4aae4
Packit a4aae4
extern char *Errortext;
Packit a4aae4
#define yytext_ptr Errortext
Packit a4aae4
Packit a4aae4
static yy_state_type yy_get_previous_state (void );
Packit a4aae4
static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
Packit a4aae4
static int yy_get_next_buffer (void );
Packit a4aae4
static void yy_fatal_error (yyconst char msg[]  );
Packit a4aae4
Packit a4aae4
/* Done after the current pattern has been matched and before the
Packit a4aae4
 * corresponding action - sets up Errortext.
Packit a4aae4
 */
Packit a4aae4
#define YY_DO_BEFORE_ACTION \
Packit a4aae4
	(yytext_ptr) = yy_bp; \
Packit a4aae4
	(yytext_ptr) -= (yy_more_len); \
Packit a4aae4
	Errorleng = (yy_size_t) (yy_cp - (yytext_ptr)); \
Packit a4aae4
	(yy_hold_char) = *yy_cp; \
Packit a4aae4
	*yy_cp = '\0'; \
Packit a4aae4
	(yy_c_buf_p) = yy_cp;
Packit a4aae4
Packit a4aae4
#define YY_NUM_RULES 20
Packit a4aae4
#define YY_END_OF_BUFFER 21
Packit a4aae4
/* This struct is not used in this scanner,
Packit a4aae4
   but its presence is necessary. */
Packit a4aae4
struct yy_trans_info
Packit a4aae4
	{
Packit a4aae4
	flex_int32_t yy_verify;
Packit a4aae4
	flex_int32_t yy_nxt;
Packit a4aae4
	};
Packit a4aae4
static yyconst flex_int16_t yy_accept[71] =
Packit a4aae4
    {   0,
Packit a4aae4
        0,    0,   15,   15,   12,   12,   21,   19,    9,   10,
Packit a4aae4
       14,   11,   20,    4,    7,    8,   20,   20,   20,   20,
Packit a4aae4
       20,   20,    5,    6,   15,   16,   18,   20,   12,   13,
Packit a4aae4
        9,    4,    0,    0,    0,    0,    0,    0,    0,    0,
Packit a4aae4
        0,   15,   16,   17,   12,    0,    0,    0,    0,    0,
Packit a4aae4
        0,    0,    0,    0,    2,    0,    0,    0,    0,    0,
Packit a4aae4
        0,    1,    0,    0,    0,    0,    0,    0,    3,    0
Packit a4aae4
    } ;
Packit a4aae4
Packit a4aae4
static yyconst flex_int32_t yy_ec[256] =
Packit a4aae4
    {   0,
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit a4aae4
        1,    2,    1,    4,    5,    1,    1,    1,    1,    1,
Packit a4aae4
        1,    1,    6,    6,    6,    6,    6,    7,    7,    7,
Packit a4aae4
        7,    7,    7,    7,    7,    7,    7,    6,    8,    1,
Packit a4aae4
        9,    1,    1,    1,   10,    6,   11,   12,   13,    6,
Packit a4aae4
       14,    6,    6,    6,    6,    6,   15,    6,   16,    6,
Packit a4aae4
        6,   17,   18,    6,    6,    6,    6,    6,    6,    6,
Packit a4aae4
        1,   19,    1,    1,    6,    1,   20,    6,   21,   22,
Packit a4aae4
Packit a4aae4
       23,    6,   24,    6,    6,    6,    6,    6,   25,    6,
Packit a4aae4
       26,    6,    6,   27,   28,    6,    6,    6,    6,    6,
Packit a4aae4
        6,    6,   29,    1,   30,    1,    1,    1,    1,    1,
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit a4aae4
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit a4aae4
        1,    1,    1,    1,    1
Packit a4aae4
    } ;
Packit a4aae4
Packit a4aae4
static yyconst flex_int32_t yy_meta[31] =
Packit a4aae4
    {   0,
Packit a4aae4
        1,    1,    2,    3,    1,    1,    1,    1,    1,    1,
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    3,    1,
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1
Packit a4aae4
    } ;
Packit a4aae4
Packit a4aae4
static yyconst flex_int16_t yy_base[76] =
Packit a4aae4
    {   0,
Packit a4aae4
        0,    0,   28,   30,   93,   92,   94,   97,   91,   97,
Packit a4aae4
       97,   97,   97,   85,   97,   97,   19,   19,   25,   65,
Packit a4aae4
       63,   66,   97,   97,   85,   97,   97,    0,    0,   97,
Packit a4aae4
       85,   79,   73,   62,   66,   55,   63,   52,   57,   51,
Packit a4aae4
       49,   73,   97,   97,    0,   62,   51,   57,   46,   53,
Packit a4aae4
       42,   46,   42,   39,   97,   49,   38,   54,   42,   32,
Packit a4aae4
       24,   97,   29,   18,   17,   27,   16,   14,   97,   97,
Packit a4aae4
       49,   52,   55,   57,   60
Packit a4aae4
    } ;
Packit a4aae4
Packit a4aae4
static yyconst flex_int16_t yy_def[76] =
Packit a4aae4
    {   0,
Packit a4aae4
       70,    1,   71,   71,   72,   72,   70,   70,   70,   70,
Packit a4aae4
       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
Packit a4aae4
       70,   70,   70,   70,   73,   70,   70,   74,   75,   70,
Packit a4aae4
       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
Packit a4aae4
       70,   73,   70,   70,   75,   70,   70,   70,   70,   70,
Packit a4aae4
       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
Packit a4aae4
       70,   70,   70,   70,   70,   70,   70,   70,   70,    0,
Packit a4aae4
       70,   70,   70,   70,   70
Packit a4aae4
    } ;
Packit a4aae4
Packit a4aae4
static yyconst flex_int16_t yy_nxt[128] =
Packit a4aae4
    {   0,
Packit a4aae4
        8,    9,   10,   11,   12,   13,   14,   15,   16,   13,
Packit a4aae4
       17,   13,   18,   13,   19,   13,   13,   13,    8,   13,
Packit a4aae4
       20,   13,   21,   13,   22,   13,   13,   13,   23,   24,
Packit a4aae4
       26,   27,   26,   27,   33,   35,   69,   37,   69,   69,
Packit a4aae4
       68,   67,   66,   65,   34,   36,   28,   38,   28,   25,
Packit a4aae4
       25,   25,   29,   29,   29,   42,   42,   44,   62,   44,
Packit a4aae4
       45,   64,   45,   63,   62,   62,   61,   60,   55,   59,
Packit a4aae4
       58,   57,   56,   55,   55,   43,   54,   53,   52,   51,
Packit a4aae4
       50,   49,   48,   47,   46,   32,   31,   43,   41,   40,
Packit a4aae4
       39,   32,   31,   70,   30,   30,    7,   70,   70,   70,
Packit a4aae4
Packit a4aae4
       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
Packit a4aae4
       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
Packit a4aae4
       70,   70,   70,   70,   70,   70,   70
Packit a4aae4
    } ;
Packit a4aae4
Packit a4aae4
static yyconst flex_int16_t yy_chk[128] =
Packit a4aae4
    {   0,
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit a4aae4
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
Packit a4aae4
        3,    3,    4,    4,   17,   18,   68,   19,   67,   66,
Packit a4aae4
       65,   64,   63,   61,   17,   18,    3,   19,    4,   71,
Packit a4aae4
       71,   71,   72,   72,   72,   73,   73,   74,   60,   74,
Packit a4aae4
       75,   59,   75,   58,   57,   56,   54,   53,   52,   51,
Packit a4aae4
       50,   49,   48,   47,   46,   42,   41,   40,   39,   38,
Packit a4aae4
       37,   36,   35,   34,   33,   32,   31,   25,   22,   21,
Packit a4aae4
       20,   14,    9,    7,    6,    5,   70,   70,   70,   70,
Packit a4aae4
Packit a4aae4
       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
Packit a4aae4
       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
Packit a4aae4
       70,   70,   70,   70,   70,   70,   70
Packit a4aae4
    } ;
Packit a4aae4
Packit a4aae4
static yy_state_type yy_last_accepting_state;
Packit a4aae4
static char *yy_last_accepting_cpos;
Packit a4aae4
Packit a4aae4
extern int Error_flex_debug;
Packit a4aae4
int Error_flex_debug = 0;
Packit a4aae4
Packit a4aae4
/* The intent behind this definition is that it'll catch
Packit a4aae4
 * any uses of REJECT which flex missed.
Packit a4aae4
 */
Packit a4aae4
#define REJECT reject_used_but_not_detected
Packit a4aae4
static int yy_more_flag = 0;
Packit a4aae4
static int yy_more_len = 0;
Packit a4aae4
#define yymore() ((yy_more_flag) = 1)
Packit a4aae4
#define YY_MORE_ADJ (yy_more_len)
Packit a4aae4
#define YY_RESTORE_YY_MORE_OFFSET
Packit a4aae4
char *Errortext;
Packit a4aae4
#line 1 "Error.lex"
Packit a4aae4
/*
Packit a4aae4
 -*- mode: c++; c-basic-offset:4 -*-
Packit a4aae4
Packit a4aae4
 This file is part of libdap, A C++ implementation of the OPeNDAP Data
Packit a4aae4
 Access Protocol.
Packit a4aae4
Packit a4aae4
 Copyright (c) 2002,2003 OPeNDAP, Inc.
Packit a4aae4
 Author: James Gallagher <jgallagher@opendap.org>
Packit a4aae4
Packit a4aae4
 This library is free software; you can redistribute it and/or
Packit a4aae4
 modify it under the terms of the GNU Lesser General Public
Packit a4aae4
 License as published by the Free Software Foundation; either
Packit a4aae4
 version 2.1 of the License, or (at your option) any later version.
Packit a4aae4
 
Packit a4aae4
 This library is distributed in the hope that it will be useful,
Packit a4aae4
 but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit a4aae4
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit a4aae4
 Lesser General Public License for more details.
Packit a4aae4
 
Packit a4aae4
 You should have received a copy of the GNU Lesser General Public
Packit a4aae4
 License along with this library; if not, write to the Free Software
Packit a4aae4
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
Packit a4aae4
Packit a4aae4
 You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
Packit a4aae4
Packit a4aae4
 (c) COPYRIGHT URI/MIT 1994-1996,1998,1999
Packit a4aae4
*/ 
Packit a4aae4
/*
Packit a4aae4
  Scanner for the Error object. It recognizes the five keywords in the
Packit a4aae4
  persistent representation of the Error object plus some syntactic sugar
Packit a4aae4
  (`=', `{', ...). The object's persistent representation uses a keyword =
Packit a4aae4
  value notation, where the values are quoted strings or integers.
Packit a4aae4
Packit a4aae4
  The scanner is not reentrant, but can share name spaces with other
Packit a4aae4
  scanners. It must be processed by GNU's flex scanner generator.
Packit a4aae4
*/
Packit a4aae4
#line 41 "Error.lex"
Packit a4aae4
Packit a4aae4
#include "config_dap.h"
Packit a4aae4
Packit a4aae4
static char rcsid[] not_used = {"$Id$"};
Packit a4aae4
Packit a4aae4
#include <cstdlib>
Packit a4aae4
#include <cassert>
Packit a4aae4
#include <cstring>
Packit a4aae4
Packit a4aae4
#include <string>
Packit a4aae4
Packit a4aae4
#include "parser.h"
Packit a4aae4
#include "Error.tab.hh"
Packit a4aae4
Packit a4aae4
using namespace libdap;
Packit a4aae4
Packit a4aae4
#ifndef YY_PROTO
Packit a4aae4
#define YY_PROTO(proto) proto
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
//#define YY_NO_UNPUT
Packit a4aae4
#define YY_DECL int Errorlex YY_PROTO(( void ))
Packit a4aae4
Packit a4aae4
#define YY_FATAL_ERROR(msg) {\
Packit a4aae4
    throw(Error(string("Error scanning the error response: ") + string(msg))); \
Packit a4aae4
    yy_fatal_error(msg); /* see das.lex */ \
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
int error_line_num = 1;
Packit a4aae4
static int start_line;		/* used in quote and comment error handlers */
Packit a4aae4
Packit a4aae4
void store_integer();
Packit a4aae4
void store_string();
Packit a4aae4
Packit a4aae4
#define YY_NO_INPUT 1
Packit a4aae4
Packit a4aae4
Packit a4aae4
#line 598 "lex.Error.cc"
Packit a4aae4
Packit a4aae4
#define INITIAL 0
Packit a4aae4
#define quote 1
Packit a4aae4
#define comment 2
Packit a4aae4
Packit a4aae4
#ifndef YY_NO_UNISTD_H
Packit a4aae4
/* Special case for "unistd.h", since it is non-ANSI. We include it way
Packit a4aae4
 * down here because we want the user's section 1 to have been scanned first.
Packit a4aae4
 * The user has a chance to override it with an option.
Packit a4aae4
 */
Packit a4aae4
#include <unistd.h>
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
#ifndef YY_EXTRA_TYPE
Packit a4aae4
#define YY_EXTRA_TYPE void *
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
static int yy_init_globals (void );
Packit a4aae4
Packit a4aae4
/* Accessor methods to globals.
Packit a4aae4
   These are made visible to non-reentrant scanners for convenience. */
Packit a4aae4
Packit a4aae4
int Errorlex_destroy (void );
Packit a4aae4
Packit a4aae4
int Errorget_debug (void );
Packit a4aae4
Packit a4aae4
void Errorset_debug (int debug_flag  );
Packit a4aae4
Packit a4aae4
YY_EXTRA_TYPE Errorget_extra (void );
Packit a4aae4
Packit a4aae4
void Errorset_extra (YY_EXTRA_TYPE user_defined  );
Packit a4aae4
Packit a4aae4
FILE *Errorget_in (void );
Packit a4aae4
Packit a4aae4
void Errorset_in  (FILE * in_str  );
Packit a4aae4
Packit a4aae4
FILE *Errorget_out (void );
Packit a4aae4
Packit a4aae4
void Errorset_out  (FILE * out_str  );
Packit a4aae4
Packit a4aae4
yy_size_t Errorget_leng (void );
Packit a4aae4
Packit a4aae4
char *Errorget_text (void );
Packit a4aae4
Packit a4aae4
int Errorget_lineno (void );
Packit a4aae4
Packit a4aae4
void Errorset_lineno (int line_number  );
Packit a4aae4
Packit a4aae4
/* Macros after this point can all be overridden by user definitions in
Packit a4aae4
 * section 1.
Packit a4aae4
 */
Packit a4aae4
Packit a4aae4
#ifndef YY_SKIP_YYWRAP
Packit a4aae4
#ifdef __cplusplus
Packit a4aae4
extern "C" int Errorwrap (void );
Packit a4aae4
#else
Packit a4aae4
extern int Errorwrap (void );
Packit a4aae4
#endif
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
#ifndef yytext_ptr
Packit a4aae4
static void yy_flex_strncpy (char *,yyconst char *,int );
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
#ifdef YY_NEED_STRLEN
Packit a4aae4
static int yy_flex_strlen (yyconst char * );
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
#ifndef YY_NO_INPUT
Packit a4aae4
Packit a4aae4
#ifdef __cplusplus
Packit a4aae4
static int yyinput (void );
Packit a4aae4
#else
Packit a4aae4
static int input (void );
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
/* Amount of stuff to slurp up with each read. */
Packit a4aae4
#ifndef YY_READ_BUF_SIZE
Packit a4aae4
#define YY_READ_BUF_SIZE 8192
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
/* Copy whatever the last rule matched to the standard output. */
Packit a4aae4
#ifndef ECHO
Packit a4aae4
/* This used to be an fputs(), but since the string might contain NUL's,
Packit a4aae4
 * we now use fwrite().
Packit a4aae4
 */
Packit a4aae4
#define ECHO fwrite( Errortext, Errorleng, 1, Errorout )
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
Packit a4aae4
 * is returned in "result".
Packit a4aae4
 */
Packit a4aae4
#ifndef YY_INPUT
Packit a4aae4
#define YY_INPUT(buf,result,max_size) \
Packit a4aae4
	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
Packit a4aae4
		{ \
Packit a4aae4
		int c = '*'; \
Packit a4aae4
		yy_size_t n; \
Packit a4aae4
		for ( n = 0; n < max_size && \
Packit a4aae4
			     (c = getc( Errorin )) != EOF && c != '\n'; ++n ) \
Packit a4aae4
			buf[n] = (char) c; \
Packit a4aae4
		if ( c == '\n' ) \
Packit a4aae4
			buf[n++] = (char) c; \
Packit a4aae4
		if ( c == EOF && ferror( Errorin ) ) \
Packit a4aae4
			YY_FATAL_ERROR( "input in flex scanner failed" ); \
Packit a4aae4
		result = n; \
Packit a4aae4
		} \
Packit a4aae4
	else \
Packit a4aae4
		{ \
Packit a4aae4
		errno=0; \
Packit a4aae4
		while ( (result = fread(buf, 1, max_size, Errorin))==0 && ferror(Errorin)) \
Packit a4aae4
			{ \
Packit a4aae4
			if( errno != EINTR) \
Packit a4aae4
				{ \
Packit a4aae4
				YY_FATAL_ERROR( "input in flex scanner failed" ); \
Packit a4aae4
				break; \
Packit a4aae4
				} \
Packit a4aae4
			errno=0; \
Packit a4aae4
			clearerr(Errorin); \
Packit a4aae4
			} \
Packit a4aae4
		}\
Packit a4aae4
\
Packit a4aae4
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
/* No semi-colon after return; correct usage is to write "yyterminate();" -
Packit a4aae4
 * we don't want an extra ';' after the "return" because that will cause
Packit a4aae4
 * some compilers to complain about unreachable statements.
Packit a4aae4
 */
Packit a4aae4
#ifndef yyterminate
Packit a4aae4
#define yyterminate() return YY_NULL
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
/* Number of entries by which start-condition stack grows. */
Packit a4aae4
#ifndef YY_START_STACK_INCR
Packit a4aae4
#define YY_START_STACK_INCR 25
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
/* Report a fatal error. */
Packit a4aae4
#ifndef YY_FATAL_ERROR
Packit a4aae4
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
/* end tables serialization structures and prototypes */
Packit a4aae4
Packit a4aae4
/* Default declaration of generated scanner - a define so the user can
Packit a4aae4
 * easily add parameters.
Packit a4aae4
 */
Packit a4aae4
#ifndef YY_DECL
Packit a4aae4
#define YY_DECL_IS_OURS 1
Packit a4aae4
Packit a4aae4
extern int Errorlex (void);
Packit a4aae4
Packit a4aae4
#define YY_DECL int Errorlex (void)
Packit a4aae4
#endif /* !YY_DECL */
Packit a4aae4
Packit a4aae4
/* Code executed at the beginning of each rule, after Errortext and Errorleng
Packit a4aae4
 * have been set up.
Packit a4aae4
 */
Packit a4aae4
#ifndef YY_USER_ACTION
Packit a4aae4
#define YY_USER_ACTION
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
/* Code executed at the end of each rule. */
Packit a4aae4
#ifndef YY_BREAK
Packit a4aae4
#define YY_BREAK break;
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
#define YY_RULE_SETUP \
Packit a4aae4
	YY_USER_ACTION
Packit a4aae4
Packit a4aae4
/** The main scanner function which does all the work.
Packit a4aae4
 */
Packit a4aae4
YY_DECL
Packit a4aae4
{
Packit a4aae4
	register yy_state_type yy_current_state;
Packit a4aae4
	register char *yy_cp, *yy_bp;
Packit a4aae4
	register int yy_act;
Packit a4aae4
    
Packit a4aae4
#line 96 "Error.lex"
Packit a4aae4
Packit a4aae4
Packit a4aae4
Packit a4aae4
#line 784 "lex.Error.cc"
Packit a4aae4
Packit a4aae4
	if ( !(yy_init) )
Packit a4aae4
		{
Packit a4aae4
		(yy_init) = 1;
Packit a4aae4
Packit a4aae4
#ifdef YY_USER_INIT
Packit a4aae4
		YY_USER_INIT;
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
		if ( ! (yy_start) )
Packit a4aae4
			(yy_start) = 1;	/* first start state */
Packit a4aae4
Packit a4aae4
		if ( ! Errorin )
Packit a4aae4
			Errorin = stdin;
Packit a4aae4
Packit a4aae4
		if ( ! Errorout )
Packit a4aae4
			Errorout = stdout;
Packit a4aae4
Packit a4aae4
		if ( ! YY_CURRENT_BUFFER ) {
Packit a4aae4
			Errorensure_buffer_stack ();
Packit a4aae4
			YY_CURRENT_BUFFER_LVALUE =
Packit a4aae4
				Error_create_buffer(Errorin,YY_BUF_SIZE );
Packit a4aae4
		}
Packit a4aae4
Packit a4aae4
		Error_load_buffer_state( );
Packit a4aae4
		}
Packit a4aae4
Packit a4aae4
	while ( 1 )		/* loops until end-of-file is reached */
Packit a4aae4
		{
Packit a4aae4
		(yy_more_len) = 0;
Packit a4aae4
		if ( (yy_more_flag) )
Packit a4aae4
			{
Packit a4aae4
			(yy_more_len) = (yy_c_buf_p) - (yytext_ptr);
Packit a4aae4
			(yy_more_flag) = 0;
Packit a4aae4
			}
Packit a4aae4
		yy_cp = (yy_c_buf_p);
Packit a4aae4
Packit a4aae4
		/* Support of Errortext. */
Packit a4aae4
		*yy_cp = (yy_hold_char);
Packit a4aae4
Packit a4aae4
		/* yy_bp points to the position in yy_ch_buf of the start of
Packit a4aae4
		 * the current run.
Packit a4aae4
		 */
Packit a4aae4
		yy_bp = yy_cp;
Packit a4aae4
Packit a4aae4
		yy_current_state = (yy_start);
Packit a4aae4
yy_match:
Packit a4aae4
		do
Packit a4aae4
			{
Packit a4aae4
			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
Packit a4aae4
			if ( yy_accept[yy_current_state] )
Packit a4aae4
				{
Packit a4aae4
				(yy_last_accepting_state) = yy_current_state;
Packit a4aae4
				(yy_last_accepting_cpos) = yy_cp;
Packit a4aae4
				}
Packit a4aae4
			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
Packit a4aae4
				{
Packit a4aae4
				yy_current_state = (int) yy_def[yy_current_state];
Packit a4aae4
				if ( yy_current_state >= 71 )
Packit a4aae4
					yy_c = yy_meta[(unsigned int) yy_c];
Packit a4aae4
				}
Packit a4aae4
			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Packit a4aae4
			++yy_cp;
Packit a4aae4
			}
Packit a4aae4
		while ( yy_base[yy_current_state] != 97 );
Packit a4aae4
Packit a4aae4
yy_find_action:
Packit a4aae4
		yy_act = yy_accept[yy_current_state];
Packit a4aae4
		if ( yy_act == 0 )
Packit a4aae4
			{ /* have to back up */
Packit a4aae4
			yy_cp = (yy_last_accepting_cpos);
Packit a4aae4
			yy_current_state = (yy_last_accepting_state);
Packit a4aae4
			yy_act = yy_accept[yy_current_state];
Packit a4aae4
			}
Packit a4aae4
Packit a4aae4
		YY_DO_BEFORE_ACTION;
Packit a4aae4
Packit a4aae4
do_action:	/* This label is used only to access EOF actions. */
Packit a4aae4
Packit a4aae4
		switch ( yy_act )
Packit a4aae4
	{ /* beginning of action switch */
Packit a4aae4
			case 0: /* must back up */
Packit a4aae4
			/* undo the effects of YY_DO_BEFORE_ACTION */
Packit a4aae4
			*yy_cp = (yy_hold_char);
Packit a4aae4
			yy_cp = (yy_last_accepting_cpos);
Packit a4aae4
			yy_current_state = (yy_last_accepting_state);
Packit a4aae4
			goto yy_find_action;
Packit a4aae4
Packit a4aae4
case 1:
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 99 "Error.lex"
Packit a4aae4
store_string(); return SCAN_ERROR;
Packit a4aae4
	YY_BREAK
Packit a4aae4
case 2:
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 101 "Error.lex"
Packit a4aae4
store_string(); return SCAN_CODE;
Packit a4aae4
	YY_BREAK
Packit a4aae4
case 3:
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 102 "Error.lex"
Packit a4aae4
store_string(); return SCAN_MSG;
Packit a4aae4
	YY_BREAK
Packit a4aae4
case 4:
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 104 "Error.lex"
Packit a4aae4
store_integer(); return SCAN_INT;
Packit a4aae4
	YY_BREAK
Packit a4aae4
case 5:
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 106 "Error.lex"
Packit a4aae4
return (int)*Errortext;
Packit a4aae4
	YY_BREAK
Packit a4aae4
case 6:
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 107 "Error.lex"
Packit a4aae4
return (int)*Errortext;
Packit a4aae4
	YY_BREAK
Packit a4aae4
case 7:
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 108 "Error.lex"
Packit a4aae4
return (int)*Errortext;
Packit a4aae4
	YY_BREAK
Packit a4aae4
case 8:
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 109 "Error.lex"
Packit a4aae4
return (int)*Errortext;
Packit a4aae4
	YY_BREAK
Packit a4aae4
case 9:
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 111 "Error.lex"
Packit a4aae4
Packit a4aae4
	YY_BREAK
Packit a4aae4
case 10:
Packit a4aae4
/* rule 10 can match eol */
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 112 "Error.lex"
Packit a4aae4
++error_line_num;
Packit a4aae4
	YY_BREAK
Packit a4aae4
case YY_STATE_EOF(INITIAL):
Packit a4aae4
#line 113 "Error.lex"
Packit a4aae4
yy_init = 1; error_line_num = 1; yyterminate();
Packit a4aae4
	YY_BREAK
Packit a4aae4
case 11:
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 115 "Error.lex"
Packit a4aae4
BEGIN(comment);
Packit a4aae4
	YY_BREAK
Packit a4aae4
case 12:
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 116 "Error.lex"
Packit a4aae4
Packit a4aae4
	YY_BREAK
Packit a4aae4
case 13:
Packit a4aae4
/* rule 13 can match eol */
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 117 "Error.lex"
Packit a4aae4
++error_line_num; BEGIN(INITIAL);
Packit a4aae4
	YY_BREAK
Packit a4aae4
case YY_STATE_EOF(comment):
Packit a4aae4
#line 118 "Error.lex"
Packit a4aae4
yy_init = 1; error_line_num = 1; yyterminate();
Packit a4aae4
	YY_BREAK
Packit a4aae4
case 14:
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 120 "Error.lex"
Packit a4aae4
BEGIN(quote); start_line = error_line_num; yymore();
Packit a4aae4
	YY_BREAK
Packit a4aae4
case 15:
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 121 "Error.lex"
Packit a4aae4
yymore();
Packit a4aae4
	YY_BREAK
Packit a4aae4
case 16:
Packit a4aae4
/* rule 16 can match eol */
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 122 "Error.lex"
Packit a4aae4
yymore(); ++error_line_num;
Packit a4aae4
	YY_BREAK
Packit a4aae4
case 17:
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 123 "Error.lex"
Packit a4aae4
yymore();
Packit a4aae4
	YY_BREAK
Packit a4aae4
case 18:
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 124 "Error.lex"
Packit a4aae4
{ 
Packit a4aae4
    			  BEGIN(INITIAL); 
Packit a4aae4
			  store_string();
Packit a4aae4
			  return SCAN_STR;
Packit a4aae4
                        }
Packit a4aae4
	YY_BREAK
Packit a4aae4
case YY_STATE_EOF(quote):
Packit a4aae4
#line 129 "Error.lex"
Packit a4aae4
{
Packit a4aae4
                          char msg[256];
Packit a4aae4
			  snprintf(msg, 255,
Packit a4aae4
				  "Unterminated quote (starts on line %d)\n",
Packit a4aae4
				  start_line);
Packit a4aae4
			  YY_FATAL_ERROR(msg);
Packit a4aae4
                        }
Packit a4aae4
	YY_BREAK
Packit a4aae4
case 19:
Packit a4aae4
/* rule 19 can match eol */
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 137 "Error.lex"
Packit a4aae4
{
Packit a4aae4
                          if (Errortext) {	/* suppress msgs about `' chars */
Packit a4aae4
                            fprintf(stderr, "Character `%c' is not", *Errortext);
Packit a4aae4
                            fprintf(stderr, " allowed (except within");
Packit a4aae4
			    fprintf(stderr, " quotes) and has been ignored\n");
Packit a4aae4
			  }
Packit a4aae4
			}
Packit a4aae4
	YY_BREAK
Packit a4aae4
case 20:
Packit a4aae4
YY_RULE_SETUP
Packit a4aae4
#line 144 "Error.lex"
Packit a4aae4
ECHO;
Packit a4aae4
	YY_BREAK
Packit a4aae4
#line 1005 "lex.Error.cc"
Packit a4aae4
Packit a4aae4
	case YY_END_OF_BUFFER:
Packit a4aae4
		{
Packit a4aae4
		/* Amount of text matched not including the EOB char. */
Packit a4aae4
		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
Packit a4aae4
Packit a4aae4
		/* Undo the effects of YY_DO_BEFORE_ACTION. */
Packit a4aae4
		*yy_cp = (yy_hold_char);
Packit a4aae4
		YY_RESTORE_YY_MORE_OFFSET
Packit a4aae4
Packit a4aae4
		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
Packit a4aae4
			{
Packit a4aae4
			/* We're scanning a new file or input source.  It's
Packit a4aae4
			 * possible that this happened because the user
Packit a4aae4
			 * just pointed Errorin at a new source and called
Packit a4aae4
			 * Errorlex().  If so, then we have to assure
Packit a4aae4
			 * consistency between YY_CURRENT_BUFFER and our
Packit a4aae4
			 * globals.  Here is the right place to do so, because
Packit a4aae4
			 * this is the first action (other than possibly a
Packit a4aae4
			 * back-up) that will match for the new input source.
Packit a4aae4
			 */
Packit a4aae4
			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
Packit a4aae4
			YY_CURRENT_BUFFER_LVALUE->yy_input_file = Errorin;
Packit a4aae4
			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
Packit a4aae4
			}
Packit a4aae4
Packit a4aae4
		/* Note that here we test for yy_c_buf_p "<=" to the position
Packit a4aae4
		 * of the first EOB in the buffer, since yy_c_buf_p will
Packit a4aae4
		 * already have been incremented past the NUL character
Packit a4aae4
		 * (since all states make transitions on EOB to the
Packit a4aae4
		 * end-of-buffer state).  Contrast this with the test
Packit a4aae4
		 * in input().
Packit a4aae4
		 */
Packit a4aae4
		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
Packit a4aae4
			{ /* This was really a NUL. */
Packit a4aae4
			yy_state_type yy_next_state;
Packit a4aae4
Packit a4aae4
			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
Packit a4aae4
Packit a4aae4
			yy_current_state = yy_get_previous_state(  );
Packit a4aae4
Packit a4aae4
			/* Okay, we're now positioned to make the NUL
Packit a4aae4
			 * transition.  We couldn't have
Packit a4aae4
			 * yy_get_previous_state() go ahead and do it
Packit a4aae4
			 * for us because it doesn't know how to deal
Packit a4aae4
			 * with the possibility of jamming (and we don't
Packit a4aae4
			 * want to build jamming into it because then it
Packit a4aae4
			 * will run more slowly).
Packit a4aae4
			 */
Packit a4aae4
Packit a4aae4
			yy_next_state = yy_try_NUL_trans( yy_current_state );
Packit a4aae4
Packit a4aae4
			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Packit a4aae4
Packit a4aae4
			if ( yy_next_state )
Packit a4aae4
				{
Packit a4aae4
				/* Consume the NUL. */
Packit a4aae4
				yy_cp = ++(yy_c_buf_p);
Packit a4aae4
				yy_current_state = yy_next_state;
Packit a4aae4
				goto yy_match;
Packit a4aae4
				}
Packit a4aae4
Packit a4aae4
			else
Packit a4aae4
				{
Packit a4aae4
				yy_cp = (yy_c_buf_p);
Packit a4aae4
				goto yy_find_action;
Packit a4aae4
				}
Packit a4aae4
			}
Packit a4aae4
Packit a4aae4
		else switch ( yy_get_next_buffer(  ) )
Packit a4aae4
			{
Packit a4aae4
			case EOB_ACT_END_OF_FILE:
Packit a4aae4
				{
Packit a4aae4
				(yy_did_buffer_switch_on_eof) = 0;
Packit a4aae4
Packit a4aae4
				if ( Errorwrap( ) )
Packit a4aae4
					{
Packit a4aae4
					/* Note: because we've taken care in
Packit a4aae4
					 * yy_get_next_buffer() to have set up
Packit a4aae4
					 * Errortext, we can now set up
Packit a4aae4
					 * yy_c_buf_p so that if some total
Packit a4aae4
					 * hoser (like flex itself) wants to
Packit a4aae4
					 * call the scanner after we return the
Packit a4aae4
					 * YY_NULL, it'll still work - another
Packit a4aae4
					 * YY_NULL will get returned.
Packit a4aae4
					 */
Packit a4aae4
					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
Packit a4aae4
Packit a4aae4
					yy_act = YY_STATE_EOF(YY_START);
Packit a4aae4
					goto do_action;
Packit a4aae4
					}
Packit a4aae4
Packit a4aae4
				else
Packit a4aae4
					{
Packit a4aae4
					if ( ! (yy_did_buffer_switch_on_eof) )
Packit a4aae4
						YY_NEW_FILE;
Packit a4aae4
					}
Packit a4aae4
				break;
Packit a4aae4
				}
Packit a4aae4
Packit a4aae4
			case EOB_ACT_CONTINUE_SCAN:
Packit a4aae4
				(yy_c_buf_p) =
Packit a4aae4
					(yytext_ptr) + yy_amount_of_matched_text;
Packit a4aae4
Packit a4aae4
				yy_current_state = yy_get_previous_state(  );
Packit a4aae4
Packit a4aae4
				yy_cp = (yy_c_buf_p);
Packit a4aae4
				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Packit a4aae4
				goto yy_match;
Packit a4aae4
Packit a4aae4
			case EOB_ACT_LAST_MATCH:
Packit a4aae4
				(yy_c_buf_p) =
Packit a4aae4
				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
Packit a4aae4
Packit a4aae4
				yy_current_state = yy_get_previous_state(  );
Packit a4aae4
Packit a4aae4
				yy_cp = (yy_c_buf_p);
Packit a4aae4
				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Packit a4aae4
				goto yy_find_action;
Packit a4aae4
			}
Packit a4aae4
		break;
Packit a4aae4
		}
Packit a4aae4
Packit a4aae4
	default:
Packit a4aae4
		YY_FATAL_ERROR(
Packit a4aae4
			"fatal flex scanner internal error--no action found" );
Packit a4aae4
	} /* end of action switch */
Packit a4aae4
		} /* end of scanning one token */
Packit a4aae4
} /* end of Errorlex */
Packit a4aae4
Packit a4aae4
/* yy_get_next_buffer - try to read in a new buffer
Packit a4aae4
 *
Packit a4aae4
 * Returns a code representing an action:
Packit a4aae4
 *	EOB_ACT_LAST_MATCH -
Packit a4aae4
 *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
Packit a4aae4
 *	EOB_ACT_END_OF_FILE - end of file
Packit a4aae4
 */
Packit a4aae4
static int yy_get_next_buffer (void)
Packit a4aae4
{
Packit a4aae4
    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
Packit a4aae4
	register char *source = (yytext_ptr);
Packit a4aae4
	register int number_to_move, i;
Packit a4aae4
	int ret_val;
Packit a4aae4
Packit a4aae4
	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
Packit a4aae4
		YY_FATAL_ERROR(
Packit a4aae4
		"fatal flex scanner internal error--end of buffer missed" );
Packit a4aae4
Packit a4aae4
	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
Packit a4aae4
		{ /* Don't try to fill the buffer, so this is an EOF. */
Packit a4aae4
		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
Packit a4aae4
			{
Packit a4aae4
			/* We matched a single character, the EOB, so
Packit a4aae4
			 * treat this as a final EOF.
Packit a4aae4
			 */
Packit a4aae4
			return EOB_ACT_END_OF_FILE;
Packit a4aae4
			}
Packit a4aae4
Packit a4aae4
		else
Packit a4aae4
			{
Packit a4aae4
			/* We matched some text prior to the EOB, first
Packit a4aae4
			 * process it.
Packit a4aae4
			 */
Packit a4aae4
			return EOB_ACT_LAST_MATCH;
Packit a4aae4
			}
Packit a4aae4
		}
Packit a4aae4
Packit a4aae4
	/* Try to read more data. */
Packit a4aae4
Packit a4aae4
	/* First move last chars to start of buffer. */
Packit a4aae4
	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
Packit a4aae4
Packit a4aae4
	for ( i = 0; i < number_to_move; ++i )
Packit a4aae4
		*(dest++) = *(source++);
Packit a4aae4
Packit a4aae4
	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Packit a4aae4
		/* don't do the read, it's not guaranteed to return an EOF,
Packit a4aae4
		 * just force an EOF
Packit a4aae4
		 */
Packit a4aae4
		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
Packit a4aae4
Packit a4aae4
	else
Packit a4aae4
		{
Packit a4aae4
			yy_size_t num_to_read =
Packit a4aae4
			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
Packit a4aae4
Packit a4aae4
		while ( num_to_read <= 0 )
Packit a4aae4
			{ /* Not enough room in the buffer - grow it. */
Packit a4aae4
Packit a4aae4
			/* just a shorter name for the current buffer */
Packit a4aae4
			YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
Packit a4aae4
Packit a4aae4
			int yy_c_buf_p_offset =
Packit a4aae4
				(int) ((yy_c_buf_p) - b->yy_ch_buf);
Packit a4aae4
Packit a4aae4
			if ( b->yy_is_our_buffer )
Packit a4aae4
				{
Packit a4aae4
				yy_size_t new_size = b->yy_buf_size * 2;
Packit a4aae4
Packit a4aae4
				if ( new_size <= 0 )
Packit a4aae4
					b->yy_buf_size += b->yy_buf_size / 8;
Packit a4aae4
				else
Packit a4aae4
					b->yy_buf_size *= 2;
Packit a4aae4
Packit a4aae4
				b->yy_ch_buf = (char *)
Packit a4aae4
					/* Include room in for 2 EOB chars. */
Packit a4aae4
					Errorrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
Packit a4aae4
				}
Packit a4aae4
			else
Packit a4aae4
				/* Can't grow it, we don't own it. */
Packit a4aae4
				b->yy_ch_buf = 0;
Packit a4aae4
Packit a4aae4
			if ( ! b->yy_ch_buf )
Packit a4aae4
				YY_FATAL_ERROR(
Packit a4aae4
				"fatal error - scanner input buffer overflow" );
Packit a4aae4
Packit a4aae4
			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
Packit a4aae4
Packit a4aae4
			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
Packit a4aae4
						number_to_move - 1;
Packit a4aae4
Packit a4aae4
			}
Packit a4aae4
Packit a4aae4
		if ( num_to_read > YY_READ_BUF_SIZE )
Packit a4aae4
			num_to_read = YY_READ_BUF_SIZE;
Packit a4aae4
Packit a4aae4
		/* Read in more data. */
Packit a4aae4
		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
Packit a4aae4
			(yy_n_chars), num_to_read );
Packit a4aae4
Packit a4aae4
		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
Packit a4aae4
		}
Packit a4aae4
Packit a4aae4
	if ( (yy_n_chars) == 0 )
Packit a4aae4
		{
Packit a4aae4
		if ( number_to_move == YY_MORE_ADJ )
Packit a4aae4
			{
Packit a4aae4
			ret_val = EOB_ACT_END_OF_FILE;
Packit a4aae4
			Errorrestart(Errorin  );
Packit a4aae4
			}
Packit a4aae4
Packit a4aae4
		else
Packit a4aae4
			{
Packit a4aae4
			ret_val = EOB_ACT_LAST_MATCH;
Packit a4aae4
			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
Packit a4aae4
				YY_BUFFER_EOF_PENDING;
Packit a4aae4
			}
Packit a4aae4
		}
Packit a4aae4
Packit a4aae4
	else
Packit a4aae4
		ret_val = EOB_ACT_CONTINUE_SCAN;
Packit a4aae4
Packit a4aae4
	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
Packit a4aae4
		/* Extend the array by 50%, plus the number we really need. */
Packit a4aae4
		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
Packit a4aae4
		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) Errorrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
Packit a4aae4
		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
Packit a4aae4
			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
Packit a4aae4
	}
Packit a4aae4
Packit a4aae4
	(yy_n_chars) += number_to_move;
Packit a4aae4
	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
Packit a4aae4
	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
Packit a4aae4
Packit a4aae4
	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
Packit a4aae4
Packit a4aae4
	return ret_val;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/* yy_get_previous_state - get the state just before the EOB char was reached */
Packit a4aae4
Packit a4aae4
    static yy_state_type yy_get_previous_state (void)
Packit a4aae4
{
Packit a4aae4
	register yy_state_type yy_current_state;
Packit a4aae4
	register char *yy_cp;
Packit a4aae4
    
Packit a4aae4
	yy_current_state = (yy_start);
Packit a4aae4
Packit a4aae4
	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
Packit a4aae4
		{
Packit a4aae4
		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
Packit a4aae4
		if ( yy_accept[yy_current_state] )
Packit a4aae4
			{
Packit a4aae4
			(yy_last_accepting_state) = yy_current_state;
Packit a4aae4
			(yy_last_accepting_cpos) = yy_cp;
Packit a4aae4
			}
Packit a4aae4
		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
Packit a4aae4
			{
Packit a4aae4
			yy_current_state = (int) yy_def[yy_current_state];
Packit a4aae4
			if ( yy_current_state >= 71 )
Packit a4aae4
				yy_c = yy_meta[(unsigned int) yy_c];
Packit a4aae4
			}
Packit a4aae4
		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Packit a4aae4
		}
Packit a4aae4
Packit a4aae4
	return yy_current_state;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/* yy_try_NUL_trans - try to make a transition on the NUL character
Packit a4aae4
 *
Packit a4aae4
 * synopsis
Packit a4aae4
 *	next_state = yy_try_NUL_trans( current_state );
Packit a4aae4
 */
Packit a4aae4
    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
Packit a4aae4
{
Packit a4aae4
	register int yy_is_jam;
Packit a4aae4
    	register char *yy_cp = (yy_c_buf_p);
Packit a4aae4
Packit a4aae4
	register YY_CHAR yy_c = 1;
Packit a4aae4
	if ( yy_accept[yy_current_state] )
Packit a4aae4
		{
Packit a4aae4
		(yy_last_accepting_state) = yy_current_state;
Packit a4aae4
		(yy_last_accepting_cpos) = yy_cp;
Packit a4aae4
		}
Packit a4aae4
	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
Packit a4aae4
		{
Packit a4aae4
		yy_current_state = (int) yy_def[yy_current_state];
Packit a4aae4
		if ( yy_current_state >= 71 )
Packit a4aae4
			yy_c = yy_meta[(unsigned int) yy_c];
Packit a4aae4
		}
Packit a4aae4
	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Packit a4aae4
	yy_is_jam = (yy_current_state == 70);
Packit a4aae4
Packit a4aae4
	return yy_is_jam ? 0 : yy_current_state;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
#ifndef YY_NO_INPUT
Packit a4aae4
#ifdef __cplusplus
Packit a4aae4
    static int yyinput (void)
Packit a4aae4
#else
Packit a4aae4
    static int input  (void)
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
{
Packit a4aae4
	int c;
Packit a4aae4
    
Packit a4aae4
	*(yy_c_buf_p) = (yy_hold_char);
Packit a4aae4
Packit a4aae4
	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
Packit a4aae4
		{
Packit a4aae4
		/* yy_c_buf_p now points to the character we want to return.
Packit a4aae4
		 * If this occurs *before* the EOB characters, then it's a
Packit a4aae4
		 * valid NUL; if not, then we've hit the end of the buffer.
Packit a4aae4
		 */
Packit a4aae4
		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
Packit a4aae4
			/* This was really a NUL. */
Packit a4aae4
			*(yy_c_buf_p) = '\0';
Packit a4aae4
Packit a4aae4
		else
Packit a4aae4
			{ /* need more input */
Packit a4aae4
			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
Packit a4aae4
			++(yy_c_buf_p);
Packit a4aae4
Packit a4aae4
			switch ( yy_get_next_buffer(  ) )
Packit a4aae4
				{
Packit a4aae4
				case EOB_ACT_LAST_MATCH:
Packit a4aae4
					/* This happens because yy_g_n_b()
Packit a4aae4
					 * sees that we've accumulated a
Packit a4aae4
					 * token and flags that we need to
Packit a4aae4
					 * try matching the token before
Packit a4aae4
					 * proceeding.  But for input(),
Packit a4aae4
					 * there's no matching to consider.
Packit a4aae4
					 * So convert the EOB_ACT_LAST_MATCH
Packit a4aae4
					 * to EOB_ACT_END_OF_FILE.
Packit a4aae4
					 */
Packit a4aae4
Packit a4aae4
					/* Reset buffer status. */
Packit a4aae4
					Errorrestart(Errorin );
Packit a4aae4
Packit a4aae4
					/*FALLTHROUGH*/
Packit a4aae4
Packit a4aae4
				case EOB_ACT_END_OF_FILE:
Packit a4aae4
					{
Packit a4aae4
					if ( Errorwrap( ) )
Packit a4aae4
						return 0;
Packit a4aae4
Packit a4aae4
					if ( ! (yy_did_buffer_switch_on_eof) )
Packit a4aae4
						YY_NEW_FILE;
Packit a4aae4
#ifdef __cplusplus
Packit a4aae4
					return yyinput();
Packit a4aae4
#else
Packit a4aae4
					return input();
Packit a4aae4
#endif
Packit a4aae4
					}
Packit a4aae4
Packit a4aae4
				case EOB_ACT_CONTINUE_SCAN:
Packit a4aae4
					(yy_c_buf_p) = (yytext_ptr) + offset;
Packit a4aae4
					break;
Packit a4aae4
				}
Packit a4aae4
			}
Packit a4aae4
		}
Packit a4aae4
Packit a4aae4
	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
Packit a4aae4
	*(yy_c_buf_p) = '\0';	/* preserve Errortext */
Packit a4aae4
	(yy_hold_char) = *++(yy_c_buf_p);
Packit a4aae4
Packit a4aae4
	return c;
Packit a4aae4
}
Packit a4aae4
#endif	/* ifndef YY_NO_INPUT */
Packit a4aae4
Packit a4aae4
/** Immediately switch to a different input stream.
Packit a4aae4
 * @param input_file A readable stream.
Packit a4aae4
 * 
Packit a4aae4
 * @note This function does not reset the start condition to @c INITIAL .
Packit a4aae4
 */
Packit a4aae4
    void Errorrestart  (FILE * input_file )
Packit a4aae4
{
Packit a4aae4
    
Packit a4aae4
	if ( ! YY_CURRENT_BUFFER ){
Packit a4aae4
        Errorensure_buffer_stack ();
Packit a4aae4
		YY_CURRENT_BUFFER_LVALUE =
Packit a4aae4
            Error_create_buffer(Errorin,YY_BUF_SIZE );
Packit a4aae4
	}
Packit a4aae4
Packit a4aae4
	Error_init_buffer(YY_CURRENT_BUFFER,input_file );
Packit a4aae4
	Error_load_buffer_state( );
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/** Switch to a different input buffer.
Packit a4aae4
 * @param new_buffer The new input buffer.
Packit a4aae4
 * 
Packit a4aae4
 */
Packit a4aae4
    void Error_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
Packit a4aae4
{
Packit a4aae4
    
Packit a4aae4
	/* TODO. We should be able to replace this entire function body
Packit a4aae4
	 * with
Packit a4aae4
	 *		Errorpop_buffer_state();
Packit a4aae4
	 *		Errorpush_buffer_state(new_buffer);
Packit a4aae4
     */
Packit a4aae4
	Errorensure_buffer_stack ();
Packit a4aae4
	if ( YY_CURRENT_BUFFER == new_buffer )
Packit a4aae4
		return;
Packit a4aae4
Packit a4aae4
	if ( YY_CURRENT_BUFFER )
Packit a4aae4
		{
Packit a4aae4
		/* Flush out information for old buffer. */
Packit a4aae4
		*(yy_c_buf_p) = (yy_hold_char);
Packit a4aae4
		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
Packit a4aae4
		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
Packit a4aae4
		}
Packit a4aae4
Packit a4aae4
	YY_CURRENT_BUFFER_LVALUE = new_buffer;
Packit a4aae4
	Error_load_buffer_state( );
Packit a4aae4
Packit a4aae4
	/* We don't actually know whether we did this switch during
Packit a4aae4
	 * EOF (Errorwrap()) processing, but the only time this flag
Packit a4aae4
	 * is looked at is after Errorwrap() is called, so it's safe
Packit a4aae4
	 * to go ahead and always set it.
Packit a4aae4
	 */
Packit a4aae4
	(yy_did_buffer_switch_on_eof) = 1;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
static void Error_load_buffer_state  (void)
Packit a4aae4
{
Packit a4aae4
    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
Packit a4aae4
	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
Packit a4aae4
	Errorin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
Packit a4aae4
	(yy_hold_char) = *(yy_c_buf_p);
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/** Allocate and initialize an input buffer state.
Packit a4aae4
 * @param file A readable stream.
Packit a4aae4
 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
Packit a4aae4
 * 
Packit a4aae4
 * @return the allocated buffer state.
Packit a4aae4
 */
Packit a4aae4
    YY_BUFFER_STATE Error_create_buffer  (FILE * file, int  size )
Packit a4aae4
{
Packit a4aae4
	YY_BUFFER_STATE b;
Packit a4aae4
    
Packit a4aae4
	b = (YY_BUFFER_STATE) Erroralloc(sizeof( struct yy_buffer_state )  );
Packit a4aae4
	if ( ! b )
Packit a4aae4
		YY_FATAL_ERROR( "out of dynamic memory in Error_create_buffer()" );
Packit a4aae4
Packit a4aae4
	b->yy_buf_size = size;
Packit a4aae4
Packit a4aae4
	/* yy_ch_buf has to be 2 characters longer than the size given because
Packit a4aae4
	 * we need to put in 2 end-of-buffer characters.
Packit a4aae4
	 */
Packit a4aae4
	b->yy_ch_buf = (char *) Erroralloc(b->yy_buf_size + 2  );
Packit a4aae4
	if ( ! b->yy_ch_buf )
Packit a4aae4
		YY_FATAL_ERROR( "out of dynamic memory in Error_create_buffer()" );
Packit a4aae4
Packit a4aae4
	b->yy_is_our_buffer = 1;
Packit a4aae4
Packit a4aae4
	Error_init_buffer(b,file );
Packit a4aae4
Packit a4aae4
	return b;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/** Destroy the buffer.
Packit a4aae4
 * @param b a buffer created with Error_create_buffer()
Packit a4aae4
 * 
Packit a4aae4
 */
Packit a4aae4
    void Error_delete_buffer (YY_BUFFER_STATE  b )
Packit a4aae4
{
Packit a4aae4
    
Packit a4aae4
	if ( ! b )
Packit a4aae4
		return;
Packit a4aae4
Packit a4aae4
	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
Packit a4aae4
		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
Packit a4aae4
Packit a4aae4
	if ( b->yy_is_our_buffer )
Packit a4aae4
		Errorfree((void *) b->yy_ch_buf  );
Packit a4aae4
Packit a4aae4
	Errorfree((void *) b  );
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
#ifndef __cplusplus
Packit a4aae4
extern int isatty (int );
Packit a4aae4
#endif /* __cplusplus */
Packit a4aae4
    
Packit a4aae4
/* Initializes or reinitializes a buffer.
Packit a4aae4
 * This function is sometimes called more than once on the same buffer,
Packit a4aae4
 * such as during a Errorrestart() or at EOF.
Packit a4aae4
 */
Packit a4aae4
    static void Error_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
Packit a4aae4
Packit a4aae4
{
Packit a4aae4
	int oerrno = errno;
Packit a4aae4
    
Packit a4aae4
	Error_flush_buffer(b );
Packit a4aae4
Packit a4aae4
	b->yy_input_file = file;
Packit a4aae4
	b->yy_fill_buffer = 1;
Packit a4aae4
Packit a4aae4
    /* If b is the current buffer, then Error_init_buffer was _probably_
Packit a4aae4
     * called from Errorrestart() or through yy_get_next_buffer.
Packit a4aae4
     * In that case, we don't want to reset the lineno or column.
Packit a4aae4
     */
Packit a4aae4
    if (b != YY_CURRENT_BUFFER){
Packit a4aae4
        b->yy_bs_lineno = 1;
Packit a4aae4
        b->yy_bs_column = 0;
Packit a4aae4
    }
Packit a4aae4
Packit a4aae4
        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
Packit a4aae4
    
Packit a4aae4
	errno = oerrno;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
Packit a4aae4
 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
Packit a4aae4
 * 
Packit a4aae4
 */
Packit a4aae4
    void Error_flush_buffer (YY_BUFFER_STATE  b )
Packit a4aae4
{
Packit a4aae4
    	if ( ! b )
Packit a4aae4
		return;
Packit a4aae4
Packit a4aae4
	b->yy_n_chars = 0;
Packit a4aae4
Packit a4aae4
	/* We always need two end-of-buffer characters.  The first causes
Packit a4aae4
	 * a transition to the end-of-buffer state.  The second causes
Packit a4aae4
	 * a jam in that state.
Packit a4aae4
	 */
Packit a4aae4
	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
Packit a4aae4
	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
Packit a4aae4
Packit a4aae4
	b->yy_buf_pos = &b->yy_ch_buf[0];
Packit a4aae4
Packit a4aae4
	b->yy_at_bol = 1;
Packit a4aae4
	b->yy_buffer_status = YY_BUFFER_NEW;
Packit a4aae4
Packit a4aae4
	if ( b == YY_CURRENT_BUFFER )
Packit a4aae4
		Error_load_buffer_state( );
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/** Pushes the new state onto the stack. The new state becomes
Packit a4aae4
 *  the current state. This function will allocate the stack
Packit a4aae4
 *  if necessary.
Packit a4aae4
 *  @param new_buffer The new state.
Packit a4aae4
 *  
Packit a4aae4
 */
Packit a4aae4
void Errorpush_buffer_state (YY_BUFFER_STATE new_buffer )
Packit a4aae4
{
Packit a4aae4
    	if (new_buffer == NULL)
Packit a4aae4
		return;
Packit a4aae4
Packit a4aae4
	Errorensure_buffer_stack();
Packit a4aae4
Packit a4aae4
	/* This block is copied from Error_switch_to_buffer. */
Packit a4aae4
	if ( YY_CURRENT_BUFFER )
Packit a4aae4
		{
Packit a4aae4
		/* Flush out information for old buffer. */
Packit a4aae4
		*(yy_c_buf_p) = (yy_hold_char);
Packit a4aae4
		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
Packit a4aae4
		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
Packit a4aae4
		}
Packit a4aae4
Packit a4aae4
	/* Only push if top exists. Otherwise, replace top. */
Packit a4aae4
	if (YY_CURRENT_BUFFER)
Packit a4aae4
		(yy_buffer_stack_top)++;
Packit a4aae4
	YY_CURRENT_BUFFER_LVALUE = new_buffer;
Packit a4aae4
Packit a4aae4
	/* copied from Error_switch_to_buffer. */
Packit a4aae4
	Error_load_buffer_state( );
Packit a4aae4
	(yy_did_buffer_switch_on_eof) = 1;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/** Removes and deletes the top of the stack, if present.
Packit a4aae4
 *  The next element becomes the new top.
Packit a4aae4
 *  
Packit a4aae4
 */
Packit a4aae4
void Errorpop_buffer_state (void)
Packit a4aae4
{
Packit a4aae4
    	if (!YY_CURRENT_BUFFER)
Packit a4aae4
		return;
Packit a4aae4
Packit a4aae4
	Error_delete_buffer(YY_CURRENT_BUFFER );
Packit a4aae4
	YY_CURRENT_BUFFER_LVALUE = NULL;
Packit a4aae4
	if ((yy_buffer_stack_top) > 0)
Packit a4aae4
		--(yy_buffer_stack_top);
Packit a4aae4
Packit a4aae4
	if (YY_CURRENT_BUFFER) {
Packit a4aae4
		Error_load_buffer_state( );
Packit a4aae4
		(yy_did_buffer_switch_on_eof) = 1;
Packit a4aae4
	}
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/* Allocates the stack if it does not exist.
Packit a4aae4
 *  Guarantees space for at least one push.
Packit a4aae4
 */
Packit a4aae4
static void Errorensure_buffer_stack (void)
Packit a4aae4
{
Packit a4aae4
	yy_size_t num_to_alloc;
Packit a4aae4
    
Packit a4aae4
	if (!(yy_buffer_stack)) {
Packit a4aae4
Packit a4aae4
		/* First allocation is just for 2 elements, since we don't know if this
Packit a4aae4
		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
Packit a4aae4
		 * immediate realloc on the next call.
Packit a4aae4
         */
Packit a4aae4
		num_to_alloc = 1;
Packit a4aae4
		(yy_buffer_stack) = (struct yy_buffer_state**)Erroralloc
Packit a4aae4
								(num_to_alloc * sizeof(struct yy_buffer_state*)
Packit a4aae4
								);
Packit a4aae4
		if ( ! (yy_buffer_stack) )
Packit a4aae4
			YY_FATAL_ERROR( "out of dynamic memory in Errorensure_buffer_stack()" );
Packit a4aae4
								  
Packit a4aae4
		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
Packit a4aae4
				
Packit a4aae4
		(yy_buffer_stack_max) = num_to_alloc;
Packit a4aae4
		(yy_buffer_stack_top) = 0;
Packit a4aae4
		return;
Packit a4aae4
	}
Packit a4aae4
Packit a4aae4
	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
Packit a4aae4
Packit a4aae4
		/* Increase the buffer to prepare for a possible push. */
Packit a4aae4
		int grow_size = 8 /* arbitrary grow size */;
Packit a4aae4
Packit a4aae4
		num_to_alloc = (yy_buffer_stack_max) + grow_size;
Packit a4aae4
		(yy_buffer_stack) = (struct yy_buffer_state**)Errorrealloc
Packit a4aae4
								((yy_buffer_stack),
Packit a4aae4
								num_to_alloc * sizeof(struct yy_buffer_state*)
Packit a4aae4
								);
Packit a4aae4
		if ( ! (yy_buffer_stack) )
Packit a4aae4
			YY_FATAL_ERROR( "out of dynamic memory in Errorensure_buffer_stack()" );
Packit a4aae4
Packit a4aae4
		/* zero only the new slots.*/
Packit a4aae4
		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
Packit a4aae4
		(yy_buffer_stack_max) = num_to_alloc;
Packit a4aae4
	}
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/** Setup the input buffer state to scan directly from a user-specified character buffer.
Packit a4aae4
 * @param base the character buffer
Packit a4aae4
 * @param size the size in bytes of the character buffer
Packit a4aae4
 * 
Packit a4aae4
 * @return the newly allocated buffer state object. 
Packit a4aae4
 */
Packit a4aae4
YY_BUFFER_STATE Error_scan_buffer  (char * base, yy_size_t  size )
Packit a4aae4
{
Packit a4aae4
	YY_BUFFER_STATE b;
Packit a4aae4
    
Packit a4aae4
	if ( size < 2 ||
Packit a4aae4
	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
Packit a4aae4
	     base[size-1] != YY_END_OF_BUFFER_CHAR )
Packit a4aae4
		/* They forgot to leave room for the EOB's. */
Packit a4aae4
		return 0;
Packit a4aae4
Packit a4aae4
	b = (YY_BUFFER_STATE) Erroralloc(sizeof( struct yy_buffer_state )  );
Packit a4aae4
	if ( ! b )
Packit a4aae4
		YY_FATAL_ERROR( "out of dynamic memory in Error_scan_buffer()" );
Packit a4aae4
Packit a4aae4
	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
Packit a4aae4
	b->yy_buf_pos = b->yy_ch_buf = base;
Packit a4aae4
	b->yy_is_our_buffer = 0;
Packit a4aae4
	b->yy_input_file = 0;
Packit a4aae4
	b->yy_n_chars = b->yy_buf_size;
Packit a4aae4
	b->yy_is_interactive = 0;
Packit a4aae4
	b->yy_at_bol = 1;
Packit a4aae4
	b->yy_fill_buffer = 0;
Packit a4aae4
	b->yy_buffer_status = YY_BUFFER_NEW;
Packit a4aae4
Packit a4aae4
	Error_switch_to_buffer(b  );
Packit a4aae4
Packit a4aae4
	return b;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/** Setup the input buffer state to scan a string. The next call to Errorlex() will
Packit a4aae4
 * scan from a @e copy of @a str.
Packit a4aae4
 * @param yystr a NUL-terminated string to scan
Packit a4aae4
 * 
Packit a4aae4
 * @return the newly allocated buffer state object.
Packit a4aae4
 * @note If you want to scan bytes that may contain NUL values, then use
Packit a4aae4
 *       Error_scan_bytes() instead.
Packit a4aae4
 */
Packit a4aae4
YY_BUFFER_STATE Error_scan_string (yyconst char * yystr )
Packit a4aae4
{
Packit a4aae4
    
Packit a4aae4
	return Error_scan_bytes(yystr,strlen(yystr) );
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/** Setup the input buffer state to scan the given bytes. The next call to Errorlex() will
Packit a4aae4
 * scan from a @e copy of @a bytes.
Packit a4aae4
 * @param bytes the byte buffer to scan
Packit a4aae4
 * @param len the number of bytes in the buffer pointed to by @a bytes.
Packit a4aae4
 * 
Packit a4aae4
 * @return the newly allocated buffer state object.
Packit a4aae4
 */
Packit a4aae4
YY_BUFFER_STATE Error_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
Packit a4aae4
{
Packit a4aae4
	YY_BUFFER_STATE b;
Packit a4aae4
	char *buf;
Packit a4aae4
	yy_size_t n, i;
Packit a4aae4
    
Packit a4aae4
	/* Get memory for full buffer, including space for trailing EOB's. */
Packit a4aae4
	n = _yybytes_len + 2;
Packit a4aae4
	buf = (char *) Erroralloc(n  );
Packit a4aae4
	if ( ! buf )
Packit a4aae4
		YY_FATAL_ERROR( "out of dynamic memory in Error_scan_bytes()" );
Packit a4aae4
Packit a4aae4
	for ( i = 0; i < _yybytes_len; ++i )
Packit a4aae4
		buf[i] = yybytes[i];
Packit a4aae4
Packit a4aae4
	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
Packit a4aae4
Packit a4aae4
	b = Error_scan_buffer(buf,n );
Packit a4aae4
	if ( ! b )
Packit a4aae4
		YY_FATAL_ERROR( "bad buffer in Error_scan_bytes()" );
Packit a4aae4
Packit a4aae4
	/* It's okay to grow etc. this buffer, and we should throw it
Packit a4aae4
	 * away when we're done.
Packit a4aae4
	 */
Packit a4aae4
	b->yy_is_our_buffer = 1;
Packit a4aae4
Packit a4aae4
	return b;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
#ifndef YY_EXIT_FAILURE
Packit a4aae4
#define YY_EXIT_FAILURE 2
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
static void yy_fatal_error (yyconst char* msg )
Packit a4aae4
{
Packit a4aae4
    	(void) fprintf( stderr, "%s\n", msg );
Packit a4aae4
	exit( YY_EXIT_FAILURE );
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/* Redefine yyless() so it works in section 3 code. */
Packit a4aae4
Packit a4aae4
#undef yyless
Packit a4aae4
#define yyless(n) \
Packit a4aae4
	do \
Packit a4aae4
		{ \
Packit a4aae4
		/* Undo effects of setting up Errortext. */ \
Packit a4aae4
        int yyless_macro_arg = (n); \
Packit a4aae4
        YY_LESS_LINENO(yyless_macro_arg);\
Packit a4aae4
		Errortext[Errorleng] = (yy_hold_char); \
Packit a4aae4
		(yy_c_buf_p) = Errortext + yyless_macro_arg; \
Packit a4aae4
		(yy_hold_char) = *(yy_c_buf_p); \
Packit a4aae4
		*(yy_c_buf_p) = '\0'; \
Packit a4aae4
		Errorleng = yyless_macro_arg; \
Packit a4aae4
		} \
Packit a4aae4
	while ( 0 )
Packit a4aae4
Packit a4aae4
/* Accessor  methods (get/set functions) to struct members. */
Packit a4aae4
Packit a4aae4
/** Get the current line number.
Packit a4aae4
 * 
Packit a4aae4
 */
Packit a4aae4
int Errorget_lineno  (void)
Packit a4aae4
{
Packit a4aae4
        
Packit a4aae4
    return Errorlineno;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/** Get the input stream.
Packit a4aae4
 * 
Packit a4aae4
 */
Packit a4aae4
FILE *Errorget_in  (void)
Packit a4aae4
{
Packit a4aae4
        return Errorin;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/** Get the output stream.
Packit a4aae4
 * 
Packit a4aae4
 */
Packit a4aae4
FILE *Errorget_out  (void)
Packit a4aae4
{
Packit a4aae4
        return Errorout;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/** Get the length of the current token.
Packit a4aae4
 * 
Packit a4aae4
 */
Packit a4aae4
yy_size_t Errorget_leng  (void)
Packit a4aae4
{
Packit a4aae4
        return Errorleng;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/** Get the current token.
Packit a4aae4
 * 
Packit a4aae4
 */
Packit a4aae4
Packit a4aae4
char *Errorget_text  (void)
Packit a4aae4
{
Packit a4aae4
        return Errortext;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/** Set the current line number.
Packit a4aae4
 * @param line_number
Packit a4aae4
 * 
Packit a4aae4
 */
Packit a4aae4
void Errorset_lineno (int  line_number )
Packit a4aae4
{
Packit a4aae4
    
Packit a4aae4
    Errorlineno = line_number;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/** Set the input stream. This does not discard the current
Packit a4aae4
 * input buffer.
Packit a4aae4
 * @param in_str A readable stream.
Packit a4aae4
 * 
Packit a4aae4
 * @see Error_switch_to_buffer
Packit a4aae4
 */
Packit a4aae4
void Errorset_in (FILE *  in_str )
Packit a4aae4
{
Packit a4aae4
        Errorin = in_str ;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
void Errorset_out (FILE *  out_str )
Packit a4aae4
{
Packit a4aae4
        Errorout = out_str ;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
int Errorget_debug  (void)
Packit a4aae4
{
Packit a4aae4
        return Error_flex_debug;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
void Errorset_debug (int  bdebug )
Packit a4aae4
{
Packit a4aae4
        Error_flex_debug = bdebug ;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
static int yy_init_globals (void)
Packit a4aae4
{
Packit a4aae4
        /* Initialization is the same as for the non-reentrant scanner.
Packit a4aae4
     * This function is called from Errorlex_destroy(), so don't allocate here.
Packit a4aae4
     */
Packit a4aae4
Packit a4aae4
    (yy_buffer_stack) = 0;
Packit a4aae4
    (yy_buffer_stack_top) = 0;
Packit a4aae4
    (yy_buffer_stack_max) = 0;
Packit a4aae4
    (yy_c_buf_p) = (char *) 0;
Packit a4aae4
    (yy_init) = 0;
Packit a4aae4
    (yy_start) = 0;
Packit a4aae4
Packit a4aae4
/* Defined in main.c */
Packit a4aae4
#ifdef YY_STDINIT
Packit a4aae4
    Errorin = stdin;
Packit a4aae4
    Errorout = stdout;
Packit a4aae4
#else
Packit a4aae4
    Errorin = (FILE *) 0;
Packit a4aae4
    Errorout = (FILE *) 0;
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
    /* For future reference: Set errno on error, since we are called by
Packit a4aae4
     * Errorlex_init()
Packit a4aae4
     */
Packit a4aae4
    return 0;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/* Errorlex_destroy is for both reentrant and non-reentrant scanners. */
Packit a4aae4
int Errorlex_destroy  (void)
Packit a4aae4
{
Packit a4aae4
    
Packit a4aae4
    /* Pop the buffer stack, destroying each element. */
Packit a4aae4
	while(YY_CURRENT_BUFFER){
Packit a4aae4
		Error_delete_buffer(YY_CURRENT_BUFFER  );
Packit a4aae4
		YY_CURRENT_BUFFER_LVALUE = NULL;
Packit a4aae4
		Errorpop_buffer_state();
Packit a4aae4
	}
Packit a4aae4
Packit a4aae4
	/* Destroy the stack itself. */
Packit a4aae4
	Errorfree((yy_buffer_stack) );
Packit a4aae4
	(yy_buffer_stack) = NULL;
Packit a4aae4
Packit a4aae4
    /* Reset the globals. This is important in a non-reentrant scanner so the next time
Packit a4aae4
     * Errorlex() is called, initialization will occur. */
Packit a4aae4
    yy_init_globals( );
Packit a4aae4
Packit a4aae4
    return 0;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
/*
Packit a4aae4
 * Internal utility routines.
Packit a4aae4
 */
Packit a4aae4
Packit a4aae4
#ifndef yytext_ptr
Packit a4aae4
static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
Packit a4aae4
{
Packit a4aae4
	register int i;
Packit a4aae4
	for ( i = 0; i < n; ++i )
Packit a4aae4
		s1[i] = s2[i];
Packit a4aae4
}
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
#ifdef YY_NEED_STRLEN
Packit a4aae4
static int yy_flex_strlen (yyconst char * s )
Packit a4aae4
{
Packit a4aae4
	register int n;
Packit a4aae4
	for ( n = 0; s[n]; ++n )
Packit a4aae4
		;
Packit a4aae4
Packit a4aae4
	return n;
Packit a4aae4
}
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
void *Erroralloc (yy_size_t  size )
Packit a4aae4
{
Packit a4aae4
	return (void *) malloc( size );
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
void *Errorrealloc  (void * ptr, yy_size_t  size )
Packit a4aae4
{
Packit a4aae4
	/* The cast to (char *) in the following accommodates both
Packit a4aae4
	 * implementations that use char* generic pointers, and those
Packit a4aae4
	 * that use void* generic pointers.  It works with the latter
Packit a4aae4
	 * because both ANSI C and C++ allow castless assignment from
Packit a4aae4
	 * any pointer type to void*, and deal with argument conversions
Packit a4aae4
	 * as though doing an assignment.
Packit a4aae4
	 */
Packit a4aae4
	return (void *) realloc( (char *) ptr, size );
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
void Errorfree (void * ptr )
Packit a4aae4
{
Packit a4aae4
	free( (char *) ptr );	/* see Errorrealloc() for (char *) cast */
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
#define YYTABLES_NAME "yytables"
Packit a4aae4
Packit a4aae4
#line 144 "Error.lex"
Packit a4aae4
Packit a4aae4
Packit a4aae4
Packit a4aae4
// These three glue routines enable DDS to reclaim the memory used to parse a
Packit a4aae4
// DDS off the wire. They are here because this file can see the YY_*
Packit a4aae4
// symbols; the file DDS.cc cannot.
Packit a4aae4
Packit a4aae4
void *
Packit a4aae4
Error_buffer(FILE *fp)
Packit a4aae4
{
Packit a4aae4
    return (void *)Error_create_buffer(fp, YY_BUF_SIZE);
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
void
Packit a4aae4
Error_switch_to_buffer(void *buf)
Packit a4aae4
{
Packit a4aae4
    Error_switch_to_buffer((YY_BUFFER_STATE)buf);
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
void
Packit a4aae4
Error_delete_buffer(void *buf)
Packit a4aae4
{
Packit a4aae4
    Error_delete_buffer((YY_BUFFER_STATE)buf);
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
void
Packit a4aae4
store_integer()
Packit a4aae4
{
Packit a4aae4
    Errorlval.integer = atoi(Errortext);
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
void
Packit a4aae4
store_string()
Packit a4aae4
{
Packit a4aae4
    Errorlval.string = Errortext;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4