From df8b75060426f3356c6c34fbd6998c4c761467e9 Mon Sep 17 00:00:00 2001 From: dshaligram Date: Tue, 27 Mar 2007 10:27:34 +0000 Subject: Updated pregenerated level compiler. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1110 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/prebuilt/levcomp.lex.cc | 4427 ++++++++++++++---------------- crawl-ref/source/prebuilt/levcomp.tab.cc | 2807 +++++++------------ crawl-ref/source/prebuilt/levcomp.tab.h | 231 +- 3 files changed, 3139 insertions(+), 4326 deletions(-) diff --git a/crawl-ref/source/prebuilt/levcomp.lex.cc b/crawl-ref/source/prebuilt/levcomp.lex.cc index a5d3cc07c5..a9c86ee9c6 100644 --- a/crawl-ref/source/prebuilt/levcomp.lex.cc +++ b/crawl-ref/source/prebuilt/levcomp.lex.cc @@ -1,94 +1,33 @@ #line 2 "levcomp.lex.cc" - -#line 4 "levcomp.lex.cc" - -#define YY_INT_ALIGNED short int - /* A lexical scanner generated by flex */ +/* Scanner skeleton version: + * $Header: /cvs/root/flex/flex/skel.c,v 1.2 2004/05/07 00:28:17 jkh Exp $ + */ + #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 33 -#if YY_FLEX_SUBMINOR_VERSION > 0 -#define FLEX_BETA -#endif -/* First, we deal with platform-specific or compiler-specific issues. */ - -/* begin standard C headers. */ #include -#include -#include -#include - -/* end standard C headers. */ - -/* flex integer type definitions */ - -#ifndef FLEXINT_H -#define FLEXINT_H - -/* C99 systems have . Non-C99 systems may or may not. */ - -#if __STDC_VERSION__ >= 199901L - -/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, - * if you want the limit (max/min) macros for int types. - */ -#ifndef __STDC_LIMIT_MACROS -#define __STDC_LIMIT_MACROS 1 -#endif -#include -typedef int8_t flex_int8_t; -typedef uint8_t flex_uint8_t; -typedef int16_t flex_int16_t; -typedef uint16_t flex_uint16_t; -typedef int32_t flex_int32_t; -typedef uint32_t flex_uint32_t; -#else -typedef signed char flex_int8_t; -typedef short int flex_int16_t; -typedef int flex_int32_t; -typedef unsigned char flex_uint8_t; -typedef unsigned short int flex_uint16_t; -typedef unsigned int flex_uint32_t; -#endif /* ! C99 */ -/* Limits of integral types. */ -#ifndef INT8_MIN -#define INT8_MIN (-128) -#endif -#ifndef INT16_MIN -#define INT16_MIN (-32767-1) -#endif -#ifndef INT32_MIN -#define INT32_MIN (-2147483647-1) -#endif -#ifndef INT8_MAX -#define INT8_MAX (127) -#endif -#ifndef INT16_MAX -#define INT16_MAX (32767) -#endif -#ifndef INT32_MAX -#define INT32_MAX (2147483647) -#endif -#ifndef UINT8_MAX -#define UINT8_MAX (255U) -#endif -#ifndef UINT16_MAX -#define UINT16_MAX (65535U) +/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ +#ifdef c_plusplus +#ifndef __cplusplus +#define __cplusplus #endif -#ifndef UINT32_MAX -#define UINT32_MAX (4294967295U) #endif -#endif /* ! FLEXINT_H */ #ifdef __cplusplus +#include +#include + +/* Use prototypes in function declarations. */ +#define YY_USE_PROTOS + /* The "const" storage-class-modifier is valid. */ #define YY_USE_CONST @@ -96,17 +35,34 @@ typedef unsigned int flex_uint32_t; #if __STDC__ +#define YY_USE_PROTOS #define YY_USE_CONST #endif /* __STDC__ */ #endif /* ! __cplusplus */ +#ifdef __TURBOC__ + #pragma warn -rch + #pragma warn -use +#include +#include +#define YY_USE_CONST +#define YY_USE_PROTOS +#endif + #ifdef YY_USE_CONST #define yyconst const #else #define yyconst #endif + +#ifdef YY_USE_PROTOS +#define YY_PROTO(proto) proto +#else +#define YY_PROTO(proto) () +#endif + /* Returned upon end-of-file. */ #define YY_NULL 0 @@ -121,88 +77,71 @@ typedef unsigned int flex_uint32_t; * but we do it the disgusting crufty way forced on us by the ()-less * definition of BEGIN. */ -#define BEGIN (yy_start) = 1 + 2 * +#define BEGIN yy_start = 1 + 2 * /* Translate the current start state into a value that can be later handed * to BEGIN to return to the state. The YYSTATE alias is for lex * compatibility. */ -#define YY_START (((yy_start) - 1) / 2) +#define YY_START ((yy_start - 1) / 2) #define YYSTATE YY_START /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) /* Special action meaning "start processing a new file". */ -#define YY_NEW_FILE yyrestart(yyin ) +#define YY_NEW_FILE yyrestart( yyin ) #define YY_END_OF_BUFFER_CHAR 0 /* Size of default input buffer. */ -#ifndef YY_BUF_SIZE #define YY_BUF_SIZE 16384 -#endif - -/* The state buf must be large enough to hold one state per character in the main buffer. - */ -#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) -#ifndef YY_TYPEDEF_YY_BUFFER_STATE -#define YY_TYPEDEF_YY_BUFFER_STATE typedef struct yy_buffer_state *YY_BUFFER_STATE; -#endif extern int yyleng; - extern FILE *yyin, *yyout; #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 - /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires - * access to the local variable yy_act. Since yyless() is a macro, it would break - * existing scanners that call yyless() from OUTSIDE yylex. - * One obvious solution it to make yy_act a global. I tried that, and saw - * a 5% performance hit in a non-yylineno scanner, because yy_act is - * normally declared as a register variable-- so it is not worth it. - */ - #define YY_LESS_LINENO(n) \ - do { \ - int yyl;\ - for ( yyl = n; yyl < yyleng; ++yyl )\ - if ( yytext[yyl] == '\n' )\ - --yylineno;\ - }while(0) - -/* Return all but the first "n" matched characters back to the input stream. */ +/* The funky do-while in the following #define is used to turn the definition + * int a single C statement (which needs a semi-colon terminator). This + * avoids problems with code like: + * + * if ( condition_holds ) + * yyless( 5 ); + * else + * do_something_else(); + * + * Prior to using the do-while the compiler would get upset at the + * "else" because it interpreted the "if" statement as being all + * done when it reached the ';' after the yyless() call. + */ + +/* Return all but the first 'n' matched characters back to the input stream. */ + #define yyless(n) \ do \ { \ /* Undo effects of setting up yytext. */ \ - int yyless_macro_arg = (n); \ - YY_LESS_LINENO(yyless_macro_arg);\ - *yy_cp = (yy_hold_char); \ + *yy_cp = yy_hold_char; \ YY_RESTORE_YY_MORE_OFFSET \ - (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ + yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) -#define unput(c) yyunput( c, (yytext_ptr) ) +#define unput(c) yyunput( c, yytext_ptr ) /* The following is because we cannot portably get our hands on size_t * (without autoconf's help, which isn't available because we want * flex-generated scanners to compile on their own). */ - -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T typedef unsigned int yy_size_t; -#endif -#ifndef YY_STRUCT_YY_BUFFER_STATE -#define YY_STRUCT_YY_BUFFER_STATE + struct yy_buffer_state { FILE *yy_input_file; @@ -239,16 +178,12 @@ struct yy_buffer_state */ int yy_at_bol; - int yy_bs_lineno; /**< The line count. */ - int yy_bs_column; /**< The column count. */ - /* Whether to try to fill the input buffer when we reach the * end of it. */ int yy_fill_buffer; int yy_buffer_status; - #define YY_BUFFER_NEW 0 #define YY_BUFFER_NORMAL 1 /* When an EOF's been seen but there's still some text to process @@ -262,38 +197,28 @@ struct yy_buffer_state * just pointing yyin at a new input file. */ #define YY_BUFFER_EOF_PENDING 2 - }; -#endif /* !YY_STRUCT_YY_BUFFER_STATE */ -/* Stack of input buffers. */ -static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ -static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ -static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ +static YY_BUFFER_STATE yy_current_buffer = 0; /* We provide macros for accessing buffer states in case in the * future we want to put the buffer states in a more general * "scanner state". - * - * Returns the top of the stack, or NULL. */ -#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ - ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ - : NULL) +#define YY_CURRENT_BUFFER yy_current_buffer -/* Same as previous macro, but useful when we know that the buffer stack is not - * NULL or when we need an lvalue. For internal use only. - */ -#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] /* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; + static int yy_n_chars; /* number of characters read into yy_ch_buf */ + + int yyleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = (char *) 0; -static int yy_init = 0; /* whether we need to initialize */ +static int yy_init = 1; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ /* Flag which is used to allow yywrap()'s to do buffer switches @@ -301,265 +226,459 @@ static int yy_start = 0; /* start state number */ */ static int yy_did_buffer_switch_on_eof; -void yyrestart (FILE *input_file ); -void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); -YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); -void yy_delete_buffer (YY_BUFFER_STATE b ); -void yy_flush_buffer (YY_BUFFER_STATE b ); -void yypush_buffer_state (YY_BUFFER_STATE new_buffer ); -void yypop_buffer_state (void ); +void yyrestart YY_PROTO(( FILE *input_file )); -static void yyensure_buffer_stack (void ); -static void yy_load_buffer_state (void ); -static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); +void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer )); +void yy_load_buffer_state YY_PROTO(( void )); +YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size )); +void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b )); +void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file )); +void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b )); +#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer ) -#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) +YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size )); +YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str )); +YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); -YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); -YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); -YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ); - -void *yyalloc (yy_size_t ); -void *yyrealloc (void *,yy_size_t ); -void yyfree (void * ); +static void *yy_flex_alloc YY_PROTO(( yy_size_t )); +static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )); +static void yy_flex_free YY_PROTO(( void * )); #define yy_new_buffer yy_create_buffer #define yy_set_interactive(is_interactive) \ { \ - if ( ! YY_CURRENT_BUFFER ){ \ - yyensure_buffer_stack (); \ - YY_CURRENT_BUFFER_LVALUE = \ - yy_create_buffer(yyin,YY_BUF_SIZE ); \ - } \ - YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ + if ( ! yy_current_buffer ) \ + yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ + yy_current_buffer->yy_is_interactive = is_interactive; \ } #define yy_set_bol(at_bol) \ { \ - if ( ! YY_CURRENT_BUFFER ){\ - yyensure_buffer_stack (); \ - YY_CURRENT_BUFFER_LVALUE = \ - yy_create_buffer(yyin,YY_BUF_SIZE ); \ - } \ - YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ + if ( ! yy_current_buffer ) \ + yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ + yy_current_buffer->yy_at_bol = at_bol; \ } -#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) +#define YY_AT_BOL() (yy_current_buffer->yy_at_bol) -/* Begin user sect3 */ +#define YY_USES_REJECT typedef unsigned char YY_CHAR; - FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; - typedef int yy_state_type; - extern int yylineno; - int yylineno = 1; - extern char *yytext; #define yytext_ptr yytext -static yy_state_type yy_get_previous_state (void ); -static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); -static int yy_get_next_buffer (void ); -static void yy_fatal_error (yyconst char msg[] ); +static yy_state_type yy_get_previous_state YY_PROTO(( void )); +static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); +static int yy_get_next_buffer YY_PROTO(( void )); +static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); /* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ - (yytext_ptr) = yy_bp; \ - yyleng = (size_t) (yy_cp - yy_bp); \ - (yy_hold_char) = *yy_cp; \ + yytext_ptr = yy_bp; \ + yyleng = (int) (yy_cp - yy_bp); \ + yy_hold_char = *yy_cp; \ *yy_cp = '\0'; \ - (yy_c_buf_p) = yy_cp; + yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 76 -#define YY_END_OF_BUFFER 77 -/* This struct is not used in this scanner, - but its presence is necessary. */ -struct yy_trans_info - { - flex_int32_t yy_verify; - flex_int32_t yy_nxt; - }; -static yyconst flex_int16_t yy_accept[1538] = +#define YY_NUM_RULES 77 +#define YY_END_OF_BUFFER 78 +static yyconst short int yy_acclist[2226] = { 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 77, 75, 69, 70, 75, 73, 71, 72, - 67, 66, 68, 75, 75, 75, 75, 75, 75, 75, + 78, 76, 77, 70, 76, 77, 71, 77, 76, 77, + 74, 76, 77, 72, 76, 77, 73, 76, 77, 68, + 76, 77, 67, 76, 77, 69, 76, 77, 76, 77, + 76, 77, 76, 77, 76, 77, 76, 77, 76, 77, + 76, 77, 76, 77, 76, 77, 76, 77, 76, 77, + 76, 77, 76, 77, 76, 77, 76, 77, 76, 77, + 76, 77, 76, 77, 76, 77, 76, 77, 76, 77, + 76, 77, 76, 77, 70, 76, 77, 21, 76, 77, + 76, 77, 76, 77, 77, 6, 77, 77, 77, 4, + 77, 2, 77, 3, 6, 77, 77, 77, 2, 4, + + 77, 2, 77, 2, 77, 76, 77, 20, 71, 77, + 76, 77, 74, 76, 77, 72, 76, 77, 73, 76, + 77, 68, 76, 77, 67, 76, 77, 69, 76, 77, + 76, 77, 76, 77, 76, 77, 76, 77, 76, 77, + 76, 77, 76, 77, 76, 77, 76, 77, 76, 77, + 76, 77, 76, 77, 76, 77, 76, 77, 76, 77, + 76, 77, 76, 77, 76, 77, 76, 77, 76, 77, + 76, 77, 76, 77, 76, 77, 21, 76, 77, 76, + 77, 76, 77, 76, 77, 18, 70, 76, 77, 15, + 71, 77, 18, 76, 77, 74, 76, 77, 72, 76, + + 77, 73, 76, 77, 17, 68, 76, 77, 67, 76, + 77, 69, 76, 77, 76, 77, 76, 77, 76, 77, + 76, 77, 76, 77, 76, 77, 76, 77, 76, 77, + 76, 77, 76, 77, 76, 77, 76, 77, 76, 77, + 76, 77, 76, 77, 76, 77, 76, 77, 76, 77, + 76, 77, 76, 77, 76, 77, 76, 77, 76, 77, + 18, 70, 76, 77, 21, 76, 77, 76, 77, 76, + 77, 8, 70, 76, 77, 9, 71, 77, 76, 77, + 7, 67, 76, 77, 7, 69, 76, 77, 7, 76, + 77, 7, 76, 77, 7, 76, 77, 7, 76, 77, + + 7, 76, 77, 7, 76, 77, 7, 76, 77, 7, + 76, 77, 7, 76, 77, 7, 76, 77, 7, 76, + 77, 7, 76, 77, 7, 76, 77, 7, 76, 77, + 7, 76, 77, 7, 76, 77, 7, 76, 77, 7, + 76, 77, 7, 76, 77, 7, 76, 77, 7, 76, + 77, 7, 76, 77, 7, 76, 77, 8, 70, 76, + 77, 7, 76, 77, 7, 76, 77, 11, 77, 13, + 77, 14, 77, 77, 12, 77, 70, 71, 69, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 69, 20, 75, 75, - 76, 6, 76, 76, 4, 2, 3, 76, 76, 2, - 2, 2, 75, 19, 75, 73, 71, 72, 67, 66, - 68, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 20, 75, 75, 75, 17, 14, - 17, 73, 71, 72, 16, 66, 68, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 70, + 21, 21, 75, 75, 75, 6, 5, 2, 3, 6, + 2, 2, 2, 19, 20, 71, 19, 69, 19, 75, + 19, 75, 19, 75, 19, 75, 19, 75, 19, 75, + 19, 75, 19, 75, 19, 75, 19, 75, 19, 75, + 19, 75, 19, 75, 19, 75, 19, 75, 19, 75, + 19, 75, 19, 75, 19, 75, 19, 75, 19, 75, + 19, 75, 19, 75, 19, 75, 19, 75, 19, 75, + 19, 75, 19, 75, 19, 75, 19, 75, 19, 21, + 21, 19, 75, 19, 75, 19, 75, 18, 70, 15, + + 18, 15, 71, 69, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 17, 20, 75, 75, 8, 9, 75, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 8, 7, 7, 75, 12, 13, 75, 73, - 71, 72, 11, 66, 68, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 18, 70, 21, 75, 75, 75, + 8, 70, 9, 9, 71, 7, 7, 69, 7, 75, + 7, 75, 7, 75, 7, 75, 7, 75, 7, 75, + 7, 75, 7, 75, 7, 75, 7, 75, 7, 75, + 7, 75, 7, 75, 7, 75, 7, 75, 7, 75, + 7, 75, 7, 75, 7, 75, 7, 75, 7, 75, + 7, 75, 7, 75, 7, 75, 7, 75, 7, 75, + + 7, 75, 7, 75, 7, 75, 7, 75, 8, 70, + 7, 75, 7, 75, 7, 75, 10, 13, 14, 75, + 75, 75, 75, 75, 46, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 12, 20, - - 75, 75, 69, 70, 68, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 69, 20, 20, 74, 74, - 74, 6, 5, 0, 0, 2, 3, 0, 0, 2, - 2, 2, 18, 0, 19, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 20, 18, 18, - 18, 0, 17, 14, 17, 14, 68, 74, 74, 74, - - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 17, 20, 74, - 74, 74, 8, 9, 0, 9, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 8, 7, - 7, 7, 0, 12, 13, 0, 13, 68, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - - 74, 74, 74, 74, 74, 74, 74, 74, 12, 20, - 74, 74, 74, 74, 74, 74, 74, 74, 45, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 21, 2, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - - 10, 10, 10, 10, 10, 10, 10, 10, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 59, 74, 74, 74, 74, - 74, 74, 74, 74, 60, 2, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 74, 74, 74, 74, 39, 74, - - 74, 74, 74, 74, 32, 74, 74, 74, 44, 31, - 74, 22, 74, 74, 74, 74, 74, 74, 74, 74, - 29, 74, 74, 65, 74, 74, 74, 57, 74, 58, - 2, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - - 15, 15, 15, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 74, 74, 74, 24, 74, 74, 74, 28, 74, 34, - 35, 36, 74, 74, 26, 74, 74, 74, 74, 74, - 30, 74, 74, 74, 74, 74, 74, 74, 74, 74, - - 74, 1, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 40, - 74, 27, 38, 74, 74, 74, 74, 74, 25, 74, - 46, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 7, 7, 7, 7, 7, 7, - - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 74, 74, 74, 74, 74, 50, 74, 74, 74, 33, - 0, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 22, 75, 2, 19, 75, + 19, 75, 19, 75, 19, 75, 19, 75, 19, 46, + 75, 19, 75, 19, 75, 19, 75, 19, 75, 19, + 75, 19, 75, 19, 75, 19, 75, 19, 75, 19, + 75, 19, 75, 19, 75, 19, 75, 19, 75, 19, + + 75, 19, 75, 19, 75, 19, 75, 19, 75, 19, + 75, 19, 75, 19, 75, 19, 75, 19, 75, 19, + 75, 19, 75, 19, 75, 19, 75, 19, 75, 19, + 22, 75, 16, 16, 69, 16, 75, 16, 75, 16, + 75, 16, 75, 16, 75, 16, 75, 16, 46, 75, + 16, 75, 16, 75, 16, 75, 16, 75, 16, 75, + 16, 75, 16, 75, 16, 75, 16, 75, 16, 75, + 16, 75, 16, 75, 16, 75, 16, 75, 16, 75, + 16, 75, 16, 75, 16, 75, 16, 75, 16, 75, + 16, 75, 16, 75, 16, 75, 16, 75, 16, 75, + + 16, 75, 16, 75, 16, 75, 16, 75, 16, 21, + 16, 22, 75, 16, 75, 16, 75, 16, 75, 7, + 75, 7, 75, 7, 75, 7, 75, 7, 75, 7, + 46, 75, 7, 75, 7, 75, 7, 75, 7, 75, + 7, 75, 7, 75, 7, 75, 7, 75, 7, 75, + 7, 75, 7, 75, 7, 75, 7, 75, 7, 75, + 7, 75, 7, 75, 7, 75, 7, 75, 7, 75, + 7, 75, 7, 75, 7, 75, 7, 75, 7, 75, + 7, 75, 7, 75, 7, 75, 7, 75, 7, 75, + 7, 22, 75, 75, 75, 75, 75, 75, 75, 75, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 74, - 74, 74, 49, 74, 74, 74, 74, 0, 56, 74, - 55, 74, 61, 62, 74, 63, 64, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 7, 7, 7, 7, 7, 7, 7, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 60, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 61, 75, 2, 19, 75, 19, 75, 19, 75, 19, + 75, 19, 75, 19, 75, 19, 75, 19, 75, 19, + 75, 19, 75, 19, 75, 19, 75, 19, 75, 19, + 75, 19, 75, 19, 75, 19, 75, 19, 75, 19, + 75, 19, 75, 19, 75, 19, 75, 19, 75, 19, + 75, 19, 75, 19, 75, 19, 75, 19, 60, 75, + 19, 75, 19, 75, 19, 75, 19, 75, 19, 75, + + 19, 75, 19, 75, 19, 75, 19, 61, 75, 16, + 75, 16, 75, 16, 75, 16, 75, 16, 75, 16, + 75, 16, 75, 16, 75, 16, 75, 16, 75, 16, + 75, 16, 75, 16, 75, 16, 75, 16, 75, 16, + 75, 16, 75, 16, 75, 16, 75, 16, 75, 16, + 75, 16, 75, 16, 75, 16, 75, 16, 75, 16, + 75, 16, 75, 16, 60, 75, 16, 75, 16, 75, + 16, 75, 16, 75, 16, 75, 16, 75, 16, 75, + 16, 75, 16, 61, 75, 7, 75, 7, 75, 7, + 75, 7, 75, 7, 75, 7, 75, 7, 75, 7, + + 75, 7, 75, 7, 75, 7, 75, 7, 75, 7, + 75, 7, 75, 7, 75, 7, 75, 7, 75, 7, + 75, 7, 75, 7, 75, 7, 75, 7, 75, 7, + 75, 7, 75, 7, 75, 7, 75, 7, 75, 7, + 60, 75, 7, 75, 7, 75, 7, 75, 7, 75, + 7, 75, 7, 75, 7, 75, 7, 75, 7, 61, + 75, 75, 75, 75, 75, 40, 75, 75, 75, 75, + 75, 33, 75, 75, 75, 45, 75, 32, 75, 23, + 75, 75, 75, 75, 75, 75, 75, 75, 30, 75, + 75, 66, 75, 75, 75, 75, 58, 75, 75, 59, + + 75, 2, 19, 75, 19, 75, 19, 75, 19, 75, + 19, 40, 19, 75, 19, 75, 19, 75, 19, 75, + 19, 75, 19, 33, 19, 75, 19, 75, 19, 75, + 19, 45, 75, 19, 32, 19, 75, 19, 23, 19, + 75, 19, 75, 19, 75, 19, 75, 19, 75, 19, + 75, 19, 75, 19, 75, 19, 30, 19, 75, 19, + 75, 19, 66, 75, 19, 75, 19, 75, 19, 75, + 19, 58, 75, 19, 75, 19, 59, 75, 16, 75, + 16, 75, 16, 75, 16, 75, 16, 40, 16, 75, + 16, 75, 16, 75, 16, 75, 16, 75, 16, 33, + + 16, 75, 16, 75, 16, 75, 16, 45, 75, 16, + 32, 16, 75, 16, 23, 16, 75, 16, 75, 16, + 75, 16, 75, 16, 75, 16, 75, 16, 75, 16, + 75, 16, 30, 16, 75, 16, 75, 16, 66, 75, + 16, 75, 16, 75, 16, 75, 16, 58, 75, 16, + 75, 16, 59, 75, 7, 75, 7, 75, 7, 75, + 7, 75, 7, 75, 7, 75, 7, 75, 7, 75, + 7, 75, 7, 75, 7, 75, 7, 75, 7, 45, + 75, 7, 75, 7, 75, 7, 75, 7, 75, 7, + 75, 7, 75, 7, 75, 7, 75, 7, 75, 7, + + 75, 7, 75, 7, 66, 75, 7, 75, 7, 75, + 7, 75, 7, 58, 75, 7, 75, 7, 59, 75, + 75, 75, 75, 25, 75, 75, 75, 29, 75, 35, + 36, 37, 75, 75, 27, 75, 75, 75, 75, 75, + 31, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 1, 2, 19, 75, 19, 75, 19, 75, 19, + 25, 19, 75, 19, 75, 19, 75, 19, 29, 19, + 75, 19, 35, 19, 36, 19, 37, 19, 75, 19, + 75, 19, 27, 19, 75, 19, 75, 19, 75, 19, + 75, 19, 75, 19, 31, 19, 75, 19, 75, 19, + + 75, 19, 75, 19, 75, 19, 75, 19, 75, 19, + 75, 19, 75, 19, 75, 16, 75, 16, 75, 16, + 75, 16, 25, 16, 75, 16, 75, 16, 75, 16, + 29, 16, 75, 16, 35, 16, 36, 16, 37, 16, + 75, 16, 75, 16, 27, 16, 75, 16, 75, 16, + 75, 16, 75, 16, 75, 16, 31, 16, 75, 16, + 75, 16, 75, 16, 75, 16, 75, 16, 75, 16, + 75, 16, 75, 16, 75, 16, 75, 7, 75, 7, + 75, 7, 75, 7, 75, 7, 75, 7, 75, 7, + 75, 7, 75, 7, 75, 7, 75, 7, 75, 7, + + 75, 7, 75, 7, 75, 7, 75, 7, 75, 7, + 75, 7, 75, 7, 75, 7, 75, 7, 75, 7, + 75, 7, 75, 7, 75, 41, 75, 28, 39, 75, + 75, 75, 75, 75, 75, 26, 75, 47, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 19, 41, 19, 75, 19, 28, 19, 39, 75, + 19, 75, 19, 75, 19, 75, 19, 75, 19, 75, + 19, 26, 19, 75, 19, 47, 19, 75, 19, 75, + 19, 75, 19, 75, 19, 75, 19, 75, 19, 75, + 19, 75, 19, 75, 19, 75, 19, 75, 19, 75, + + 19, 75, 16, 41, 16, 75, 16, 28, 16, 39, + 75, 16, 75, 16, 75, 16, 75, 16, 75, 16, + 75, 16, 26, 16, 75, 16, 47, 16, 75, 16, + 75, 16, 75, 16, 75, 16, 75, 16, 75, 16, + 75, 16, 75, 16, 75, 16, 75, 16, 75, 16, + 75, 16, 75, 7, 75, 7, 39, 75, 7, 75, + 7, 75, 7, 75, 7, 75, 7, 75, 7, 75, + 7, 75, 7, 75, 7, 75, 7, 75, 7, 75, + 7, 75, 7, 75, 7, 75, 7, 75, 7, 75, + 7, 75, 7, 75, 7, 75, 75, 75, 75, 75, + + 75, 51, 75, 75, 75, 75, 34, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 19, 75, 19, 75, + 19, 75, 19, 75, 19, 75, 19, 51, 75, 19, + 75, 19, 75, 19, 75, 19, 34, 19, 19, 75, + 19, 75, 19, 75, 19, 75, 19, 75, 19, 75, + 19, 75, 19, 75, 19, 75, 16, 75, 16, 75, + 16, 75, 16, 75, 16, 75, 16, 51, 75, 16, + 75, 16, 75, 16, 75, 16, 34, 16, 16, 75, + 16, 75, 16, 75, 16, 75, 16, 75, 16, 75, + 16, 75, 16, 75, 16, 75, 7, 75, 7, 75, + + 7, 75, 7, 75, 7, 75, 7, 51, 75, 7, + 75, 7, 75, 7, 75, 7, 7, 75, 7, 75, + 7, 75, 7, 75, 7, 75, 7, 75, 7, 75, + 7, 75, 7, 75, 75, 75, 75, 50, 75, 75, + 75, 75, 57, 75, 75, 56, 75, 75, 62, 75, + 63, 75, 75, 64, 75, 65, 75, 19, 75, 19, + 75, 19, 75, 19, 50, 19, 75, 19, 75, 19, + 75, 19, 75, 19, 19, 57, 75, 19, 75, 19, + 56, 75, 19, 75, 19, 62, 75, 19, 63, 75, + 19, 75, 19, 64, 75, 19, 65, 75, 16, 75, + + 16, 75, 16, 75, 16, 50, 16, 75, 16, 75, + 16, 75, 16, 75, 16, 16, 57, 75, 16, 75, + 16, 56, 75, 16, 75, 16, 62, 75, 16, 63, + 75, 16, 75, 16, 64, 75, 16, 65, 75, 7, + 75, 7, 75, 7, 75, 7, 75, 7, 75, 7, + 75, 7, 75, 7, 7, 57, 75, 7, 75, 7, + 56, 75, 7, 75, 7, 62, 75, 7, 63, 75, + 7, 75, 7, 64, 75, 7, 65, 75, 38, 75, + 49, 75, 75, 75, 75, 54, 75, 55, 75, 53, + 75, 19, 38, 19, 75, 19, 49, 19, 75, 19, + + 75, 19, 75, 19, 75, 19, 19, 54, 75, 19, + 55, 75, 19, 53, 75, 16, 38, 16, 75, 16, + 49, 16, 75, 16, 75, 16, 75, 16, 75, 16, + 16, 54, 75, 16, 55, 75, 16, 53, 75, 7, + 75, 7, 75, 7, 75, 7, 75, 7, 75, 7, + 7, 54, 75, 7, 55, 75, 7, 53, 75, 52, + 75, 75, 48, 75, 42, 19, 52, 75, 19, 75, + 19, 48, 19, 75, 19, 42, 19, 16, 52, 75, + 16, 75, 16, 48, 16, 75, 16, 42, 16, 7, + 52, 75, 7, 75, 7, 75, 7, 75, 44, 19, + + 75, 19, 44, 19, 16, 75, 16, 44, 16, 7, + 75, 7, 43, 19, 43, 19, 16, 43, 16, 7, + 24, 19, 24, 16, 24 + } ; - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 37, 74, - 48, 74, 74, 74, 74, 0, 53, 54, 52, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 51, 74, 47, 74, 41, 0, 18, 18, 18, - 18, 18, 18, 15, 15, 15, 15, 15, 15, 7, - - 7, 7, 7, 10, 10, 10, 10, 10, 10, 74, - 43, 0, 18, 18, 18, 15, 15, 15, 7, 7, - 10, 10, 10, 42, 0, 18, 18, 15, 15, 7, - 10, 10, 23, 18, 15, 10, 0 +static yyconst short int yy_accept[1238] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 2, 4, 7, 9, 11, 14, 17, + 20, 23, 26, 29, 31, 33, 35, 37, 39, 41, + 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, + 63, 65, 67, 69, 71, 73, 75, 78, 81, 83, + 85, 86, 88, 89, 90, 92, 94, 97, 98, 99, + 102, 104, 106, 108, 111, 113, 116, 119, 122, 125, + 128, 131, 133, 135, 137, 139, 141, 143, 145, 147, + 149, 151, 153, 155, 157, 159, 161, 163, 165, 167, + 169, 171, 173, 175, 177, 180, 182, 184, 186, 190, + + 193, 196, 199, 202, 205, 209, 212, 215, 217, 219, + 221, 223, 225, 227, 229, 231, 233, 235, 237, 239, + 241, 243, 245, 247, 249, 251, 253, 255, 257, 259, + 261, 265, 268, 270, 272, 276, 279, 281, 285, 289, + 292, 295, 298, 301, 304, 307, 310, 313, 316, 319, + 322, 325, 328, 331, 334, 337, 340, 343, 346, 349, + 352, 355, 358, 362, 365, 368, 370, 372, 374, 375, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 418, 418, 419, 421, 421, 421, 422, 423, + 424, 425, 425, 427, 429, 431, 433, 435, 437, 439, + 441, 443, 445, 447, 449, 451, 453, 455, 457, 459, + 461, 463, 465, 467, 469, 471, 473, 475, 477, 479, + 481, 483, 485, 487, 489, 491, 492, 494, 496, 498, + 498, 500, 501, 502, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 537, 538, 539, 540, + + 541, 543, 544, 544, 546, 547, 549, 551, 553, 555, + 557, 559, 561, 563, 565, 567, 569, 571, 573, 575, + 577, 579, 581, 583, 585, 587, 589, 591, 593, 595, + 597, 599, 601, 603, 605, 607, 609, 611, 613, 615, + 617, 618, 618, 619, 620, 620, 621, 622, 623, 624, + 625, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, + 656, 658, 659, 661, 663, 665, 667, 669, 672, 674, + 676, 678, 680, 682, 684, 686, 688, 690, 692, 694, + + 696, 698, 700, 702, 704, 706, 708, 710, 712, 714, + 716, 718, 720, 722, 724, 726, 728, 730, 733, 734, + 736, 738, 740, 742, 744, 746, 748, 751, 753, 755, + 757, 759, 761, 763, 765, 767, 769, 771, 773, 775, + 777, 779, 781, 783, 785, 787, 789, 791, 793, 795, + 797, 799, 801, 803, 805, 807, 809, 811, 814, 816, + 818, 820, 822, 824, 826, 828, 830, 833, 835, 837, + 839, 841, 843, 845, 847, 849, 851, 853, 855, 857, + 859, 861, 863, 865, 867, 869, 871, 873, 875, 877, + 879, 881, 883, 885, 887, 889, 891, 894, 895, 896, + + 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, + 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, + 917, 918, 919, 920, 921, 923, 924, 925, 926, 927, + 928, 929, 930, 931, 933, 934, 936, 938, 940, 942, + 944, 946, 948, 950, 952, 954, 956, 958, 960, 962, + 964, 966, 968, 970, 972, 974, 976, 978, 980, 982, + 984, 986, 988, 991, 993, 995, 997, 999, 1001, 1003, + 1005, 1007, 1010, 1012, 1014, 1016, 1018, 1020, 1022, 1024, + 1026, 1028, 1030, 1032, 1034, 1036, 1038, 1040, 1042, 1044, + 1046, 1048, 1050, 1052, 1054, 1056, 1058, 1060, 1062, 1064, + + 1067, 1069, 1071, 1073, 1075, 1077, 1079, 1081, 1083, 1086, + 1088, 1090, 1092, 1094, 1096, 1098, 1100, 1102, 1104, 1106, + 1108, 1110, 1112, 1114, 1116, 1118, 1120, 1122, 1124, 1126, + 1128, 1130, 1132, 1134, 1136, 1138, 1140, 1143, 1145, 1147, + 1149, 1151, 1153, 1155, 1157, 1159, 1162, 1163, 1164, 1165, + 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, + 1176, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, + 1187, 1188, 1189, 1190, 1191, 1192, 1194, 1195, 1196, 1197, + 1199, 1200, 1202, 1203, 1205, 1207, 1209, 1211, 1213, 1215, + 1217, 1219, 1221, 1223, 1225, 1227, 1229, 1231, 1234, 1236, + + 1238, 1240, 1242, 1244, 1246, 1248, 1250, 1252, 1254, 1256, + 1258, 1260, 1262, 1265, 1267, 1269, 1271, 1274, 1276, 1279, + 1281, 1283, 1285, 1287, 1289, 1291, 1293, 1295, 1297, 1299, + 1301, 1303, 1305, 1307, 1310, 1312, 1314, 1316, 1318, 1320, + 1322, 1324, 1326, 1328, 1330, 1332, 1334, 1336, 1338, 1341, + 1343, 1345, 1347, 1350, 1352, 1355, 1357, 1359, 1361, 1363, + 1365, 1367, 1369, 1371, 1373, 1375, 1377, 1379, 1382, 1384, + 1386, 1388, 1390, 1392, 1394, 1396, 1398, 1400, 1402, 1404, + 1407, 1409, 1411, 1413, 1416, 1418, 1421, 1422, 1423, 1424, + 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, + + 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, + 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1454, 1456, + 1458, 1460, 1462, 1464, 1466, 1468, 1470, 1472, 1474, 1476, + 1478, 1480, 1482, 1484, 1486, 1488, 1490, 1492, 1494, 1496, + 1498, 1500, 1502, 1504, 1506, 1508, 1510, 1512, 1514, 1516, + 1518, 1520, 1522, 1524, 1526, 1528, 1530, 1532, 1534, 1536, + 1538, 1540, 1542, 1544, 1546, 1548, 1550, 1552, 1554, 1556, + 1558, 1560, 1562, 1564, 1566, 1568, 1570, 1572, 1574, 1576, + 1578, 1580, 1582, 1584, 1586, 1588, 1590, 1592, 1594, 1596, + 1598, 1600, 1602, 1604, 1606, 1608, 1610, 1612, 1614, 1616, + + 1618, 1620, 1622, 1624, 1626, 1627, 1628, 1629, 1631, 1632, + 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, + 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, + 1654, 1656, 1658, 1661, 1663, 1665, 1667, 1669, 1671, 1673, + 1675, 1677, 1679, 1681, 1683, 1685, 1687, 1689, 1691, 1693, + 1695, 1697, 1699, 1701, 1703, 1705, 1707, 1709, 1712, 1714, + 1716, 1718, 1720, 1722, 1724, 1726, 1728, 1730, 1732, 1734, + 1736, 1738, 1740, 1742, 1744, 1746, 1748, 1750, 1752, 1754, + 1756, 1759, 1761, 1763, 1765, 1767, 1769, 1771, 1773, 1775, + 1777, 1779, 1781, 1783, 1785, 1787, 1789, 1791, 1793, 1795, + + 1797, 1798, 1799, 1800, 1801, 1802, 1804, 1805, 1806, 1807, + 1808, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, + 1817, 1819, 1821, 1823, 1825, 1827, 1830, 1832, 1834, 1836, + 1838, 1839, 1841, 1843, 1845, 1847, 1849, 1851, 1853, 1855, + 1857, 1859, 1861, 1863, 1865, 1867, 1870, 1872, 1874, 1876, + 1878, 1879, 1881, 1883, 1885, 1887, 1889, 1891, 1893, 1895, + 1897, 1899, 1901, 1903, 1905, 1907, 1910, 1912, 1914, 1916, + 1917, 1919, 1921, 1923, 1925, 1927, 1929, 1931, 1933, 1935, + 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1943, 1945, + 1946, 1948, 1949, 1951, 1953, 1954, 1956, 1958, 1960, 1962, + + 1964, 1966, 1968, 1970, 1972, 1974, 1975, 1978, 1980, 1983, + 1985, 1988, 1991, 1993, 1996, 1999, 2001, 2003, 2005, 2007, + 2009, 2011, 2013, 2015, 2016, 2019, 2021, 2024, 2026, 2029, + 2032, 2034, 2037, 2040, 2042, 2044, 2046, 2048, 2050, 2052, + 2054, 2055, 2058, 2060, 2063, 2065, 2068, 2071, 2073, 2076, + 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2086, 2088, + 2090, 2092, 2094, 2096, 2098, 2100, 2102, 2104, 2106, 2107, + 2110, 2113, 2116, 2118, 2120, 2122, 2124, 2126, 2128, 2130, + 2131, 2134, 2137, 2140, 2142, 2144, 2146, 2148, 2150, 2151, + 2154, 2157, 2160, 2162, 2163, 2164, 2165, 2166, 2166, 2169, + + 2171, 2173, 2175, 2177, 2178, 2181, 2183, 2185, 2187, 2189, + 2190, 2193, 2195, 2197, 2198, 2199, 2200, 2200, 2202, 2204, + 2205, 2207, 2209, 2210, 2212, 2213, 2214, 2214, 2216, 2217, + 2219, 2220, 2221, 2222, 2224, 2226, 2226 } ; -static yyconst flex_int32_t yy_ec[256] = +static yyconst int yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, @@ -591,7 +710,7 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[56] = +static yyconst int yy_meta[56] = { 0, 1, 2, 3, 4, 2, 1, 1, 1, 1, 5, 6, 7, 1, 7, 7, 7, 7, 7, 7, 7, @@ -601,1338 +720,999 @@ static yyconst flex_int32_t yy_meta[56] = 7, 7, 7, 7, 7 } ; -static yyconst flex_int16_t yy_base[1561] = +static yyconst short int yy_base[1256] = { 0, 0, 54, 59, 65, 116, 170, 221, 275, 326, 380, - 431, 485, 4249, 4250, 55, 4250, 4245, 4250, 4250, 4250, - 4250, 4250, 4235, 0, 4216, 4224, 4226, 38, 4218, 4210, - 52, 4223, 4212, 4225, 4208, 50, 4209, 56, 4222, 4194, - 41, 4189, 4185, 4194, 4183, 4189, 80, 0, 67, 60, - 4250, 4250, 4226, 87, 4250, 0, 4250, 4225, 93, 0, - 4200, 155, 97, 4250, 4223, 102, 108, 174, 178, 182, - 186, 536, 549, 73, 163, 162, 84, 169, 181, 184, - 180, 190, 4195, 253, 185, 260, 270, 144, 256, 70, - 164, 179, 258, 175, 287, 281, 272, 0, 310, 4250, - - 314, 0, 0, 0, 4250, 0, 4212, 579, 592, 622, - 643, 661, 272, 356, 367, 372, 368, 370, 374, 385, - 386, 395, 474, 269, 467, 373, 462, 388, 464, 480, - 515, 388, 499, 556, 526, 4250, 4220, 0, 4210, 4210, - 294, 406, 482, 497, 297, 484, 550, 485, 495, 552, - 522, 584, 537, 556, 557, 567, 564, 528, 487, 601, - 605, 585, 673, 606, 631, 0, 681, 4250, 4217, 0, - 0, 0, 4250, 0, 4207, 696, 709, 739, 760, 778, - 611, 605, 673, 646, 586, 692, 694, 708, 703, 737, - 722, 747, 763, 620, 728, 765, 767, 777, 804, 560, - - 800, 790, 685, 4250, 4206, 0, 4203, 4202, 694, 764, - 4193, 698, 4196, 4195, 4180, 4183, 4176, 4182, 4182, 4185, - 4192, 4183, 4190, 643, 4170, 4187, 4181, 4158, 4148, 4159, - 4149, 569, 4149, 4142, 4143, 749, 0, 0, 4164, 4178, - 702, 4250, 4250, 4188, 816, 0, 4250, 4187, 819, 4172, - 4161, 607, 689, 827, 4250, 832, 4157, 745, 763, 820, - 813, 818, 828, 829, 834, 765, 825, 291, 827, 399, - 838, 832, 839, 849, 850, 837, 856, 845, 842, 474, - 843, 844, 846, 847, 165, 851, 883, 893, 860, 877, - 873, 899, 906, 4250, 910, 4250, 914, 926, 939, 953, - - 967, 960, 966, 980, 952, 983, 974, 988, 991, 999, - 1005, 1010, 1019, 1018, 1032, 1026, 1033, 1041, 1048, 1040, - 1054, 1055, 1059, 1062, 1073, 1077, 1082, 918, 1093, 1090, - 1096, 1097, 1132, 4250, 4183, 4250, 0, 4173, 4173, 973, - 1103, 1113, 919, 895, 1127, 815, 882, 931, 954, 979, - 1016, 989, 907, 1129, 927, 1135, 1134, 1042, 1065, 1024, - 1047, 1107, 1118, 1111, 1128, 1120, 1012, 1136, 1149, 1150, - 1149, 1155, 1166, 1170, 4250, 4180, 4250, 1178, 1206, 1219, - 1233, 1247, 1165, 1169, 1243, 1174, 1232, 1170, 1251, 1254, - 1262, 1268, 1246, 1276, 1279, 1290, 1284, 1287, 1307, 1304, - - 1298, 1312, 1313, 1318, 1327, 1326, 1331, 1340, 1376, 1383, - 1363, 1376, 1370, 4155, 4154, 4166, 4147, 4162, 4151, 4146, - 4143, 4154, 4145, 4146, 4157, 4152, 4142, 4150, 4136, 4148, - 4147, 4148, 4136, 4129, 4137, 4128, 4140, 4127, 4126, 4118, - 4103, 4106, 4115, 1311, 4100, 4111, 4098, 4097, 0, 4122, - 1237, 1284, 1155, 1186, 927, 1266, 4117, 1199, 1156, 1215, - 1304, 1272, 1192, 1298, 1321, 1206, 1356, 1379, 1179, 1340, - 1342, 1140, 1368, 1383, 1373, 1380, 1338, 1376, 1378, 1382, - 1384, 1385, 1229, 1387, 1388, 4116, 1414, 1420, 1404, 1417, - 1422, 1428, 1431, 1436, 1435, 1439, 1452, 1456, 1460, 1467, - - 1463, 1481, 1476, 1490, 1482, 1496, 1499, 1504, 1505, 1510, - 1518, 1519, 1525, 1526, 1533, 1534, 1539, 1540, 1547, 1555, - 1548, 1561, 1564, 1568, 1602, 1584, 1592, 1600, 1599, 1418, - 1445, 1613, 1529, 721, 1505, 630, 1549, 1486, 993, 1591, - 1621, 1413, 1463, 1462, 1491, 1564, 1578, 1337, 1583, 1493, - 1076, 1611, 1615, 1622, 1625, 1166, 563, 1597, 1535, 1626, - 1627, 1628, 1629, 1630, 4134, 1642, 1646, 1623, 1630, 1636, - 1656, 1659, 1655, 1670, 1664, 1673, 1678, 1684, 1691, 1692, - 1700, 1697, 1714, 1706, 1720, 1723, 1728, 1729, 1734, 1742, - 1743, 1749, 1750, 1757, 1758, 1763, 1764, 1771, 1779, 1772, - - 1785, 1788, 1792, 1826, 1808, 1816, 1824, 1823, 4128, 4127, - 4109, 4120, 4127, 4111, 4102, 4100, 4105, 4105, 4121, 4101, - 4106, 4100, 4105, 1695, 4116, 4101, 4109, 4104, 4100, 4087, - 4086, 4103, 4089, 4107, 4066, 0, 4072, 4065, 4070, 4067, - 4068, 4070, 4071, 4068, 0, 4096, 1630, 1684, 1818, 1643, - 1828, 1706, 1636, 1769, 1754, 4079, 1833, 1788, 1720, 1826, - 1834, 1837, 1847, 1835, 1843, 1775, 1841, 1838, 1842, 1851, - 1802, 1863, 1848, 4078, 1850, 1852, 1853, 1854, 1857, 1400, - 1856, 1783, 4077, 1869, 1876, 1887, 1890, 1895, 1894, 1898, - 1909, 1912, 1918, 1923, 1926, 1934, 1937, 1942, 1951, 1956, - - 1957, 1960, 1971, 1976, 1975, 1979, 1943, 1990, 1984, 1995, - 1998, 1999, 2004, 2012, 2013, 2018, 2031, 2034, 2038, 2047, - 1878, 1899, 1879, 1719, 1919, 1922, 2000, 1940, 1928, 2009, - 2027, 2014, 1651, 2023, 2048, 2057, 2066, 2044, 1981, 2061, - 2069, 2071, 2073, 2074, 2075, 2077, 2076, 4095, 47, 2040, - 2080, 1933, 2084, 2085, 2086, 2088, 4094, 2082, 2086, 2085, - 2103, 2090, 2114, 2117, 2118, 2121, 2132, 2125, 2138, 2145, - 2146, 2153, 2160, 2167, 2166, 2181, 2182, 2189, 2186, 2190, - 2197, 2203, 2211, 2210, 2214, 2218, 2217, 2225, 2231, 2236, - 2247, 2239, 2254, 2255, 4083, 4085, 4077, 4088, 4250, 4073, - - 4062, 4072, 4084, 4059, 4250, 4082, 4081, 4080, 0, 4250, - 4074, 4250, 4059, 4077, 4055, 4056, 4071, 4069, 4060, 4071, - 4250, 4038, 4033, 0, 4037, 4028, 4035, 2065, 4032, 2084, - 4048, 1734, 2082, 2158, 2128, 2287, 2160, 2129, 2176, 2264, - 2201, 2291, 2268, 2274, 2275, 4046, 2297, 2105, 2304, 2221, - 2287, 2173, 2227, 2245, 2151, 2282, 2290, 2309, 2280, 2285, - 4045, 2286, 2288, 2289, 2291, 2292, 2294, 2308, 2323, 2326, - 2331, 2321, 2334, 2337, 2350, 2351, 2354, 2326, 2358, 2359, - 2373, 2365, 2393, 2381, 2401, 2382, 2396, 2388, 2389, 2407, - 2411, 2410, 2418, 2441, 2425, 2426, 2429, 2432, 2433, 2440, - - 2448, 2449, 2463, 2337, 2325, 2461, 2421, 2348, 2356, 2439, - 2470, 2462, 2477, 2480, 2485, 4063, 2489, 2442, 2495, 2476, - 2490, 2486, 2494, 2498, 2501, 2149, 2502, 4062, 2422, 2504, - 2505, 2506, 2508, 2509, 2505, 2509, 2506, 2526, 2527, 2539, - 2534, 2543, 2554, 2557, 2528, 2562, 2571, 2576, 2568, 2539, - 2585, 2541, 2577, 2598, 2591, 2599, 2605, 2616, 2613, 2624, - 2575, 2620, 2621, 2627, 2635, 2638, 2642, 2643, 2649, 2656, - 2535, 4059, 4039, 4250, 4039, 4043, 4037, 4250, 4051, 4250, - 4250, 4250, 4036, 4052, 4250, 4050, 4050, 4034, 4043, 4042, - 4250, 4007, 4020, 4007, 4018, 4005, 4016, 4012, 4004, 4013, - - 4009, 0, 2646, 2529, 2583, 2687, 2548, 2593, 2651, 2697, - 2582, 2701, 2705, 2710, 4019, 2647, 2714, 2674, 2670, 2666, - 2690, 2695, 2719, 2530, 2367, 2222, 2386, 2687, 2692, 2697, - 2696, 2698, 2699, 2722, 2729, 2714, 2729, 2728, 2735, 2736, - 2747, 2752, 2767, 2768, 2772, 2756, 2763, 2786, 2770, 2777, - 2774, 2791, 2794, 2793, 2785, 2788, 2799, 2802, 2805, 2810, - 2813, 2816, 2827, 2831, 2840, 2767, 2768, 2832, 2615, 2848, - 2850, 2841, 2856, 2859, 2863, 2857, 2745, 2864, 2786, 2866, - 2682, 2867, 2869, 2870, 2872, 2873, 2876, 2875, 2878, 2881, - 2870, 2888, 2896, 2903, 2899, 2901, 2904, 2934, 2935, 2936, - - 2923, 2930, 2942, 2931, 2938, 2927, 2945, 2952, 2963, 2953, - 2956, 2959, 2960, 2973, 2977, 2981, 2982, 2988, 3002, 4250, - 4030, 4250, 0, 4015, 4011, 4017, 4008, 4004, 4250, 3997, - 4250, 4004, 3999, 4008, 4005, 3964, 3964, 3957, 3958, 3956, - 3949, 3948, 3943, 3942, 3023, 2732, 3030, 3958, 2866, 3006, - 2973, 2896, 3008, 3040, 2947, 3044, 2999, 3011, 2918, 2881, - 2965, 2936, 3017, 3020, 2967, 2969, 3021, 3022, 3023, 3052, - 3046, 3053, 3047, 3052, 3060, 3066, 3071, 3063, 3054, 3074, - 3058, 3079, 3082, 3093, 3098, 3097, 3101, 3102, 3106, 3115, - 3121, 3124, 3128, 3139, 3069, 3976, 3056, 3107, 2581, 3108, - - 3130, 3112, 3138, 3085, 3149, 3975, 3131, 3128, 2962, 3153, - 3154, 3156, 3162, 3163, 3164, 3175, 3165, 3183, 3162, 3168, - 3173, 3191, 3197, 3198, 3184, 3202, 3193, 3205, 3213, 3224, - 3227, 3220, 3228, 3221, 3235, 3241, 3246, 3255, 3250, 3264, - 3956, 3952, 3949, 3955, 3938, 0, 3937, 3933, 3922, 4250, - 3907, 3889, 3886, 3892, 3884, 3867, 3849, 3856, 3847, 3846, - 3042, 2797, 3188, 3193, 3237, 3857, 3238, 3252, 3257, 3286, - 3294, 3270, 3171, 3264, 3274, 3273, 3276, 3279, 3277, 3278, - 3295, 3313, 3316, 3320, 3321, 3324, 3329, 3337, 3338, 3243, - 3336, 3342, 3343, 3356, 3359, 3363, 3367, 3370, 3381, 3387, - - 3299, 3158, 3300, 3306, 3302, 3872, 3352, 3353, 3305, 3842, - 3369, 3373, 3368, 3384, 3372, 3391, 3392, 3393, 3394, 3394, - 3409, 3422, 3418, 3425, 3429, 3436, 3440, 3443, 3406, 3424, - 3447, 3451, 3454, 3458, 3462, 3465, 3471, 3478, 3482, 3868, - 3845, 3853, 4250, 3834, 3823, 3821, 3828, 3798, 0, 3787, - 0, 3779, 0, 0, 3759, 0, 0, 3404, 3767, 3422, - 3514, 3458, 3473, 3490, 3491, 3520, 3746, 3211, 3711, 3478, - 3685, 3662, 3496, 3642, 3636, 3514, 3510, 3518, 3546, 3525, - 3531, 3536, 3545, 3566, 3551, 3554, 3558, 3559, 3562, 3565, - 3579, 3582, 3583, 3525, 3575, 3546, 3547, 3568, 3446, 3521, - - 3505, 3499, 3581, 3493, 3584, 3481, 3452, 3586, 3419, 3411, - 3604, 3597, 3611, 3601, 3610, 3617, 3624, 3631, 3617, 3625, - 3632, 3640, 3645, 3646, 3649, 3654, 3660, 3665, 4250, 3328, - 4250, 3279, 3263, 3085, 3049, 2868, 0, 0, 0, 3695, - 3182, 3699, 3637, 3602, 2858, 3607, 3703, 2781, 2618, 2491, - 3685, 3683, 3704, 3691, 3698, 3702, 3706, 3711, 3699, 3707, - 3715, 3541, 3588, 3634, 3712, 3675, 2298, 2214, 2041, 1985, - 3738, 3720, 3743, 3728, 3737, 3734, 3754, 3753, 3743, 3750, - 3751, 0, 1905, 4250, 1878, 4250, 1718, 1448, 1254, 3773, - 3668, 3782, 3786, 3770, 3774, 3790, 3781, 3804, 3806, 1212, - - 3785, 3803, 904, 3788, 3794, 3816, 3813, 3825, 3826, 892, - 4250, 756, 3741, 3831, 3841, 3821, 3846, 3851, 3809, 646, - 3828, 3858, 3859, 4250, 411, 3863, 3867, 3868, 3872, 272, - 3874, 3884, 4250, 3886, 3890, 3891, 4250, 3902, 3909, 212, - 3916, 3923, 3930, 3937, 3944, 3951, 3958, 3965, 3972, 3974, - 3976, 3983, 3990, 3997, 4004, 4011, 4018, 4025, 4032, 4039 + 71, 82, 3039, 3040, 55, 3040, 3035, 3040, 3040, 3040, + 3040, 3040, 3025, 0, 3006, 3014, 3016, 44, 3008, 3000, + 69, 3013, 3002, 3015, 2998, 64, 2999, 44, 3012, 2984, + 55, 2979, 2975, 2984, 2973, 2979, 92, 0, 68, 52, + 3040, 3040, 3016, 103, 3040, 0, 3040, 3015, 106, 0, + 2990, 155, 110, 3040, 3013, 174, 178, 182, 186, 190, + 195, 431, 444, 83, 163, 174, 173, 178, 259, 184, + 183, 175, 2985, 258, 187, 265, 273, 144, 261, 249, + 263, 182, 266, 272, 214, 276, 360, 0, 313, 3040, + + 317, 0, 0, 0, 3040, 0, 3002, 474, 487, 517, + 538, 556, 364, 361, 375, 365, 377, 389, 270, 388, + 390, 435, 393, 431, 464, 432, 399, 392, 436, 474, + 501, 503, 506, 533, 550, 3040, 3010, 0, 3000, 3000, + 467, 510, 518, 539, 298, 432, 560, 524, 296, 384, + 559, 562, 458, 564, 566, 449, 561, 503, 373, 499, + 565, 579, 598, 581, 567, 602, 619, 3040, 3007, 3040, + 609, 3040, 2997, 0, 2994, 2993, 597, 293, 2984, 584, + 2987, 2986, 2971, 2974, 2967, 2973, 2973, 2976, 2983, 2974, + 2981, 445, 2961, 2978, 2972, 2949, 2939, 2950, 2940, 569, + + 2940, 2933, 2934, 625, 0, 0, 2955, 2969, 584, 3040, + 3040, 2979, 633, 0, 3040, 2978, 636, 2963, 2952, 599, + 629, 640, 3040, 644, 2948, 502, 629, 632, 635, 625, + 640, 639, 642, 634, 643, 595, 647, 649, 654, 664, + 658, 667, 670, 652, 497, 663, 657, 659, 662, 660, + 665, 666, 661, 673, 702, 707, 687, 691, 692, 718, + 723, 3040, 727, 3040, 732, 744, 757, 771, 785, 778, + 784, 798, 770, 801, 792, 806, 809, 817, 823, 828, + 837, 836, 850, 844, 851, 859, 866, 858, 872, 873, + 877, 880, 891, 895, 900, 930, 731, 921, 925, 934, + + 964, 3040, 2974, 3040, 0, 2964, 2964, 728, 791, 930, + 737, 745, 944, 729, 763, 807, 772, 727, 834, 749, + 811, 902, 872, 904, 946, 820, 931, 851, 865, 894, + 882, 916, 936, 418, 917, 925, 975, 960, 970, 964, + 986, 990, 994, 3040, 2971, 2946, 2945, 2957, 2938, 2953, + 2942, 2937, 2934, 2945, 2936, 2937, 2948, 2943, 2933, 2941, + 2927, 2939, 2938, 2939, 2927, 2920, 2928, 2919, 2931, 2918, + 2917, 2909, 2894, 2897, 2906, 950, 2891, 2902, 2889, 2888, + 0, 2913, 975, 976, 980, 977, 971, 982, 2908, 981, + 994, 988, 991, 1005, 1002, 995, 1008, 997, 1011, 1012, + + 1007, 1004, 1003, 1015, 1014, 1021, 1017, 1019, 1022, 1013, + 1023, 1024, 1025, 1026, 1027, 1028, 1029, 2907, 1059, 1061, + 1053, 1058, 1064, 1078, 1067, 1084, 1075, 1089, 1092, 1097, + 1103, 1110, 1111, 1119, 1083, 1125, 1116, 1133, 1139, 1130, + 1136, 1147, 1150, 1153, 1158, 1164, 1167, 1171, 1172, 1175, + 1188, 1189, 1196, 1202, 1209, 1215, 1245, 1222, 1233, 1240, + 1237, 1063, 1186, 1200, 1160, 642, 1149, 1058, 1205, 1225, + 1177, 1246, 1259, 1211, 1247, 1264, 1122, 1265, 1266, 1219, + 1254, 1094, 1188, 1267, 1268, 1249, 1274, 1275, 1278, 1162, + 1279, 1281, 1280, 1282, 1284, 1285, 2925, 2919, 2918, 2900, + + 2911, 2918, 2902, 2893, 2891, 2896, 2896, 2912, 2892, 2897, + 2891, 2896, 1284, 2907, 2892, 2900, 2895, 2891, 2878, 2877, + 2894, 2880, 2898, 2857, 0, 2863, 2856, 2861, 2858, 2859, + 2861, 2862, 2859, 0, 2887, 1278, 1282, 1270, 1280, 1289, + 1276, 1040, 1277, 1290, 2870, 1296, 1293, 1285, 1297, 1304, + 1320, 1325, 1312, 1323, 1318, 1319, 1317, 1321, 1326, 1327, + 1330, 1316, 2869, 1331, 1332, 1333, 1334, 1335, 1337, 1342, + 1343, 2868, 1359, 1373, 1366, 1372, 1381, 1377, 1388, 1392, + 1396, 1401, 1409, 1414, 1418, 1422, 1423, 1437, 1442, 1443, + 1446, 1457, 1462, 1461, 1465, 1466, 1480, 1487, 1484, 1488, + + 1495, 1491, 1502, 1509, 1513, 1520, 1527, 1531, 1516, 1355, + 1398, 1365, 1405, 1357, 1407, 1423, 1376, 1447, 1452, 1512, + 1425, 1478, 1523, 1541, 1554, 1516, 1456, 1490, 1542, 1544, + 1550, 1559, 1560, 1428, 1562, 1519, 2886, 1565, 1525, 1567, + 1569, 1570, 1571, 1574, 1577, 2885, 2874, 2876, 2868, 2879, + 3040, 2864, 2853, 2863, 2875, 2850, 3040, 2873, 2872, 2871, + 0, 3040, 2865, 3040, 2850, 2868, 2846, 2847, 2862, 2860, + 2851, 2862, 3040, 2829, 2824, 0, 2828, 2819, 2826, 1542, + 2823, 1543, 2839, 1569, 1571, 1570, 1578, 1600, 1576, 1582, + 1592, 1579, 1591, 1621, 1580, 1594, 1614, 2837, 1627, 1612, + + 1631, 1607, 1621, 1611, 1608, 1627, 1629, 1622, 1635, 1651, + 1619, 1620, 2836, 1624, 1628, 1630, 1631, 1632, 1636, 1652, + 1666, 1663, 1674, 1665, 1671, 1670, 1685, 1693, 1689, 1674, + 1696, 1700, 1704, 1709, 1732, 1723, 1734, 1724, 1731, 1730, + 1738, 1747, 1754, 1755, 1762, 1743, 1758, 1763, 1769, 1776, + 1777, 1780, 1785, 1796, 1802, 1747, 1754, 1685, 1719, 1786, + 1710, 1791, 1817, 1799, 1821, 1824, 1828, 2854, 1827, 1790, + 1833, 1836, 1837, 1735, 1838, 1839, 1840, 1807, 1812, 2853, + 797, 1808, 1843, 1845, 1847, 1848, 1849, 2850, 2830, 3040, + 2830, 2834, 2828, 3040, 2842, 3040, 3040, 3040, 2827, 2843, + + 3040, 2841, 2841, 2825, 2834, 2833, 3040, 2798, 2811, 2798, + 2809, 2796, 2807, 2803, 2795, 2804, 2800, 0, 1850, 1852, + 1841, 1870, 1846, 1853, 1854, 1886, 1862, 1892, 1897, 1902, + 2810, 1868, 1906, 1891, 1882, 1885, 1645, 1896, 1914, 1879, + 1887, 1890, 1892, 1893, 1894, 1749, 1897, 1898, 1903, 1922, + 1929, 1918, 1950, 1935, 1942, 1938, 1954, 1946, 1974, 1976, + 1978, 1955, 1969, 1985, 1975, 1978, 1974, 1992, 1995, 1990, + 1989, 1996, 2000, 2009, 2013, 2014, 2017, 2020, 2035, 2036, + 2058, 1959, 1985, 2026, 1990, 2045, 1918, 2042, 2048, 2067, + 2049, 1935, 2068, 2069, 2059, 2063, 2071, 2072, 2073, 2074, + + 2077, 2078, 2079, 2081, 3040, 2821, 3040, 0, 2806, 2806, + 2816, 2807, 2803, 3040, 2800, 3040, 2807, 2802, 2817, 2818, + 2777, 2777, 2774, 2775, 2773, 2772, 2775, 2770, 2769, 2089, + 2077, 2094, 2789, 2070, 2073, 1992, 2078, 2083, 2123, 2086, + 2127, 2005, 2104, 2107, 2094, 2079, 2085, 2106, 2109, 2110, + 2111, 2108, 2112, 2113, 2142, 2138, 2143, 2141, 2146, 2152, + 2160, 2157, 2163, 2144, 2168, 2148, 2171, 2174, 2185, 2196, + 2189, 2192, 2193, 2200, 2207, 2215, 2218, 2222, 2233, 2155, + 2807, 2163, 2199, 2228, 2140, 2202, 2173, 2232, 2206, 2141, + 2806, 932, 2217, 2243, 2221, 2245, 2248, 2244, 2249, 2250, + + 2797, 2797, 2794, 2800, 2787, 0, 2786, 2778, 2769, 3040, + 2760, 2748, 2746, 2752, 2744, 2735, 2734, 2741, 2722, 2717, + 2244, 2250, 2249, 2257, 2247, 2738, 2251, 2255, 2256, 2288, + 2300, 2252, 2259, 2267, 2264, 2268, 2276, 2279, 2280, 2281, + 2295, 2298, 2315, 2312, 2320, 2319, 2328, 2333, 2336, 2273, + 2316, 2341, 2347, 2344, 2350, 2355, 2358, 2371, 2372, 2375, + 2311, 2394, 2360, 2302, 2371, 2756, 2372, 2308, 2326, 2722, + 2377, 2382, 2388, 2397, 2398, 2400, 2402, 2403, 2405, 2748, + 2730, 2740, 3040, 2718, 2707, 2700, 2711, 2690, 0, 2668, + 0, 2643, 0, 0, 2653, 0, 0, 2404, 2661, 2405, + + 2417, 2395, 2401, 2406, 2411, 2438, 2660, 2408, 2659, 2414, + 2658, 2657, 2417, 2655, 2654, 2440, 2432, 2441, 2463, 2447, + 2454, 2458, 2461, 2479, 2469, 2474, 2475, 2478, 2482, 2483, + 2496, 2500, 2503, 2497, 2437, 2505, 2409, 2463, 2488, 2512, + 2642, 2668, 2506, 2667, 2515, 2660, 2650, 2519, 2649, 2648, + 3040, 2618, 3040, 2590, 2601, 2575, 2555, 2504, 0, 0, + 0, 2534, 2510, 2540, 2513, 2524, 2466, 2534, 2546, 2419, + 2396, 2324, 2547, 2538, 2557, 2541, 2542, 2547, 2562, 2577, + 2561, 2565, 2568, 2552, 2574, 2575, 2578, 2587, 2293, 2198, + 2086, 1988, 0, 1908, 3040, 1855, 3040, 1542, 1475, 1344, + + 2599, 2589, 2607, 2611, 2591, 2598, 2616, 2611, 2629, 2630, + 1307, 2595, 2625, 846, 706, 3040, 551, 2620, 2639, 2643, + 2633, 2649, 2651, 2626, 366, 3040, 299, 2653, 2663, 2664, + 2668, 88, 3040, 2670, 2675, 3040, 2694, 2701, 2708, 51, + 2715, 2722, 2729, 2736, 2743, 2750, 2757, 2764, 2771, 2773, + 2775, 2782, 2789, 2796, 2803 } ; -static yyconst flex_int16_t yy_def[1561] = +static yyconst short int yy_def[1256] = { 0, - 1537, 1, 1538, 1539, 1537, 5, 1537, 7, 1537, 9, - 1537, 11, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, - 1537, 1537, 1537, 1540, 1540, 1540, 1540, 1540, 1540, 1540, - 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, - 1540, 1540, 1540, 1540, 1540, 1540, 1537, 1541, 1540, 1540, - 1537, 1537, 1537, 1542, 1537, 1543, 1537, 1537, 1542, 1543, - 1543, 1543, 1544, 1537, 1537, 1544, 1544, 1544, 1544, 1544, - 1544, 1545, 1545, 73, 73, 73, 73, 73, 73, 73, + 1236, 1, 1237, 1238, 1236, 5, 1236, 7, 1236, 9, + 1239, 1239, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, + 1236, 1236, 1236, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1236, 1241, 1240, 1240, + 1236, 1236, 1236, 1242, 1236, 1243, 1236, 1236, 1242, 1243, + 1243, 1243, 1244, 1236, 1236, 1244, 1244, 1244, 1244, 1244, + 1244, 1245, 1245, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 1546, 73, 73, 1547, 1537, 1537, + 73, 73, 73, 73, 1246, 73, 73, 1247, 1236, 1236, - 1537, 1547, 1547, 1547, 1537, 1547, 1547, 1548, 1548, 1548, - 1548, 1548, 112, 112, 112, 112, 112, 112, 112, 112, + 1236, 1247, 1247, 1247, 1236, 1247, 1247, 1248, 1248, 1248, + 1248, 1248, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 1537, 1549, 112, 112, 1537, 1537, 1537, 1550, 1550, 1551, - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, - 1551, 1551, 1537, 1551, 1551, 1552, 1537, 1537, 1537, 1552, - 1552, 1552, 1537, 1552, 1552, 1553, 1553, 1553, 1553, 1553, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 1537, 1554, - - 180, 180, 1537, 1537, 1537, 1540, 1540, 1540, 1540, 1540, - 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, - 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, - 1540, 1540, 1540, 1540, 1540, 1537, 1541, 1541, 1540, 1540, - 1540, 1537, 1537, 1537, 1537, 1543, 1537, 1537, 1537, 1543, - 1543, 1543, 1544, 1544, 1537, 1544, 73, 73, 73, 73, + 1236, 1249, 112, 112, 1236, 1236, 1236, 1250, 1250, 1251, + 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, + 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, + 1251, 1251, 1236, 1251, 1251, 1252, 1236, 1236, 1236, 1236, + 1236, 1236, 1236, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + + 1240, 1240, 1240, 1236, 1241, 1241, 1240, 1240, 1240, 1236, + 1236, 1236, 1236, 1243, 1236, 1236, 1236, 1243, 1243, 1243, + 1244, 1244, 1236, 1244, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 1546, 1546, 73, 73, - 73, 1555, 1537, 1537, 1537, 1537, 1555, 1556, 1556, 1556, - - 1556, 301, 301, 301, 301, 301, 301, 301, 301, 301, - 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, - 301, 301, 301, 301, 301, 301, 301, 1537, 1557, 301, - 301, 301, 1537, 1537, 1537, 1537, 1550, 1550, 1551, 1551, - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1537, 1551, - 1551, 1551, 1558, 1537, 1537, 1537, 1537, 1558, 1559, 1559, - 1559, 1559, 382, 382, 382, 382, 382, 382, 382, 382, - 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - - 382, 382, 382, 382, 382, 382, 382, 382, 1537, 1560, - 382, 382, 382, 1540, 1540, 1540, 1540, 1540, 1540, 1540, - 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, - 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, - 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1543, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 1246, 1246, 73, 73, 73, 1253, + 1236, 1236, 1236, 1236, 1253, 1254, 1254, 1254, 1254, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 1236, 1255, 269, 269, 269, + + 1236, 1236, 1236, 1236, 1250, 1250, 1251, 1251, 1251, 1251, + 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, + 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, + 1251, 1251, 1251, 1251, 1251, 1251, 1236, 1251, 1251, 1251, + 1252, 1252, 1236, 1236, 1236, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1243, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 1555, 1555, 301, 301, - 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, - - 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, - 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, - 301, 301, 301, 301, 1557, 301, 301, 301, 301, 1551, - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, - 1551, 1551, 1551, 1551, 1551, 1558, 1558, 382, 382, 382, - 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - - 382, 382, 382, 1560, 382, 382, 382, 382, 1540, 1540, - 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, - 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, - 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, - 1540, 1540, 1540, 1540, 1540, 1543, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 1253, 1253, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 1255, 269, 269, 269, + 269, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, + 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, + 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, + 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1240, 1240, 1240, + + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1243, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 301, 301, 301, 301, 301, 301, 301, - 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, - - 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, - 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 382, 382, 382, - 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - 382, 382, 382, 382, 1540, 1540, 1540, 1540, 1537, 1540, - - 1540, 1540, 1540, 1540, 1537, 1540, 1540, 1540, 1540, 1537, - 1540, 1537, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, - 1537, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, - 1543, 73, 73, 73, 73, 1544, 73, 73, 73, 73, - 73, 1544, 73, 73, 73, 73, 1544, 73, 1544, 73, - 73, 73, 73, 73, 73, 73, 73, 1544, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 301, 301, 301, - 301, 1555, 301, 301, 301, 301, 301, 1555, 301, 301, - 301, 301, 1555, 301, 1555, 301, 301, 301, 301, 301, - 301, 301, 301, 1555, 301, 301, 301, 301, 301, 301, - - 301, 301, 301, 1551, 1551, 1551, 1551, 1551, 1551, 1551, - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, - 1551, 1551, 1551, 1551, 382, 382, 382, 382, 1558, 382, - 382, 382, 382, 382, 1558, 382, 382, 382, 382, 1558, - 382, 1558, 382, 382, 382, 382, 382, 382, 382, 382, - 1558, 382, 382, 382, 382, 382, 382, 382, 382, 382, - 1540, 1540, 1540, 1537, 1540, 1540, 1540, 1537, 1540, 1537, - 1537, 1537, 1540, 1540, 1537, 1540, 1540, 1540, 1540, 1540, - 1537, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, - - 1540, 1543, 73, 73, 73, 1544, 73, 73, 73, 1544, - 73, 1544, 1544, 1544, 73, 73, 1544, 73, 73, 73, - 73, 73, 1544, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 301, 301, 301, 1555, 301, 301, 301, - 1555, 301, 1555, 1555, 1555, 301, 301, 1555, 301, 301, - 301, 301, 301, 1555, 301, 301, 301, 301, 301, 301, - 301, 301, 301, 301, 1551, 1551, 1551, 1551, 1551, 1551, - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 382, 382, - 382, 1558, 382, 382, 382, 1558, 382, 1558, 1558, 1558, - - 382, 382, 1558, 382, 382, 382, 382, 382, 1558, 382, - 382, 382, 382, 382, 382, 382, 382, 382, 382, 1537, - 1540, 1537, 1540, 1540, 1540, 1540, 1540, 1540, 1537, 1540, - 1537, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, - 1540, 1540, 1540, 1540, 1544, 73, 1544, 73, 73, 73, - 73, 73, 73, 1544, 73, 1544, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 1555, - 301, 1555, 301, 301, 301, 301, 301, 301, 1555, 301, - 1555, 301, 301, 301, 301, 301, 301, 301, 301, 301, - 301, 301, 301, 301, 1551, 1551, 1551, 1551, 1551, 1551, - - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, - 1551, 1551, 1551, 1551, 1551, 1558, 382, 1558, 382, 382, - 382, 382, 382, 382, 1558, 382, 1558, 382, 382, 382, - 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1537, - 1537, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 1544, - 1544, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 301, 301, 301, 301, 301, 301, 301, 301, 301, 1555, - 1555, 301, 301, 301, 301, 301, 301, 301, 301, 301, - - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1550, - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 382, - 382, 382, 382, 382, 382, 382, 382, 382, 1558, 1558, - 382, 382, 382, 382, 382, 382, 382, 382, 382, 1540, - 1540, 1540, 1537, 1540, 1540, 1540, 1540, 1537, 1540, 1540, - 1540, 1540, 1540, 1540, 1540, 1540, 1540, 73, 73, 73, - 1544, 73, 73, 73, 73, 1544, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 301, 301, 301, 1555, 301, - 301, 301, 301, 1555, 301, 301, 301, 301, 301, 301, - 301, 301, 301, 1551, 1551, 1551, 1551, 1551, 1551, 1551, - - 1550, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, - 382, 382, 382, 1558, 382, 382, 382, 382, 1558, 382, - 382, 382, 382, 382, 382, 382, 382, 382, 1537, 1540, - 1537, 1540, 1540, 1540, 1540, 1537, 1540, 1540, 1540, 1544, - 73, 1544, 73, 73, 73, 73, 1544, 73, 73, 73, - 1555, 301, 1555, 301, 301, 301, 301, 1555, 301, 301, - 301, 1551, 1551, 1551, 1551, 1551, 1550, 1551, 1551, 1551, - 1558, 382, 1558, 382, 382, 382, 382, 1558, 382, 382, - 382, 1540, 1540, 1537, 1540, 1537, 1537, 73, 73, 1544, - 73, 1544, 1544, 301, 301, 1555, 301, 1555, 1555, 1551, - - 1551, 1551, 1550, 382, 382, 1558, 382, 1558, 1558, 1540, - 1537, 1537, 73, 1544, 1544, 301, 1555, 1555, 1551, 1550, - 382, 1558, 1558, 1537, 1537, 1544, 1544, 1555, 1555, 1550, - 1558, 1558, 1537, 1544, 1555, 1558, 0, 1537, 1537, 1537, - 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, - 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537 + 73, 73, 269, 269, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + + 269, 269, 269, 269, 269, 269, 269, 269, 269, 1251, + 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, + 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, + 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, + 1251, 1251, 1251, 1251, 1251, 1251, 1240, 1240, 1240, 1240, + 1236, 1240, 1240, 1240, 1240, 1240, 1236, 1240, 1240, 1240, + 1240, 1236, 1240, 1236, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1236, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1243, 73, 73, 73, 73, 1244, 73, 73, + 73, 73, 73, 1244, 73, 73, 73, 73, 1244, 73, + + 1244, 73, 73, 73, 73, 73, 73, 73, 73, 1244, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 269, + 269, 269, 269, 1253, 269, 269, 269, 269, 269, 1253, + 269, 269, 269, 269, 1253, 269, 1253, 269, 269, 269, + 269, 269, 269, 269, 269, 1253, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 1251, 1251, 1251, 1251, 1251, + 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, + 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, + 1251, 1251, 1251, 1251, 1251, 1251, 1240, 1240, 1240, 1236, + 1240, 1240, 1240, 1236, 1240, 1236, 1236, 1236, 1240, 1240, + + 1236, 1240, 1240, 1240, 1240, 1240, 1236, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1243, 73, 73, + 73, 1244, 73, 73, 73, 1244, 73, 1244, 1244, 1244, + 73, 73, 1244, 73, 73, 73, 73, 73, 1244, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 269, + 269, 269, 1253, 269, 269, 269, 1253, 269, 1253, 1253, + 1253, 269, 269, 1253, 269, 269, 269, 269, 269, 1253, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, + 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, + + 1251, 1251, 1251, 1251, 1236, 1240, 1236, 1240, 1240, 1240, + 1240, 1240, 1240, 1236, 1240, 1236, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1244, + 73, 1244, 73, 73, 73, 73, 73, 73, 1244, 73, + 1244, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 1253, 269, 1253, 269, 269, 269, + 269, 269, 269, 1253, 269, 1253, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 1251, + 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, + 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, + + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1236, + 1236, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 1244, + 1244, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 1253, + 1253, 269, 269, 269, 269, 269, 269, 269, 269, 269, + 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1250, + 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1240, + 1240, 1240, 1236, 1240, 1240, 1240, 1240, 1236, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 73, 73, 73, + + 1244, 73, 73, 73, 73, 1244, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 269, 269, 269, 1253, 269, + 269, 269, 269, 1253, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 1251, 1251, 1251, 1251, 1251, 1251, 1251, + 1250, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, + 1236, 1240, 1236, 1240, 1240, 1240, 1240, 1236, 1240, 1240, + 1240, 1244, 73, 1244, 73, 73, 73, 73, 1244, 73, + 73, 73, 1253, 269, 1253, 269, 269, 269, 269, 1253, + 269, 269, 269, 1251, 1251, 1251, 1251, 1251, 1250, 1251, + 1251, 1251, 1240, 1240, 1236, 1240, 1236, 1236, 73, 73, + + 1244, 73, 1244, 1244, 269, 269, 1253, 269, 1253, 1253, + 1251, 1251, 1251, 1250, 1240, 1236, 1236, 73, 1244, 1244, + 269, 1253, 1253, 1251, 1250, 1236, 1236, 1244, 1244, 1253, + 1253, 1250, 1236, 1244, 1253, 0, 1236, 1236, 1236, 1236, + 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, + 1236, 1236, 1236, 1236, 1236 } ; -static yyconst flex_int16_t yy_nxt[4306] = +static yyconst short int yy_nxt[3096] = { 0, 14, 15, 16, 17, 15, 18, 14, 19, 20, 21, 22, 23, 14, 24, 25, 26, 27, 28, 29, 24, 24, 30, 24, 31, 32, 33, 34, 35, 36, 37, 38, 39, 24, 24, 24, 24, 24, 24, 24, 40, 41, 42, 24, 24, 24, 24, 43, 24, 44, 24, - 45, 24, 24, 24, 46, 47, 203, 337, 47, 203, - 48, 52, 53, 54, 210, 55, 51, 57, 58, 59, - 214, 60, 211, 215, 221, 222, 225, 216, 229, 49, - 239, 236, 61, 223, 236, 240, 237, 230, 226, 242, - 244, 245, 927, 259, 218, 247, 248, 249, 254, 257, - - 254, 254, 257, 254, 50, 254, 254, 234, 263, 254, - 241, 254, 254, 257, 282, 62, 63, 15, 64, 65, + 45, 24, 24, 24, 46, 47, 171, 174, 47, 171, + 48, 52, 53, 54, 193, 55, 51, 57, 58, 59, + 178, 60, 167, 168, 169, 167, 194, 208, 179, 49, + 170, 207, 61, 167, 168, 169, 167, 182, 189, 190, + 183, 170, 197, 204, 184, 186, 204, 191, 205, 202, + + 1233, 198, 209, 227, 50, 210, 212, 213, 215, 216, + 217, 222, 225, 222, 222, 62, 63, 15, 64, 65, 15, 66, 63, 67, 68, 69, 70, 71, 63, 72, 73, 74, 75, 76, 77, 72, 72, 78, 72, 79, 80, 81, 82, 83, 84, 85, 86, 87, 72, 72, 72, 72, 72, 72, 72, 88, 89, 90, 72, 72, 72, 72, 91, 72, 92, 72, 93, 72, 72, 72, - 94, 47, 251, 257, 47, 254, 95, 254, 254, 254, - 260, 254, 254, 254, 279, 254, 254, 254, 261, 254, - 254, 257, 257, 257, 257, 96, 262, 256, 257, 265, + 94, 47, 219, 225, 47, 222, 95, 222, 222, 222, + 228, 222, 222, 222, 247, 222, 222, 222, 238, 222, + 222, 222, 225, 222, 222, 96, 222, 231, 222, 222, - 264, 268, 266, 270, 257, 252, 267, 269, 257, 257, - 257, 283, 275, 257, 257, 286, 284, 484, 206, 257, + 229, 236, 225, 225, 225, 220, 224, 225, 230, 232, + 237, 225, 225, 225, 243, 256, 225, 256, 256, 252, 97, 98, 99, 100, 101, 99, 102, 98, 103, 104, 105, 106, 107, 98, 108, 109, 110, 111, 112, 113, 108, 108, 114, 108, 115, 116, 117, 118, 119, 120, 121, 122, 123, 108, 108, 108, 108, 108, 108, 108, 124, 125, 126, 108, 108, 108, 108, 127, 108, 128, - 108, 129, 108, 108, 108, 130, 131, 272, 273, 131, - 276, 132, 257, 278, 1533, 257, 274, 257, 288, 257, - 288, 288, 277, 280, 289, 298, 304, 290, 298, 257, + 108, 129, 108, 108, 108, 130, 131, 233, 225, 131, + 234, 132, 240, 241, 235, 244, 246, 225, 225, 257, + 225, 242, 225, 250, 225, 225, 266, 245, 248, 280, - 133, 257, 281, 298, 337, 285, 298, 337, 269, 320, - 257, 293, 294, 295, 293, 295, 296, 295, 295, 285, - 257, 345, 291, 340, 465, 134, 14, 135, 136, 137, + 133, 225, 225, 237, 266, 225, 305, 249, 305, 351, + 251, 1233, 254, 253, 261, 262, 263, 261, 263, 264, + 263, 263, 313, 319, 352, 134, 14, 135, 136, 137, 135, 18, 14, 19, 20, 21, 138, 139, 14, 140, 141, 142, 143, 144, 145, 140, 140, 146, 140, 147, 148, 149, 150, 151, 152, 153, 154, 155, 140, 140, 140, 140, 140, 140, 140, 156, 157, 158, 140, 140, 140, 140, 159, 140, 160, 140, 161, 140, 140, 140, - 162, 163, 298, 311, 163, 306, 48, 305, 307, 309, - 298, 238, 308, 298, 298, 310, 298, 238, 298, 298, - - 298, 298, 298, 312, 298, 164, 298, 298, 298, 313, - 314, 298, 298, 316, 298, 317, 337, 323, 315, 298, - 298, 298, 298, 1533, 467, 325, 341, 318, 257, 298, - 165, 166, 167, 168, 169, 167, 170, 166, 171, 172, - 173, 174, 175, 166, 176, 177, 178, 179, 180, 181, - 176, 176, 182, 176, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 176, 176, 176, 176, 176, 176, 176, - 192, 193, 194, 176, 176, 176, 176, 195, 176, 196, - 176, 197, 176, 176, 176, 198, 199, 319, 298, 199, - 298, 200, 337, 298, 337, 337, 298, 337, 298, 342, - - 298, 298, 350, 257, 321, 337, 298, 337, 298, 324, - 201, 326, 330, 322, 298, 346, 328, 294, 295, 328, - 327, 237, 351, 343, 478, 298, 310, 333, 334, 335, - 333, 344, 337, 298, 365, 202, 253, 254, 337, 254, - 254, 253, 253, 253, 253, 253, 253, 337, 253, 253, - 254, 353, 254, 254, 253, 253, 253, 253, 253, 253, - 337, 253, 337, 238, 357, 352, 337, 337, 347, 238, - 360, 348, 364, 337, 337, 349, 358, 337, 258, 292, - 292, 331, 298, 292, 292, 292, 292, 292, 359, 292, - 298, 292, 292, 292, 337, 337, 292, 292, 292, 292, - - 292, 362, 292, 326, 292, 444, 332, 361, 354, 355, - 363, 337, 379, 391, 748, 337, 337, 356, 445, 370, - 379, 299, 292, 292, 251, 368, 292, 292, 292, 292, - 292, 379, 292, 351, 292, 385, 386, 379, 366, 379, - 337, 337, 300, 292, 292, 379, 379, 292, 292, 292, - 292, 292, 367, 292, 379, 292, 371, 252, 435, 727, - 301, 292, 292, 390, 404, 292, 292, 292, 292, 292, - 436, 292, 379, 292, 369, 334, 335, 369, 367, 237, - 379, 372, 374, 375, 376, 374, 203, 302, 1530, 203, - 254, 387, 254, 254, 388, 303, 373, 373, 389, 379, - - 373, 373, 373, 373, 373, 392, 373, 379, 373, 373, - 373, 422, 416, 373, 373, 373, 373, 373, 379, 373, - 379, 373, 417, 393, 418, 423, 379, 240, 379, 379, - 397, 337, 394, 395, 379, 400, 725, 379, 380, 373, - 373, 396, 379, 373, 373, 373, 373, 373, 379, 373, - 236, 373, 241, 236, 379, 237, 379, 398, 451, 381, - 373, 373, 379, 379, 373, 373, 373, 373, 373, 399, - 373, 379, 373, 379, 257, 405, 452, 382, 373, 373, - 419, 379, 373, 373, 373, 373, 373, 401, 373, 379, - 373, 379, 257, 379, 257, 420, 463, 379, 1525, 379, - - 402, 379, 406, 379, 383, 409, 375, 376, 409, 403, - 237, 379, 384, 411, 407, 412, 379, 408, 242, 244, - 245, 247, 248, 249, 379, 337, 379, 391, 254, 456, - 254, 254, 540, 254, 379, 254, 254, 407, 453, 458, - 413, 459, 257, 256, 457, 469, 461, 257, 454, 257, - 455, 462, 464, 466, 257, 460, 257, 257, 257, 468, - 470, 257, 471, 257, 476, 472, 257, 257, 257, 474, - 475, 257, 257, 257, 257, 257, 257, 473, 257, 257, - 257, 479, 481, 477, 288, 257, 288, 288, 486, 257, - 289, 480, 337, 483, 288, 482, 288, 288, 290, 541, - - 292, 485, 257, 292, 1524, 337, 257, 293, 294, 295, - 293, 295, 294, 295, 295, 292, 537, 337, 292, 328, - 294, 295, 328, 291, 237, 488, 487, 292, 547, 337, - 292, 487, 487, 487, 487, 535, 487, 337, 487, 487, - 292, 337, 651, 292, 487, 487, 487, 487, 549, 487, - 536, 487, 490, 487, 292, 1520, 257, 292, 487, 487, - 487, 487, 542, 487, 337, 487, 491, 487, 292, 500, - 489, 292, 487, 487, 487, 487, 495, 487, 489, 487, - 489, 543, 489, 337, 489, 492, 530, 497, 489, 337, - 489, 496, 489, 498, 489, 493, 489, 494, 489, 337, - - 501, 489, 489, 337, 489, 502, 489, 499, 489, 489, - 489, 489, 544, 489, 546, 503, 489, 489, 489, 489, - 730, 489, 337, 489, 504, 505, 337, 489, 489, 489, - 506, 507, 508, 489, 337, 489, 489, 489, 489, 509, - 489, 511, 545, 555, 489, 510, 489, 489, 489, 489, - 489, 489, 337, 512, 489, 514, 489, 337, 489, 489, - 489, 489, 489, 489, 563, 513, 489, 515, 489, 489, - 489, 489, 489, 489, 553, 337, 489, 489, 489, 554, - 489, 516, 489, 489, 489, 489, 337, 489, 556, 489, - 489, 489, 489, 518, 329, 489, 238, 329, 520, 742, - - 489, 489, 238, 489, 517, 489, 519, 489, 489, 527, - 489, 521, 489, 337, 489, 489, 531, 337, 526, 522, - 489, 337, 528, 337, 489, 489, 489, 489, 337, 523, - 337, 532, 524, 333, 334, 335, 333, 337, 337, 337, - 538, 533, 548, 534, 337, 337, 337, 529, 550, 551, - 369, 334, 335, 369, 539, 237, 558, 557, 559, 337, - 337, 552, 370, 668, 560, 337, 562, 373, 649, 257, - 373, 374, 375, 376, 374, 655, 337, 561, 565, 373, - 371, 574, 373, 568, 257, 257, 564, 568, 568, 567, - 576, 579, 568, 568, 665, 568, 575, 568, 568, 568, - - 568, 581, 568, 747, 568, 372, 566, 373, 257, 659, - 373, 566, 566, 566, 566, 257, 566, 650, 566, 566, - 373, 257, 337, 373, 566, 566, 566, 566, 257, 566, - 654, 566, 569, 566, 373, 257, 662, 373, 566, 566, - 566, 566, 656, 566, 257, 566, 570, 566, 373, 580, - 568, 373, 566, 566, 566, 566, 577, 566, 257, 566, - 568, 568, 568, 647, 568, 571, 257, 586, 681, 568, - 578, 568, 568, 568, 568, 572, 568, 573, 582, 568, - 568, 568, 568, 1513, 568, 658, 568, 583, 584, 587, - 568, 652, 568, 585, 568, 257, 568, 568, 568, 590, - - 588, 257, 568, 589, 568, 568, 568, 568, 568, 568, - 648, 591, 568, 257, 568, 568, 568, 568, 568, 592, - 568, 593, 568, 594, 660, 568, 568, 257, 568, 657, - 568, 568, 568, 257, 568, 568, 568, 568, 661, 595, - 568, 568, 568, 568, 568, 568, 568, 337, 568, 568, - 257, 597, 739, 639, 568, 568, 568, 568, 568, 568, - 640, 568, 596, 599, 641, 598, 666, 257, 568, 257, - 568, 257, 601, 663, 667, 673, 600, 409, 375, 376, - 409, 568, 237, 602, 410, 257, 238, 410, 568, 606, - 603, 605, 238, 568, 568, 607, 664, 257, 568, 669, - - 568, 670, 257, 671, 568, 257, 568, 257, 257, 257, - 672, 257, 257, 257, 257, 292, 257, 257, 292, 676, - 608, 292, 489, 337, 292, 675, 677, 674, 337, 257, - 733, 488, 489, 678, 489, 489, 680, 679, 682, 683, - 489, 686, 865, 684, 721, 489, 489, 489, 685, 489, - 489, 688, 489, 489, 489, 337, 489, 489, 489, 489, - 689, 489, 687, 489, 489, 489, 489, 489, 690, 489, - 489, 722, 337, 337, 489, 692, 695, 257, 489, 735, - 489, 489, 489, 691, 489, 489, 489, 693, 489, 734, - 489, 489, 694, 489, 489, 489, 337, 489, 696, 489, - - 489, 337, 697, 337, 489, 729, 489, 698, 489, 489, - 489, 489, 699, 700, 489, 337, 701, 489, 489, 702, - 489, 736, 489, 489, 489, 741, 489, 489, 489, 489, - 726, 703, 489, 489, 489, 489, 489, 489, 489, 337, - 489, 705, 704, 707, 489, 337, 489, 489, 489, 489, - 706, 489, 489, 489, 489, 489, 708, 489, 489, 337, - 724, 489, 489, 709, 489, 489, 489, 489, 489, 489, - 489, 710, 750, 489, 337, 489, 489, 489, 489, 489, - 728, 737, 489, 489, 713, 489, 489, 712, 337, 489, - 711, 489, 489, 337, 489, 738, 489, 714, 489, 717, - - 718, 337, 489, 329, 715, 238, 329, 337, 716, 740, - 489, 238, 489, 527, 489, 719, 731, 489, 489, 720, - 526, 337, 489, 337, 528, 337, 723, 489, 489, 489, - 489, 337, 337, 744, 732, 337, 337, 337, 337, 337, - 337, 568, 743, 373, 749, 832, 373, 373, 568, 529, - 373, 568, 745, 568, 568, 746, 758, 567, 568, 257, - 568, 337, 759, 835, 568, 257, 568, 755, 751, 760, - 762, 838, 257, 568, 568, 752, 914, 568, 754, 753, - 756, 757, 568, 568, 568, 568, 568, 568, 568, 568, - 761, 568, 568, 764, 568, 763, 568, 766, 568, 833, - - 568, 568, 568, 568, 765, 769, 568, 810, 568, 568, - 568, 767, 568, 257, 568, 568, 768, 770, 568, 568, - 568, 568, 568, 771, 568, 568, 811, 568, 568, 337, - 568, 772, 568, 837, 568, 257, 773, 774, 568, 907, - 775, 568, 568, 776, 568, 844, 568, 568, 568, 257, - 568, 568, 568, 568, 1003, 777, 568, 568, 568, 568, - 568, 568, 568, 257, 568, 779, 778, 781, 568, 1512, - 568, 568, 568, 568, 780, 568, 568, 568, 568, 568, - 782, 568, 568, 257, 840, 568, 568, 783, 568, 568, - 568, 568, 568, 568, 568, 784, 852, 568, 257, 568, - - 568, 568, 568, 568, 257, 839, 568, 568, 787, 568, - 568, 786, 257, 568, 785, 568, 568, 257, 568, 843, - 568, 788, 568, 791, 792, 867, 568, 410, 789, 238, - 410, 257, 790, 857, 568, 238, 568, 606, 568, 793, - 836, 568, 568, 794, 605, 842, 568, 257, 607, 847, - 834, 568, 568, 568, 568, 257, 845, 257, 846, 849, - 851, 850, 257, 257, 257, 853, 257, 257, 848, 856, - 257, 257, 257, 608, 854, 858, 257, 257, 855, 257, - 257, 257, 257, 257, 868, 257, 257, 489, 337, 337, - 1511, 869, 257, 904, 489, 860, 866, 489, 862, 489, - - 859, 863, 864, 861, 489, 489, 489, 872, 489, 337, - 871, 906, 489, 489, 905, 489, 489, 489, 489, 870, - 489, 873, 489, 489, 489, 489, 489, 489, 489, 337, - 489, 799, 337, 874, 1510, 878, 489, 489, 337, 489, - 489, 489, 876, 337, 489, 875, 489, 877, 489, 908, - 337, 489, 489, 489, 489, 489, 489, 879, 911, 880, - 489, 892, 489, 883, 489, 489, 882, 881, 885, 489, - 489, 489, 489, 489, 489, 489, 910, 887, 489, 489, - 930, 489, 884, 886, 489, 489, 489, 489, 489, 489, - 489, 337, 888, 489, 489, 337, 894, 489, 919, 489, - - 889, 489, 489, 489, 489, 489, 489, 489, 489, 489, - 337, 890, 489, 489, 489, 891, 489, 489, 489, 337, - 489, 893, 489, 489, 337, 489, 489, 489, 489, 489, - 489, 489, 489, 337, 489, 909, 489, 337, 912, 805, - 489, 489, 489, 489, 896, 913, 489, 895, 489, 489, - 337, 337, 489, 915, 337, 897, 489, 898, 337, 489, - 899, 489, 489, 900, 489, 489, 489, 337, 489, 810, - 918, 337, 916, 901, 902, 489, 337, 489, 812, 337, - 903, 337, 920, 337, 337, 337, 337, 337, 917, 821, - 337, 928, 924, 921, 337, 337, 337, 935, 337, 1004, - - 568, 936, 939, 568, 568, 997, 925, 922, 568, 923, - 568, 257, 568, 568, 568, 568, 568, 937, 568, 998, - 568, 568, 1015, 938, 1000, 929, 933, 932, 926, 931, - 934, 568, 568, 568, 257, 568, 568, 945, 1001, 568, - 1006, 940, 568, 568, 568, 568, 568, 568, 568, 568, - 568, 943, 941, 568, 942, 568, 568, 257, 257, 337, - 568, 944, 568, 568, 568, 1008, 568, 1021, 568, 946, - 947, 568, 950, 568, 568, 568, 948, 949, 568, 952, - 257, 568, 1005, 568, 568, 568, 1007, 257, 568, 257, - 568, 951, 953, 1079, 568, 568, 568, 568, 954, 568, - - 568, 1009, 257, 955, 568, 257, 1018, 568, 568, 568, - 568, 568, 568, 956, 568, 959, 568, 568, 568, 568, - 568, 568, 957, 961, 337, 568, 958, 568, 568, 568, - 257, 568, 568, 568, 960, 568, 568, 1011, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, - 257, 257, 1016, 568, 568, 568, 257, 568, 1019, 568, - 1020, 568, 962, 963, 568, 568, 568, 568, 964, 568, - 965, 1162, 568, 568, 257, 568, 1010, 568, 966, 969, - 1012, 967, 568, 568, 568, 568, 1013, 1014, 254, 968, - 254, 254, 254, 257, 254, 254, 970, 257, 254, 1017, - - 254, 254, 1023, 257, 257, 254, 1022, 254, 254, 257, - 254, 257, 254, 254, 257, 257, 257, 257, 257, 257, - 257, 257, 292, 257, 1024, 292, 489, 292, 1034, 1026, - 292, 1029, 1028, 1025, 1032, 337, 489, 1031, 489, 1027, - 1035, 489, 1066, 1037, 489, 1030, 1503, 337, 1033, 489, - 1036, 489, 489, 489, 489, 489, 489, 1065, 337, 489, - 1038, 489, 489, 1041, 489, 489, 337, 489, 489, 489, - 1043, 1044, 489, 1039, 1068, 1040, 489, 489, 489, 489, - 489, 489, 489, 489, 489, 1045, 489, 489, 489, 489, - 1042, 489, 1069, 489, 292, 489, 257, 292, 1046, 489, - - 489, 489, 292, 489, 1161, 292, 489, 489, 1048, 489, - 489, 489, 489, 1047, 489, 257, 489, 489, 489, 489, - 1050, 1049, 1051, 1163, 489, 489, 489, 1052, 489, 489, - 1054, 337, 337, 974, 1053, 489, 489, 489, 489, 489, - 489, 489, 292, 489, 489, 292, 489, 489, 489, 337, - 489, 489, 337, 489, 489, 489, 489, 489, 489, 489, - 489, 489, 489, 489, 1070, 1081, 489, 489, 489, 1055, - 489, 337, 337, 1073, 1056, 1057, 489, 489, 489, 489, - 337, 489, 978, 1059, 1058, 1067, 337, 337, 1060, 980, - 337, 489, 981, 489, 1062, 337, 337, 982, 1071, 337, - - 337, 1076, 1061, 1063, 337, 337, 1072, 985, 337, 1074, - 1077, 337, 337, 991, 337, 337, 337, 1064, 337, 337, - 257, 1075, 1078, 568, 568, 1089, 1090, 568, 373, 373, - 1091, 373, 373, 568, 568, 568, 568, 568, 1092, 568, - 373, 1147, 373, 373, 568, 373, 1084, 1120, 1083, 1087, - 1080, 1121, 568, 1086, 568, 1082, 568, 568, 257, 257, - 1085, 568, 568, 1088, 568, 1093, 1096, 568, 1095, 568, - 1094, 568, 568, 568, 1098, 568, 373, 257, 1149, 373, - 568, 1160, 568, 1099, 568, 568, 568, 568, 1100, 568, - 568, 337, 568, 1097, 568, 568, 568, 1152, 568, 568, - - 1304, 568, 1101, 568, 568, 568, 568, 568, 1102, 568, - 1103, 257, 257, 568, 1148, 568, 568, 568, 1150, 568, - 1106, 568, 257, 568, 1104, 337, 568, 568, 568, 568, - 1105, 568, 1107, 568, 568, 568, 1109, 1108, 568, 568, - 1198, 568, 568, 568, 568, 568, 568, 257, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 1145, 1154, - 568, 568, 1146, 568, 1110, 568, 568, 568, 568, 1111, - 568, 568, 568, 568, 568, 257, 257, 568, 1112, 568, - 257, 1151, 1156, 1115, 568, 1114, 568, 1155, 254, 1113, - 254, 254, 337, 1157, 1117, 257, 1118, 1116, 254, 257, - - 254, 254, 254, 257, 254, 254, 254, 1158, 254, 254, - 1119, 254, 1159, 254, 254, 254, 257, 254, 254, 257, - 254, 257, 254, 254, 257, 257, 257, 257, 257, 1165, - 292, 1208, 489, 292, 1170, 1168, 1164, 1166, 1171, 1169, - 489, 1172, 489, 1167, 489, 1173, 489, 489, 292, 1261, - 489, 292, 489, 489, 489, 337, 489, 489, 1174, 489, - 1175, 257, 1204, 489, 489, 489, 1176, 1177, 292, 292, - 489, 292, 292, 292, 489, 1179, 292, 337, 337, 1122, - 489, 489, 489, 1180, 489, 1178, 489, 292, 489, 1181, - 292, 489, 489, 489, 292, 489, 337, 292, 489, 1196, - - 489, 1182, 489, 489, 489, 489, 489, 489, 1183, 489, - 257, 1184, 489, 489, 1359, 489, 489, 489, 489, 489, - 489, 489, 489, 489, 489, 1186, 257, 489, 489, 489, - 489, 489, 489, 489, 489, 489, 1185, 1206, 489, 1188, - 489, 489, 337, 489, 489, 489, 489, 1190, 1187, 489, - 337, 337, 1120, 1191, 1189, 489, 1195, 489, 337, 489, - 337, 489, 1197, 1192, 1193, 1200, 337, 337, 1129, 337, - 1201, 1194, 1202, 337, 337, 1131, 337, 337, 1199, 337, - 337, 1205, 337, 337, 1203, 337, 337, 1491, 568, 373, - 1216, 1271, 373, 1218, 1217, 257, 568, 1262, 568, 568, - - 568, 1219, 373, 1207, 1209, 373, 568, 1211, 568, 568, - 257, 568, 1212, 1214, 568, 1215, 1487, 568, 1210, 1223, - 1213, 568, 568, 1265, 568, 257, 1220, 568, 1221, 1222, - 1270, 568, 568, 568, 568, 373, 373, 373, 373, 373, - 373, 568, 1225, 373, 1226, 568, 373, 257, 568, 568, - 1227, 568, 1224, 568, 1228, 568, 568, 568, 568, 568, - 568, 568, 1229, 568, 373, 257, 568, 373, 568, 1230, - 568, 568, 337, 568, 568, 568, 257, 568, 568, 1267, - 568, 568, 568, 568, 568, 1273, 568, 568, 568, 568, - 568, 568, 1264, 1232, 257, 568, 257, 1234, 257, 568, - - 568, 568, 257, 568, 1231, 568, 568, 568, 1233, 568, - 568, 568, 568, 1313, 1236, 1272, 568, 1276, 568, 1277, - 568, 1237, 1235, 1268, 254, 1239, 254, 254, 257, 1238, - 568, 254, 568, 254, 254, 257, 1263, 257, 1266, 1269, - 257, 254, 1240, 254, 254, 254, 257, 254, 254, 257, - 257, 257, 257, 292, 292, 292, 292, 292, 292, 292, - 1358, 1486, 292, 1281, 489, 489, 337, 1278, 1274, 1275, - 489, 257, 1279, 1280, 489, 489, 489, 489, 489, 337, - 489, 489, 489, 1282, 489, 1284, 1301, 1302, 489, 489, - 1283, 489, 489, 1286, 489, 337, 489, 489, 1285, 489, - - 489, 489, 489, 1288, 489, 1290, 1287, 489, 1291, 489, - 1289, 489, 489, 1309, 1485, 489, 489, 337, 337, 489, - 489, 489, 337, 489, 489, 489, 489, 489, 489, 489, - 489, 489, 489, 489, 489, 1305, 489, 1303, 337, 489, - 337, 337, 489, 489, 1307, 489, 489, 1292, 337, 489, - 1293, 489, 489, 1294, 489, 1295, 489, 489, 489, 337, - 1306, 1250, 1308, 337, 337, 1296, 337, 489, 337, 489, - 1298, 1297, 337, 337, 337, 1395, 373, 1312, 1299, 373, - 568, 1311, 1320, 568, 373, 373, 568, 373, 373, 1300, - 568, 568, 568, 568, 373, 568, 568, 373, 568, 1321, - - 257, 568, 1314, 1322, 1315, 1361, 1316, 1360, 1317, 568, - 1323, 257, 1488, 1318, 1319, 568, 568, 257, 1368, 568, - 568, 568, 257, 568, 1324, 568, 568, 568, 1325, 1327, - 568, 568, 568, 568, 1326, 568, 1329, 1330, 568, 568, - 257, 1328, 568, 568, 292, 568, 568, 292, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, - 1448, 1362, 1363, 568, 568, 568, 257, 257, 568, 568, - 1331, 568, 1333, 568, 568, 1484, 568, 1332, 568, 1364, - 568, 257, 568, 568, 1334, 568, 257, 254, 1365, 254, - 254, 1335, 568, 257, 568, 254, 1336, 254, 254, 257, - - 1338, 1337, 257, 257, 1369, 257, 257, 257, 257, 337, - 337, 1483, 337, 1376, 1339, 337, 337, 1394, 1343, 1396, - 1367, 1370, 1373, 489, 1371, 489, 1397, 1372, 1374, 1375, - 1377, 489, 1379, 1366, 489, 1378, 1400, 292, 489, 489, - 292, 489, 489, 489, 489, 1380, 489, 489, 489, 489, - 489, 489, 489, 1381, 489, 489, 489, 489, 1482, 489, - 489, 489, 337, 337, 1382, 489, 489, 489, 489, 1383, - 489, 489, 489, 489, 489, 1384, 1398, 489, 337, 337, - 1399, 489, 337, 337, 489, 489, 489, 489, 489, 489, - 1386, 489, 1385, 489, 337, 489, 1387, 489, 489, 489, - - 489, 337, 337, 337, 337, 489, 1388, 373, 1404, 489, - 373, 489, 1411, 1391, 1389, 489, 1440, 489, 1390, 1402, - 1403, 337, 568, 1406, 568, 373, 1412, 568, 373, 337, - 1414, 1405, 1392, 257, 1442, 1408, 568, 568, 1393, 568, - 568, 1413, 1407, 568, 1409, 1410, 568, 568, 568, 1415, - 568, 257, 568, 568, 568, 568, 337, 568, 568, 568, - 1416, 568, 337, 1419, 568, 568, 568, 1417, 568, 568, - 568, 568, 568, 568, 1418, 568, 568, 568, 1465, 568, - 568, 568, 568, 568, 568, 1443, 568, 257, 568, 568, - 568, 337, 568, 568, 1422, 568, 568, 1420, 1421, 568, - - 568, 568, 257, 337, 1444, 1423, 568, 257, 568, 337, - 568, 1446, 568, 1424, 1426, 254, 1425, 254, 254, 257, - 257, 254, 1445, 254, 254, 257, 1451, 1449, 489, 1427, - 1453, 337, 489, 1428, 1450, 337, 489, 1429, 489, 1452, - 489, 1466, 489, 489, 489, 1467, 489, 292, 489, 489, - 292, 337, 1454, 489, 489, 489, 337, 337, 1431, 489, - 1447, 489, 1455, 489, 489, 1457, 489, 292, 1456, 489, - 292, 1500, 489, 489, 1463, 489, 489, 489, 337, 489, - 489, 489, 489, 489, 489, 337, 489, 489, 489, 489, - 489, 337, 489, 489, 337, 489, 337, 489, 337, 1464, - - 489, 489, 373, 1459, 1462, 373, 1458, 489, 1460, 489, - 489, 489, 489, 489, 1490, 568, 1471, 1461, 373, 1492, - 1501, 373, 568, 1473, 1470, 568, 1472, 568, 568, 568, - 1468, 257, 568, 1469, 568, 568, 257, 1474, 568, 568, - 568, 568, 568, 568, 337, 568, 1484, 568, 1475, 568, - 568, 1477, 568, 568, 568, 568, 1476, 1478, 568, 568, - 568, 568, 568, 568, 568, 257, 257, 568, 568, 1489, - 568, 257, 568, 568, 568, 568, 568, 568, 568, 568, - 1514, 1479, 568, 568, 568, 337, 292, 1486, 568, 292, - 568, 257, 1481, 568, 1480, 568, 254, 257, 254, 254, - - 254, 489, 254, 254, 254, 292, 254, 254, 292, 489, - 1496, 489, 292, 1494, 257, 292, 489, 489, 1498, 489, - 489, 489, 337, 1495, 489, 489, 489, 489, 489, 489, - 489, 1497, 489, 489, 489, 489, 489, 489, 568, 373, - 257, 1502, 373, 489, 373, 489, 568, 373, 568, 1506, - 1504, 1493, 568, 1526, 373, 568, 568, 373, 568, 1499, - 1505, 568, 568, 1507, 568, 568, 1508, 568, 568, 568, - 257, 568, 568, 568, 254, 257, 254, 254, 568, 568, - 568, 568, 568, 254, 568, 254, 254, 254, 489, 254, - 254, 292, 489, 1517, 292, 337, 1441, 1439, 489, 489, - - 489, 1509, 489, 1516, 489, 292, 568, 292, 292, 489, - 292, 489, 568, 337, 1519, 1511, 568, 373, 568, 337, - 373, 1524, 568, 1521, 568, 1522, 373, 373, 1438, 373, - 373, 568, 254, 1528, 254, 254, 1437, 1515, 1436, 489, - 1531, 568, 254, 568, 254, 254, 568, 292, 1435, 489, - 292, 489, 292, 1434, 1433, 292, 568, 1518, 568, 373, - 373, 1432, 373, 373, 254, 1431, 254, 254, 254, 292, - 254, 254, 292, 292, 1430, 373, 292, 1523, 373, 1534, - 1429, 1401, 337, 1527, 1535, 373, 257, 254, 373, 254, - 254, 292, 373, 1529, 292, 373, 1536, 1357, 1356, 1355, - - 1354, 1532, 51, 51, 51, 51, 51, 51, 51, 56, - 56, 56, 56, 56, 56, 56, 238, 238, 1353, 238, - 238, 238, 238, 243, 243, 243, 243, 243, 243, 243, - 246, 1352, 1351, 1350, 246, 246, 246, 253, 253, 1349, - 253, 253, 253, 253, 257, 257, 1348, 257, 257, 257, - 257, 287, 287, 1347, 287, 287, 287, 287, 292, 292, - 1346, 1345, 1344, 292, 292, 298, 298, 1343, 1342, 1341, - 298, 298, 329, 329, 1340, 329, 329, 329, 329, 337, - 337, 339, 339, 373, 373, 1310, 337, 257, 373, 373, - 379, 379, 1260, 1259, 1258, 379, 379, 410, 410, 1257, - - 410, 410, 410, 410, 487, 487, 1256, 1255, 1254, 487, - 487, 489, 489, 1253, 1252, 1251, 489, 489, 525, 525, - 1250, 525, 525, 525, 525, 566, 566, 1249, 1248, 1247, - 566, 566, 568, 568, 1246, 1245, 1244, 568, 568, 604, - 604, 1243, 604, 604, 604, 604, 1242, 1241, 1153, 1144, - 1143, 1142, 1141, 1140, 1139, 1138, 1137, 1136, 1135, 1134, - 1133, 1132, 1131, 1130, 1129, 1128, 1127, 1126, 1125, 1124, - 1123, 1122, 337, 337, 257, 257, 1002, 999, 996, 995, - 994, 993, 992, 991, 990, 989, 988, 987, 986, 985, - 984, 983, 982, 981, 980, 979, 978, 977, 976, 975, - - 974, 973, 972, 971, 337, 337, 257, 257, 841, 831, - 830, 829, 828, 827, 826, 825, 824, 823, 822, 821, - 820, 819, 818, 817, 816, 815, 814, 813, 812, 809, - 808, 807, 806, 805, 804, 803, 802, 801, 800, 799, - 798, 797, 796, 795, 337, 257, 653, 646, 645, 644, - 643, 642, 638, 637, 636, 635, 634, 633, 632, 631, - 630, 629, 628, 627, 626, 625, 624, 623, 622, 621, - 620, 619, 618, 617, 616, 615, 614, 613, 612, 611, - 610, 609, 375, 337, 338, 334, 257, 250, 450, 247, - 242, 239, 449, 448, 447, 446, 443, 442, 441, 440, - - 439, 438, 437, 434, 433, 432, 431, 430, 429, 428, - 427, 426, 425, 424, 421, 415, 414, 205, 378, 377, - 337, 338, 336, 297, 271, 255, 250, 247, 242, 235, - 234, 233, 232, 231, 228, 227, 224, 220, 219, 218, - 217, 213, 212, 209, 208, 207, 205, 204, 1537, 13, - 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, - 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, - 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, - 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, - 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, - - 1537, 1537, 1537, 1537, 1537 + 162, 163, 277, 305, 163, 258, 48, 266, 272, 225, + 266, 266, 273, 274, 305, 266, 275, 320, 266, 266, + + 276, 266, 279, 266, 278, 164, 287, 253, 1232, 266, + 259, 266, 281, 282, 266, 266, 266, 284, 266, 266, + 333, 283, 266, 266, 266, 266, 266, 266, 305, 293, + 165, 221, 222, 266, 222, 222, 221, 221, 221, 221, + 221, 221, 305, 221, 221, 222, 292, 222, 222, 221, + 221, 221, 221, 221, 221, 285, 221, 266, 266, 305, + 367, 266, 266, 314, 494, 266, 266, 286, 305, 266, + 266, 288, 368, 226, 260, 260, 291, 305, 260, 260, + 260, 260, 260, 294, 260, 325, 260, 260, 260, 329, + 266, 260, 260, 260, 260, 260, 308, 260, 266, 260, + + 266, 289, 296, 262, 263, 296, 206, 205, 266, 305, + 290, 407, 206, 305, 295, 383, 267, 260, 260, 298, + 305, 260, 260, 260, 260, 260, 225, 260, 305, 260, + 309, 225, 266, 278, 305, 310, 334, 268, 260, 260, + 266, 318, 260, 260, 260, 260, 260, 332, 260, 305, + 260, 301, 302, 303, 301, 269, 260, 260, 299, 266, + 260, 260, 260, 260, 260, 311, 260, 266, 260, 305, + 305, 305, 305, 312, 305, 305, 305, 305, 315, 328, + 294, 316, 270, 300, 326, 317, 322, 323, 321, 305, + 271, 305, 339, 1227, 338, 324, 327, 354, 330, 337, + + 302, 303, 337, 342, 205, 376, 342, 331, 319, 208, + 171, 355, 335, 171, 335, 348, 219, 340, 377, 336, + 343, 344, 345, 343, 225, 349, 204, 350, 397, 204, + 222, 205, 222, 222, 209, 210, 212, 213, 215, 216, + 217, 222, 384, 222, 222, 222, 390, 222, 222, 220, + 385, 388, 305, 391, 225, 224, 393, 614, 225, 394, + 386, 225, 387, 225, 225, 395, 389, 392, 225, 225, + 396, 225, 225, 398, 399, 400, 225, 401, 225, 402, + 403, 225, 408, 225, 406, 404, 225, 225, 225, 225, + 225, 225, 225, 225, 225, 225, 225, 405, 409, 225, + + 411, 413, 225, 256, 257, 256, 256, 412, 256, 410, + 256, 256, 415, 416, 414, 418, 225, 258, 1226, 260, + 225, 225, 260, 417, 261, 262, 263, 261, 263, 262, + 263, 263, 297, 260, 206, 297, 260, 305, 305, 305, + 206, 462, 259, 420, 419, 260, 472, 305, 260, 419, + 419, 419, 419, 467, 419, 305, 419, 419, 260, 305, + 476, 260, 419, 419, 419, 419, 469, 419, 468, 419, + 422, 419, 260, 305, 478, 260, 419, 419, 419, 419, + 473, 419, 305, 419, 423, 419, 260, 432, 421, 260, + 419, 419, 419, 419, 427, 419, 421, 419, 421, 475, + + 421, 305, 421, 424, 463, 429, 421, 305, 421, 428, + 421, 430, 421, 425, 421, 426, 421, 305, 433, 421, + 421, 305, 421, 434, 421, 431, 421, 421, 421, 421, + 305, 421, 479, 435, 421, 421, 421, 421, 474, 421, + 897, 421, 436, 437, 305, 421, 421, 421, 438, 439, + 440, 421, 485, 421, 421, 421, 421, 441, 421, 443, + 477, 305, 421, 442, 421, 421, 421, 421, 421, 421, + 487, 444, 421, 446, 421, 305, 421, 421, 421, 421, + 421, 421, 305, 445, 421, 447, 421, 421, 421, 421, + 421, 421, 305, 481, 421, 421, 421, 1225, 421, 448, + + 421, 421, 421, 421, 305, 421, 488, 421, 421, 421, + 421, 450, 305, 421, 305, 480, 452, 482, 421, 421, + 490, 421, 449, 421, 451, 421, 305, 305, 421, 453, + 421, 296, 262, 263, 296, 305, 205, 454, 459, 421, + 305, 305, 305, 421, 489, 486, 305, 455, 464, 458, + 456, 421, 421, 421, 305, 421, 305, 470, 465, 460, + 466, 483, 421, 491, 421, 301, 302, 303, 301, 495, + 305, 471, 492, 484, 305, 496, 337, 302, 303, 337, + 305, 205, 1071, 338, 461, 493, 540, 342, 497, 339, + 342, 342, 528, 538, 342, 343, 344, 345, 343, 529, + + 225, 536, 537, 530, 225, 225, 225, 541, 539, 225, + 225, 225, 543, 544, 340, 545, 546, 225, 547, 548, + 225, 549, 554, 225, 225, 550, 225, 551, 552, 553, + 555, 225, 225, 225, 225, 556, 225, 225, 557, 559, + 225, 225, 225, 225, 225, 558, 225, 560, 225, 561, + 225, 225, 225, 225, 225, 225, 225, 225, 225, 562, + 260, 565, 260, 260, 563, 260, 570, 566, 305, 225, + 564, 421, 420, 305, 567, 690, 421, 569, 568, 571, + 572, 421, 421, 421, 573, 421, 421, 616, 421, 610, + 574, 575, 421, 421, 421, 421, 421, 421, 576, 577, + + 578, 421, 421, 421, 305, 421, 421, 421, 421, 586, + 421, 421, 421, 421, 421, 421, 581, 421, 579, 421, + 421, 421, 421, 580, 584, 421, 630, 421, 421, 421, + 582, 421, 305, 421, 421, 583, 585, 421, 421, 421, + 421, 421, 587, 421, 421, 591, 588, 421, 421, 421, + 589, 421, 625, 421, 421, 421, 590, 421, 421, 305, + 421, 421, 592, 421, 421, 421, 421, 421, 421, 421, + 305, 421, 305, 594, 615, 421, 596, 421, 421, 593, + 421, 421, 421, 421, 595, 421, 421, 305, 421, 421, + 421, 613, 421, 421, 597, 421, 305, 598, 305, 421, + + 421, 421, 421, 421, 619, 421, 421, 421, 599, 638, + 305, 631, 611, 612, 421, 305, 421, 421, 421, 421, + 421, 305, 601, 600, 421, 602, 421, 421, 622, 305, + 421, 603, 421, 421, 628, 305, 617, 421, 604, 421, + 421, 607, 605, 421, 618, 421, 297, 606, 206, 297, + 421, 421, 421, 459, 206, 421, 305, 305, 421, 305, + 608, 458, 460, 421, 305, 421, 609, 421, 421, 305, + 421, 620, 621, 623, 305, 305, 305, 305, 305, 634, + 629, 624, 626, 627, 305, 305, 633, 461, 305, 305, + 305, 305, 305, 684, 305, 305, 662, 685, 632, 225, + + 687, 688, 686, 689, 635, 225, 225, 225, 694, 225, + 696, 225, 636, 691, 225, 663, 639, 305, 225, 225, + 692, 644, 225, 640, 695, 225, 225, 697, 698, 637, + 641, 643, 699, 225, 642, 645, 646, 701, 702, 704, + 703, 225, 710, 705, 708, 225, 225, 225, 225, 225, + 225, 700, 225, 706, 225, 225, 225, 707, 709, 225, + 225, 225, 225, 225, 225, 305, 225, 305, 711, 651, + 756, 225, 225, 1218, 720, 305, 712, 421, 714, 717, + 716, 715, 718, 713, 421, 719, 305, 421, 721, 421, + 421, 421, 723, 724, 421, 421, 421, 758, 722, 421, + + 421, 421, 421, 421, 725, 421, 421, 421, 305, 421, + 421, 421, 762, 757, 421, 305, 421, 305, 421, 421, + 421, 730, 421, 726, 421, 759, 728, 421, 727, 421, + 729, 421, 421, 305, 760, 305, 421, 421, 305, 421, + 421, 421, 421, 732, 421, 731, 421, 734, 421, 735, + 421, 421, 733, 421, 737, 421, 765, 305, 761, 777, + 421, 421, 305, 739, 421, 421, 305, 421, 736, 738, + 421, 421, 421, 421, 421, 421, 421, 763, 740, 421, + 421, 764, 770, 421, 744, 421, 741, 421, 305, 421, + 421, 421, 421, 421, 421, 421, 421, 742, 421, 746, + + 305, 743, 421, 766, 225, 421, 421, 771, 421, 421, + 421, 745, 421, 421, 421, 421, 421, 421, 421, 421, + 421, 421, 305, 421, 657, 421, 305, 421, 664, 305, + 421, 421, 421, 305, 421, 305, 747, 421, 421, 421, + 748, 421, 749, 421, 421, 421, 421, 750, 421, 421, + 421, 305, 305, 767, 305, 421, 751, 421, 752, 421, + 305, 421, 753, 772, 305, 768, 662, 754, 773, 305, + 305, 778, 305, 755, 673, 305, 780, 305, 776, 305, + 305, 305, 813, 816, 305, 769, 774, 305, 820, 819, + 822, 826, 828, 1217, 821, 775, 814, 817, 225, 225, + + 225, 222, 823, 222, 222, 225, 829, 225, 225, 225, + 779, 225, 781, 784, 785, 783, 782, 825, 824, 786, + 225, 225, 222, 225, 222, 222, 830, 827, 222, 831, + 222, 222, 222, 833, 222, 222, 225, 225, 832, 835, + 225, 225, 836, 225, 834, 837, 838, 839, 225, 225, + 225, 225, 222, 225, 222, 222, 225, 225, 225, 225, + 225, 225, 943, 840, 225, 225, 260, 842, 841, 260, + 421, 845, 850, 844, 225, 260, 848, 847, 260, 843, + 421, 421, 421, 851, 421, 846, 853, 852, 421, 421, + 849, 421, 421, 421, 421, 305, 421, 854, 421, 421, + + 421, 421, 421, 421, 421, 857, 855, 421, 859, 883, + 856, 421, 860, 421, 421, 421, 861, 421, 421, 421, + 305, 421, 421, 421, 421, 858, 421, 421, 421, 305, + 421, 790, 421, 260, 421, 260, 260, 421, 260, 421, + 862, 421, 421, 864, 260, 305, 885, 260, 421, 421, + 892, 421, 421, 421, 421, 863, 421, 305, 421, 421, + 421, 421, 867, 865, 305, 421, 421, 881, 421, 866, + 868, 882, 421, 421, 870, 421, 421, 421, 225, 869, + 421, 421, 421, 421, 421, 421, 421, 421, 421, 951, + 421, 421, 421, 421, 421, 421, 305, 421, 421, 421, + + 305, 305, 871, 421, 421, 421, 421, 421, 421, 305, + 421, 872, 884, 421, 421, 421, 886, 305, 305, 873, + 421, 889, 305, 875, 421, 876, 421, 305, 874, 794, + 421, 305, 421, 796, 305, 887, 797, 305, 305, 877, + 798, 878, 879, 305, 888, 801, 305, 305, 305, 305, + 305, 895, 807, 305, 893, 305, 880, 305, 305, 898, + 896, 905, 930, 894, 932, 906, 931, 1216, 891, 890, + 225, 222, 933, 222, 222, 225, 934, 937, 935, 225, + 939, 225, 225, 225, 936, 900, 899, 222, 903, 222, + 222, 225, 902, 222, 941, 222, 222, 225, 222, 901, + + 222, 222, 904, 222, 940, 222, 222, 222, 225, 222, + 222, 225, 942, 944, 225, 222, 225, 222, 222, 225, + 225, 225, 225, 225, 946, 225, 225, 225, 305, 948, + 945, 950, 225, 985, 955, 953, 421, 1215, 956, 947, + 421, 957, 949, 954, 952, 305, 421, 421, 421, 958, + 421, 260, 421, 421, 260, 260, 421, 421, 260, 421, + 421, 962, 988, 421, 421, 959, 421, 960, 961, 305, + 421, 907, 421, 421, 421, 260, 421, 260, 260, 260, + 260, 964, 260, 421, 963, 421, 260, 421, 965, 260, + 966, 260, 421, 421, 260, 305, 421, 421, 305, 421, + + 305, 967, 421, 421, 421, 421, 421, 421, 421, 968, + 421, 1024, 969, 421, 421, 983, 981, 421, 421, 421, + 421, 225, 421, 421, 421, 421, 421, 421, 421, 1028, + 421, 421, 421, 971, 225, 421, 305, 421, 421, 421, + 970, 421, 421, 421, 421, 421, 973, 421, 421, 972, + 421, 975, 305, 421, 421, 305, 982, 976, 305, 305, + 914, 916, 974, 421, 421, 421, 421, 977, 305, 305, + 905, 986, 978, 305, 980, 984, 979, 305, 305, 305, + 987, 305, 305, 305, 305, 989, 990, 305, 305, 305, + 222, 305, 222, 222, 1021, 222, 305, 222, 222, 225, + + 992, 1022, 225, 1023, 1031, 1025, 225, 225, 225, 994, + 991, 996, 225, 1026, 225, 225, 999, 997, 1027, 1030, + 993, 1000, 995, 225, 222, 998, 222, 222, 222, 1032, + 222, 222, 1029, 225, 1033, 225, 225, 225, 225, 225, + 225, 225, 225, 260, 260, 260, 260, 260, 260, 260, + 305, 305, 260, 1010, 1038, 1041, 421, 1034, 1035, 421, + 1036, 1037, 1039, 1040, 421, 305, 421, 1065, 421, 421, + 421, 421, 1061, 305, 421, 421, 421, 1042, 421, 1044, + 421, 421, 1043, 305, 1045, 421, 421, 421, 421, 421, + 421, 421, 421, 1046, 1062, 1048, 421, 1050, 421, 421, + + 1047, 421, 1049, 421, 421, 1067, 1051, 421, 305, 305, + 421, 421, 305, 421, 421, 421, 305, 421, 421, 421, + 421, 421, 421, 421, 421, 421, 421, 305, 421, 1063, + 421, 305, 1066, 421, 1069, 421, 421, 421, 305, 1052, + 421, 1053, 305, 421, 1054, 421, 421, 1064, 421, 1055, + 421, 421, 421, 305, 305, 305, 1068, 1056, 305, 305, + 305, 421, 1098, 421, 1058, 1057, 1072, 1099, 1100, 1101, + 1074, 1102, 1059, 225, 260, 1103, 225, 260, 225, 225, + 225, 225, 1104, 1060, 225, 225, 225, 1105, 225, 222, + 1077, 222, 222, 225, 1073, 1075, 225, 225, 1076, 1078, + + 1079, 222, 1107, 222, 222, 225, 1108, 1109, 225, 225, + 225, 1110, 305, 1116, 1083, 1117, 421, 260, 305, 1111, + 260, 305, 1113, 421, 1119, 421, 421, 1112, 421, 1134, + 421, 1114, 1115, 421, 1118, 1139, 305, 421, 421, 1106, + 421, 1214, 421, 421, 1120, 421, 421, 421, 421, 421, + 421, 421, 1121, 225, 421, 1124, 421, 1140, 421, 421, + 1122, 421, 421, 421, 421, 421, 421, 1123, 421, 421, + 305, 421, 421, 421, 421, 421, 421, 421, 421, 1136, + 421, 305, 305, 421, 1127, 421, 421, 305, 421, 421, + 421, 1125, 305, 421, 1126, 1137, 1138, 1128, 305, 421, + + 421, 421, 421, 421, 305, 421, 1129, 305, 305, 1130, + 305, 1135, 305, 305, 1131, 305, 1162, 1164, 222, 305, + 222, 222, 1165, 1132, 225, 225, 1133, 1142, 1144, 1143, + 225, 1168, 1166, 225, 225, 225, 1185, 225, 1167, 222, + 225, 222, 222, 225, 1145, 1148, 225, 305, 225, 1146, + 421, 1147, 1173, 1175, 1149, 1172, 1150, 1170, 421, 421, + 421, 1174, 421, 1171, 260, 421, 1184, 260, 421, 421, + 421, 421, 421, 305, 1176, 421, 421, 421, 1169, 421, + 260, 1179, 421, 260, 421, 1177, 421, 421, 421, 421, + 1178, 421, 421, 421, 1186, 1202, 421, 421, 305, 421, + + 421, 421, 421, 421, 421, 421, 421, 305, 421, 1151, + 421, 421, 421, 421, 421, 305, 305, 1153, 421, 1180, + 1187, 421, 305, 1181, 421, 305, 421, 1182, 421, 305, + 421, 421, 1188, 421, 1183, 222, 1201, 222, 222, 225, + 1199, 222, 225, 222, 222, 1200, 1203, 222, 260, 222, + 222, 260, 1198, 225, 1207, 1190, 421, 1192, 260, 421, + 421, 260, 305, 225, 1191, 421, 421, 1197, 1205, 421, + 421, 421, 421, 1206, 1209, 421, 1208, 421, 260, 421, + 421, 260, 1211, 421, 305, 305, 421, 1195, 305, 421, + 421, 421, 421, 421, 1204, 421, 421, 305, 421, 1197, + + 222, 1219, 222, 222, 1196, 305, 1212, 1213, 222, 421, + 222, 222, 222, 1195, 222, 222, 421, 260, 225, 421, + 260, 421, 1194, 1222, 1224, 1210, 421, 1221, 421, 421, + 260, 260, 1228, 260, 260, 305, 305, 1216, 1226, 421, + 222, 421, 222, 222, 222, 1230, 222, 222, 1193, 225, + 260, 421, 260, 260, 222, 260, 222, 222, 305, 305, + 305, 421, 1220, 421, 222, 260, 222, 222, 260, 260, + 305, 222, 260, 222, 222, 1234, 260, 305, 305, 260, + 1235, 1223, 1189, 225, 225, 1229, 225, 225, 225, 225, + 1163, 1161, 1160, 1231, 51, 51, 51, 51, 51, 51, + + 51, 56, 56, 56, 56, 56, 56, 56, 166, 166, + 166, 166, 166, 166, 166, 206, 206, 1159, 206, 206, + 206, 206, 211, 211, 211, 211, 211, 211, 211, 214, + 1158, 1157, 1156, 214, 214, 214, 221, 221, 1155, 221, + 221, 221, 221, 225, 225, 1154, 225, 225, 225, 225, + 255, 255, 1153, 255, 255, 255, 255, 260, 260, 1152, + 1151, 1141, 260, 260, 266, 266, 305, 225, 1097, 266, + 266, 297, 297, 1096, 297, 297, 297, 297, 305, 305, + 307, 307, 341, 341, 1095, 1094, 1093, 341, 341, 419, + 419, 1092, 1091, 1090, 419, 419, 421, 421, 1089, 1088, + + 1087, 421, 421, 457, 457, 1086, 457, 457, 457, 457, + 1085, 1084, 1083, 1082, 1081, 1080, 1070, 305, 225, 1020, + 1019, 1018, 1017, 1016, 1015, 1014, 1013, 1012, 1011, 1010, + 1009, 1008, 1007, 1006, 1005, 1004, 1003, 1002, 1001, 938, + 929, 928, 927, 926, 925, 924, 923, 922, 921, 920, + 919, 918, 917, 916, 915, 914, 913, 912, 911, 910, + 909, 908, 907, 305, 305, 225, 225, 818, 815, 812, + 811, 810, 809, 808, 807, 806, 805, 804, 803, 802, + 801, 800, 799, 798, 797, 796, 795, 794, 793, 792, + 791, 790, 789, 788, 787, 305, 305, 225, 225, 693, + + 683, 682, 681, 680, 679, 678, 677, 676, 675, 674, + 673, 672, 671, 670, 669, 668, 667, 666, 665, 664, + 661, 660, 659, 658, 657, 656, 655, 654, 653, 652, + 651, 650, 649, 648, 647, 305, 225, 542, 535, 534, + 533, 532, 531, 527, 526, 525, 524, 523, 522, 521, + 520, 519, 518, 517, 516, 515, 514, 513, 512, 511, + 510, 509, 508, 507, 506, 505, 504, 503, 502, 501, + 500, 499, 498, 344, 305, 306, 302, 225, 218, 382, + 215, 210, 207, 381, 380, 379, 378, 375, 374, 373, + 372, 371, 370, 369, 366, 365, 364, 363, 362, 361, + + 360, 359, 358, 357, 356, 353, 347, 346, 173, 344, + 305, 306, 304, 265, 239, 223, 218, 215, 210, 203, + 202, 201, 200, 199, 196, 195, 192, 188, 187, 186, + 185, 181, 180, 177, 176, 175, 173, 172, 1236, 13, + 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, + 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, + 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, + 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, + 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, + 1236, 1236, 1236, 1236, 1236 + } ; -static yyconst flex_int16_t yy_chk[4306] = +static yyconst short int yy_chk[3096] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 15, 749, 2, 15, - 2, 3, 3, 3, 28, 3, 4, 4, 4, 4, - 31, 4, 28, 31, 36, 36, 38, 31, 41, 2, - 49, 47, 4, 36, 47, 50, 47, 41, 38, 54, - 54, 54, 749, 74, 49, 59, 59, 59, 63, 90, - - 63, 63, 74, 66, 2, 66, 66, 50, 77, 67, - 50, 67, 67, 77, 90, 4, 5, 5, 5, 5, + 1, 1, 1, 1, 1, 2, 15, 1240, 2, 15, + 2, 3, 3, 3, 38, 3, 4, 4, 4, 4, + 28, 4, 11, 11, 11, 11, 38, 50, 28, 2, + 11, 49, 4, 12, 12, 12, 12, 31, 36, 36, + 31, 12, 41, 47, 31, 49, 47, 36, 47, 50, + + 1232, 41, 50, 74, 2, 54, 54, 54, 59, 59, + 59, 63, 74, 63, 63, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 6, 62, 88, 6, 68, 6, 68, 68, 69, - 75, 69, 69, 70, 88, 70, 70, 71, 76, 71, - 71, 76, 75, 91, 285, 6, 76, 71, 78, 79, + 5, 6, 62, 88, 6, 66, 6, 66, 66, 67, + 75, 67, 67, 68, 88, 68, 68, 69, 82, 69, + 69, 70, 75, 70, 70, 6, 71, 77, 71, 71, - 78, 80, 79, 82, 94, 62, 79, 81, 92, 81, - 79, 91, 85, 80, 85, 94, 92, 285, 1540, 82, + 76, 80, 77, 76, 82, 62, 71, 78, 76, 78, + 81, 92, 81, 80, 85, 95, 85, 95, 95, 92, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 8, 84, 84, 8, - 86, 8, 84, 87, 1530, 89, 84, 93, 95, 86, - 95, 95, 86, 89, 96, 124, 113, 97, 113, 87, + 7, 7, 7, 7, 7, 7, 8, 79, 90, 8, + 79, 8, 84, 84, 79, 86, 87, 84, 79, 96, + 89, 84, 91, 90, 86, 93, 119, 86, 89, 119, - 8, 97, 89, 124, 141, 93, 113, 145, 96, 124, - 96, 99, 99, 99, 99, 101, 101, 101, 101, 97, - 268, 145, 97, 141, 268, 8, 9, 9, 9, 9, + 8, 94, 87, 96, 119, 96, 149, 89, 145, 178, + 91, 1227, 94, 93, 99, 99, 99, 99, 101, 101, + 101, 101, 145, 149, 178, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 10, 114, 118, 10, 115, 10, 114, 115, 116, - 114, 132, 115, 115, 117, 117, 118, 132, 116, 126, - - 119, 115, 117, 119, 118, 10, 116, 126, 119, 120, - 120, 120, 121, 121, 128, 122, 142, 126, 120, 120, - 121, 122, 128, 1525, 270, 128, 142, 122, 270, 122, - 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 12, 123, 127, 12, - 129, 12, 143, 125, 146, 148, 127, 159, 129, 143, - - 123, 125, 148, 280, 125, 149, 130, 144, 123, 127, - 12, 129, 133, 125, 130, 146, 131, 131, 131, 131, - 130, 131, 149, 144, 280, 133, 133, 135, 135, 135, - 135, 144, 151, 133, 159, 12, 72, 72, 158, 72, - 72, 72, 72, 72, 72, 72, 72, 153, 72, 73, - 73, 151, 73, 73, 73, 73, 73, 73, 73, 73, - 147, 73, 150, 200, 153, 150, 154, 155, 147, 200, - 155, 147, 158, 557, 157, 147, 154, 156, 73, 108, - 108, 134, 134, 108, 108, 108, 108, 108, 154, 108, - 134, 108, 109, 109, 152, 162, 109, 109, 109, 109, - - 109, 157, 109, 134, 109, 232, 134, 156, 152, 152, - 157, 160, 185, 185, 557, 161, 164, 152, 232, 164, - 185, 109, 110, 110, 252, 162, 110, 110, 110, 110, - 110, 182, 110, 164, 110, 181, 182, 181, 160, 182, - 536, 165, 110, 111, 111, 181, 194, 111, 111, 111, - 111, 111, 161, 111, 194, 111, 165, 252, 224, 536, - 111, 112, 112, 184, 194, 112, 112, 112, 112, 112, - 224, 112, 184, 112, 163, 163, 163, 163, 165, 163, - 184, 165, 167, 167, 167, 167, 203, 112, 1520, 203, - 253, 183, 253, 253, 183, 112, 176, 176, 183, 183, - - 176, 176, 176, 176, 176, 186, 176, 183, 176, 177, - 177, 212, 209, 177, 177, 177, 177, 177, 186, 177, - 187, 177, 209, 187, 209, 212, 186, 241, 187, 189, - 189, 534, 188, 188, 188, 191, 534, 189, 177, 178, - 178, 188, 188, 178, 178, 178, 178, 178, 191, 178, - 236, 178, 241, 236, 195, 236, 191, 190, 258, 178, - 179, 179, 195, 190, 179, 179, 179, 179, 179, 190, - 179, 190, 179, 192, 258, 195, 259, 179, 180, 180, - 210, 192, 180, 180, 180, 180, 180, 192, 180, 193, - 180, 196, 259, 197, 266, 210, 266, 193, 1512, 196, - - 193, 197, 196, 198, 180, 199, 199, 199, 199, 193, - 199, 198, 180, 201, 197, 202, 202, 198, 245, 245, - 245, 249, 249, 249, 202, 346, 201, 201, 254, 261, - 254, 254, 346, 256, 201, 256, 256, 202, 260, 262, - 202, 263, 261, 256, 261, 272, 264, 262, 260, 260, - 260, 265, 267, 269, 267, 263, 269, 263, 264, 271, - 273, 272, 274, 265, 278, 275, 276, 271, 273, 276, - 277, 279, 281, 282, 278, 283, 284, 275, 274, 275, - 286, 281, 283, 279, 287, 277, 287, 287, 289, 289, - 290, 282, 347, 284, 288, 283, 288, 288, 291, 347, - - 292, 286, 291, 292, 1510, 344, 290, 293, 293, 293, - 293, 295, 295, 295, 295, 297, 344, 353, 297, 328, - 328, 328, 328, 291, 328, 297, 298, 298, 353, 343, - 298, 298, 298, 298, 298, 343, 298, 355, 298, 299, - 299, 348, 455, 299, 299, 299, 299, 299, 355, 299, - 343, 299, 299, 300, 300, 1503, 455, 300, 300, 300, - 300, 300, 348, 300, 349, 300, 300, 301, 301, 305, - 305, 301, 301, 301, 301, 301, 302, 301, 302, 301, - 305, 349, 305, 340, 303, 301, 340, 303, 302, 350, - 302, 302, 307, 304, 303, 301, 303, 301, 304, 352, - - 306, 306, 307, 539, 307, 307, 308, 304, 304, 309, - 304, 306, 350, 306, 352, 308, 308, 310, 308, 309, - 539, 309, 367, 311, 309, 310, 351, 310, 312, 310, - 311, 312, 313, 311, 360, 311, 314, 313, 312, 314, - 312, 316, 351, 360, 316, 315, 314, 313, 314, 313, - 315, 317, 358, 316, 316, 318, 316, 361, 320, 318, - 315, 317, 315, 317, 367, 317, 319, 319, 320, 318, - 320, 318, 321, 322, 358, 359, 319, 323, 319, 359, - 324, 320, 321, 322, 321, 322, 551, 323, 361, 323, - 324, 325, 324, 322, 329, 326, 329, 329, 324, 551, - - 327, 325, 329, 325, 321, 326, 323, 326, 330, 331, - 327, 324, 327, 341, 331, 332, 341, 362, 330, 325, - 330, 364, 332, 342, 331, 332, 331, 332, 363, 326, - 366, 342, 327, 333, 333, 333, 333, 345, 365, 354, - 345, 342, 354, 342, 357, 356, 368, 332, 356, 357, - 369, 369, 369, 369, 345, 369, 363, 362, 364, 371, - 370, 357, 371, 472, 365, 372, 366, 373, 453, 472, - 373, 374, 374, 374, 374, 459, 556, 365, 370, 378, - 372, 383, 378, 383, 453, 459, 368, 384, 388, 378, - 384, 386, 386, 383, 469, 383, 383, 384, 388, 384, - - 388, 388, 386, 556, 386, 372, 379, 379, 469, 463, - 379, 379, 379, 379, 379, 454, 379, 454, 379, 380, - 380, 463, 1500, 380, 380, 380, 380, 380, 458, 380, - 458, 380, 380, 381, 381, 466, 466, 381, 381, 381, - 381, 381, 460, 381, 460, 381, 381, 382, 382, 387, - 387, 382, 382, 382, 382, 382, 385, 382, 483, 382, - 387, 385, 387, 451, 393, 382, 451, 393, 483, 389, - 385, 385, 390, 385, 393, 382, 393, 382, 389, 389, - 391, 389, 390, 1489, 390, 462, 392, 390, 391, 394, - 391, 456, 391, 392, 394, 456, 392, 395, 392, 397, - - 395, 462, 397, 396, 394, 398, 394, 395, 396, 395, - 452, 397, 397, 452, 397, 398, 401, 398, 396, 398, - 396, 399, 400, 400, 464, 399, 401, 464, 401, 461, - 402, 403, 400, 461, 400, 399, 404, 399, 465, 401, - 402, 403, 402, 403, 406, 405, 404, 548, 404, 407, - 465, 403, 548, 444, 406, 405, 406, 405, 408, 407, - 444, 407, 402, 405, 444, 404, 470, 477, 408, 470, - 408, 471, 406, 467, 471, 477, 405, 409, 409, 409, - 409, 411, 409, 407, 410, 467, 410, 410, 413, 412, - 408, 411, 410, 411, 412, 413, 468, 473, 413, 473, - - 413, 474, 475, 475, 412, 478, 412, 479, 468, 476, - 476, 480, 474, 481, 482, 487, 484, 485, 487, 480, - 413, 488, 489, 542, 488, 479, 481, 478, 530, 680, - 542, 488, 489, 481, 489, 490, 482, 481, 484, 485, - 491, 492, 680, 490, 530, 490, 492, 490, 491, 493, - 491, 494, 491, 495, 494, 531, 492, 496, 492, 493, - 495, 493, 493, 495, 494, 495, 494, 496, 496, 496, - 497, 531, 544, 543, 498, 498, 501, 1488, 499, 544, - 497, 501, 497, 497, 498, 500, 498, 499, 499, 543, - 499, 501, 500, 501, 503, 500, 538, 500, 502, 502, - - 505, 545, 503, 550, 503, 538, 503, 504, 504, 502, - 505, 502, 505, 506, 506, 535, 507, 507, 504, 508, - 504, 545, 508, 509, 506, 550, 506, 507, 510, 507, - 535, 509, 508, 509, 508, 509, 511, 512, 510, 533, - 510, 511, 510, 513, 514, 559, 511, 512, 511, 512, - 512, 515, 516, 513, 514, 513, 514, 517, 518, 537, - 533, 515, 516, 515, 516, 519, 521, 517, 518, 517, - 518, 516, 559, 520, 546, 519, 521, 519, 521, 522, - 537, 546, 523, 520, 519, 520, 524, 518, 547, 522, - 517, 522, 523, 549, 523, 547, 524, 520, 524, 521, - - 522, 540, 526, 525, 520, 525, 525, 558, 520, 549, - 527, 525, 526, 528, 526, 523, 540, 529, 528, 524, - 527, 552, 527, 532, 529, 553, 532, 529, 528, 529, - 528, 541, 554, 553, 541, 555, 560, 561, 562, 563, - 564, 568, 552, 566, 558, 647, 566, 567, 569, 529, - 567, 568, 554, 568, 570, 555, 569, 567, 569, 647, - 569, 733, 570, 650, 570, 653, 570, 562, 560, 571, - 573, 653, 650, 573, 571, 560, 733, 572, 561, 560, - 563, 564, 575, 573, 571, 573, 571, 572, 574, 572, - 572, 576, 575, 575, 575, 574, 577, 577, 574, 648, - - 574, 576, 578, 576, 576, 580, 577, 624, 577, 579, - 580, 578, 578, 648, 578, 582, 579, 581, 581, 579, - 580, 579, 580, 582, 584, 582, 624, 582, 581, 724, - 581, 583, 583, 652, 584, 652, 584, 585, 585, 724, - 586, 586, 583, 587, 583, 659, 587, 588, 585, 659, - 585, 586, 589, 586, 832, 588, 587, 588, 587, 588, - 590, 591, 589, 832, 589, 590, 589, 592, 593, 1487, - 590, 591, 590, 591, 591, 594, 595, 592, 593, 592, - 593, 596, 597, 655, 655, 594, 595, 594, 595, 598, - 600, 596, 597, 596, 597, 595, 666, 599, 654, 598, - - 600, 598, 600, 601, 666, 654, 602, 599, 598, 599, - 603, 597, 682, 601, 596, 601, 602, 658, 602, 658, - 603, 599, 603, 600, 601, 682, 605, 604, 599, 604, - 604, 671, 599, 671, 606, 604, 605, 607, 605, 602, - 651, 608, 607, 603, 606, 657, 606, 649, 608, 662, - 649, 608, 607, 608, 607, 660, 660, 651, 661, 663, - 665, 664, 657, 661, 664, 667, 662, 668, 662, 670, - 667, 669, 665, 608, 668, 672, 663, 673, 669, 675, - 670, 676, 677, 678, 684, 681, 679, 684, 721, 723, - 1485, 685, 672, 721, 685, 675, 681, 684, 677, 684, - - 673, 678, 679, 676, 685, 686, 685, 688, 687, 722, - 687, 723, 689, 688, 722, 686, 690, 686, 687, 686, - 687, 689, 689, 688, 689, 688, 690, 691, 690, 725, - 692, 725, 726, 690, 1483, 694, 693, 691, 729, 691, - 692, 694, 692, 752, 695, 691, 693, 693, 693, 726, - 728, 694, 696, 694, 695, 697, 695, 695, 729, 696, - 698, 707, 696, 699, 696, 697, 698, 697, 700, 699, - 698, 707, 698, 707, 700, 701, 728, 702, 702, 699, - 752, 699, 699, 701, 700, 701, 700, 701, 702, 703, - 702, 739, 703, 705, 704, 1470, 709, 706, 739, 703, - - 704, 703, 709, 705, 704, 705, 704, 706, 708, 706, - 727, 705, 709, 710, 709, 706, 711, 712, 708, 730, - 708, 708, 713, 710, 732, 710, 711, 712, 711, 712, - 714, 715, 713, 734, 713, 727, 716, 731, 730, 731, - 714, 715, 714, 715, 712, 732, 716, 710, 716, 717, - 750, 1469, 718, 734, 738, 713, 719, 714, 735, 717, - 715, 717, 718, 716, 718, 720, 719, 736, 719, 736, - 738, 740, 735, 717, 718, 720, 737, 720, 737, 741, - 719, 742, 740, 743, 744, 745, 747, 746, 736, 746, - 751, 750, 744, 741, 753, 754, 755, 758, 756, 833, - - 758, 759, 762, 760, 759, 828, 745, 742, 762, 743, - 758, 833, 758, 760, 759, 760, 759, 760, 762, 828, - 762, 761, 848, 761, 830, 751, 755, 754, 747, 753, - 756, 761, 763, 761, 848, 764, 765, 768, 830, 766, - 835, 763, 763, 768, 763, 764, 765, 764, 765, 766, - 767, 766, 764, 768, 765, 768, 769, 835, 838, 926, - 767, 767, 767, 770, 771, 838, 769, 855, 769, 769, - 770, 772, 773, 770, 771, 770, 771, 772, 773, 774, - 855, 772, 834, 772, 775, 774, 837, 834, 773, 837, - 773, 773, 775, 926, 775, 774, 775, 774, 776, 776, - - 777, 839, 852, 777, 779, 839, 852, 778, 780, 776, - 777, 776, 777, 778, 779, 781, 779, 778, 780, 778, - 780, 782, 779, 783, 1468, 781, 780, 781, 784, 783, - 841, 782, 785, 782, 782, 787, 786, 841, 784, 783, - 784, 783, 785, 788, 785, 787, 786, 787, 786, 789, - 850, 1026, 850, 788, 790, 788, 853, 792, 853, 789, - 854, 789, 784, 786, 790, 791, 790, 792, 787, 792, - 788, 1026, 793, 794, 854, 791, 840, 791, 789, 792, - 843, 790, 793, 794, 793, 794, 844, 845, 836, 791, - 836, 836, 842, 840, 842, 842, 793, 843, 847, 851, - - 847, 847, 857, 844, 845, 849, 856, 849, 849, 859, - 858, 856, 858, 858, 860, 862, 851, 863, 864, 857, - 865, 866, 872, 867, 859, 872, 868, 878, 868, 862, - 878, 865, 864, 860, 867, 905, 868, 866, 868, 863, - 869, 869, 905, 871, 870, 865, 1467, 904, 867, 871, - 870, 869, 873, 869, 870, 874, 870, 904, 908, 871, - 873, 871, 873, 876, 873, 874, 909, 874, 875, 876, - 879, 880, 877, 874, 908, 875, 879, 880, 875, 876, - 875, 876, 877, 882, 877, 881, 879, 880, 879, 880, - 877, 881, 909, 882, 883, 882, 1025, 883, 884, 884, - - 886, 881, 885, 881, 1025, 885, 888, 889, 887, 884, - 886, 884, 886, 886, 887, 1027, 888, 889, 888, 889, - 889, 888, 890, 1027, 887, 890, 887, 891, 892, 891, - 893, 907, 929, 907, 892, 890, 893, 890, 892, 891, - 892, 891, 894, 895, 896, 894, 893, 897, 893, 910, - 898, 899, 918, 895, 896, 895, 896, 897, 900, 897, - 898, 899, 898, 899, 910, 929, 901, 902, 900, 895, - 900, 906, 912, 918, 896, 898, 901, 902, 901, 902, - 911, 903, 911, 900, 899, 906, 920, 913, 901, 913, - 914, 903, 914, 903, 902, 915, 922, 915, 912, 917, - - 921, 922, 901, 903, 923, 919, 917, 919, 924, 920, - 923, 925, 927, 925, 930, 931, 932, 903, 933, 934, - 1450, 921, 924, 935, 937, 935, 936, 936, 939, 945, - 937, 939, 945, 935, 937, 935, 937, 936, 938, 936, - 950, 1004, 952, 950, 938, 952, 932, 971, 931, 934, - 927, 971, 941, 933, 938, 930, 938, 940, 1004, 1024, - 932, 942, 941, 934, 941, 940, 943, 940, 942, 940, - 941, 942, 943, 942, 946, 944, 961, 1007, 1007, 961, - 946, 1024, 943, 947, 943, 944, 949, 944, 948, 947, - 946, 1199, 946, 944, 948, 953, 949, 1011, 949, 947, - - 1199, 947, 951, 951, 948, 953, 948, 953, 953, 955, - 954, 1011, 1005, 951, 1005, 951, 954, 956, 1008, 955, - 957, 955, 1008, 957, 955, 1069, 954, 956, 954, 956, - 956, 959, 958, 957, 958, 957, 960, 959, 962, 963, - 1069, 959, 960, 959, 958, 964, 958, 1449, 962, 963, - 962, 963, 960, 965, 960, 964, 966, 964, 1003, 1016, - 967, 968, 1003, 965, 962, 965, 966, 969, 966, 963, - 967, 968, 967, 968, 970, 1003, 1016, 969, 965, 969, - 1009, 1009, 1019, 968, 970, 967, 970, 1018, 1006, 966, - 1006, 1006, 1081, 1020, 969, 1020, 970, 968, 1010, 1019, - - 1010, 1010, 1012, 1018, 1012, 1012, 1013, 1021, 1013, 1013, - 970, 1014, 1022, 1014, 1014, 1017, 1028, 1017, 1017, 1021, - 1023, 1029, 1023, 1023, 1022, 1031, 1030, 1032, 1033, 1029, - 1037, 1081, 1036, 1037, 1034, 1032, 1028, 1030, 1034, 1033, - 1034, 1035, 1036, 1031, 1036, 1036, 1038, 1035, 1041, 1146, - 1034, 1041, 1034, 1039, 1040, 1077, 1038, 1035, 1038, 1035, - 1039, 1146, 1077, 1039, 1040, 1039, 1040, 1042, 1043, 1044, - 1042, 1043, 1044, 1045, 1046, 1047, 1045, 1066, 1067, 1066, - 1042, 1047, 1042, 1049, 1046, 1046, 1046, 1048, 1049, 1050, - 1048, 1047, 1051, 1047, 1054, 1050, 1079, 1054, 1049, 1067, - - 1049, 1051, 1051, 1055, 1051, 1050, 1056, 1050, 1052, 1052, - 1448, 1053, 1053, 1055, 1262, 1055, 1056, 1057, 1056, 1052, - 1058, 1052, 1053, 1059, 1053, 1056, 1262, 1057, 1060, 1057, - 1058, 1061, 1058, 1059, 1062, 1059, 1055, 1079, 1060, 1058, - 1060, 1061, 1068, 1061, 1062, 1063, 1062, 1060, 1057, 1064, - 1065, 1072, 1065, 1061, 1059, 1063, 1065, 1063, 1070, 1064, - 1071, 1064, 1068, 1062, 1063, 1071, 1073, 1076, 1073, 1074, - 1072, 1064, 1074, 1075, 1078, 1075, 1080, 1082, 1070, 1083, - 1084, 1078, 1085, 1086, 1076, 1088, 1087, 1445, 1091, 1092, - 1089, 1160, 1092, 1090, 1089, 1149, 1089, 1149, 1091, 1090, - - 1091, 1091, 1096, 1080, 1082, 1096, 1089, 1084, 1089, 1090, - 1160, 1090, 1085, 1087, 1093, 1088, 1436, 1095, 1083, 1097, - 1086, 1094, 1097, 1152, 1093, 1152, 1093, 1095, 1094, 1095, - 1159, 1094, 1097, 1094, 1097, 1098, 1099, 1100, 1098, 1099, - 1100, 1101, 1102, 1103, 1104, 1106, 1103, 1159, 1102, 1104, - 1105, 1101, 1101, 1101, 1106, 1106, 1105, 1106, 1102, 1104, - 1102, 1104, 1107, 1107, 1109, 1162, 1105, 1109, 1105, 1108, - 1108, 1110, 1209, 1107, 1111, 1107, 1155, 1112, 1113, 1155, - 1108, 1110, 1108, 1110, 1111, 1162, 1111, 1112, 1113, 1112, - 1113, 1114, 1151, 1111, 1161, 1115, 1165, 1113, 1166, 1116, - - 1117, 1114, 1151, 1114, 1110, 1115, 1118, 1115, 1112, 1116, - 1117, 1116, 1117, 1209, 1115, 1161, 1118, 1165, 1118, 1166, - 1119, 1116, 1114, 1157, 1145, 1118, 1145, 1145, 1157, 1117, - 1119, 1147, 1119, 1147, 1147, 1150, 1150, 1153, 1153, 1158, - 1158, 1154, 1119, 1154, 1154, 1156, 1163, 1156, 1156, 1164, - 1167, 1168, 1169, 1170, 1172, 1179, 1170, 1172, 1179, 1181, - 1261, 1435, 1181, 1171, 1171, 1173, 1197, 1167, 1163, 1164, - 1174, 1261, 1168, 1169, 1171, 1173, 1171, 1173, 1175, 1195, - 1174, 1178, 1174, 1174, 1176, 1176, 1195, 1197, 1175, 1177, - 1175, 1178, 1180, 1178, 1176, 1204, 1176, 1182, 1177, 1177, - - 1183, 1177, 1180, 1182, 1180, 1184, 1180, 1182, 1185, 1182, - 1183, 1184, 1183, 1204, 1434, 1186, 1185, 1198, 1200, 1187, - 1188, 1184, 1202, 1184, 1189, 1186, 1185, 1186, 1185, 1187, - 1188, 1187, 1188, 1190, 1189, 1200, 1189, 1198, 1208, 1191, - 1201, 1207, 1192, 1190, 1202, 1190, 1193, 1186, 1203, 1191, - 1187, 1191, 1192, 1188, 1192, 1189, 1193, 1194, 1193, 1205, - 1201, 1205, 1203, 1210, 1211, 1190, 1212, 1194, 1302, 1194, - 1192, 1191, 1213, 1214, 1215, 1302, 1216, 1208, 1193, 1216, - 1219, 1207, 1217, 1217, 1218, 1225, 1220, 1218, 1225, 1194, - 1219, 1221, 1219, 1217, 1227, 1217, 1220, 1227, 1220, 1220, - - 1273, 1221, 1210, 1221, 1211, 1264, 1212, 1263, 1213, 1222, - 1222, 1441, 1441, 1214, 1215, 1223, 1224, 1263, 1273, 1222, - 1226, 1222, 1264, 1228, 1223, 1223, 1224, 1223, 1224, 1228, - 1226, 1229, 1226, 1228, 1226, 1228, 1230, 1231, 1232, 1234, - 1368, 1229, 1230, 1229, 1290, 1231, 1233, 1290, 1232, 1234, - 1232, 1234, 1230, 1235, 1230, 1231, 1233, 1231, 1233, 1236, - 1368, 1265, 1267, 1235, 1237, 1235, 1265, 1267, 1239, 1236, - 1232, 1236, 1234, 1238, 1237, 1433, 1237, 1233, 1239, 1268, - 1239, 1268, 1240, 1238, 1235, 1238, 1269, 1270, 1269, 1270, - 1270, 1236, 1240, 1274, 1240, 1271, 1237, 1271, 1271, 1272, - - 1239, 1238, 1276, 1275, 1274, 1277, 1279, 1280, 1278, 1301, - 1303, 1432, 1305, 1281, 1240, 1309, 1304, 1301, 1304, 1303, - 1272, 1275, 1278, 1281, 1276, 1281, 1305, 1277, 1279, 1280, - 1282, 1282, 1284, 1271, 1283, 1283, 1309, 1291, 1284, 1285, - 1291, 1282, 1286, 1282, 1283, 1285, 1283, 1287, 1284, 1285, - 1284, 1285, 1286, 1287, 1286, 1288, 1289, 1287, 1430, 1287, - 1292, 1293, 1307, 1308, 1288, 1288, 1289, 1288, 1289, 1289, - 1292, 1293, 1292, 1293, 1294, 1291, 1307, 1295, 1313, 1311, - 1308, 1296, 1315, 1312, 1294, 1297, 1294, 1295, 1298, 1295, - 1293, 1296, 1292, 1296, 1314, 1297, 1294, 1297, 1298, 1299, - - 1298, 1316, 1317, 1318, 1319, 1300, 1295, 1329, 1313, 1299, - 1329, 1299, 1320, 1298, 1296, 1300, 1358, 1300, 1297, 1311, - 1312, 1410, 1320, 1315, 1320, 1330, 1321, 1321, 1330, 1409, - 1323, 1314, 1299, 1358, 1360, 1317, 1323, 1321, 1300, 1321, - 1322, 1322, 1316, 1324, 1318, 1319, 1323, 1325, 1323, 1324, - 1322, 1360, 1322, 1324, 1326, 1324, 1399, 1325, 1327, 1325, - 1326, 1328, 1407, 1330, 1326, 1331, 1326, 1327, 1327, 1332, - 1327, 1328, 1333, 1328, 1328, 1331, 1334, 1331, 1399, 1332, - 1335, 1332, 1333, 1336, 1333, 1362, 1334, 1362, 1334, 1337, - 1335, 1406, 1335, 1336, 1333, 1336, 1338, 1331, 1332, 1337, - - 1339, 1337, 1363, 1404, 1363, 1334, 1338, 1370, 1338, 1402, - 1339, 1365, 1339, 1335, 1337, 1361, 1336, 1361, 1361, 1364, - 1365, 1366, 1364, 1366, 1366, 1373, 1376, 1370, 1377, 1338, - 1378, 1400, 1376, 1339, 1373, 1394, 1378, 1394, 1377, 1377, - 1377, 1400, 1376, 1380, 1376, 1401, 1378, 1379, 1378, 1381, - 1379, 1462, 1380, 1380, 1382, 1380, 1396, 1397, 1396, 1381, - 1366, 1381, 1381, 1383, 1382, 1383, 1382, 1384, 1382, 1385, - 1384, 1462, 1386, 1383, 1397, 1383, 1387, 1388, 1398, 1385, - 1389, 1385, 1386, 1390, 1386, 1395, 1387, 1388, 1387, 1388, - 1389, 1403, 1389, 1390, 1405, 1390, 1408, 1391, 1463, 1398, - - 1392, 1393, 1414, 1386, 1395, 1414, 1384, 1391, 1388, 1391, - 1392, 1393, 1392, 1393, 1444, 1412, 1411, 1391, 1419, 1446, - 1463, 1419, 1411, 1413, 1408, 1412, 1412, 1412, 1415, 1413, - 1403, 1444, 1411, 1405, 1411, 1416, 1446, 1415, 1415, 1413, - 1415, 1413, 1417, 1420, 1464, 1416, 1464, 1416, 1416, 1418, - 1421, 1418, 1417, 1420, 1417, 1420, 1417, 1419, 1422, 1418, - 1421, 1418, 1421, 1423, 1424, 1375, 1443, 1425, 1422, 1443, - 1422, 1374, 1426, 1423, 1424, 1423, 1424, 1425, 1427, 1425, - 1491, 1421, 1426, 1428, 1426, 1466, 1451, 1466, 1427, 1451, - 1427, 1372, 1426, 1428, 1423, 1428, 1440, 1491, 1440, 1440, - - 1442, 1452, 1442, 1442, 1447, 1453, 1447, 1447, 1453, 1454, - 1455, 1452, 1458, 1452, 1371, 1458, 1455, 1459, 1457, 1454, - 1456, 1454, 1465, 1454, 1457, 1460, 1455, 1459, 1455, 1459, - 1456, 1456, 1456, 1461, 1457, 1460, 1457, 1460, 1472, 1471, - 1369, 1465, 1471, 1461, 1473, 1461, 1474, 1473, 1472, 1475, - 1472, 1447, 1476, 1513, 1478, 1475, 1474, 1478, 1474, 1458, - 1474, 1479, 1476, 1476, 1476, 1475, 1477, 1475, 1480, 1481, - 1513, 1479, 1477, 1479, 1490, 1367, 1490, 1490, 1480, 1481, - 1480, 1481, 1477, 1492, 1477, 1492, 1492, 1493, 1494, 1493, - 1493, 1496, 1495, 1497, 1496, 1501, 1359, 1355, 1494, 1497, - - 1494, 1478, 1495, 1495, 1495, 1498, 1504, 1499, 1498, 1497, - 1499, 1497, 1505, 1502, 1501, 1502, 1504, 1506, 1504, 1519, - 1506, 1519, 1505, 1505, 1505, 1507, 1508, 1509, 1352, 1508, - 1509, 1507, 1514, 1516, 1514, 1514, 1350, 1493, 1348, 1516, - 1521, 1507, 1515, 1507, 1515, 1515, 1521, 1517, 1347, 1516, - 1517, 1516, 1518, 1346, 1345, 1518, 1521, 1499, 1521, 1522, - 1523, 1344, 1522, 1523, 1526, 1342, 1526, 1526, 1527, 1528, - 1527, 1527, 1528, 1529, 1341, 1531, 1529, 1509, 1531, 1527, - 1340, 1310, 1306, 1515, 1529, 1532, 1266, 1534, 1532, 1534, - 1534, 1535, 1536, 1518, 1535, 1536, 1532, 1260, 1259, 1258, - - 1257, 1523, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1539, - 1539, 1539, 1539, 1539, 1539, 1539, 1541, 1541, 1256, 1541, - 1541, 1541, 1541, 1542, 1542, 1542, 1542, 1542, 1542, 1542, - 1543, 1255, 1254, 1253, 1543, 1543, 1543, 1544, 1544, 1252, - 1544, 1544, 1544, 1544, 1545, 1545, 1251, 1545, 1545, 1545, - 1545, 1546, 1546, 1249, 1546, 1546, 1546, 1546, 1547, 1547, - 1248, 1247, 1245, 1547, 1547, 1548, 1548, 1244, 1243, 1242, - 1548, 1548, 1549, 1549, 1241, 1549, 1549, 1549, 1549, 1550, - 1550, 1551, 1551, 1552, 1552, 1206, 1196, 1148, 1552, 1552, - 1553, 1553, 1144, 1143, 1142, 1553, 1553, 1554, 1554, 1141, - - 1554, 1554, 1554, 1554, 1555, 1555, 1140, 1139, 1138, 1555, - 1555, 1556, 1556, 1137, 1136, 1135, 1556, 1556, 1557, 1557, - 1134, 1557, 1557, 1557, 1557, 1558, 1558, 1133, 1132, 1130, - 1558, 1558, 1559, 1559, 1128, 1127, 1126, 1559, 1559, 1560, - 1560, 1125, 1560, 1560, 1560, 1560, 1124, 1121, 1015, 1001, - 1000, 999, 998, 997, 996, 995, 994, 993, 992, 990, - 989, 988, 987, 986, 984, 983, 979, 977, 976, 975, - 973, 972, 928, 916, 861, 846, 831, 829, 827, 826, - 825, 823, 822, 820, 819, 818, 817, 816, 815, 814, - 813, 811, 808, 807, 806, 804, 803, 802, 801, 800, - - 798, 797, 796, 795, 757, 748, 683, 674, 656, 646, - 644, 643, 642, 641, 640, 639, 638, 637, 635, 634, - 633, 632, 631, 630, 629, 628, 627, 626, 625, 623, - 622, 621, 620, 619, 618, 617, 616, 615, 614, 613, - 612, 611, 610, 609, 565, 486, 457, 450, 448, 447, - 446, 445, 443, 442, 441, 440, 439, 438, 437, 436, - 435, 434, 433, 432, 431, 430, 429, 428, 427, 426, - 425, 424, 423, 422, 421, 420, 419, 418, 417, 416, - 415, 414, 376, 339, 338, 335, 257, 251, 250, 248, - 244, 240, 239, 235, 234, 233, 231, 230, 229, 228, - - 227, 226, 225, 223, 222, 221, 220, 219, 218, 217, - 216, 215, 214, 213, 211, 208, 207, 205, 175, 169, + 9, 10, 116, 159, 10, 97, 10, 114, 113, 97, + 113, 116, 114, 115, 150, 114, 115, 150, 113, 116, + + 115, 115, 118, 117, 117, 10, 123, 97, 1225, 115, + 97, 117, 120, 120, 120, 118, 121, 121, 128, 123, + 159, 120, 120, 118, 121, 127, 128, 123, 334, 128, + 10, 72, 72, 127, 72, 72, 72, 72, 72, 72, + 72, 72, 146, 72, 73, 73, 127, 73, 73, 73, + 73, 73, 73, 73, 73, 122, 73, 124, 126, 156, + 192, 122, 129, 146, 334, 124, 126, 122, 153, 122, + 129, 124, 192, 73, 108, 108, 126, 141, 108, 108, + 108, 108, 108, 129, 108, 153, 108, 109, 109, 156, + 125, 109, 109, 109, 109, 109, 141, 109, 125, 109, + + 130, 125, 131, 131, 131, 131, 132, 131, 130, 160, + 125, 245, 132, 158, 130, 226, 109, 110, 110, 133, + 142, 110, 110, 110, 110, 110, 245, 110, 143, 110, + 142, 226, 133, 133, 148, 143, 160, 110, 111, 111, + 133, 148, 111, 111, 111, 111, 111, 158, 111, 144, + 111, 135, 135, 135, 135, 111, 112, 112, 134, 134, + 112, 112, 112, 112, 112, 144, 112, 134, 112, 151, + 147, 157, 152, 144, 154, 161, 155, 165, 147, 155, + 134, 147, 112, 134, 154, 147, 152, 152, 151, 162, + 112, 164, 165, 1217, 164, 152, 154, 180, 157, 163, + + 163, 163, 163, 166, 163, 200, 166, 157, 164, 209, + 171, 180, 161, 171, 165, 177, 220, 165, 200, 162, + 167, 167, 167, 167, 236, 177, 204, 177, 236, 204, + 221, 204, 221, 221, 209, 213, 213, 213, 217, 217, + 217, 222, 227, 222, 222, 224, 230, 224, 224, 220, + 228, 229, 466, 231, 230, 224, 232, 466, 227, 233, + 228, 228, 228, 234, 229, 234, 229, 231, 232, 231, + 235, 233, 235, 237, 238, 239, 237, 240, 238, 241, + 242, 244, 246, 239, 244, 243, 247, 241, 248, 250, + 253, 249, 246, 240, 251, 252, 242, 243, 247, 243, + + 249, 251, 254, 255, 258, 255, 255, 250, 256, 248, + 256, 256, 252, 253, 251, 257, 257, 259, 1215, 260, + 258, 259, 260, 254, 261, 261, 261, 261, 263, 263, + 263, 263, 297, 265, 297, 297, 265, 318, 308, 314, + 297, 308, 259, 265, 266, 266, 314, 311, 266, 266, + 266, 266, 266, 311, 266, 312, 266, 267, 267, 320, + 318, 267, 267, 267, 267, 267, 312, 267, 311, 267, + 267, 268, 268, 315, 320, 268, 268, 268, 268, 268, + 315, 268, 317, 268, 268, 269, 269, 273, 273, 269, + 269, 269, 269, 269, 270, 269, 270, 269, 273, 317, + + 273, 309, 271, 269, 309, 271, 270, 781, 270, 270, + 275, 272, 271, 269, 271, 269, 272, 316, 274, 274, + 275, 321, 275, 275, 276, 272, 272, 277, 272, 274, + 326, 274, 321, 276, 276, 278, 276, 277, 316, 277, + 781, 279, 277, 278, 319, 278, 280, 278, 279, 280, + 281, 279, 326, 279, 282, 281, 280, 282, 280, 284, + 319, 328, 284, 283, 282, 281, 282, 281, 283, 285, + 328, 284, 284, 286, 284, 329, 288, 286, 283, 285, + 283, 285, 323, 285, 287, 287, 288, 286, 288, 286, + 289, 290, 331, 323, 287, 291, 287, 1214, 292, 288, + + 289, 290, 289, 290, 330, 291, 329, 291, 292, 293, + 292, 290, 322, 294, 324, 322, 292, 324, 295, 293, + 331, 293, 289, 294, 291, 294, 332, 335, 295, 292, + 295, 296, 296, 296, 296, 336, 296, 293, 299, 298, + 310, 327, 992, 299, 330, 327, 333, 294, 310, 298, + 295, 298, 300, 299, 313, 299, 325, 313, 310, 300, + 310, 325, 300, 332, 300, 301, 301, 301, 301, 335, + 338, 313, 333, 325, 340, 336, 337, 337, 337, 337, + 339, 337, 992, 339, 300, 333, 387, 341, 338, 340, + 341, 342, 376, 385, 342, 343, 343, 343, 343, 376, + + 387, 383, 384, 376, 383, 384, 386, 388, 386, 385, + 390, 388, 390, 391, 340, 392, 393, 392, 394, 395, + 393, 396, 401, 391, 396, 397, 398, 398, 399, 400, + 402, 395, 403, 402, 394, 403, 401, 397, 404, 406, + 399, 400, 410, 405, 404, 405, 407, 407, 408, 408, + 406, 409, 411, 412, 413, 414, 415, 416, 417, 409, + 419, 412, 420, 419, 410, 420, 415, 413, 468, 542, + 411, 421, 420, 462, 413, 542, 422, 414, 413, 416, + 417, 421, 423, 421, 422, 425, 422, 468, 422, 462, + 423, 424, 423, 427, 423, 425, 424, 425, 425, 426, + + 427, 435, 426, 427, 482, 427, 424, 428, 424, 435, + 429, 435, 426, 435, 426, 430, 430, 428, 428, 428, + 429, 431, 429, 429, 433, 430, 482, 430, 432, 433, + 431, 431, 477, 431, 437, 432, 434, 434, 432, 433, + 432, 433, 436, 436, 437, 440, 437, 434, 440, 434, + 438, 438, 477, 436, 441, 436, 439, 439, 440, 467, + 440, 438, 441, 438, 441, 442, 441, 439, 443, 439, + 465, 444, 490, 443, 467, 442, 445, 442, 443, 442, + 443, 444, 446, 444, 444, 447, 445, 471, 445, 448, + 449, 465, 446, 450, 446, 447, 463, 447, 483, 448, + + 449, 448, 449, 450, 471, 450, 451, 452, 448, 490, + 464, 483, 463, 464, 453, 469, 451, 452, 451, 452, + 454, 474, 450, 449, 453, 451, 453, 455, 474, 480, + 454, 452, 454, 456, 480, 470, 469, 455, 452, 455, + 458, 454, 452, 456, 470, 456, 457, 453, 457, 457, + 458, 459, 458, 460, 457, 461, 472, 475, 460, 486, + 455, 459, 461, 459, 481, 461, 456, 461, 460, 473, + 460, 472, 473, 475, 476, 478, 479, 484, 485, 486, + 481, 476, 478, 479, 487, 488, 485, 461, 489, 491, + 493, 492, 494, 536, 495, 496, 513, 537, 484, 538, + + 539, 540, 538, 541, 487, 541, 543, 536, 546, 539, + 548, 537, 488, 543, 548, 513, 491, 1211, 540, 544, + 544, 494, 547, 492, 547, 546, 549, 549, 550, 489, + 492, 493, 551, 550, 492, 495, 496, 552, 553, 555, + 554, 553, 561, 556, 559, 562, 557, 555, 556, 551, + 558, 551, 554, 557, 552, 559, 560, 558, 560, 561, + 564, 565, 566, 567, 568, 610, 569, 614, 562, 614, + 610, 570, 571, 1200, 573, 612, 564, 573, 566, 569, + 568, 567, 570, 565, 575, 571, 617, 573, 574, 573, + 576, 574, 576, 577, 575, 578, 575, 612, 575, 577, + + 576, 574, 576, 574, 578, 578, 579, 578, 611, 577, + 580, 577, 617, 611, 581, 613, 579, 615, 579, 582, + 580, 583, 580, 579, 581, 613, 581, 583, 580, 582, + 582, 582, 584, 616, 615, 621, 585, 583, 634, 583, + 586, 587, 584, 585, 584, 584, 585, 587, 585, 588, + 586, 587, 586, 587, 589, 588, 621, 618, 616, 634, + 589, 590, 619, 591, 591, 588, 627, 588, 588, 590, + 589, 590, 589, 590, 591, 592, 591, 618, 592, 594, + 593, 619, 627, 595, 596, 592, 593, 592, 622, 594, + 593, 594, 593, 595, 596, 595, 596, 594, 597, 598, + + 628, 595, 599, 622, 1199, 598, 600, 628, 597, 602, + 597, 597, 599, 601, 599, 598, 600, 598, 600, 602, + 603, 602, 620, 601, 620, 601, 626, 604, 626, 636, + 603, 605, 603, 623, 609, 639, 599, 604, 606, 604, + 601, 605, 602, 605, 609, 607, 609, 603, 606, 608, + 606, 624, 629, 623, 630, 607, 604, 607, 605, 608, + 631, 608, 606, 629, 625, 624, 625, 607, 630, 632, + 633, 636, 635, 608, 635, 638, 639, 640, 633, 641, + 642, 643, 680, 682, 644, 625, 631, 645, 685, 684, + 687, 692, 695, 1198, 686, 632, 680, 682, 684, 686, + + 685, 688, 689, 688, 688, 689, 696, 687, 692, 695, + 638, 690, 640, 643, 644, 642, 641, 691, 690, 645, + 693, 691, 694, 696, 694, 694, 697, 693, 699, 700, + 699, 699, 701, 703, 701, 701, 702, 705, 702, 705, + 704, 700, 706, 697, 704, 707, 708, 709, 711, 712, + 703, 708, 710, 714, 710, 710, 706, 715, 707, 716, + 717, 718, 837, 711, 709, 719, 724, 714, 712, 724, + 720, 717, 720, 716, 837, 730, 719, 718, 730, 715, + 720, 722, 720, 721, 721, 717, 723, 722, 726, 725, + 719, 722, 723, 722, 721, 758, 721, 725, 726, 725, + + 726, 725, 723, 727, 723, 728, 726, 729, 731, 758, + 727, 728, 732, 727, 731, 727, 733, 729, 732, 729, + 761, 728, 733, 728, 731, 729, 731, 734, 732, 759, + 732, 759, 733, 735, 733, 737, 735, 734, 737, 734, + 736, 736, 738, 739, 746, 774, 761, 746, 740, 739, + 774, 736, 738, 736, 738, 738, 741, 756, 740, 739, + 740, 739, 742, 740, 757, 742, 741, 756, 741, 741, + 743, 757, 743, 744, 745, 742, 747, 742, 846, 744, + 745, 748, 743, 744, 743, 744, 747, 749, 747, 846, + 745, 748, 745, 748, 750, 751, 760, 749, 752, 749, + + 770, 762, 747, 753, 750, 751, 750, 751, 752, 764, + 752, 748, 760, 753, 754, 753, 762, 778, 782, 750, + 755, 770, 779, 752, 754, 753, 754, 763, 751, 763, + 755, 765, 755, 765, 766, 764, 766, 769, 767, 753, + 767, 754, 755, 771, 769, 771, 772, 773, 775, 776, + 777, 778, 777, 783, 775, 784, 755, 785, 786, 782, + 779, 787, 819, 776, 820, 787, 819, 1196, 773, 772, + 821, 822, 821, 822, 822, 823, 823, 827, 824, 819, + 832, 820, 824, 825, 825, 784, 783, 826, 786, 826, + 826, 827, 785, 828, 835, 828, 828, 832, 829, 784, + + 829, 829, 786, 830, 834, 830, 830, 833, 840, 833, + 833, 835, 836, 838, 836, 839, 841, 839, 839, 842, + 834, 843, 844, 845, 841, 838, 847, 848, 887, 843, + 840, 845, 849, 887, 850, 848, 852, 1194, 850, 842, + 850, 851, 844, 849, 847, 892, 852, 851, 852, 852, + 850, 853, 850, 854, 853, 857, 856, 851, 857, 851, + 855, 858, 892, 854, 858, 854, 856, 855, 856, 882, + 855, 882, 855, 862, 858, 859, 858, 860, 859, 861, + 860, 863, 861, 862, 862, 862, 864, 863, 865, 864, + 866, 870, 867, 865, 870, 883, 866, 863, 1192, 863, + + 885, 867, 867, 865, 867, 865, 866, 871, 866, 868, + 868, 936, 869, 869, 872, 885, 883, 871, 873, 871, + 868, 936, 868, 869, 872, 869, 872, 874, 873, 942, + 873, 875, 876, 872, 942, 877, 884, 874, 878, 874, + 871, 875, 876, 875, 876, 877, 874, 877, 878, 873, + 878, 876, 888, 879, 880, 886, 884, 877, 889, 891, + 889, 891, 875, 879, 880, 879, 880, 878, 881, 895, + 881, 888, 879, 896, 881, 886, 880, 890, 893, 894, + 890, 897, 898, 899, 900, 893, 894, 901, 902, 903, + 930, 904, 930, 930, 931, 932, 1191, 932, 932, 934, + + 896, 934, 935, 935, 945, 937, 931, 937, 946, 898, + 895, 900, 938, 938, 947, 940, 903, 901, 940, 944, + 897, 904, 899, 945, 939, 902, 939, 939, 941, 946, + 941, 941, 943, 943, 947, 948, 944, 952, 949, 950, + 951, 953, 954, 955, 957, 964, 955, 957, 964, 966, + 985, 990, 966, 990, 952, 956, 956, 948, 949, 958, + 950, 951, 953, 954, 959, 980, 956, 985, 956, 958, + 960, 958, 980, 982, 959, 962, 959, 959, 961, 961, + 960, 963, 960, 987, 962, 962, 965, 962, 961, 967, + 961, 963, 968, 963, 982, 967, 965, 969, 965, 967, + + 965, 967, 968, 969, 968, 987, 970, 971, 1190, 983, + 972, 973, 986, 969, 970, 969, 989, 971, 974, 971, + 972, 973, 972, 973, 970, 975, 970, 993, 974, 983, + 974, 995, 986, 976, 989, 975, 977, 975, 984, 971, + 978, 972, 988, 976, 973, 976, 977, 984, 977, 974, + 978, 979, 978, 994, 998, 996, 988, 975, 997, 999, + 1000, 979, 1021, 979, 977, 976, 993, 1022, 1023, 1024, + 995, 1025, 978, 1021, 1050, 1027, 1025, 1050, 1023, 1022, + 1027, 1032, 1028, 979, 1028, 1029, 1024, 1029, 1033, 1030, + 998, 1030, 1030, 1035, 994, 996, 1034, 1036, 997, 999, + + 1000, 1031, 1032, 1031, 1031, 1037, 1033, 1034, 1038, 1039, + 1040, 1035, 1064, 1041, 1064, 1042, 1042, 1051, 1068, 1036, + 1051, 1061, 1038, 1041, 1044, 1041, 1042, 1037, 1042, 1061, + 1044, 1039, 1040, 1043, 1043, 1068, 1069, 1046, 1045, 1031, + 1044, 1189, 1044, 1043, 1045, 1043, 1047, 1046, 1045, 1046, + 1045, 1048, 1047, 1172, 1049, 1051, 1047, 1069, 1047, 1052, + 1048, 1048, 1054, 1048, 1049, 1053, 1049, 1049, 1055, 1052, + 1063, 1052, 1054, 1056, 1054, 1053, 1057, 1053, 1055, 1063, + 1055, 1065, 1067, 1056, 1054, 1056, 1057, 1071, 1057, 1058, + 1059, 1052, 1072, 1060, 1053, 1065, 1067, 1055, 1073, 1058, + + 1059, 1058, 1059, 1060, 1062, 1060, 1056, 1074, 1075, 1057, + 1076, 1062, 1077, 1078, 1058, 1079, 1098, 1100, 1101, 1137, + 1101, 1101, 1102, 1059, 1102, 1171, 1060, 1071, 1073, 1072, + 1103, 1105, 1103, 1098, 1100, 1104, 1137, 1108, 1104, 1106, + 1105, 1106, 1106, 1110, 1074, 1077, 1113, 1135, 1170, 1075, + 1117, 1076, 1116, 1118, 1078, 1113, 1079, 1108, 1116, 1118, + 1117, 1117, 1117, 1110, 1119, 1120, 1135, 1119, 1116, 1118, + 1116, 1118, 1121, 1138, 1120, 1120, 1122, 1120, 1106, 1123, + 1124, 1123, 1121, 1124, 1121, 1121, 1122, 1125, 1122, 1123, + 1122, 1123, 1126, 1127, 1138, 1167, 1128, 1125, 1139, 1125, + + 1129, 1130, 1126, 1127, 1126, 1127, 1128, 1134, 1128, 1134, + 1129, 1130, 1129, 1130, 1131, 1136, 1143, 1136, 1132, 1124, + 1139, 1133, 1140, 1126, 1131, 1145, 1131, 1128, 1132, 1148, + 1132, 1133, 1140, 1133, 1131, 1162, 1166, 1162, 1162, 1163, + 1163, 1164, 1165, 1164, 1164, 1165, 1168, 1169, 1173, 1169, + 1169, 1173, 1158, 1166, 1177, 1143, 1174, 1148, 1175, 1176, + 1177, 1175, 1184, 1168, 1145, 1178, 1174, 1157, 1174, 1176, + 1177, 1176, 1177, 1176, 1179, 1178, 1178, 1178, 1180, 1181, + 1179, 1180, 1184, 1182, 1185, 1186, 1183, 1186, 1187, 1181, + 1179, 1181, 1179, 1182, 1169, 1182, 1183, 1188, 1183, 1188, + + 1201, 1202, 1201, 1201, 1156, 1212, 1185, 1187, 1203, 1205, + 1203, 1203, 1204, 1155, 1204, 1204, 1206, 1207, 1202, 1205, + 1207, 1205, 1154, 1208, 1212, 1180, 1206, 1206, 1206, 1208, + 1209, 1210, 1218, 1209, 1210, 1213, 1224, 1213, 1224, 1208, + 1219, 1208, 1219, 1219, 1220, 1221, 1220, 1220, 1152, 1218, + 1222, 1221, 1223, 1222, 1228, 1223, 1228, 1228, 1150, 1149, + 1147, 1221, 1204, 1221, 1229, 1230, 1229, 1229, 1230, 1231, + 1146, 1234, 1231, 1234, 1234, 1229, 1235, 1144, 1142, 1235, + 1231, 1210, 1141, 1115, 1114, 1220, 1112, 1111, 1109, 1107, + 1099, 1095, 1092, 1223, 1237, 1237, 1237, 1237, 1237, 1237, + + 1237, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1239, 1239, + 1239, 1239, 1239, 1239, 1239, 1241, 1241, 1090, 1241, 1241, + 1241, 1241, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1243, + 1088, 1087, 1086, 1243, 1243, 1243, 1244, 1244, 1085, 1244, + 1244, 1244, 1244, 1245, 1245, 1084, 1245, 1245, 1245, 1245, + 1246, 1246, 1082, 1246, 1246, 1246, 1246, 1247, 1247, 1081, + 1080, 1070, 1247, 1247, 1248, 1248, 1066, 1026, 1020, 1248, + 1248, 1249, 1249, 1019, 1249, 1249, 1249, 1249, 1250, 1250, + 1251, 1251, 1252, 1252, 1018, 1017, 1016, 1252, 1252, 1253, + 1253, 1015, 1014, 1013, 1253, 1253, 1254, 1254, 1012, 1011, + + 1009, 1254, 1254, 1255, 1255, 1008, 1255, 1255, 1255, 1255, + 1007, 1005, 1004, 1003, 1002, 1001, 991, 981, 933, 929, + 928, 927, 926, 925, 924, 923, 922, 921, 920, 919, + 918, 917, 915, 913, 912, 911, 910, 909, 906, 831, + 817, 816, 815, 814, 813, 812, 811, 810, 809, 808, + 806, 805, 804, 803, 802, 800, 799, 795, 793, 792, + 791, 789, 788, 780, 768, 713, 698, 683, 681, 679, + 678, 677, 675, 674, 672, 671, 670, 669, 668, 667, + 666, 665, 663, 660, 659, 658, 656, 655, 654, 653, + 652, 650, 649, 648, 647, 646, 637, 572, 563, 545, + + 535, 533, 532, 531, 530, 529, 528, 527, 526, 524, + 523, 522, 521, 520, 519, 518, 517, 516, 515, 514, + 512, 511, 510, 509, 508, 507, 506, 505, 504, 503, + 502, 501, 500, 499, 498, 497, 418, 389, 382, 380, + 379, 378, 377, 375, 374, 373, 372, 371, 370, 369, + 368, 367, 366, 365, 364, 363, 362, 361, 360, 359, + 358, 357, 356, 355, 354, 353, 352, 351, 350, 349, + 348, 347, 346, 345, 307, 306, 303, 225, 219, 218, + 216, 212, 208, 207, 203, 202, 201, 199, 198, 197, + 196, 195, 194, 193, 191, 190, 189, 188, 187, 186, + + 185, 184, 183, 182, 181, 179, 176, 175, 173, 169, 140, 139, 137, 107, 83, 65, 61, 58, 53, 46, 45, 44, 43, 42, 40, 39, 37, 35, 34, 33, - 32, 30, 29, 27, 26, 25, 23, 17, 13, 1537, - 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, - 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, - 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, - 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, - 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, - - 1537, 1537, 1537, 1537, 1537 - } ; + 32, 30, 29, 27, 26, 25, 23, 17, 13, 1236, + 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, + 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, + 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, + 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, + 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, + 1236, 1236, 1236, 1236, 1236 -/* Table of booleans, true if rule could match eol. */ -static yyconst flex_int32_t yy_rule_can_match_eol[77] = - { 0, -0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, }; - -static yy_state_type yy_last_accepting_state; -static char *yy_last_accepting_cpos; - -extern int yy_flex_debug; -int yy_flex_debug = 0; + } ; -/* The intent behind this definition is that it'll catch - * any uses of REJECT which flex missed. - */ -#define REJECT reject_used_but_not_detected +static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr; +static char *yy_full_match; +static int yy_lp; +#define REJECT \ +{ \ +*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \ +yy_cp = yy_full_match; /* restore poss. backed-over text */ \ +++yy_lp; \ +goto find_rule; \ +} #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; #line 1 "levcomp.lpp" +#define INITIAL 0 #line 2 "levcomp.lpp" -// levcomp.l: +// levcomp.lpp: // Level compiler lexer for Dungeon Crawl Stone Soup. // // Based loosely on NetHack's lev_comp.l @@ -1977,33 +1757,18 @@ static void settext() alloced = true; } - - - - - -#line 1986 "levcomp.lex.cc" - -#define INITIAL 0 #define MAPDEF 1 + #define ARGUMENT 2 + #define MNAME 3 -#define KEYWORDS 4 -#define ITEM_LIST 5 -#ifndef YY_NO_UNISTD_H -/* Special case for "unistd.h", since it is non-ANSI. We include it way - * down here because we want the user's section 1 to have been scanned first. - * The user has a chance to override it with an option. - */ -#include -#endif +#define KEYWORDS 4 -#ifndef YY_EXTRA_TYPE -#define YY_EXTRA_TYPE void * -#endif +#define ITEM_LIST 5 -static int yy_init_globals (void ); +#define YY_NEVER_INTERACTIVE 1 +#line 1772 "levcomp.lex.cc" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -2011,30 +1776,65 @@ static int yy_init_globals (void ); #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus -extern "C" int yywrap (void ); +extern "C" int yywrap YY_PROTO(( void )); #else -extern int yywrap (void ); +extern int yywrap YY_PROTO(( void )); #endif #endif - static void yyunput (int c,char *buf_ptr ); - +#ifndef YY_NO_UNPUT +static void yyunput YY_PROTO(( int c, char *buf_ptr )); +#endif + #ifndef yytext_ptr -static void yy_flex_strncpy (char *,yyconst char *,int ); +static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); #endif #ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * ); +static int yy_flex_strlen YY_PROTO(( yyconst char * )); #endif #ifndef YY_NO_INPUT - #ifdef __cplusplus -static int yyinput (void ); +static int yyinput YY_PROTO(( void )); +#else +static int input YY_PROTO(( void )); +#endif +#endif + +#if YY_STACK_USED +static int yy_start_stack_ptr = 0; +static int yy_start_stack_depth = 0; +static int *yy_start_stack = 0; +#ifndef YY_NO_PUSH_STATE +static void yy_push_state YY_PROTO(( int new_state )); +#endif +#ifndef YY_NO_POP_STATE +static void yy_pop_state YY_PROTO(( void )); +#endif +#ifndef YY_NO_TOP_STATE +static int yy_top_state YY_PROTO(( void )); +#endif + #else -static int input (void ); +#define YY_NO_PUSH_STATE 1 +#define YY_NO_POP_STATE 1 +#define YY_NO_TOP_STATE 1 #endif +#ifdef YY_MALLOC_DECL +YY_MALLOC_DECL +#else +#if __STDC__ +#ifndef __cplusplus +#include +#endif +#else +/* Just try to get by without declaring the routines. This will fail + * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int) + * or sizeof(void*) != sizeof(int). + */ +#endif #endif /* Amount of stuff to slurp up with each read. */ @@ -2043,6 +1843,7 @@ static int input (void ); #endif /* Copy whatever the last rule matched to the standard output. */ + #ifndef ECHO /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). @@ -2055,10 +1856,9 @@ static int input (void ); */ #ifndef YY_INPUT #define YY_INPUT(buf,result,max_size) \ - if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ + if ( yy_current_buffer->yy_is_interactive ) \ { \ - int c = '*'; \ - size_t n; \ + int c = '*', n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -2068,22 +1868,9 @@ static int input (void ); YY_FATAL_ERROR( "input in flex scanner failed" ); \ result = n; \ } \ - else \ - { \ - errno=0; \ - while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ - { \ - if( errno != EINTR) \ - { \ - YY_FATAL_ERROR( "input in flex scanner failed" ); \ - break; \ - } \ - errno=0; \ - clearerr(yyin); \ - } \ - }\ -\ - + else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \ + && ferror( yyin ) ) \ + YY_FATAL_ERROR( "input in flex scanner failed" ); #endif /* No semi-colon after return; correct usage is to write "yyterminate();" - @@ -2104,18 +1891,12 @@ static int input (void ); #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) #endif -/* end tables serialization structures and prototypes */ - /* Default declaration of generated scanner - a define so the user can * easily add parameters. */ #ifndef YY_DECL -#define YY_DECL_IS_OURS 1 - -extern int yylex (void); - -#define YY_DECL int yylex (void) -#endif /* !YY_DECL */ +#define YY_DECL int yylex YY_PROTO(( void )) +#endif /* Code executed at the beginning of each rule, after yytext and yyleng * have been set up. @@ -2131,33 +1912,31 @@ extern int yylex (void); #define YY_RULE_SETUP \ if ( yyleng > 0 ) \ - YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \ + yy_current_buffer->yy_at_bol = \ (yytext[yyleng - 1] == '\n'); \ YY_USER_ACTION -/** The main scanner function which does all the work. - */ YY_DECL -{ + { register yy_state_type yy_current_state; register char *yy_cp, *yy_bp; register int yy_act; - + #line 61 "levcomp.lpp" -#line 2150 "levcomp.lex.cc" +#line 1929 "levcomp.lex.cc" - if ( !(yy_init) ) + if ( yy_init ) { - (yy_init) = 1; + yy_init = 0; #ifdef YY_USER_INIT YY_USER_INIT; #endif - if ( ! (yy_start) ) - (yy_start) = 1; /* first start state */ + if ( ! yy_start ) + yy_start = 1; /* first start state */ if ( ! yyin ) yyin = stdin; @@ -2165,77 +1944,79 @@ YY_DECL if ( ! yyout ) yyout = stdout; - if ( ! YY_CURRENT_BUFFER ) { - yyensure_buffer_stack (); - YY_CURRENT_BUFFER_LVALUE = - yy_create_buffer(yyin,YY_BUF_SIZE ); - } + if ( ! yy_current_buffer ) + yy_current_buffer = + yy_create_buffer( yyin, YY_BUF_SIZE ); - yy_load_buffer_state( ); + yy_load_buffer_state(); } while ( 1 ) /* loops until end-of-file is reached */ { - yy_cp = (yy_c_buf_p); + yy_cp = yy_c_buf_p; /* Support of yytext. */ - *yy_cp = (yy_hold_char); + *yy_cp = yy_hold_char; /* yy_bp points to the position in yy_ch_buf of the start of * the current run. */ yy_bp = yy_cp; - yy_current_state = (yy_start); + yy_current_state = yy_start; yy_current_state += YY_AT_BOL(); + yy_state_ptr = yy_state_buf; + *yy_state_ptr++ = yy_current_state; yy_match: do { register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; - if ( yy_accept[yy_current_state] ) - { - (yy_last_accepting_state) = yy_current_state; - (yy_last_accepting_cpos) = yy_cp; - } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1538 ) + if ( yy_current_state >= 1237 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + *yy_state_ptr++ = yy_current_state; ++yy_cp; } - while ( yy_current_state != 1537 ); - yy_cp = (yy_last_accepting_cpos); - yy_current_state = (yy_last_accepting_state); + while ( yy_base[yy_current_state] != 3040 ); yy_find_action: - yy_act = yy_accept[yy_current_state]; + yy_current_state = *--yy_state_ptr; + yy_lp = yy_accept[yy_current_state]; +find_rule: /* we branch to this label when backing up */ + for ( ; ; ) /* until we find what rule we matched */ + { + if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] ) + { + yy_act = yy_acclist[yy_lp]; + { + yy_full_match = yy_cp; + break; + } + } + --yy_cp; + yy_current_state = *--yy_state_ptr; + yy_lp = yy_accept[yy_current_state]; + } YY_DO_BEFORE_ACTION; - if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] ) + if ( yy_act != YY_END_OF_BUFFER ) { int yyl; for ( yyl = 0; yyl < yyleng; ++yyl ) if ( yytext[yyl] == '\n' ) - - yylineno++; -; + ++yylineno; } do_action: /* This label is used only to access EOF actions. */ + switch ( yy_act ) { /* beginning of action switch */ - case 0: /* must back up */ - /* undo the effects of YY_DO_BEFORE_ACTION */ - *yy_cp = (yy_hold_char); - yy_cp = (yy_last_accepting_cpos); - yy_current_state = (yy_last_accepting_state); - goto yy_find_action; - case 1: YY_RULE_SETUP #line 63 "levcomp.lpp" @@ -2250,7 +2031,6 @@ YY_RULE_SETUP } YY_BREAK case 3: -/* rule 3 can match eol */ YY_RULE_SETUP #line 70 "levcomp.lpp" return CHARACTER; @@ -2266,7 +2046,6 @@ YY_RULE_SETUP return CHARACTER; YY_BREAK case 6: -/* rule 6 can match eol */ YY_RULE_SETUP #line 74 "levcomp.lpp" ; @@ -2285,7 +2064,6 @@ YY_RULE_SETUP ; YY_BREAK case 9: -/* rule 9 can match eol */ YY_RULE_SETUP #line 82 "levcomp.lpp" { BEGIN(INITIAL); } @@ -2301,383 +2079,387 @@ YY_RULE_SETUP case 11: YY_RULE_SETUP #line 89 "levcomp.lpp" -return COMMA; +{ + settext(); + return ITEM_INFO; + } YY_BREAK case 12: YY_RULE_SETUP -#line 90 "levcomp.lpp" -; +#line 94 "levcomp.lpp" +return COMMA; YY_BREAK case 13: -/* rule 13 can match eol */ YY_RULE_SETUP -#line 91 "levcomp.lpp" -{ BEGIN(INITIAL); } +#line 95 "levcomp.lpp" +; YY_BREAK case 14: -/* rule 14 can match eol */ YY_RULE_SETUP -#line 93 "levcomp.lpp" +#line 96 "levcomp.lpp" { BEGIN(INITIAL); } YY_BREAK case 15: YY_RULE_SETUP -#line 95 "levcomp.lpp" +#line 98 "levcomp.lpp" +{ BEGIN(INITIAL); } + YY_BREAK +case 16: +YY_RULE_SETUP +#line 100 "levcomp.lpp" { settext(); return MONSTER_NAME; } YY_BREAK -case 16: +case 17: YY_RULE_SETUP -#line 100 "levcomp.lpp" +#line 105 "levcomp.lpp" return COMMA; YY_BREAK -case 17: +case 18: YY_RULE_SETUP -#line 101 "levcomp.lpp" +#line 106 "levcomp.lpp" ; YY_BREAK -case 18: +case 19: YY_RULE_SETUP -#line 103 "levcomp.lpp" +#line 108 "levcomp.lpp" { BEGIN(INITIAL); settext(); return STRING; } YY_BREAK -case 19: -/* rule 19 can match eol */ -YY_RULE_SETUP -#line 109 "levcomp.lpp" -{ BEGIN(INITIAL); } - YY_BREAK case 20: YY_RULE_SETUP -#line 111 "levcomp.lpp" -; +#line 114 "levcomp.lpp" +{ BEGIN(INITIAL); } YY_BREAK case 21: YY_RULE_SETUP -#line 113 "levcomp.lpp" -{ BEGIN(MAPDEF); } +#line 116 "levcomp.lpp" +; YY_BREAK case 22: YY_RULE_SETUP -#line 116 "levcomp.lpp" -{ BEGIN(ARGUMENT); return NAME; } +#line 118 "levcomp.lpp" +{ BEGIN(MAPDEF); } YY_BREAK case 23: YY_RULE_SETUP -#line 117 "levcomp.lpp" -return DEFAULT_DEPTH; +#line 121 "levcomp.lpp" +{ BEGIN(ARGUMENT); return NAME; } YY_BREAK case 24: YY_RULE_SETUP -#line 118 "levcomp.lpp" -return DEPTH; +#line 122 "levcomp.lpp" +return DEFAULT_DEPTH; YY_BREAK case 25: YY_RULE_SETUP -#line 119 "levcomp.lpp" -return ORIENT; +#line 123 "levcomp.lpp" +return DEPTH; YY_BREAK case 26: YY_RULE_SETUP -#line 120 "levcomp.lpp" -{ BEGIN(ARGUMENT); return PLACE; } +#line 124 "levcomp.lpp" +return ORIENT; YY_BREAK case 27: YY_RULE_SETUP -#line 121 "levcomp.lpp" -return CHANCE; +#line 125 "levcomp.lpp" +{ BEGIN(ARGUMENT); return PLACE; } YY_BREAK case 28: YY_RULE_SETUP -#line 122 "levcomp.lpp" -return FLAGS; +#line 126 "levcomp.lpp" +return CHANCE; YY_BREAK case 29: YY_RULE_SETUP -#line 123 "levcomp.lpp" -{ BEGIN(KEYWORDS); return TAGS; } +#line 127 "levcomp.lpp" +return FLAGS; YY_BREAK case 30: YY_RULE_SETUP -#line 124 "levcomp.lpp" -{ BEGIN(ARGUMENT); return SUBST; } +#line 128 "levcomp.lpp" +{ BEGIN(KEYWORDS); return TAGS; } YY_BREAK case 31: YY_RULE_SETUP -#line 125 "levcomp.lpp" -{ BEGIN(MNAME); return MONS; } +#line 129 "levcomp.lpp" +{ BEGIN(ITEM_LIST); return SUBST; } YY_BREAK case 32: YY_RULE_SETUP -#line 126 "levcomp.lpp" -{ BEGIN(ITEM_LIST); return ITEM; } +#line 130 "levcomp.lpp" +{ BEGIN(MNAME); return MONS; } YY_BREAK case 33: YY_RULE_SETUP -#line 127 "levcomp.lpp" -{ BEGIN(ARGUMENT); return SHUFFLE; } +#line 131 "levcomp.lpp" +{ BEGIN(ITEM_LIST); return ITEM; } YY_BREAK case 34: YY_RULE_SETUP -#line 129 "levcomp.lpp" -{ BEGIN(ARGUMENT); return KFEAT; } +#line 132 "levcomp.lpp" +{ BEGIN(ITEM_LIST); return SHUFFLE; } YY_BREAK case 35: YY_RULE_SETUP -#line 130 "levcomp.lpp" -{ BEGIN(ARGUMENT); return KITEM; } +#line 134 "levcomp.lpp" +{ BEGIN(ARGUMENT); return KFEAT; } YY_BREAK case 36: YY_RULE_SETUP -#line 131 "levcomp.lpp" -{ BEGIN(ARGUMENT); return KMONS; } +#line 135 "levcomp.lpp" +{ BEGIN(ARGUMENT); return KITEM; } YY_BREAK case 37: YY_RULE_SETUP -#line 133 "levcomp.lpp" -return BRANCH; +#line 136 "levcomp.lpp" +{ BEGIN(ARGUMENT); return KMONS; } YY_BREAK case 38: YY_RULE_SETUP -#line 134 "levcomp.lpp" -return DEFAULT; +#line 138 "levcomp.lpp" +return BRANCH; YY_BREAK case 39: YY_RULE_SETUP -#line 135 "levcomp.lpp" -return DESC; +#line 139 "levcomp.lpp" +return DEFAULT; YY_BREAK case 40: YY_RULE_SETUP -#line 136 "levcomp.lpp" -return BRANCH; +#line 140 "levcomp.lpp" +return DESC; YY_BREAK case 41: YY_RULE_SETUP -#line 137 "levcomp.lpp" -return ROOT_DEPTH; +#line 141 "levcomp.lpp" +return BRANCH; YY_BREAK case 42: YY_RULE_SETUP -#line 138 "levcomp.lpp" -return FLOOR_COLOUR; +#line 142 "levcomp.lpp" +return ROOT_DEPTH; YY_BREAK case 43: YY_RULE_SETUP -#line 139 "levcomp.lpp" -return ROCK_COLOUR; +#line 143 "levcomp.lpp" +return FLOOR_COLOUR; YY_BREAK case 44: YY_RULE_SETUP -#line 141 "levcomp.lpp" -return LEVEL; +#line 144 "levcomp.lpp" +return ROCK_COLOUR; YY_BREAK case 45: YY_RULE_SETUP -#line 142 "levcomp.lpp" -return END; +#line 146 "levcomp.lpp" +return LEVEL; YY_BREAK case 46: YY_RULE_SETUP -#line 143 "levcomp.lpp" -return PVAULT; +#line 147 "levcomp.lpp" +return END; YY_BREAK case 47: YY_RULE_SETUP -#line 144 "levcomp.lpp" -return PMINIVAULT; +#line 148 "levcomp.lpp" +return PVAULT; YY_BREAK case 48: YY_RULE_SETUP -#line 146 "levcomp.lpp" -{ BEGIN(ARGUMENT); return ENTRY_MSG; } +#line 149 "levcomp.lpp" +return PMINIVAULT; YY_BREAK case 49: YY_RULE_SETUP -#line 147 "levcomp.lpp" -{ BEGIN(ARGUMENT); return EXIT_MSG; } +#line 151 "levcomp.lpp" +{ BEGIN(ARGUMENT); return ENTRY_MSG; } YY_BREAK case 50: YY_RULE_SETUP -#line 149 "levcomp.lpp" -return MONSTERS; +#line 152 "levcomp.lpp" +{ BEGIN(ARGUMENT); return EXIT_MSG; } YY_BREAK case 51: YY_RULE_SETUP -#line 150 "levcomp.lpp" -return ENDMONSTERS; +#line 154 "levcomp.lpp" +return MONSTERS; YY_BREAK case 52: YY_RULE_SETUP -#line 153 "levcomp.lpp" -return PANDEMONIC; +#line 155 "levcomp.lpp" +return ENDMONSTERS; YY_BREAK case 53: YY_RULE_SETUP -#line 154 "levcomp.lpp" -return NO_HMIRROR; +#line 158 "levcomp.lpp" +return PANDEMONIC; YY_BREAK case 54: YY_RULE_SETUP -#line 155 "levcomp.lpp" -return NO_VMIRROR; +#line 159 "levcomp.lpp" +return NO_HMIRROR; YY_BREAK case 55: YY_RULE_SETUP -#line 156 "levcomp.lpp" -return NO_ROTATE; +#line 160 "levcomp.lpp" +return NO_VMIRROR; YY_BREAK case 56: YY_RULE_SETUP -#line 158 "levcomp.lpp" -return ENCOMPASS; +#line 161 "levcomp.lpp" +return NO_ROTATE; YY_BREAK case 57: YY_RULE_SETUP -#line 159 "levcomp.lpp" -return NORTH; +#line 163 "levcomp.lpp" +return ENCOMPASS; YY_BREAK case 58: YY_RULE_SETUP -#line 160 "levcomp.lpp" -return SOUTH; +#line 164 "levcomp.lpp" +return NORTH; YY_BREAK case 59: YY_RULE_SETUP -#line 161 "levcomp.lpp" -return EAST; +#line 165 "levcomp.lpp" +return SOUTH; YY_BREAK case 60: YY_RULE_SETUP -#line 162 "levcomp.lpp" -return WEST; +#line 166 "levcomp.lpp" +return EAST; YY_BREAK case 61: YY_RULE_SETUP -#line 163 "levcomp.lpp" -return NORTHEAST; +#line 167 "levcomp.lpp" +return WEST; YY_BREAK case 62: YY_RULE_SETUP -#line 164 "levcomp.lpp" -return NORTHWEST; +#line 168 "levcomp.lpp" +return NORTHEAST; YY_BREAK case 63: YY_RULE_SETUP -#line 165 "levcomp.lpp" -return SOUTHEAST; +#line 169 "levcomp.lpp" +return NORTHWEST; YY_BREAK case 64: YY_RULE_SETUP -#line 166 "levcomp.lpp" -return SOUTHWEST; +#line 170 "levcomp.lpp" +return SOUTHEAST; YY_BREAK case 65: YY_RULE_SETUP -#line 167 "levcomp.lpp" -return FLOAT; +#line 171 "levcomp.lpp" +return SOUTHWEST; YY_BREAK case 66: YY_RULE_SETUP -#line 169 "levcomp.lpp" -return DASH; +#line 172 "levcomp.lpp" +return FLOAT; YY_BREAK case 67: YY_RULE_SETUP -#line 170 "levcomp.lpp" -return COMMA; +#line 174 "levcomp.lpp" +return DASH; YY_BREAK case 68: YY_RULE_SETUP -#line 172 "levcomp.lpp" +#line 175 "levcomp.lpp" +return COMMA; + YY_BREAK +case 69: +YY_RULE_SETUP +#line 177 "levcomp.lpp" { clean(); yylval.i = atoi(yytext); return INTEGER; } YY_BREAK -case 69: +case 70: YY_RULE_SETUP -#line 178 "levcomp.lpp" +#line 183 "levcomp.lpp" ; YY_BREAK -case 70: -/* rule 70 can match eol */ +case 71: YY_RULE_SETUP -#line 179 "levcomp.lpp" +#line 184 "levcomp.lpp" ; YY_BREAK -case 71: +case 72: YY_RULE_SETUP -#line 181 "levcomp.lpp" +#line 186 "levcomp.lpp" return OPAREN; YY_BREAK -case 72: +case 73: YY_RULE_SETUP -#line 182 "levcomp.lpp" +#line 187 "levcomp.lpp" return CPAREN; YY_BREAK -case 73: +case 74: YY_RULE_SETUP -#line 184 "levcomp.lpp" +#line 189 "levcomp.lpp" return QUOTE; YY_BREAK -case 74: +case 75: YY_RULE_SETUP -#line 186 "levcomp.lpp" +#line 191 "levcomp.lpp" { settext(); return IDENTIFIER; } YY_BREAK -case 75: +case 76: YY_RULE_SETUP -#line 191 "levcomp.lpp" +#line 196 "levcomp.lpp" return CHARACTER; YY_BREAK -case 76: +case 77: YY_RULE_SETUP -#line 193 "levcomp.lpp" +#line 198 "levcomp.lpp" ECHO; YY_BREAK -#line 2650 "levcomp.lex.cc" -case YY_STATE_EOF(INITIAL): -case YY_STATE_EOF(MAPDEF): -case YY_STATE_EOF(ARGUMENT): -case YY_STATE_EOF(MNAME): -case YY_STATE_EOF(KEYWORDS): -case YY_STATE_EOF(ITEM_LIST): - yyterminate(); +#line 2432 "levcomp.lex.cc" + case YY_STATE_EOF(INITIAL): + case YY_STATE_EOF(MAPDEF): + case YY_STATE_EOF(ARGUMENT): + case YY_STATE_EOF(MNAME): + case YY_STATE_EOF(KEYWORDS): + case YY_STATE_EOF(ITEM_LIST): + yyterminate(); case YY_END_OF_BUFFER: { /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; + int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1; /* Undo the effects of YY_DO_BEFORE_ACTION. */ - *yy_cp = (yy_hold_char); + *yy_cp = yy_hold_char; YY_RESTORE_YY_MORE_OFFSET - if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) + if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW ) { /* We're scanning a new file or input source. It's * possible that this happened because the user * just pointed yyin at a new source and called * yylex(). If so, then we have to assure - * consistency between YY_CURRENT_BUFFER and our + * consistency between yy_current_buffer and our * globals. Here is the right place to do so, because * this is the first action (other than possibly a * back-up) that will match for the new input source. */ - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; - YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; + yy_n_chars = yy_current_buffer->yy_n_chars; + yy_current_buffer->yy_input_file = yyin; + yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL; } /* Note that here we test for yy_c_buf_p "<=" to the position @@ -2687,13 +2469,13 @@ case YY_STATE_EOF(ITEM_LIST): * end-of-buffer state). Contrast this with the test * in input(). */ - if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) + if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] ) { /* This was really a NUL. */ yy_state_type yy_next_state; - (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; + yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; - yy_current_state = yy_get_previous_state( ); + yy_current_state = yy_get_previous_state(); /* Okay, we're now positioned to make the NUL * transition. We couldn't have @@ -2706,31 +2488,30 @@ case YY_STATE_EOF(ITEM_LIST): yy_next_state = yy_try_NUL_trans( yy_current_state ); - yy_bp = (yytext_ptr) + YY_MORE_ADJ; + yy_bp = yytext_ptr + YY_MORE_ADJ; if ( yy_next_state ) { /* Consume the NUL. */ - yy_cp = ++(yy_c_buf_p); + yy_cp = ++yy_c_buf_p; yy_current_state = yy_next_state; goto yy_match; } else { - yy_cp = (yy_last_accepting_cpos); - yy_current_state = (yy_last_accepting_state); + yy_cp = yy_c_buf_p; goto yy_find_action; } } - else switch ( yy_get_next_buffer( ) ) + else switch ( yy_get_next_buffer() ) { case EOB_ACT_END_OF_FILE: { - (yy_did_buffer_switch_on_eof) = 0; + yy_did_buffer_switch_on_eof = 0; - if ( yywrap( ) ) + if ( yywrap() ) { /* Note: because we've taken care in * yy_get_next_buffer() to have set up @@ -2741,7 +2522,7 @@ case YY_STATE_EOF(ITEM_LIST): * YY_NULL, it'll still work - another * YY_NULL will get returned. */ - (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; + yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; yy_act = YY_STATE_EOF(YY_START); goto do_action; @@ -2749,30 +2530,30 @@ case YY_STATE_EOF(ITEM_LIST): else { - if ( ! (yy_did_buffer_switch_on_eof) ) + if ( ! yy_did_buffer_switch_on_eof ) YY_NEW_FILE; } break; } case EOB_ACT_CONTINUE_SCAN: - (yy_c_buf_p) = - (yytext_ptr) + yy_amount_of_matched_text; + yy_c_buf_p = + yytext_ptr + yy_amount_of_matched_text; - yy_current_state = yy_get_previous_state( ); + yy_current_state = yy_get_previous_state(); - yy_cp = (yy_c_buf_p); - yy_bp = (yytext_ptr) + YY_MORE_ADJ; + yy_cp = yy_c_buf_p; + yy_bp = yytext_ptr + YY_MORE_ADJ; goto yy_match; case EOB_ACT_LAST_MATCH: - (yy_c_buf_p) = - &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; + yy_c_buf_p = + &yy_current_buffer->yy_ch_buf[yy_n_chars]; - yy_current_state = yy_get_previous_state( ); + yy_current_state = yy_get_previous_state(); - yy_cp = (yy_c_buf_p); - yy_bp = (yytext_ptr) + YY_MORE_ADJ; + yy_cp = yy_c_buf_p; + yy_bp = yytext_ptr + YY_MORE_ADJ; goto yy_find_action; } break; @@ -2783,7 +2564,8 @@ case YY_STATE_EOF(ITEM_LIST): "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ -} /* end of yylex */ + } /* end of yylex */ + /* yy_get_next_buffer - try to read in a new buffer * @@ -2792,20 +2574,21 @@ case YY_STATE_EOF(ITEM_LIST): * EOB_ACT_CONTINUE_SCAN - continue scanning from current position * EOB_ACT_END_OF_FILE - end of file */ -static int yy_get_next_buffer (void) -{ - register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; - register char *source = (yytext_ptr); + +static int yy_get_next_buffer() + { + register char *dest = yy_current_buffer->yy_ch_buf; + register char *source = yytext_ptr; register int number_to_move, i; int ret_val; - if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) + if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] ) YY_FATAL_ERROR( "fatal flex scanner internal error--end of buffer missed" ); - if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) + if ( yy_current_buffer->yy_fill_buffer == 0 ) { /* Don't try to fill the buffer, so this is an EOF. */ - if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) + if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 ) { /* We matched a single character, the EOB, so * treat this as a final EOF. @@ -2825,30 +2608,34 @@ static int yy_get_next_buffer (void) /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; + number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); - if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) + if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING ) /* don't do the read, it's not guaranteed to return an EOF, * just force an EOF */ - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; + yy_current_buffer->yy_n_chars = yy_n_chars = 0; else { - int num_to_read = - YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; + int num_to_read = + yy_current_buffer->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) { /* Not enough room in the buffer - grow it. */ +#ifdef YY_USES_REJECT + YY_FATAL_ERROR( +"input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); +#else /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = YY_CURRENT_BUFFER; + YY_BUFFER_STATE b = yy_current_buffer; int yy_c_buf_p_offset = - (int) ((yy_c_buf_p) - b->yy_ch_buf); + (int) (yy_c_buf_p - b->yy_ch_buf); if ( b->yy_is_our_buffer ) { @@ -2861,7 +2648,8 @@ static int yy_get_next_buffer (void) b->yy_ch_buf = (char *) /* Include room in for 2 EOB chars. */ - yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); + yy_flex_realloc( (void *) b->yy_ch_buf, + b->yy_buf_size + 2 ); } else /* Can't grow it, we don't own it. */ @@ -2871,35 +2659,35 @@ static int yy_get_next_buffer (void) YY_FATAL_ERROR( "fatal error - scanner input buffer overflow" ); - (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; + yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; - num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - + num_to_read = yy_current_buffer->yy_buf_size - number_to_move - 1; - +#endif } if ( num_to_read > YY_READ_BUF_SIZE ) num_to_read = YY_READ_BUF_SIZE; /* Read in more data. */ - YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - (yy_n_chars), num_to_read ); + YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]), + yy_n_chars, num_to_read ); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + yy_current_buffer->yy_n_chars = yy_n_chars; } - if ( (yy_n_chars) == 0 ) + if ( yy_n_chars == 0 ) { if ( number_to_move == YY_MORE_ADJ ) { ret_val = EOB_ACT_END_OF_FILE; - yyrestart(yyin ); + yyrestart( yyin ); } else { ret_val = EOB_ACT_LAST_MATCH; - YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = + yy_current_buffer->yy_buffer_status = YY_BUFFER_EOF_PENDING; } } @@ -2907,142 +2695,149 @@ static int yy_get_next_buffer (void) else ret_val = EOB_ACT_CONTINUE_SCAN; - (yy_n_chars) += number_to_move; - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; + yy_n_chars += number_to_move; + yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR; + yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; - (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; + yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; return ret_val; -} + } + /* yy_get_previous_state - get the state just before the EOB char was reached */ - static yy_state_type yy_get_previous_state (void) -{ +static yy_state_type yy_get_previous_state() + { register yy_state_type yy_current_state; register char *yy_cp; - - yy_current_state = (yy_start); + + yy_current_state = yy_start; yy_current_state += YY_AT_BOL(); + yy_state_ptr = yy_state_buf; + *yy_state_ptr++ = yy_current_state; - for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) + for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) { register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); - if ( yy_accept[yy_current_state] ) - { - (yy_last_accepting_state) = yy_current_state; - (yy_last_accepting_cpos) = yy_cp; - } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1538 ) + if ( yy_current_state >= 1237 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + *yy_state_ptr++ = yy_current_state; } return yy_current_state; -} + } + /* yy_try_NUL_trans - try to make a transition on the NUL character * * synopsis * next_state = yy_try_NUL_trans( current_state ); */ - static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) -{ + +#ifdef YY_USE_PROTOS +static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state ) +#else +static yy_state_type yy_try_NUL_trans( yy_current_state ) +yy_state_type yy_current_state; +#endif + { register int yy_is_jam; - register char *yy_cp = (yy_c_buf_p); register YY_CHAR yy_c = 1; - if ( yy_accept[yy_current_state] ) - { - (yy_last_accepting_state) = yy_current_state; - (yy_last_accepting_cpos) = yy_cp; - } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1538 ) + if ( yy_current_state >= 1237 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 1537); + yy_is_jam = (yy_current_state == 1236); + if ( ! yy_is_jam ) + *yy_state_ptr++ = yy_current_state; return yy_is_jam ? 0 : yy_current_state; -} + } - static void yyunput (int c, register char * yy_bp ) -{ - register char *yy_cp; - - yy_cp = (yy_c_buf_p); + +#ifndef YY_NO_UNPUT +#ifdef YY_USE_PROTOS +static void yyunput( int c, register char *yy_bp ) +#else +static void yyunput( c, yy_bp ) +int c; +register char *yy_bp; +#endif + { + register char *yy_cp = yy_c_buf_p; /* undo effects of setting up yytext */ - *yy_cp = (yy_hold_char); + *yy_cp = yy_hold_char; - if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) + if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ - register int number_to_move = (yy_n_chars) + 2; - register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ - YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; + register int number_to_move = yy_n_chars + 2; + register char *dest = &yy_current_buffer->yy_ch_buf[ + yy_current_buffer->yy_buf_size + 2]; register char *source = - &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; + &yy_current_buffer->yy_ch_buf[number_to_move]; - while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + while ( source > yy_current_buffer->yy_ch_buf ) *--dest = *--source; yy_cp += (int) (dest - source); yy_bp += (int) (dest - source); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; + yy_current_buffer->yy_n_chars = + yy_n_chars = yy_current_buffer->yy_buf_size; - if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) + if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) YY_FATAL_ERROR( "flex scanner push-back overflow" ); } *--yy_cp = (char) c; - if ( c == '\n' ){ - --yylineno; - } + if ( c == '\n' ) + --yylineno; + + yytext_ptr = yy_bp; + yy_hold_char = *yy_cp; + yy_c_buf_p = yy_cp; + } +#endif /* ifndef YY_NO_UNPUT */ - (yytext_ptr) = yy_bp; - (yy_hold_char) = *yy_cp; - (yy_c_buf_p) = yy_cp; -} -#ifndef YY_NO_INPUT #ifdef __cplusplus - static int yyinput (void) +static int yyinput() #else - static int input (void) +static int input() #endif - -{ + { int c; - - *(yy_c_buf_p) = (yy_hold_char); - if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) + *yy_c_buf_p = yy_hold_char; + + if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) { /* yy_c_buf_p now points to the character we want to return. * If this occurs *before* the EOB characters, then it's a * valid NUL; if not, then we've hit the end of the buffer. */ - if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) + if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] ) /* This was really a NUL. */ - *(yy_c_buf_p) = '\0'; + *yy_c_buf_p = '\0'; else { /* need more input */ - int offset = (yy_c_buf_p) - (yytext_ptr); - ++(yy_c_buf_p); + int offset = yy_c_buf_p - yytext_ptr; + ++yy_c_buf_p; - switch ( yy_get_next_buffer( ) ) + switch ( yy_get_next_buffer() ) { case EOB_ACT_LAST_MATCH: /* This happens because yy_g_n_b() @@ -3056,16 +2851,16 @@ static int yy_get_next_buffer (void) */ /* Reset buffer status. */ - yyrestart(yyin ); + yyrestart( yyin ); - /*FALLTHROUGH*/ + /* fall through */ case EOB_ACT_END_OF_FILE: { - if ( yywrap( ) ) + if ( yywrap() ) return EOF; - if ( ! (yy_did_buffer_switch_on_eof) ) + if ( ! yy_did_buffer_switch_on_eof ) YY_NEW_FILE; #ifdef __cplusplus return yyinput(); @@ -3075,98 +2870,93 @@ static int yy_get_next_buffer (void) } case EOB_ACT_CONTINUE_SCAN: - (yy_c_buf_p) = (yytext_ptr) + offset; + yy_c_buf_p = yytext_ptr + offset; break; } } } - c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ - *(yy_c_buf_p) = '\0'; /* preserve yytext */ - (yy_hold_char) = *++(yy_c_buf_p); + c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */ + *yy_c_buf_p = '\0'; /* preserve yytext */ + yy_hold_char = *++yy_c_buf_p; - YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n'); - if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol ) - - yylineno++; -; + yy_current_buffer->yy_at_bol = (c == '\n'); + if ( yy_current_buffer->yy_at_bol ) + ++yylineno; return c; -} -#endif /* ifndef YY_NO_INPUT */ + } -/** Immediately switch to a different input stream. - * @param input_file A readable stream. - * - * @note This function does not reset the start condition to @c INITIAL . - */ - void yyrestart (FILE * input_file ) -{ - - if ( ! YY_CURRENT_BUFFER ){ - yyensure_buffer_stack (); - YY_CURRENT_BUFFER_LVALUE = - yy_create_buffer(yyin,YY_BUF_SIZE ); + +#ifdef YY_USE_PROTOS +void yyrestart( FILE *input_file ) +#else +void yyrestart( input_file ) +FILE *input_file; +#endif + { + if ( ! yy_current_buffer ) + yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); + + yy_init_buffer( yy_current_buffer, input_file ); + yy_load_buffer_state(); } - yy_init_buffer(YY_CURRENT_BUFFER,input_file ); - yy_load_buffer_state( ); -} -/** Switch to a different input buffer. - * @param new_buffer The new input buffer. - * - */ - void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) -{ - - /* TODO. We should be able to replace this entire function body - * with - * yypop_buffer_state(); - * yypush_buffer_state(new_buffer); - */ - yyensure_buffer_stack (); - if ( YY_CURRENT_BUFFER == new_buffer ) +#ifdef YY_USE_PROTOS +void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) +#else +void yy_switch_to_buffer( new_buffer ) +YY_BUFFER_STATE new_buffer; +#endif + { + if ( yy_current_buffer == new_buffer ) return; - if ( YY_CURRENT_BUFFER ) + if ( yy_current_buffer ) { /* Flush out information for old buffer. */ - *(yy_c_buf_p) = (yy_hold_char); - YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + *yy_c_buf_p = yy_hold_char; + yy_current_buffer->yy_buf_pos = yy_c_buf_p; + yy_current_buffer->yy_n_chars = yy_n_chars; } - YY_CURRENT_BUFFER_LVALUE = new_buffer; - yy_load_buffer_state( ); + yy_current_buffer = new_buffer; + yy_load_buffer_state(); /* We don't actually know whether we did this switch during * EOF (yywrap()) processing, but the only time this flag * is looked at is after yywrap() is called, so it's safe * to go ahead and always set it. */ - (yy_did_buffer_switch_on_eof) = 1; -} + yy_did_buffer_switch_on_eof = 1; + } -static void yy_load_buffer_state (void) -{ - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; - yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; - (yy_hold_char) = *(yy_c_buf_p); -} -/** Allocate and initialize an input buffer state. - * @param file A readable stream. - * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. - * - * @return the allocated buffer state. - */ - YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) -{ +#ifdef YY_USE_PROTOS +void yy_load_buffer_state( void ) +#else +void yy_load_buffer_state() +#endif + { + yy_n_chars = yy_current_buffer->yy_n_chars; + yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos; + yyin = yy_current_buffer->yy_input_file; + yy_hold_char = *yy_c_buf_p; + } + + +#ifdef YY_USE_PROTOS +YY_BUFFER_STATE yy_create_buffer( FILE *file, int size ) +#else +YY_BUFFER_STATE yy_create_buffer( file, size ) +FILE *file; +int size; +#endif + { YY_BUFFER_STATE b; - - b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); + + b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); @@ -3175,71 +2965,80 @@ static void yy_load_buffer_state (void) /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ - b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); + b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 ); if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_is_our_buffer = 1; - yy_init_buffer(b,file ); + yy_init_buffer( b, file ); return b; -} + } -/** Destroy the buffer. - * @param b a buffer created with yy_create_buffer() - * - */ - void yy_delete_buffer (YY_BUFFER_STATE b ) -{ - + +#ifdef YY_USE_PROTOS +void yy_delete_buffer( YY_BUFFER_STATE b ) +#else +void yy_delete_buffer( b ) +YY_BUFFER_STATE b; +#endif + { if ( ! b ) return; - if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ - YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; + if ( b == yy_current_buffer ) + yy_current_buffer = (YY_BUFFER_STATE) 0; if ( b->yy_is_our_buffer ) - yyfree((void *) b->yy_ch_buf ); + yy_flex_free( (void *) b->yy_ch_buf ); - yyfree((void *) b ); -} + yy_flex_free( (void *) b ); + } -/* Initializes or reinitializes a buffer. - * This function is sometimes called more than once on the same buffer, - * such as during a yyrestart() or at EOF. - */ - static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) -{ - int oerrno = errno; - - yy_flush_buffer(b ); +#ifndef YY_ALWAYS_INTERACTIVE +#ifndef YY_NEVER_INTERACTIVE +extern int isatty YY_PROTO(( int )); +#endif +#endif + +#ifdef YY_USE_PROTOS +void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) +#else +void yy_init_buffer( b, file ) +YY_BUFFER_STATE b; +FILE *file; +#endif + + + { + yy_flush_buffer( b ); b->yy_input_file = file; b->yy_fill_buffer = 1; - /* If b is the current buffer, then yy_init_buffer was _probably_ - * called from yyrestart() or through yy_get_next_buffer. - * In that case, we don't want to reset the lineno or column. - */ - if (b != YY_CURRENT_BUFFER){ - b->yy_bs_lineno = 1; - b->yy_bs_column = 0; - } +#if YY_ALWAYS_INTERACTIVE + b->yy_is_interactive = 1; +#else +#if YY_NEVER_INTERACTIVE + b->yy_is_interactive = 0; +#else + b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; +#endif +#endif + } - b->yy_is_interactive = 0; - - errno = oerrno; -} -/** Discard all buffered characters. On the next scan, YY_INPUT will be called. - * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. - * - */ - void yy_flush_buffer (YY_BUFFER_STATE b ) -{ - if ( ! b ) +#ifdef YY_USE_PROTOS +void yy_flush_buffer( YY_BUFFER_STATE b ) +#else +void yy_flush_buffer( b ) +YY_BUFFER_STATE b; +#endif + + { + if ( ! b ) return; b->yy_n_chars = 0; @@ -3256,121 +3055,29 @@ static void yy_load_buffer_state (void) b->yy_at_bol = 1; b->yy_buffer_status = YY_BUFFER_NEW; - if ( b == YY_CURRENT_BUFFER ) - yy_load_buffer_state( ); -} - -/** Pushes the new state onto the stack. The new state becomes - * the current state. This function will allocate the stack - * if necessary. - * @param new_buffer The new state. - * - */ -void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) -{ - if (new_buffer == NULL) - return; - - yyensure_buffer_stack(); - - /* This block is copied from yy_switch_to_buffer. */ - if ( YY_CURRENT_BUFFER ) - { - /* Flush out information for old buffer. */ - *(yy_c_buf_p) = (yy_hold_char); - YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } - - /* Only push if top exists. Otherwise, replace top. */ - if (YY_CURRENT_BUFFER) - (yy_buffer_stack_top)++; - YY_CURRENT_BUFFER_LVALUE = new_buffer; - - /* copied from yy_switch_to_buffer. */ - yy_load_buffer_state( ); - (yy_did_buffer_switch_on_eof) = 1; -} - -/** Removes and deletes the top of the stack, if present. - * The next element becomes the new top. - * - */ -void yypop_buffer_state (void) -{ - if (!YY_CURRENT_BUFFER) - return; - - yy_delete_buffer(YY_CURRENT_BUFFER ); - YY_CURRENT_BUFFER_LVALUE = NULL; - if ((yy_buffer_stack_top) > 0) - --(yy_buffer_stack_top); - - if (YY_CURRENT_BUFFER) { - yy_load_buffer_state( ); - (yy_did_buffer_switch_on_eof) = 1; + if ( b == yy_current_buffer ) + yy_load_buffer_state(); } -} -/* Allocates the stack if it does not exist. - * Guarantees space for at least one push. - */ -static void yyensure_buffer_stack (void) -{ - int num_to_alloc; - - if (!(yy_buffer_stack)) { - - /* First allocation is just for 2 elements, since we don't know if this - * scanner will even need a stack. We use 2 instead of 1 to avoid an - * immediate realloc on the next call. - */ - num_to_alloc = 1; - (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc - (num_to_alloc * sizeof(struct yy_buffer_state*) - ); - - memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); - - (yy_buffer_stack_max) = num_to_alloc; - (yy_buffer_stack_top) = 0; - return; - } - - if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ - - /* Increase the buffer to prepare for a possible push. */ - int grow_size = 8 /* arbitrary grow size */; - num_to_alloc = (yy_buffer_stack_max) + grow_size; - (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc - ((yy_buffer_stack), - num_to_alloc * sizeof(struct yy_buffer_state*) - ); - - /* zero only the new slots.*/ - memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); - (yy_buffer_stack_max) = num_to_alloc; - } -} - -/** Setup the input buffer state to scan directly from a user-specified character buffer. - * @param base the character buffer - * @param size the size in bytes of the character buffer - * - * @return the newly allocated buffer state object. - */ -YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) -{ +#ifndef YY_NO_SCAN_BUFFER +#ifdef YY_USE_PROTOS +YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size ) +#else +YY_BUFFER_STATE yy_scan_buffer( base, size ) +char *base; +yy_size_t size; +#endif + { YY_BUFFER_STATE b; - + if ( size < 2 || base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ return 0; - b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); + b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); @@ -3384,51 +3091,56 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) b->yy_fill_buffer = 0; b->yy_buffer_status = YY_BUFFER_NEW; - yy_switch_to_buffer(b ); + yy_switch_to_buffer( b ); return b; -} + } +#endif -/** Setup the input buffer state to scan a string. The next call to yylex() will - * scan from a @e copy of @a str. - * @param yystr a NUL-terminated string to scan - * - * @return the newly allocated buffer state object. - * @note If you want to scan bytes that may contain NUL values, then use - * yy_scan_bytes() instead. - */ -YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) -{ - - return yy_scan_bytes(yystr,strlen(yystr) ); -} -/** Setup the input buffer state to scan the given bytes. The next call to yylex() will - * scan from a @e copy of @a bytes. - * @param bytes the byte buffer to scan - * @param len the number of bytes in the buffer pointed to by @a bytes. - * - * @return the newly allocated buffer state object. - */ -YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) -{ +#ifndef YY_NO_SCAN_STRING +#ifdef YY_USE_PROTOS +YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str ) +#else +YY_BUFFER_STATE yy_scan_string( yy_str ) +yyconst char *yy_str; +#endif + { + int len; + for ( len = 0; yy_str[len]; ++len ) + ; + + return yy_scan_bytes( yy_str, len ); + } +#endif + + +#ifndef YY_NO_SCAN_BYTES +#ifdef YY_USE_PROTOS +YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len ) +#else +YY_BUFFER_STATE yy_scan_bytes( bytes, len ) +yyconst char *bytes; +int len; +#endif + { YY_BUFFER_STATE b; char *buf; yy_size_t n; int i; - + /* Get memory for full buffer, including space for trailing EOB's. */ - n = _yybytes_len + 2; - buf = (char *) yyalloc(n ); + n = len + 2; + buf = (char *) yy_flex_alloc( n ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); - for ( i = 0; i < _yybytes_len; ++i ) - buf[i] = yybytes[i]; + for ( i = 0; i < len; ++i ) + buf[i] = bytes[i]; - buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; + buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; - b = yy_scan_buffer(buf,n ); + b = yy_scan_buffer( buf, n ); if ( ! b ) YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); @@ -3438,199 +3150,148 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) b->yy_is_our_buffer = 1; return b; -} - -#ifndef YY_EXIT_FAILURE -#define YY_EXIT_FAILURE 2 + } #endif -static void yy_fatal_error (yyconst char* msg ) -{ - (void) fprintf( stderr, "%s\n", msg ); - exit( YY_EXIT_FAILURE ); -} - -/* Redefine yyless() so it works in section 3 code. */ -#undef yyless -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - int yyless_macro_arg = (n); \ - YY_LESS_LINENO(yyless_macro_arg);\ - yytext[yyleng] = (yy_hold_char); \ - (yy_c_buf_p) = yytext + yyless_macro_arg; \ - (yy_hold_char) = *(yy_c_buf_p); \ - *(yy_c_buf_p) = '\0'; \ - yyleng = yyless_macro_arg; \ - } \ - while ( 0 ) +#ifndef YY_NO_PUSH_STATE +#ifdef YY_USE_PROTOS +static void yy_push_state( int new_state ) +#else +static void yy_push_state( new_state ) +int new_state; +#endif + { + if ( yy_start_stack_ptr >= yy_start_stack_depth ) + { + yy_size_t new_size; -/* Accessor methods (get/set functions) to struct members. */ + yy_start_stack_depth += YY_START_STACK_INCR; + new_size = yy_start_stack_depth * sizeof( int ); -/** Get the current line number. - * - */ -int yyget_lineno (void) -{ - - return yylineno; -} + if ( ! yy_start_stack ) + yy_start_stack = (int *) yy_flex_alloc( new_size ); -/** Get the input stream. - * - */ -FILE *yyget_in (void) -{ - return yyin; -} + else + yy_start_stack = (int *) yy_flex_realloc( + (void *) yy_start_stack, new_size ); -/** Get the output stream. - * - */ -FILE *yyget_out (void) -{ - return yyout; -} + if ( ! yy_start_stack ) + YY_FATAL_ERROR( + "out of memory expanding start-condition stack" ); + } -/** Get the length of the current token. - * - */ -int yyget_leng (void) -{ - return yyleng; -} + yy_start_stack[yy_start_stack_ptr++] = YY_START; -/** Get the current token. - * - */ + BEGIN(new_state); + } +#endif -char *yyget_text (void) -{ - return yytext; -} -/** Set the current line number. - * @param line_number - * - */ -void yyset_lineno (int line_number ) -{ - - yylineno = line_number; -} +#ifndef YY_NO_POP_STATE +static void yy_pop_state() + { + if ( --yy_start_stack_ptr < 0 ) + YY_FATAL_ERROR( "start-condition stack underflow" ); -/** Set the input stream. This does not discard the current - * input buffer. - * @param in_str A readable stream. - * - * @see yy_switch_to_buffer - */ -void yyset_in (FILE * in_str ) -{ - yyin = in_str ; -} + BEGIN(yy_start_stack[yy_start_stack_ptr]); + } +#endif -void yyset_out (FILE * out_str ) -{ - yyout = out_str ; -} -int yyget_debug (void) -{ - return yy_flex_debug; -} +#ifndef YY_NO_TOP_STATE +static int yy_top_state() + { + return yy_start_stack[yy_start_stack_ptr - 1]; + } +#endif -void yyset_debug (int bdebug ) -{ - yy_flex_debug = bdebug ; -} +#ifndef YY_EXIT_FAILURE +#define YY_EXIT_FAILURE 2 +#endif -static int yy_init_globals (void) -{ - /* Initialization is the same as for the non-reentrant scanner. - * This function is called from yylex_destroy(), so don't allocate here. - */ - - /* We do not touch yylineno unless the option is enabled. */ - yylineno = 1; - - (yy_buffer_stack) = 0; - (yy_buffer_stack_top) = 0; - (yy_buffer_stack_max) = 0; - (yy_c_buf_p) = (char *) 0; - (yy_init) = 0; - (yy_start) = 0; - -/* Defined in main.c */ -#ifdef YY_STDINIT - yyin = stdin; - yyout = stdout; +#ifdef YY_USE_PROTOS +static void yy_fatal_error( yyconst char msg[] ) #else - yyin = (FILE *) 0; - yyout = (FILE *) 0; +static void yy_fatal_error( msg ) +char msg[]; #endif + { + (void) fprintf( stderr, "%s\n", msg ); + exit( YY_EXIT_FAILURE ); + } - /* For future reference: Set errno on error, since we are called by - * yylex_init() - */ - return 0; -} -/* yylex_destroy is for both reentrant and non-reentrant scanners. */ -int yylex_destroy (void) -{ - - /* Pop the buffer stack, destroying each element. */ - while(YY_CURRENT_BUFFER){ - yy_delete_buffer(YY_CURRENT_BUFFER ); - YY_CURRENT_BUFFER_LVALUE = NULL; - yypop_buffer_state(); - } - /* Destroy the stack itself. */ - yyfree((yy_buffer_stack) ); - (yy_buffer_stack) = NULL; +/* Redefine yyless() so it works in section 3 code. */ - /* Reset the globals. This is important in a non-reentrant scanner so the next time - * yylex() is called, initialization will occur. */ - yy_init_globals( ); +#undef yyless +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up yytext. */ \ + yytext[yyleng] = yy_hold_char; \ + yy_c_buf_p = yytext + n; \ + yy_hold_char = *yy_c_buf_p; \ + *yy_c_buf_p = '\0'; \ + yyleng = n; \ + } \ + while ( 0 ) - return 0; -} -/* - * Internal utility routines. - */ +/* Internal utility routines. */ #ifndef yytext_ptr -static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) -{ +#ifdef YY_USE_PROTOS +static void yy_flex_strncpy( char *s1, yyconst char *s2, int n ) +#else +static void yy_flex_strncpy( s1, s2, n ) +char *s1; +yyconst char *s2; +int n; +#endif + { register int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; -} + } #endif #ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * s ) -{ +#ifdef YY_USE_PROTOS +static int yy_flex_strlen( yyconst char *s ) +#else +static int yy_flex_strlen( s ) +yyconst char *s; +#endif + { register int n; for ( n = 0; s[n]; ++n ) ; return n; -} + } #endif -void *yyalloc (yy_size_t size ) -{ + +#ifdef YY_USE_PROTOS +static void *yy_flex_alloc( yy_size_t size ) +#else +static void *yy_flex_alloc( size ) +yy_size_t size; +#endif + { return (void *) malloc( size ); -} + } -void *yyrealloc (void * ptr, yy_size_t size ) -{ +#ifdef YY_USE_PROTOS +static void *yy_flex_realloc( void *ptr, yy_size_t size ) +#else +static void *yy_flex_realloc( ptr, size ) +void *ptr; +yy_size_t size; +#endif + { /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter @@ -3639,17 +3300,26 @@ void *yyrealloc (void * ptr, yy_size_t size ) * as though doing an assignment. */ return (void *) realloc( (char *) ptr, size ); -} - -void yyfree (void * ptr ) -{ - free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ -} - -#define YYTABLES_NAME "yytables" + } -#line 193 "levcomp.lpp" +#ifdef YY_USE_PROTOS +static void yy_flex_free( void *ptr ) +#else +static void yy_flex_free( ptr ) +void *ptr; +#endif + { + free( ptr ); + } +#if YY_MAIN +int main() + { + yylex(); + return 0; + } +#endif +#line 198 "levcomp.lpp" int yywrap() @@ -3658,4 +3328,3 @@ int yywrap() flush_free_queue(0); return 1; } - diff --git a/crawl-ref/source/prebuilt/levcomp.tab.cc b/crawl-ref/source/prebuilt/levcomp.tab.cc index e18a8211d4..a3020be2b4 100644 --- a/crawl-ref/source/prebuilt/levcomp.tab.cc +++ b/crawl-ref/source/prebuilt/levcomp.tab.cc @@ -1,191 +1,66 @@ -/* A Bison parser, made by GNU Bison 2.3. */ -/* Skeleton implementation for Bison's Yacc-like parsers in C +/* A Bison parser, made from levcomp.ypp + by GNU Bison version 1.28 */ + +#define YYBISON 1 /* Identify Bison output. */ + +#define BRANCHDEF 257 +#define BRANCH 258 +#define DESC 259 +#define DEFAULT 260 +#define DEFAULT_DEPTH 261 +#define SHUFFLE 262 +#define SUBST 263 +#define TAGS 264 +#define KFEAT 265 +#define KITEM 266 +#define KMONS 267 +#define NAME 268 +#define DEPTH 269 +#define ORIENT 270 +#define PLACE 271 +#define CHANCE 272 +#define FLAGS 273 +#define MONS 274 +#define ITEM 275 +#define ROOT_DEPTH 276 +#define ENTRY_MSG 277 +#define EXIT_MSG 278 +#define ROCK_COLOUR 279 +#define FLOOR_COLOUR 280 +#define ENCOMPASS 281 +#define FLOAT 282 +#define NORTH 283 +#define EAST 284 +#define SOUTH 285 +#define WEST 286 +#define NORTHEAST 287 +#define SOUTHEAST 288 +#define SOUTHWEST 289 +#define NORTHWEST 290 +#define LEVEL 291 +#define END 292 +#define PVAULT 293 +#define PMINIVAULT 294 +#define MONSTERS 295 +#define ENDMONSTERS 296 +#define CHARACTER 297 +#define NO_HMIRROR 298 +#define NO_VMIRROR 299 +#define NO_ROTATE 300 +#define PANDEMONIC 301 +#define DASH 302 +#define COMMA 303 +#define QUOTE 304 +#define OPAREN 305 +#define CPAREN 306 +#define INTEGER 307 +#define STRING 308 +#define MAP_LINE 309 +#define MONSTER_NAME 310 +#define ITEM_INFO 311 +#define IDENTIFIER 312 - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ - -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. - - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - -/* C LALR(1) parser skeleton written by Richard Stallman, by - simplifying the original so-called "semantic" parser. */ - -/* All symbols defined below should begin with yy or YY, to avoid - infringing on user name space. This should be done even for local - variables, as they might otherwise be expanded by user macros. - There are some unavoidable exceptions within include files to - define necessary library symbols; they are noted "INFRINGES ON - USER NAME SPACE" below. */ - -/* Identify Bison output. */ -#define YYBISON 1 - -/* Bison version. */ -#define YYBISON_VERSION "2.3" - -/* Skeleton name. */ -#define YYSKELETON_NAME "yacc.c" - -/* Pure parsers. */ -#define YYPURE 0 - -/* Using locations. */ -#define YYLSP_NEEDED 0 - - - -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - BRANCHDEF = 258, - BRANCH = 259, - DESC = 260, - DEFAULT = 261, - DEFAULT_DEPTH = 262, - SHUFFLE = 263, - SUBST = 264, - TAGS = 265, - KFEAT = 266, - KITEM = 267, - KMONS = 268, - NAME = 269, - DEPTH = 270, - ORIENT = 271, - PLACE = 272, - CHANCE = 273, - FLAGS = 274, - MONS = 275, - ITEM = 276, - ROOT_DEPTH = 277, - ENTRY_MSG = 278, - EXIT_MSG = 279, - ROCK_COLOUR = 280, - FLOOR_COLOUR = 281, - ENCOMPASS = 282, - FLOAT = 283, - NORTH = 284, - EAST = 285, - SOUTH = 286, - WEST = 287, - NORTHEAST = 288, - SOUTHEAST = 289, - SOUTHWEST = 290, - NORTHWEST = 291, - LEVEL = 292, - END = 293, - PVAULT = 294, - PMINIVAULT = 295, - MONSTERS = 296, - ENDMONSTERS = 297, - CHARACTER = 298, - NO_HMIRROR = 299, - NO_VMIRROR = 300, - NO_ROTATE = 301, - PANDEMONIC = 302, - DASH = 303, - COMMA = 304, - QUOTE = 305, - OPAREN = 306, - CPAREN = 307, - INTEGER = 308, - STRING = 309, - MAP_LINE = 310, - MONSTER_NAME = 311, - ITEM_INFO = 312, - IDENTIFIER = 313 - }; -#endif -/* Tokens. */ -#define BRANCHDEF 258 -#define BRANCH 259 -#define DESC 260 -#define DEFAULT 261 -#define DEFAULT_DEPTH 262 -#define SHUFFLE 263 -#define SUBST 264 -#define TAGS 265 -#define KFEAT 266 -#define KITEM 267 -#define KMONS 268 -#define NAME 269 -#define DEPTH 270 -#define ORIENT 271 -#define PLACE 272 -#define CHANCE 273 -#define FLAGS 274 -#define MONS 275 -#define ITEM 276 -#define ROOT_DEPTH 277 -#define ENTRY_MSG 278 -#define EXIT_MSG 279 -#define ROCK_COLOUR 280 -#define FLOOR_COLOUR 281 -#define ENCOMPASS 282 -#define FLOAT 283 -#define NORTH 284 -#define EAST 285 -#define SOUTH 286 -#define WEST 287 -#define NORTHEAST 288 -#define SOUTHEAST 289 -#define SOUTHWEST 290 -#define NORTHWEST 291 -#define LEVEL 292 -#define END 293 -#define PVAULT 294 -#define PMINIVAULT 295 -#define MONSTERS 296 -#define ENDMONSTERS 297 -#define CHARACTER 298 -#define NO_HMIRROR 299 -#define NO_VMIRROR 300 -#define NO_ROTATE 301 -#define PANDEMONIC 302 -#define DASH 303 -#define COMMA 304 -#define QUOTE 305 -#define OPAREN 306 -#define CPAREN 307 -#define INTEGER 308 -#define STRING 309 -#define MAP_LINE 310 -#define MONSTER_NAME 311 -#define ITEM_INFO 312 -#define IDENTIFIER 313 - - - - -/* Copy the first part of user declarations. */ #line 1 "levcomp.ypp" @@ -195,6 +70,8 @@ #include "stuff.h" #include +#define YYERROR_VERBOSE 1 + int yylex(); extern int yylineno; @@ -222,1140 +99,511 @@ void yyerror(const char *e) } - -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif - -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 0 -#endif - -/* Enabling the token table. */ -#ifndef YYTOKEN_TABLE -# define YYTOKEN_TABLE 0 -#endif - -#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE -#line 38 "levcomp.ypp" +#line 39 "levcomp.ypp" +typedef union { int i; const char *text; -} -/* Line 193 of yacc.c. */ -#line 253 "levcomp.tab.c" - YYSTYPE; -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 -#endif +} YYSTYPE; +#include - - -/* Copy the second part of user declarations. */ - - -/* Line 216 of yacc.c. */ -#line 266 "levcomp.tab.c" - -#ifdef short -# undef short +#ifndef __cplusplus +#ifndef __STDC__ +#define const #endif - -#ifdef YYTYPE_UINT8 -typedef YYTYPE_UINT8 yytype_uint8; -#else -typedef unsigned char yytype_uint8; #endif -#ifdef YYTYPE_INT8 -typedef YYTYPE_INT8 yytype_int8; -#elif (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -typedef signed char yytype_int8; -#else -typedef short int yytype_int8; -#endif -#ifdef YYTYPE_UINT16 -typedef YYTYPE_UINT16 yytype_uint16; -#else -typedef unsigned short int yytype_uint16; -#endif -#ifdef YYTYPE_INT16 -typedef YYTYPE_INT16 yytype_int16; -#else -typedef short int yytype_int16; -#endif +#define YYFINAL 98 +#define YYFLAG -32768 +#define YYNTBASE 59 + +#define YYTRANSLATE(x) ((unsigned)(x) <= 312 ? yytranslate[x] : 97) + +static const char yytranslate[] = { 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58 +}; -#ifndef YYSIZE_T -# ifdef __SIZE_TYPE__ -# define YYSIZE_T __SIZE_TYPE__ -# elif defined size_t -# define YYSIZE_T size_t -# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -# include /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T size_t -# else -# define YYSIZE_T unsigned int -# endif -#endif +#if YYDEBUG != 0 +static const short yyprhs[] = { 0, + 0, 2, 3, 6, 8, 10, 12, 15, 20, 23, + 24, 27, 29, 31, 33, 35, 37, 39, 41, 43, + 45, 47, 49, 51, 53, 55, 58, 60, 63, 65, + 68, 71, 73, 77, 79, 82, 83, 86, 89, 91, + 95, 97, 99, 102, 106, 108, 110, 112, 115, 119, + 121, 123, 126, 128, 131, 135, 137, 140, 142, 145, + 147, 149, 151, 153, 155, 157, 159, 161, 163, 165, + 168, 169, 172, 174, 176, 178, 180, 182, 185 +}; -#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) - -#ifndef YY_ -# if YYENABLE_NLS -# if ENABLE_NLS -# include /* INFRINGES ON USER NAME SPACE */ -# define YY_(msgid) dgettext ("bison-runtime", msgid) -# endif -# endif -# ifndef YY_ -# define YY_(msgid) msgid -# endif -#endif +static const short yyrhs[] = { 60, + 0, 0, 61, 60, 0, 62, 0, 64, 0, 63, + 0, 7, 87, 0, 65, 66, 94, 66, 0, 14, + 54, 0, 0, 67, 66, 0, 85, 0, 86, 0, + 88, 0, 89, 0, 91, 0, 82, 0, 79, 0, + 76, 0, 74, 0, 71, 0, 68, 0, 70, 0, + 69, 0, 11, 0, 11, 54, 0, 13, 0, 13, + 54, 0, 12, 0, 12, 54, 0, 8, 72, 0, + 73, 0, 73, 49, 72, 0, 57, 0, 10, 75, + 0, 0, 54, 75, 0, 9, 77, 0, 78, 0, + 78, 49, 77, 0, 57, 0, 21, 0, 21, 80, + 0, 81, 49, 80, 0, 81, 0, 57, 0, 20, + 0, 20, 83, 0, 84, 49, 83, 0, 84, 0, + 56, 0, 17, 54, 0, 15, 0, 15, 87, 0, + 53, 48, 53, 0, 53, 0, 18, 53, 0, 16, + 0, 16, 90, 0, 27, 0, 29, 0, 30, 0, + 31, 0, 32, 0, 33, 0, 34, 0, 35, 0, + 36, 0, 28, 0, 19, 92, 0, 0, 93, 92, + 0, 44, 0, 45, 0, 46, 0, 95, 0, 96, + 0, 96, 95, 0, 55, 0 +}; -/* Suppress unused-variable warnings by "using" E. */ -#if ! defined lint || defined __GNUC__ -# define YYUSE(e) ((void) (e)) -#else -# define YYUSE(e) /* empty */ #endif -/* Identity function, used to suppress warnings about constant conditions. */ -#ifndef lint -# define YYID(n) (n) -#else -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static int -YYID (int i) -#else -static int -YYID (i) - int i; -#endif -{ - return i; -} +#if YYDEBUG != 0 +static const short yyrline[] = { 0, + 71, 74, 75, 78, 79, 82, 85, 91, 130, 153, + 154, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 172, 173, 182, 183, 192, 193, + 202, 205, 206, 209, 219, 222, 223, 231, 234, 235, + 238, 249, 250, 253, 254, 257, 272, 273, 276, 277, + 280, 296, 302, 303, 309, 314, 320, 326, 327, 333, + 334, 335, 336, 337, 338, 339, 340, 341, 342, 345, + 348, 349, 365, 366, 367, 370, 373, 374, 377 +}; #endif -#if ! defined yyoverflow || YYERROR_VERBOSE - -/* The parser invokes alloca or malloc; define the necessary symbols. */ - -# ifdef YYSTACK_USE_ALLOCA -# if YYSTACK_USE_ALLOCA -# ifdef __GNUC__ -# define YYSTACK_ALLOC __builtin_alloca -# elif defined __BUILTIN_VA_ARG_INCR -# include /* INFRINGES ON USER NAME SPACE */ -# elif defined _AIX -# define YYSTACK_ALLOC __alloca -# elif defined _MSC_VER -# include /* INFRINGES ON USER NAME SPACE */ -# define alloca _alloca -# else -# define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -# include /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 -# endif -# endif -# endif -# endif -# endif - -# ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) -# ifndef YYSTACK_ALLOC_MAXIMUM - /* The OS might guarantee only one guard page at the bottom of the stack, - and a page size can be as small as 4096 bytes. So we cannot safely - invoke alloca (N) if N exceeds 4096. Use a slightly smaller number - to allow for a few compiler-allocated temporary stack slots. */ -# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ -# endif -# else -# define YYSTACK_ALLOC YYMALLOC -# define YYSTACK_FREE YYFREE -# ifndef YYSTACK_ALLOC_MAXIMUM -# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM -# endif -# if (defined __cplusplus && ! defined _STDLIB_H \ - && ! ((defined YYMALLOC || defined malloc) \ - && (defined YYFREE || defined free))) -# include /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 -# endif -# endif -# ifndef YYMALLOC -# define YYMALLOC malloc -# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ -# endif -# endif -# ifndef YYFREE -# define YYFREE free -# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -void free (void *); /* INFRINGES ON USER NAME SPACE */ -# endif -# endif -# endif -#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ - - -#if (! defined yyoverflow \ - && (! defined __cplusplus \ - || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) - -/* A type that is properly aligned for any stack member. */ -union yyalloc -{ - yytype_int16 yyss; - YYSTYPE yyvs; - }; - -/* The size of the maximum gap between one aligned stack and the next. */ -# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) - -/* The size of an array large to enough to hold all stacks, each with - N elements. */ -# define YYSTACK_BYTES(N) \ - ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ - + YYSTACK_GAP_MAXIMUM) - -/* Copy COUNT objects from FROM to TO. The source and destination do - not overlap. */ -# ifndef YYCOPY -# if defined __GNUC__ && 1 < __GNUC__ -# define YYCOPY(To, From, Count) \ - __builtin_memcpy (To, From, (Count) * sizeof (*(From))) -# else -# define YYCOPY(To, From, Count) \ - do \ - { \ - YYSIZE_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (To)[yyi] = (From)[yyi]; \ - } \ - while (YYID (0)) -# endif -# endif - -/* Relocate STACK from its old location to the new one. The - local variables YYSIZE and YYSTACKSIZE give the old and new number of - elements in the stack, and YYPTR gives the new location of the - stack. Advance YYPTR to a properly aligned location for the next - stack. */ -# define YYSTACK_RELOCATE(Stack) \ - do \ - { \ - YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack, Stack, yysize); \ - Stack = &yyptr->Stack; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ - yyptr += yynewbytes / sizeof (*yyptr); \ - } \ - while (YYID (0)) +#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) + +static const char * const yytname[] = { "$","error","$undefined.","BRANCHDEF", +"BRANCH","DESC","DEFAULT","DEFAULT_DEPTH","SHUFFLE","SUBST","TAGS","KFEAT","KITEM", +"KMONS","NAME","DEPTH","ORIENT","PLACE","CHANCE","FLAGS","MONS","ITEM","ROOT_DEPTH", +"ENTRY_MSG","EXIT_MSG","ROCK_COLOUR","FLOOR_COLOUR","ENCOMPASS","FLOAT","NORTH", +"EAST","SOUTH","WEST","NORTHEAST","SOUTHEAST","SOUTHWEST","NORTHWEST","LEVEL", +"END","PVAULT","PMINIVAULT","MONSTERS","ENDMONSTERS","CHARACTER","NO_HMIRROR", +"NO_VMIRROR","NO_ROTATE","PANDEMONIC","DASH","COMMA","QUOTE","OPAREN","CPAREN", +"INTEGER","STRING","MAP_LINE","MONSTER_NAME","ITEM_INFO","IDENTIFIER","file", +"definitions","definition","def","defdepth","level","name","metalines","metaline", +"kfeat","kmons","kitem","shuffle","shuffle_specifiers","shuffle_spec","tags", +"tagstrings","subst","subst_specifiers","subst_spec","items","item_specifiers", +"item_specifier","mons","mnames","mname","place","depth","depth_range","chance", +"orientation","orient_name","flags","flagnames","flagname","map_def","map_lines", +"map_line", NULL +}; #endif -/* YYFINAL -- State number of the termination state. */ -#define YYFINAL 13 -/* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 66 - -/* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 59 -/* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 35 -/* YYNRULES -- Number of rules. */ -#define YYNRULES 76 -/* YYNRULES -- Number of states. */ -#define YYNSTATES 90 - -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ -#define YYUNDEFTOK 2 -#define YYMAXUTOK 313 - -#define YYTRANSLATE(YYX) \ - ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) - -/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ -static const yytype_uint8 yytranslate[] = -{ - 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58 +static const short yyr1[] = { 0, + 59, 60, 60, 61, 61, 62, 63, 64, 65, 66, + 66, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 68, 68, 69, 69, 70, 70, + 71, 72, 72, 73, 74, 75, 75, 76, 77, 77, + 78, 79, 79, 80, 80, 81, 82, 82, 83, 83, + 84, 85, 86, 86, 87, 87, 88, 89, 89, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 91, + 92, 92, 93, 93, 93, 94, 95, 95, 96 }; -#if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ -static const yytype_uint8 yyprhs[] = -{ - 0, 0, 3, 5, 6, 9, 11, 13, 15, 18, - 23, 26, 27, 30, 32, 34, 36, 38, 40, 42, - 44, 46, 48, 50, 52, 54, 56, 58, 61, 63, - 66, 68, 71, 73, 76, 79, 80, 83, 85, 88, - 90, 93, 97, 99, 101, 103, 106, 110, 112, 114, - 117, 119, 122, 126, 128, 131, 133, 136, 138, 140, - 142, 144, 146, 148, 150, 152, 154, 156, 159, 160, - 163, 165, 167, 169, 171, 173, 176 +static const short yyr2[] = { 0, + 1, 0, 2, 1, 1, 1, 2, 4, 2, 0, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, + 2, 1, 3, 1, 2, 0, 2, 2, 1, 3, + 1, 1, 2, 3, 1, 1, 1, 2, 3, 1, + 1, 2, 1, 2, 3, 1, 2, 1, 2, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 0, 2, 1, 1, 1, 1, 1, 2, 1 }; -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const yytype_int8 yyrhs[] = -{ - 60, 0, -1, 61, -1, -1, 62, 61, -1, 63, - -1, 65, -1, 64, -1, 7, 84, -1, 66, 67, - 91, 67, -1, 14, 54, -1, -1, 68, 67, -1, - 82, -1, 83, -1, 85, -1, 86, -1, 88, -1, - 79, -1, 76, -1, 75, -1, 73, -1, 72, -1, - 69, -1, 71, -1, 70, -1, 11, -1, 11, 54, - -1, 13, -1, 13, 54, -1, 12, -1, 12, 54, - -1, 8, -1, 8, 54, -1, 10, 74, -1, -1, - 54, 74, -1, 9, -1, 9, 54, -1, 21, -1, - 21, 77, -1, 78, 49, 77, -1, 78, -1, 57, - -1, 20, -1, 20, 80, -1, 81, 49, 80, -1, - 81, -1, 56, -1, 17, 54, -1, 15, -1, 15, - 84, -1, 53, 48, 53, -1, 53, -1, 18, 53, - -1, 16, -1, 16, 87, -1, 27, -1, 29, -1, - 30, -1, 31, -1, 32, -1, 33, -1, 34, -1, - 35, -1, 36, -1, 28, -1, 19, 89, -1, -1, - 90, 89, -1, 44, -1, 45, -1, 46, -1, 92, - -1, 93, -1, 93, 92, -1, 55, -1 +static const short yydefact[] = { 2, + 0, 0, 1, 2, 4, 6, 5, 10, 56, 7, + 9, 3, 0, 0, 36, 25, 29, 27, 53, 58, + 0, 0, 71, 47, 42, 0, 10, 22, 24, 23, + 21, 20, 19, 18, 17, 12, 13, 14, 15, 16, + 0, 34, 31, 32, 41, 38, 39, 36, 35, 26, + 30, 28, 54, 60, 69, 61, 62, 63, 64, 65, + 66, 67, 68, 59, 52, 57, 73, 74, 75, 70, + 71, 51, 48, 50, 46, 43, 45, 79, 10, 76, + 77, 11, 55, 0, 0, 37, 72, 0, 0, 8, + 78, 33, 40, 49, 44, 0, 0, 0 }; -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ -static const yytype_uint16 yyrline[] = -{ - 0, 69, 69, 72, 73, 76, 77, 80, 83, 89, - 128, 151, 152, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 170, 171, 180, 181, - 190, 191, 200, 201, 211, 214, 215, 223, 224, 235, - 236, 239, 240, 243, 258, 259, 262, 263, 266, 282, - 288, 289, 295, 300, 306, 312, 313, 319, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 331, 334, 335, - 351, 352, 353, 356, 359, 360, 363 +static const short yydefgoto[] = { 96, + 3, 4, 5, 6, 7, 8, 26, 27, 28, 29, + 30, 31, 43, 44, 32, 49, 33, 46, 47, 34, + 76, 77, 35, 73, 74, 36, 37, 10, 38, 39, + 64, 40, 70, 71, 79, 80, 81 }; -#endif -#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE -/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. - First, the terminals, then, starting at YYNTOKENS, nonterminals. */ -static const char *const yytname[] = -{ - "$end", "error", "$undefined", "BRANCHDEF", "BRANCH", "DESC", "DEFAULT", - "DEFAULT_DEPTH", "SHUFFLE", "SUBST", "TAGS", "KFEAT", "KITEM", "KMONS", - "NAME", "DEPTH", "ORIENT", "PLACE", "CHANCE", "FLAGS", "MONS", "ITEM", - "ROOT_DEPTH", "ENTRY_MSG", "EXIT_MSG", "ROCK_COLOUR", "FLOOR_COLOUR", - "ENCOMPASS", "FLOAT", "NORTH", "EAST", "SOUTH", "WEST", "NORTHEAST", - "SOUTHEAST", "SOUTHWEST", "NORTHWEST", "LEVEL", "END", "PVAULT", - "PMINIVAULT", "MONSTERS", "ENDMONSTERS", "CHARACTER", "NO_HMIRROR", - "NO_VMIRROR", "NO_ROTATE", "PANDEMONIC", "DASH", "COMMA", "QUOTE", - "OPAREN", "CPAREN", "INTEGER", "STRING", "MAP_LINE", "MONSTER_NAME", - "ITEM_INFO", "IDENTIFIER", "$accept", "file", "definitions", - "definition", "def", "defdepth", "level", "name", "metalines", - "metaline", "kfeat", "kmons", "kitem", "shuffle", "tags", "tagstrings", - "symbol", "items", "item_specifiers", "item_specifier", "mons", "mnames", - "mname", "place", "depth", "depth_range", "chance", "orientation", - "orient_name", "flags", "flagnames", "flagname", "map_def", "map_lines", - "map_line", 0 +static const short yypact[] = { 18, + -46, -25,-32768, 18,-32768,-32768,-32768, -7, -17,-32768, +-32768,-32768, -24, -23, -19, -16, -15, -14, -46, -12, + -13, -11, -18, -26, -21, -10, -7,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -9,-32768,-32768, -6,-32768,-32768, -3, -19,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -18,-32768,-32768, -2,-32768,-32768, -1,-32768, -7,-32768, + -10,-32768,-32768, -24, -23,-32768,-32768, -26, -21,-32768, +-32768,-32768,-32768,-32768,-32768, 37, 49,-32768 }; -#endif -# ifdef YYPRINT -/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to - token YYLEX-NUM. */ -static const yytype_uint16 yytoknum[] = -{ - 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313 +static const short yypgoto[] = {-32768, + 46,-32768,-32768,-32768,-32768,-32768, -27,-32768,-32768,-32768, +-32768,-32768, -33,-32768,-32768, 5,-32768, -31,-32768,-32768, + -34,-32768,-32768, -32,-32768,-32768,-32768, 38,-32768,-32768, +-32768,-32768, -8,-32768,-32768, -22,-32768 }; -# endif -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const yytype_uint8 yyr1[] = -{ - 0, 59, 60, 61, 61, 62, 62, 63, 64, 65, - 66, 67, 67, 68, 68, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 69, 69, 70, 70, - 71, 71, 72, 72, 73, 74, 74, 75, 75, 76, - 76, 77, 77, 78, 79, 79, 80, 80, 81, 82, - 83, 83, 84, 84, 85, 86, 86, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 88, 89, 89, - 90, 90, 90, 91, 92, 92, 93 -}; -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const yytype_uint8 yyr2[] = -{ - 0, 2, 1, 0, 2, 1, 1, 1, 2, 4, - 2, 0, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, - 1, 2, 1, 2, 2, 0, 2, 1, 2, 1, - 2, 3, 1, 1, 1, 2, 3, 1, 1, 2, - 1, 2, 3, 1, 2, 1, 2, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 0, 2, - 1, 1, 1, 1, 1, 2, 1 -}; +#define YYLAST 63 -/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state - STATE-NUM when YYTABLE doesn't specify something else to do. Zero - means the default is an error. */ -static const yytype_uint8 yydefact[] = -{ - 3, 0, 0, 0, 2, 3, 5, 7, 6, 11, - 53, 8, 10, 1, 4, 32, 37, 35, 26, 30, - 28, 50, 55, 0, 0, 68, 44, 39, 0, 11, - 23, 25, 24, 22, 21, 20, 19, 18, 13, 14, - 15, 16, 17, 0, 33, 38, 35, 34, 27, 31, - 29, 51, 57, 66, 58, 59, 60, 61, 62, 63, - 64, 65, 56, 49, 54, 70, 71, 72, 67, 68, - 48, 45, 47, 43, 40, 42, 76, 11, 73, 74, - 12, 52, 36, 69, 0, 0, 9, 75, 46, 41 -}; -/* YYDEFGOTO[NTERM-NUM]. */ -static const yytype_int8 yydefgoto[] = -{ - -1, 3, 4, 5, 6, 7, 8, 9, 28, 29, - 30, 31, 32, 33, 34, 47, 35, 36, 74, 75, - 37, 71, 72, 38, 39, 11, 40, 41, 62, 42, - 68, 69, 77, 78, 79 +static const short yytable[] = { 82, + 13, 14, 15, 16, 17, 18, 9, 19, 20, 21, + 22, 23, 24, 25, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 1, 67, 68, 69, 11, 72, + 41, 2, 42, 45, 48, 75, 97, 50, 51, 52, + 65, 66, 84, 83, 78, 85, 88, 89, 98, 12, + 92, 90, 86, 93, 95, 94, 53, 0, 91, 0, + 0, 0, 87 }; -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ -#define YYPACT_NINF -49 -static const yytype_int8 yypact[] = -{ - 18, -46, -25, 30, -49, 18, -49, -49, -49, -7, - -17, -49, -49, -49, -49, -21, -20, -19, -16, -15, - -14, -46, -12, -13, -11, -18, -10, -8, -5, -7, - -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, - -49, -49, -49, -9, -49, -49, -19, -49, -49, -49, - -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, - -49, -49, -49, -49, -49, -49, -49, -49, -49, -18, - -49, -49, -6, -49, -49, -4, -49, -7, -49, -5, - -49, -49, -49, -49, -10, -8, -49, -49, -49, -49 +static const short yycheck[] = { 27, + 8, 9, 10, 11, 12, 13, 53, 15, 16, 17, + 18, 19, 20, 21, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 7, 44, 45, 46, 54, 56, + 48, 14, 57, 57, 54, 57, 0, 54, 54, 54, + 54, 53, 49, 53, 55, 49, 49, 49, 0, 4, + 84, 79, 48, 85, 89, 88, 19, -1, 81, -1, + -1, -1, 71 }; +/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ +#line 3 "/usr/share/bison.simple" +/* This file comes from bison-1.28. */ -/* YYPGOTO[NTERM-NUM]. */ -static const yytype_int8 yypgoto[] = -{ - -49, -49, 31, -49, -49, -49, -49, -49, -29, -49, - -49, -49, -49, -49, -49, 1, -49, -49, -48, -49, - -49, -33, -49, -49, -49, 32, -49, -49, -49, -49, - -3, -49, -49, -27, -49 -}; +/* Skeleton output parser for bison, + Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. -/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which - number is the opposite. If zero, do what YYDEFACT says. - If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -1 -static const yytype_uint8 yytable[] = -{ - 80, 15, 16, 17, 18, 19, 20, 10, 21, 22, - 23, 24, 25, 26, 27, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 1, 65, 66, 67, 12, - 13, 43, 2, 44, 45, 46, 14, 89, 48, 49, - 50, 63, 64, 84, 81, 85, 70, 82, 86, 73, - 76, 88, 87, 51, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 83 -}; + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. -static const yytype_int8 yycheck[] = -{ - 29, 8, 9, 10, 11, 12, 13, 53, 15, 16, - 17, 18, 19, 20, 21, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 7, 44, 45, 46, 54, - 0, 48, 14, 54, 54, 54, 5, 85, 54, 54, - 54, 54, 53, 49, 53, 49, 56, 46, 77, 57, - 55, 84, 79, 21, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 69 -}; + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ -static const yytype_uint8 yystos[] = -{ - 0, 7, 14, 60, 61, 62, 63, 64, 65, 66, - 53, 84, 54, 0, 61, 8, 9, 10, 11, 12, - 13, 15, 16, 17, 18, 19, 20, 21, 67, 68, - 69, 70, 71, 72, 73, 75, 76, 79, 82, 83, - 85, 86, 88, 48, 54, 54, 54, 74, 54, 54, - 54, 84, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 87, 54, 53, 44, 45, 46, 89, 90, - 56, 80, 81, 57, 77, 78, 55, 91, 92, 93, - 67, 53, 74, 89, 49, 49, 67, 92, 80, 77 -}; + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* As a special exception, when this file is copied by Bison into a + Bison output file, you may use that output file without restriction. + This special exception was added by the Free Software Foundation + in version 1.24 of Bison. */ + +/* This is the parser code that is written into each bison parser + when the %semantic_parser declaration is not specified in the grammar. + It was written by Richard Stallman by simplifying the hairy parser + used when %semantic_parser is specified. */ + +#ifndef YYSTACK_USE_ALLOCA +#ifdef alloca +#define YYSTACK_USE_ALLOCA +#else /* alloca not defined */ +#ifdef __GNUC__ +#define YYSTACK_USE_ALLOCA +#define alloca __builtin_alloca +#else /* not GNU C. */ +#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) +#define YYSTACK_USE_ALLOCA +#include +#else /* not sparc */ +/* We think this test detects Watcom and Microsoft C. */ +/* This used to test MSDOS, but that is a bad idea + since that symbol is in the user namespace. */ +#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) +#if 0 /* No need for malloc.h, which pollutes the namespace; + instead, just don't use alloca. */ +#include +#endif +#else /* not MSDOS, or __TURBOC__ */ +#if defined(_AIX) +/* I don't know what this was needed for, but it pollutes the namespace. + So I turned it off. rms, 2 May 1997. */ +/* #include */ + #pragma alloca +#define YYSTACK_USE_ALLOCA +#else /* not MSDOS, or __TURBOC__, or _AIX */ +#if 0 +#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, + and on HPUX 10. Eventually we can turn this on. */ +#define YYSTACK_USE_ALLOCA +#define alloca __builtin_alloca +#endif /* __hpux */ +#endif +#endif /* not _AIX */ +#endif /* not MSDOS, or __TURBOC__ */ +#endif /* not sparc */ +#endif /* not GNU C */ +#endif /* alloca not defined */ +#endif /* YYSTACK_USE_ALLOCA not defined */ + +#ifdef YYSTACK_USE_ALLOCA +#define YYSTACK_ALLOC alloca +#else +#define YYSTACK_ALLOC malloc +#endif + +/* Note: there must be only one dollar sign in this file. + It is replaced by the list of actions, each action + as one case of the switch. */ #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) -#define YYEMPTY (-2) +#define YYEMPTY -2 #define YYEOF 0 - #define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrorlab - - -/* Like YYERROR except do call yyerror. This remains here temporarily - to ease the transition to the new meaning of YYERROR, for GCC. +#define YYABORT goto yyabortlab +#define YYERROR goto yyerrlab1 +/* Like YYERROR except do call yyerror. + This remains here temporarily to ease the + transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ - #define YYFAIL goto yyerrlab - #define YYRECOVERING() (!!yyerrstatus) - -#define YYBACKUP(Token, Value) \ +#define YYBACKUP(token, value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - yytoken = YYTRANSLATE (yychar); \ - YYPOPSTACK (1); \ + { yychar = (token), yylval = (value); \ + yychar1 = YYTRANSLATE (yychar); \ + YYPOPSTACK; \ goto yybackup; \ } \ else \ - { \ - yyerror (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (YYID (0)) - + { yyerror ("syntax error: cannot back up"); YYERROR; } \ +while (0) #define YYTERROR 1 #define YYERRCODE 256 - -/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. - If N is 0, then set CURRENT to the empty location which ends - the previous symbol: RHS[0] (always defined). */ - -#define YYRHSLOC(Rhs, K) ((Rhs)[K]) -#ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ - do \ - if (YYID (N)) \ - { \ - (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ - (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ - (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ - (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ - } \ - else \ - { \ - (Current).first_line = (Current).last_line = \ - YYRHSLOC (Rhs, 0).last_line; \ - (Current).first_column = (Current).last_column = \ - YYRHSLOC (Rhs, 0).last_column; \ - } \ - while (YYID (0)) +#ifndef YYPURE +#define YYLEX yylex() #endif - -/* YY_LOCATION_PRINT -- Print the location on the stream. - This macro was not mandated originally: define only if we know - we won't break user code: when these are the locations we know. */ - -#ifndef YY_LOCATION_PRINT -# if YYLTYPE_IS_TRIVIAL -# define YY_LOCATION_PRINT(File, Loc) \ - fprintf (File, "%d.%d-%d.%d", \ - (Loc).first_line, (Loc).first_column, \ - (Loc).last_line, (Loc).last_column) -# else -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -# endif -#endif - - -/* YYLEX -- calling `yylex' with the right arguments. */ - +#ifdef YYPURE +#ifdef YYLSP_NEEDED #ifdef YYLEX_PARAM -# define YYLEX yylex (YYLEX_PARAM) +#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) #else -# define YYLEX yylex () +#define YYLEX yylex(&yylval, &yylloc) #endif - -/* Enable debugging if requested. */ -#if YYDEBUG - -# ifndef YYFPRINTF -# include /* INFRINGES ON USER NAME SPACE */ -# define YYFPRINTF fprintf -# endif - -# define YYDPRINTF(Args) \ -do { \ - if (yydebug) \ - YYFPRINTF Args; \ -} while (YYID (0)) - -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (yydebug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - yy_symbol_print (stderr, \ - Type, Value); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (YYID (0)) - - -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ - -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +#else /* not YYLSP_NEEDED */ +#ifdef YYLEX_PARAM +#define YYLEX yylex(&yylval, YYLEX_PARAM) #else -static void -yy_symbol_value_print (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; +#define YYLEX yylex(&yylval) #endif -{ - if (!yyvaluep) - return; -# ifdef YYPRINT - if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# else - YYUSE (yyoutput); -# endif - switch (yytype) - { - default: - break; - } -} - - -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ - -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) -#else -static void -yy_symbol_print (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; +#endif /* not YYLSP_NEEDED */ #endif -{ - if (yytype < YYNTOKENS) - YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); - else - YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); - yy_symbol_value_print (yyoutput, yytype, yyvaluep); - YYFPRINTF (yyoutput, ")"); -} +/* If nonreentrant, generate the variables here */ -/*------------------------------------------------------------------. -| yy_stack_print -- Print the state stack from its BOTTOM up to its | -| TOP (included). | -`------------------------------------------------------------------*/ +#ifndef YYPURE -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) -#else -static void -yy_stack_print (bottom, top) - yytype_int16 *bottom; - yytype_int16 *top; -#endif -{ - YYFPRINTF (stderr, "Stack now"); - for (; bottom <= top; ++bottom) - YYFPRINTF (stderr, " %d", *bottom); - YYFPRINTF (stderr, "\n"); -} - -# define YY_STACK_PRINT(Bottom, Top) \ -do { \ - if (yydebug) \ - yy_stack_print ((Bottom), (Top)); \ -} while (YYID (0)) +int yychar; /* the lookahead symbol */ +YYSTYPE yylval; /* the semantic value of the */ + /* lookahead symbol */ - -/*------------------------------------------------. -| Report that the YYRULE is going to be reduced. | -`------------------------------------------------*/ - -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_reduce_print (YYSTYPE *yyvsp, int yyrule) -#else -static void -yy_reduce_print (yyvsp, yyrule) - YYSTYPE *yyvsp; - int yyrule; +#ifdef YYLSP_NEEDED +YYLTYPE yylloc; /* location data for the lookahead */ + /* symbol */ #endif -{ - int yynrhs = yyr2[yyrule]; - int yyi; - unsigned long int yylno = yyrline[yyrule]; - YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", - yyrule - 1, yylno); - /* The symbols being reduced. */ - for (yyi = 0; yyi < yynrhs; yyi++) - { - fprintf (stderr, " $%d = ", yyi + 1); - yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], - &(yyvsp[(yyi + 1) - (yynrhs)]) - ); - fprintf (stderr, "\n"); - } -} -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (yydebug) \ - yy_reduce_print (yyvsp, Rule); \ -} while (YYID (0)) +int yynerrs; /* number of parse errors so far */ +#endif /* not YYPURE */ -/* Nonzero means print parse trace. It is left uninitialized so that - multiple parsers can coexist. */ -int yydebug; -#else /* !YYDEBUG */ -# define YYDPRINTF(Args) -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) -# define YY_STACK_PRINT(Bottom, Top) -# define YY_REDUCE_PRINT(Rule) -#endif /* !YYDEBUG */ +#if YYDEBUG != 0 +int yydebug; /* nonzero means print parse trace */ +/* Since this is uninitialized, it does not stop multiple parsers + from coexisting. */ +#endif +/* YYINITDEPTH indicates the initial size of the parser's stacks */ -/* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH -# define YYINITDEPTH 200 +#define YYINITDEPTH 200 #endif -/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only - if the built-in stack extension method is used). +/* YYMAXDEPTH is the maximum size the stacks can grow to + (effective only if the built-in stack extension method is used). */ - Do not make this value too large; the results are undefined if - YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) - evaluated with infinite-precision integer arithmetic. */ +#if YYMAXDEPTH == 0 +#undef YYMAXDEPTH +#endif #ifndef YYMAXDEPTH -# define YYMAXDEPTH 10000 +#define YYMAXDEPTH 10000 #endif - - -#if YYERROR_VERBOSE - -# ifndef yystrlen -# if defined __GLIBC__ && defined _STRING_H -# define yystrlen strlen -# else -/* Return the length of YYSTR. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static YYSIZE_T -yystrlen (const char *yystr) -#else -static YYSIZE_T -yystrlen (yystr) - const char *yystr; -#endif -{ - YYSIZE_T yylen; - for (yylen = 0; yystr[yylen]; yylen++) - continue; - return yylen; -} -# endif -# endif - -# ifndef yystpcpy -# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE -# define yystpcpy stpcpy -# else -/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in - YYDEST. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static char * -yystpcpy (char *yydest, const char *yysrc) -#else -static char * -yystpcpy (yydest, yysrc) - char *yydest; - const char *yysrc; -#endif +/* Define __yy_memcpy. Note that the size argument + should be passed with type unsigned int, because that is what the non-GCC + definitions require. With GCC, __builtin_memcpy takes an arg + of type size_t, but it can handle unsigned int. */ + +#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ +#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) +#else /* not GNU C or C++ */ +#ifndef __cplusplus + +/* This is the most reliable way to avoid incompatibilities + in available built-in functions on various systems. */ +static void +__yy_memcpy (to, from, count) + char *to; + char *from; + unsigned int count; { - char *yyd = yydest; - const char *yys = yysrc; + register char *f = from; + register char *t = to; + register int i = count; - while ((*yyd++ = *yys++) != '\0') - continue; - - return yyd - 1; + while (i-- > 0) + *t++ = *f++; } -# endif -# endif - -# ifndef yytnamerr -/* Copy to YYRES the contents of YYSTR after stripping away unnecessary - quotes and backslashes, so that it's suitable for yyerror. The - heuristic is that double-quoting is unnecessary unless the string - contains an apostrophe, a comma, or backslash (other than - backslash-backslash). YYSTR is taken from yytname. If YYRES is - null, do not copy; instead, return the length of what the result - would have been. */ -static YYSIZE_T -yytnamerr (char *yyres, const char *yystr) -{ - if (*yystr == '"') - { - YYSIZE_T yyn = 0; - char const *yyp = yystr; - - for (;;) - switch (*++yyp) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++yyp != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - if (yyres) - yyres[yyn] = *yyp; - yyn++; - break; - - case '"': - if (yyres) - yyres[yyn] = '\0'; - return yyn; - } - do_not_strip_quotes: ; - } - if (! yyres) - return yystrlen (yystr); +#else /* __cplusplus */ - return yystpcpy (yyres, yystr) - yyres; -} -# endif - -/* Copy into YYRESULT an error message about the unexpected token - YYCHAR while in state YYSTATE. Return the number of bytes copied, - including the terminating null byte. If YYRESULT is null, do not - copy anything; just return the number of bytes that would be - copied. As a special case, return 0 if an ordinary "syntax error" - message will do. Return YYSIZE_MAXIMUM if overflow occurs during - size calculation. */ -static YYSIZE_T -yysyntax_error (char *yyresult, int yystate, int yychar) +/* This is the most reliable way to avoid incompatibilities + in available built-in functions on various systems. */ +static void +__yy_memcpy (char *to, char *from, unsigned int count) { - int yyn = yypact[yystate]; + register char *t = to; + register char *f = from; + register int i = count; - if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) - return 0; - else - { - int yytype = YYTRANSLATE (yychar); - YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); - YYSIZE_T yysize = yysize0; - YYSIZE_T yysize1; - int yysize_overflow = 0; - enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - int yyx; - -# if 0 - /* This is so xgettext sees the translatable formats that are - constructed on the fly. */ - YY_("syntax error, unexpected %s"); - YY_("syntax error, unexpected %s, expecting %s"); - YY_("syntax error, unexpected %s, expecting %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); -# endif - char *yyfmt; - char const *yyf; - static char const yyunexpected[] = "syntax error, unexpected %s"; - static char const yyexpecting[] = ", expecting %s"; - static char const yyor[] = " or %s"; - char yyformat[sizeof yyunexpected - + sizeof yyexpecting - 1 - + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) - * (sizeof yyor - 1))]; - char const *yyprefix = yyexpecting; - - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn + 1; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yycount = 1; - - yyarg[0] = yytname[yytype]; - yyfmt = yystpcpy (yyformat, yyunexpected); - - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) - { - if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) - { - yycount = 1; - yysize = yysize0; - yyformat[sizeof yyunexpected - 1] = '\0'; - break; - } - yyarg[yycount++] = yytname[yyx]; - yysize1 = yysize + yytnamerr (0, yytname[yyx]); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; - yyfmt = yystpcpy (yyfmt, yyprefix); - yyprefix = yyor; - } - - yyf = YY_(yyformat); - yysize1 = yysize + yystrlen (yyf); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; - - if (yysize_overflow) - return YYSIZE_MAXIMUM; - - if (yyresult) - { - /* Avoid sprintf, as that infringes on the user's name space. - Don't have undefined behavior even if the translation - produced a string with the wrong number of "%s"s. */ - char *yyp = yyresult; - int yyi = 0; - while ((*yyp = *yyf) != '\0') - { - if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyf += 2; - } - else - { - yyp++; - yyf++; - } - } - } - return yysize; - } + while (i-- > 0) + *t++ = *f++; } -#endif /* YYERROR_VERBOSE */ - -/*-----------------------------------------------. -| Release the memory associated to this symbol. | -`-----------------------------------------------*/ - -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) -#else -static void -yydestruct (yymsg, yytype, yyvaluep) - const char *yymsg; - int yytype; - YYSTYPE *yyvaluep; #endif -{ - YYUSE (yyvaluep); - - if (!yymsg) - yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); - - switch (yytype) - { - - default: - break; - } -} +#endif +#line 217 "/usr/share/bison.simple" -/* Prevent warnings from -Wmissing-prototypes. */ +/* The user can define YYPARSE_PARAM as the name of an argument to be passed + into yyparse. The argument should have type void *. + It should actually point to an object. + Grammar actions can access the variable by casting it + to the proper pointer type. */ #ifdef YYPARSE_PARAM -#if defined __STDC__ || defined __cplusplus -int yyparse (void *YYPARSE_PARAM); +#ifdef __cplusplus +#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM +#define YYPARSE_PARAM_DECL +#else /* not __cplusplus */ +#define YYPARSE_PARAM_ARG YYPARSE_PARAM +#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; +#endif /* not __cplusplus */ +#else /* not YYPARSE_PARAM */ +#define YYPARSE_PARAM_ARG +#define YYPARSE_PARAM_DECL +#endif /* not YYPARSE_PARAM */ + +/* Prevent warning if -Wstrict-prototypes. */ +#ifdef __GNUC__ +#ifdef YYPARSE_PARAM +int yyparse (void *); #else -int yyparse (); -#endif -#else /* ! YYPARSE_PARAM */ -#if defined __STDC__ || defined __cplusplus int yyparse (void); -#else -int yyparse (); #endif -#endif /* ! YYPARSE_PARAM */ - - - -/* The look-ahead symbol. */ -int yychar; - -/* The semantic value of the look-ahead symbol. */ -YYSTYPE yylval; +#endif -/* Number of syntax errors so far. */ -int yynerrs; +int +yyparse(YYPARSE_PARAM_ARG) + YYPARSE_PARAM_DECL +{ + register int yystate; + register int yyn; + register short *yyssp; + register YYSTYPE *yyvsp; + int yyerrstatus; /* number of tokens to shift before error messages enabled */ + int yychar1 = 0; /* lookahead token as an internal (translated) token number */ + short yyssa[YYINITDEPTH]; /* the state stack */ + YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ + short *yyss = yyssa; /* refer to the stacks thru separate pointers */ + YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ -/*----------. -| yyparse. | -`----------*/ +#ifdef YYLSP_NEEDED + YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ + YYLTYPE *yyls = yylsa; + YYLTYPE *yylsp; -#ifdef YYPARSE_PARAM -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -int -yyparse (void *YYPARSE_PARAM) +#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) #else -int -yyparse (YYPARSE_PARAM) - void *YYPARSE_PARAM; +#define YYPOPSTACK (yyvsp--, yyssp--) #endif -#else /* ! YYPARSE_PARAM */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -int -yyparse (void) -#else -int -yyparse () + int yystacksize = YYINITDEPTH; + int yyfree_stacks = 0; + +#ifdef YYPURE + int yychar; + YYSTYPE yylval; + int yynerrs; +#ifdef YYLSP_NEEDED + YYLTYPE yylloc; #endif -#endif -{ - - int yystate; - int yyn; - int yyresult; - /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; - /* Look-ahead token as an internal (translated) token number. */ - int yytoken = 0; -#if YYERROR_VERBOSE - /* Buffer for error messages, and its allocated size. */ - char yymsgbuf[128]; - char *yymsg = yymsgbuf; - YYSIZE_T yymsg_alloc = sizeof yymsgbuf; #endif - /* Three stacks and their tools: - `yyss': related to states, - `yyvs': related to semantic values, - `yyls': related to locations. + YYSTYPE yyval; /* the variable used to return */ + /* semantic values from the action */ + /* routines */ - Refer to the stacks thru separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ + int yylen; - /* The state stack. */ - yytype_int16 yyssa[YYINITDEPTH]; - yytype_int16 *yyss = yyssa; - yytype_int16 *yyssp; - - /* The semantic value stack. */ - YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs = yyvsa; - YYSTYPE *yyvsp; - - - -#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) - - YYSIZE_T yystacksize = YYINITDEPTH; - - /* The variables used to return semantic value and location from the - action routines. */ - YYSTYPE yyval; - - - /* The number of symbols on the RHS of the reduced rule. - Keep to zero when no symbol should be popped. */ - int yylen = 0; - - YYDPRINTF ((stderr, "Starting parse\n")); +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Starting parse\n"); +#endif yystate = 0; yyerrstatus = 0; @@ -1367,225 +615,273 @@ yyparse () so that they stay on the same level as the state stack. The wasted elements are never initialized. */ - yyssp = yyss; + yyssp = yyss - 1; yyvsp = yyvs; +#ifdef YYLSP_NEEDED + yylsp = yyls; +#endif - goto yysetstate; - -/*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate. | -`------------------------------------------------------------*/ - yynewstate: - /* In all cases, when you get here, the value and location stacks - have just been pushed. So pushing a state here evens the stacks. */ - yyssp++; +/* Push a new state, which is found in yystate . */ +/* In all cases, when you get here, the value and location stacks + have just been pushed. so pushing a state here evens the stacks. */ +yynewstate: - yysetstate: - *yyssp = yystate; + *++yyssp = yystate; - if (yyss + yystacksize - 1 <= yyssp) + if (yyssp >= yyss + yystacksize - 1) { + /* Give user a chance to reallocate the stack */ + /* Use copies of these so that the &'s don't force the real ones into memory. */ + YYSTYPE *yyvs1 = yyvs; + short *yyss1 = yyss; +#ifdef YYLSP_NEEDED + YYLTYPE *yyls1 = yyls; +#endif + /* Get the current used size of the three stacks, in elements. */ - YYSIZE_T yysize = yyssp - yyss + 1; + int size = yyssp - yyss + 1; #ifdef yyoverflow - { - /* Give user a chance to reallocate the stack. Use copies of - these so that the &'s don't force the real ones into - memory. */ - YYSTYPE *yyvs1 = yyvs; - yytype_int16 *yyss1 = yyss; - - - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. This used to be a - conditional around just the two extra args, but that might - be undefined if yyoverflow is a macro. */ - yyoverflow (YY_("memory exhausted"), - &yyss1, yysize * sizeof (*yyssp), - &yyvs1, yysize * sizeof (*yyvsp), - - &yystacksize); - - yyss = yyss1; - yyvs = yyvs1; - } + /* Each stack pointer address is followed by the size of + the data in use in that stack, in bytes. */ +#ifdef YYLSP_NEEDED + /* This used to be a conditional around just the two extra args, + but that might be undefined if yyoverflow is a macro. */ + yyoverflow("parser stack overflow", + &yyss1, size * sizeof (*yyssp), + &yyvs1, size * sizeof (*yyvsp), + &yyls1, size * sizeof (*yylsp), + &yystacksize); +#else + yyoverflow("parser stack overflow", + &yyss1, size * sizeof (*yyssp), + &yyvs1, size * sizeof (*yyvsp), + &yystacksize); +#endif + + yyss = yyss1; yyvs = yyvs1; +#ifdef YYLSP_NEEDED + yyls = yyls1; +#endif #else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE - goto yyexhaustedlab; -# else /* Extend the stack our own way. */ - if (YYMAXDEPTH <= yystacksize) - goto yyexhaustedlab; + if (yystacksize >= YYMAXDEPTH) + { + yyerror("parser stack overflow"); + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } + return 2; + } yystacksize *= 2; - if (YYMAXDEPTH < yystacksize) + if (yystacksize > YYMAXDEPTH) yystacksize = YYMAXDEPTH; - - { - yytype_int16 *yyss1 = yyss; - union yyalloc *yyptr = - (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); - if (! yyptr) - goto yyexhaustedlab; - YYSTACK_RELOCATE (yyss); - YYSTACK_RELOCATE (yyvs); - -# undef YYSTACK_RELOCATE - if (yyss1 != yyssa) - YYSTACK_FREE (yyss1); - } -# endif +#ifndef YYSTACK_USE_ALLOCA + yyfree_stacks = 1; +#endif + yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); + __yy_memcpy ((char *)yyss, (char *)yyss1, + size * (unsigned int) sizeof (*yyssp)); + yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); + __yy_memcpy ((char *)yyvs, (char *)yyvs1, + size * (unsigned int) sizeof (*yyvsp)); +#ifdef YYLSP_NEEDED + yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); + __yy_memcpy ((char *)yyls, (char *)yyls1, + size * (unsigned int) sizeof (*yylsp)); +#endif #endif /* no yyoverflow */ - yyssp = yyss + yysize - 1; - yyvsp = yyvs + yysize - 1; - + yyssp = yyss + size - 1; + yyvsp = yyvs + size - 1; +#ifdef YYLSP_NEEDED + yylsp = yyls + size - 1; +#endif - YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Stack size increased to %d\n", yystacksize); +#endif - if (yyss + yystacksize - 1 <= yyssp) + if (yyssp >= yyss + yystacksize - 1) YYABORT; } - YYDPRINTF ((stderr, "Entering state %d\n", yystate)); +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Entering state %d\n", yystate); +#endif goto yybackup; + yybackup: -/*-----------. -| yybackup. | -`-----------*/ -yybackup: +/* Do appropriate processing given the current state. */ +/* Read a lookahead token if we need one and don't already have one. */ +/* yyresume: */ - /* Do appropriate processing given the current state. Read a - look-ahead token if we need one and don't already have one. */ + /* First try to decide what to do without reference to lookahead token. */ - /* First try to decide what to do without reference to look-ahead token. */ yyn = yypact[yystate]; - if (yyn == YYPACT_NINF) + if (yyn == YYFLAG) goto yydefault; - /* Not known => get a look-ahead token if don't already have one. */ + /* Not known => get a lookahead token if don't already have one. */ + + /* yychar is either YYEMPTY or YYEOF + or a valid token in external form. */ - /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ if (yychar == YYEMPTY) { - YYDPRINTF ((stderr, "Reading a token: ")); +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Reading a token: "); +#endif yychar = YYLEX; } - if (yychar <= YYEOF) + /* Convert token to internal form (in yychar1) for indexing tables with */ + + if (yychar <= 0) /* This means end of input. */ { - yychar = yytoken = YYEOF; - YYDPRINTF ((stderr, "Now at end of input.\n")); + yychar1 = 0; + yychar = YYEOF; /* Don't call YYLEX any more */ + +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Now at end of input.\n"); +#endif } else { - yytoken = YYTRANSLATE (yychar); - YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); + yychar1 = YYTRANSLATE(yychar); + +#if YYDEBUG != 0 + if (yydebug) + { + fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); + /* Give the individual parser a way to print the precise meaning + of a token, for further debugging info. */ +#ifdef YYPRINT + YYPRINT (stderr, yychar, yylval); +#endif + fprintf (stderr, ")\n"); + } +#endif } - /* If the proper action on seeing token YYTOKEN is to reduce or to - detect an error, take that action. */ - yyn += yytoken; - if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) + yyn += yychar1; + if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) goto yydefault; + yyn = yytable[yyn]; - if (yyn <= 0) + + /* yyn is what to do for this token type in this state. + Negative => reduce, -yyn is rule number. + Positive => shift, yyn is new state. + New state is final state => don't bother to shift, + just return success. + 0, or most negative number => error. */ + + if (yyn < 0) { - if (yyn == 0 || yyn == YYTABLE_NINF) + if (yyn == YYFLAG) goto yyerrlab; yyn = -yyn; goto yyreduce; } + else if (yyn == 0) + goto yyerrlab; if (yyn == YYFINAL) YYACCEPT; - /* Count tokens shifted since error; after three, turn off error - status. */ - if (yyerrstatus) - yyerrstatus--; + /* Shift the lookahead token. */ - /* Shift the look-ahead token. */ - YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); +#endif - /* Discard the shifted token unless it is eof. */ + /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; - yystate = yyn; *++yyvsp = yylval; +#ifdef YYLSP_NEEDED + *++yylsp = yylloc; +#endif - goto yynewstate; + /* count tokens shifted since error; after three, turn off error status. */ + if (yyerrstatus) yyerrstatus--; + yystate = yyn; + goto yynewstate; -/*-----------------------------------------------------------. -| yydefault -- do the default action for the current state. | -`-----------------------------------------------------------*/ +/* Do the default action for the current state. */ yydefault: + yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; - goto yyreduce; - -/*-----------------------------. -| yyreduce -- Do a reduction. | -`-----------------------------*/ +/* Do a reduction. yyn is the number of a rule to reduce with. */ yyreduce: - /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; + if (yylen > 0) + yyval = yyvsp[1-yylen]; /* implement default value of the action */ - /* If YYLEN is nonzero, implement the default value of the action: - `$$ = $1'. +#if YYDEBUG != 0 + if (yydebug) + { + int i; - Otherwise, the following line sets YYVAL to garbage. - This behavior is undocumented and Bison - users should not rely upon it. Assigning to YYVAL - unconditionally makes the parser a bit smaller, and it avoids a - GCC warning that YYVAL may be used uninitialized. */ - yyval = yyvsp[1-yylen]; + fprintf (stderr, "Reducing via rule %d (line %d), ", + yyn, yyrline[yyn]); + /* Print the symbols being reduced, and their result. */ + for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) + fprintf (stderr, "%s ", yytname[yyrhs[i]]); + fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); + } +#endif - YY_REDUCE_PRINT (yyn); - switch (yyn) - { - case 2: -#line 69 "levcomp.ypp" - { } - break; - - case 3: -#line 72 "levcomp.ypp" - {} - break; - - case 4: -#line 73 "levcomp.ypp" - {} - break; - - case 5: -#line 76 "levcomp.ypp" - {} - break; - - case 6: -#line 77 "levcomp.ypp" - {} - break; - - case 8: -#line 84 "levcomp.ypp" - { - lc_default_depth = lc_range; - } - break; - case 9: -#line 90 "levcomp.ypp" - { + switch (yyn) { + +case 1: +#line 71 "levcomp.ypp" +{ ; + break;} +case 2: +#line 74 "levcomp.ypp" +{; + break;} +case 3: +#line 75 "levcomp.ypp" +{; + break;} +case 4: +#line 78 "levcomp.ypp" +{; + break;} +case 5: +#line 79 "levcomp.ypp" +{; + break;} +case 7: +#line 86 "levcomp.ypp" +{ + lc_default_depth = lc_range; + ; + break;} +case 8: +#line 92 "levcomp.ypp" +{ if (lc_map.orient == MAP_FLOAT || lc_map.is_minivault()) { @@ -1620,294 +916,255 @@ yyreduce: yyerror("Must define map."); add_parsed_map( lc_map ); - } - break; - - case 10: -#line 129 "levcomp.ypp" - { + ; + break;} +case 9: +#line 131 "levcomp.ypp" +{ lc_map.init(); lc_map.depth = lc_default_depth; - lc_map.name = (yyvsp[(2) - (2)].text); + lc_map.name = yyvsp[0].text; map_load_info_t::const_iterator i = - loaded_maps.find((yyvsp[(2) - (2)].text)); + loaded_maps.find(yyvsp[0].text); if (i != loaded_maps.end()) { yyerror( make_stringf( "Map named '%s' already loaded at %s:%d", - (yyvsp[(2) - (2)].text), + yyvsp[0].text, i->second.filename.c_str(), i->second.lineno).c_str() ); } - loaded_maps[(yyvsp[(2) - (2)].text)] = map_file_place(lc_desfile, yylineno); - } - break; - - case 26: -#line 170 "levcomp.ypp" - { } - break; - - case 27: + loaded_maps[yyvsp[0].text] = map_file_place(lc_desfile, yylineno); + ; + break;} +case 25: #line 172 "levcomp.ypp" - { - std::string err = lc_map.add_key_feat((yyvsp[(2) - (2)].text)); +{ ; + break;} +case 26: +#line 174 "levcomp.ypp" +{ + std::string err = lc_map.add_key_feat(yyvsp[0].text); if (!err.empty()) yyerror( make_stringf("Bad arg to KFEAT: '%s' (%s)", - (yyvsp[(2) - (2)].text), err.c_str()).c_str()); - } - break; - - case 28: -#line 180 "levcomp.ypp" - { } - break; - - case 29: + yyvsp[0].text, err.c_str()).c_str()); + ; + break;} +case 27: #line 182 "levcomp.ypp" - { - std::string err = lc_map.add_key_mons((yyvsp[(2) - (2)].text)); +{ ; + break;} +case 28: +#line 184 "levcomp.ypp" +{ + std::string err = lc_map.add_key_mons(yyvsp[0].text); if (!err.empty()) yyerror( make_stringf("Bad arg to KMONS: '%s' (%s)", - (yyvsp[(2) - (2)].text), err.c_str()).c_str()); - } - break; - - case 30: -#line 190 "levcomp.ypp" - { } - break; - - case 31: + yyvsp[0].text, err.c_str()).c_str()); + ; + break;} +case 29: #line 192 "levcomp.ypp" - { - std::string err = lc_map.add_key_item((yyvsp[(2) - (2)].text)); +{ ; + break;} +case 30: +#line 194 "levcomp.ypp" +{ + std::string err = lc_map.add_key_item(yyvsp[0].text); if (!err.empty()) yyerror( make_stringf("Bad arg to KITEM: '%s' (%s)", - (yyvsp[(2) - (2)].text), err.c_str()).c_str()); - } - break; - - case 32: -#line 200 "levcomp.ypp" - { } - break; - - case 33: + yyvsp[0].text, err.c_str()).c_str()); + ; + break;} +case 31: #line 202 "levcomp.ypp" - { - std::string err = lc_map.map.add_shuffle((yyvsp[(2) - (2)].text)); +{; + break;} +case 34: +#line 210 "levcomp.ypp" +{ + std::string err = lc_map.map.add_shuffle(yyvsp[0].text); if (!err.empty()) yyerror( make_stringf( "Bad shuffle argument: '%s' (%s)", - (yyvsp[(2) - (2)].text), err.c_str() ).c_str() ); - } - break; - - case 34: -#line 211 "levcomp.ypp" - {} - break; - - case 36: -#line 216 "levcomp.ypp" - { + yyvsp[0].text, err.c_str() ).c_str() ); + ; + break;} +case 35: +#line 219 "levcomp.ypp" +{; + break;} +case 37: +#line 224 "levcomp.ypp" +{ lc_map.tags += " "; - lc_map.tags += (yyvsp[(1) - (2)].text); + lc_map.tags += yyvsp[-1].text; lc_map.tags += " "; - } - break; - - case 37: -#line 223 "levcomp.ypp" - {} - break; - - case 38: -#line 225 "levcomp.ypp" - { - std::string err = lc_map.map.add_subst((yyvsp[(2) - (2)].text)); + ; + break;} +case 38: +#line 231 "levcomp.ypp" +{ ; + break;} +case 41: +#line 239 "levcomp.ypp" +{ + std::string err = lc_map.map.add_subst(yyvsp[0].text); if (!err.empty()) yyerror( make_stringf( "Bad SUBST argument: '%s' (%s)", - (yyvsp[(2) - (2)].text), err.c_str() ).c_str() ); - } - break; - - case 39: -#line 235 "levcomp.ypp" - {} - break; - - case 40: -#line 236 "levcomp.ypp" - {} - break; - - case 43: -#line 244 "levcomp.ypp" - { - std::string error = lc_map.items.add_item((yyvsp[(1) - (1)].text)); + yyvsp[0].text, err.c_str() ).c_str() ); + ; + break;} +case 42: +#line 249 "levcomp.ypp" +{; + break;} +case 43: +#line 250 "levcomp.ypp" +{; + break;} +case 46: +#line 258 "levcomp.ypp" +{ + std::string error = lc_map.items.add_item(yyvsp[0].text); if (error.size()) { char errbuf[300]; snprintf(errbuf, sizeof errbuf, "Invalid item descriptor: '%s' (%s)", - (yyvsp[(1) - (1)].text), error.c_str()); + yyvsp[0].text, error.c_str()); yyerror(errbuf); } if (lc_map.items.size() > 8) yyerror("Too many items specified (max 8)"); - } - break; - - case 44: -#line 258 "levcomp.ypp" - {} - break; - - case 45: -#line 259 "levcomp.ypp" - {} - break; - - case 48: -#line 267 "levcomp.ypp" - { - std::string err = lc_map.mons.add_mons((yyvsp[(1) - (1)].text)); + ; + break;} +case 47: +#line 272 "levcomp.ypp" +{; + break;} +case 48: +#line 273 "levcomp.ypp" +{; + break;} +case 51: +#line 281 "levcomp.ypp" +{ + std::string err = lc_map.mons.add_mons(yyvsp[0].text); if (!err.empty()) { char buf[300]; snprintf(buf, sizeof buf, "bad monster spec '%s' (%s)", - (yyvsp[(1) - (1)].text), err.c_str()); + yyvsp[0].text, err.c_str()); yyerror(buf); } if (lc_map.mons.size() > 7) yyerror("Too many monsters specified (max 7)"); - } - break; - - case 49: -#line 283 "levcomp.ypp" - { - lc_map.place = (yyvsp[(2) - (2)].text); - } - break; - - case 50: -#line 288 "levcomp.ypp" - {} - break; - - case 51: -#line 290 "levcomp.ypp" - { + ; + break;} +case 52: +#line 297 "levcomp.ypp" +{ + lc_map.place = yyvsp[0].text; + ; + break;} +case 53: +#line 302 "levcomp.ypp" +{; + break;} +case 54: +#line 304 "levcomp.ypp" +{ lc_map.depth = lc_range; - } - break; - - case 52: -#line 296 "levcomp.ypp" - { - lc_range.set((yyvsp[(1) - (3)].i), (yyvsp[(3) - (3)].i)); - } - break; - - case 53: -#line 301 "levcomp.ypp" - { - lc_range.set((yyvsp[(1) - (1)].i)); - } - break; - - case 54: -#line 307 "levcomp.ypp" - { - lc_map.chance = (yyvsp[(2) - (2)].i); - } - break; - - case 55: -#line 312 "levcomp.ypp" - {} - break; - - case 56: -#line 314 "levcomp.ypp" - { - lc_map.orient = (map_section_type) (yyvsp[(2) - (2)].i); - } - break; - - case 57: -#line 319 "levcomp.ypp" - { (yyval.i) = MAP_ENCOMPASS; } - break; - - case 58: -#line 320 "levcomp.ypp" - { (yyval.i) = MAP_NORTH; } - break; - - case 59: + ; + break;} +case 55: +#line 310 "levcomp.ypp" +{ + lc_range.set(yyvsp[-2].i, yyvsp[0].i); + ; + break;} +case 56: +#line 315 "levcomp.ypp" +{ + lc_range.set(yyvsp[0].i); + ; + break;} +case 57: #line 321 "levcomp.ypp" - { (yyval.i) = MAP_EAST; } - break; - - case 60: -#line 322 "levcomp.ypp" - { (yyval.i) = MAP_SOUTH; } - break; - - case 61: -#line 323 "levcomp.ypp" - { (yyval.i) = MAP_WEST; } - break; - - case 62: -#line 324 "levcomp.ypp" - { (yyval.i) = MAP_NORTHEAST; } - break; - - case 63: -#line 325 "levcomp.ypp" - { (yyval.i) = MAP_SOUTHEAST; } - break; - - case 64: +{ + lc_map.chance = yyvsp[0].i; + ; + break;} +case 58: #line 326 "levcomp.ypp" - { (yyval.i) = MAP_SOUTHWEST; } - break; - - case 65: -#line 327 "levcomp.ypp" - { (yyval.i) = MAP_NORTHWEST; } - break; - - case 66: +{; + break;} +case 59: #line 328 "levcomp.ypp" - { (yyval.i) = MAP_FLOAT; } - break; - - case 67: -#line 331 "levcomp.ypp" - {} - break; - - case 69: +{ + lc_map.orient = (map_section_type) yyvsp[0].i; + ; + break;} +case 60: +#line 333 "levcomp.ypp" +{ yyval.i = MAP_ENCOMPASS; ; + break;} +case 61: +#line 334 "levcomp.ypp" +{ yyval.i = MAP_NORTH; ; + break;} +case 62: +#line 335 "levcomp.ypp" +{ yyval.i = MAP_EAST; ; + break;} +case 63: #line 336 "levcomp.ypp" - { - switch ((yyvsp[(1) - (2)].i)) { +{ yyval.i = MAP_SOUTH; ; + break;} +case 64: +#line 337 "levcomp.ypp" +{ yyval.i = MAP_WEST; ; + break;} +case 65: +#line 338 "levcomp.ypp" +{ yyval.i = MAP_NORTHEAST; ; + break;} +case 66: +#line 339 "levcomp.ypp" +{ yyval.i = MAP_SOUTHEAST; ; + break;} +case 67: +#line 340 "levcomp.ypp" +{ yyval.i = MAP_SOUTHWEST; ; + break;} +case 68: +#line 341 "levcomp.ypp" +{ yyval.i = MAP_NORTHWEST; ; + break;} +case 69: +#line 342 "levcomp.ypp" +{ yyval.i = MAP_FLOAT; ; + break;} +case 70: +#line 345 "levcomp.ypp" +{; + break;} +case 72: +#line 350 "levcomp.ypp" +{ + switch (yyvsp[-1].i) { case NO_HMIRROR: lc_map.flags &= ~MAPF_MIRROR_HORIZONTAL; break; @@ -1918,247 +1175,247 @@ yyreduce: lc_map.flags &= ~MAPF_ROTATE; break; } - } - break; - - case 70: -#line 351 "levcomp.ypp" - { (yyval.i) = NO_HMIRROR; } - break; - - case 71: -#line 352 "levcomp.ypp" - { (yyval.i) = NO_VMIRROR; } - break; - - case 72: -#line 353 "levcomp.ypp" - { (yyval.i) = NO_ROTATE; } - break; - - case 76: -#line 364 "levcomp.ypp" - { - lc_map.map.add_line((yyvsp[(1) - (1)].text)); - } - break; - + ; + break;} +case 73: +#line 365 "levcomp.ypp" +{ yyval.i = NO_HMIRROR; ; + break;} +case 74: +#line 366 "levcomp.ypp" +{ yyval.i = NO_VMIRROR; ; + break;} +case 75: +#line 367 "levcomp.ypp" +{ yyval.i = NO_ROTATE; ; + break;} +case 79: +#line 378 "levcomp.ypp" +{ + lc_map.map.add_line(yyvsp[0].text); + ; + break;} +} + /* the action file gets copied in in place of this dollarsign */ +#line 543 "/usr/share/bison.simple" + + yyvsp -= yylen; + yyssp -= yylen; +#ifdef YYLSP_NEEDED + yylsp -= yylen; +#endif -/* Line 1267 of yacc.c. */ -#line 1949 "levcomp.tab.c" - default: break; +#if YYDEBUG != 0 + if (yydebug) + { + short *ssp1 = yyss - 1; + fprintf (stderr, "state stack now"); + while (ssp1 != yyssp) + fprintf (stderr, " %d", *++ssp1); + fprintf (stderr, "\n"); } - YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); - - YYPOPSTACK (yylen); - yylen = 0; - YY_STACK_PRINT (yyss, yyssp); +#endif *++yyvsp = yyval; +#ifdef YYLSP_NEEDED + yylsp++; + if (yylen == 0) + { + yylsp->first_line = yylloc.first_line; + yylsp->first_column = yylloc.first_column; + yylsp->last_line = (yylsp-1)->last_line; + yylsp->last_column = (yylsp-1)->last_column; + yylsp->text = 0; + } + else + { + yylsp->last_line = (yylsp+yylen-1)->last_line; + yylsp->last_column = (yylsp+yylen-1)->last_column; + } +#endif - /* Now `shift' the result of the reduction. Determine what state - that goes to, based on the state we popped back to and the rule - number reduced by. */ + /* Now "shift" the result of the reduction. + Determine what state that goes to, + based on the state we popped back to + and the rule number reduced by. */ yyn = yyr1[yyn]; - yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; - if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) + yystate = yypgoto[yyn - YYNTBASE] + *yyssp; + if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else - yystate = yydefgoto[yyn - YYNTOKENS]; + yystate = yydefgoto[yyn - YYNTBASE]; goto yynewstate; +yyerrlab: /* here on detecting error */ -/*------------------------------------. -| yyerrlab -- here on detecting error | -`------------------------------------*/ -yyerrlab: - /* If not already recovering from an error, report this error. */ - if (!yyerrstatus) + if (! yyerrstatus) + /* If not already recovering from an error, report this error. */ { ++yynerrs; -#if ! YYERROR_VERBOSE - yyerror (YY_("syntax error")); -#else - { - YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); - if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) - { - YYSIZE_T yyalloc = 2 * yysize; - if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) - yyalloc = YYSTACK_ALLOC_MAXIMUM; - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); - yymsg = (char *) YYSTACK_ALLOC (yyalloc); - if (yymsg) - yymsg_alloc = yyalloc; - else - { - yymsg = yymsgbuf; - yymsg_alloc = sizeof yymsgbuf; - } - } - - if (0 < yysize && yysize <= yymsg_alloc) - { - (void) yysyntax_error (yymsg, yystate, yychar); - yyerror (yymsg); - } - else - { - yyerror (YY_("syntax error")); - if (yysize != 0) - goto yyexhaustedlab; - } - } -#endif - } +#ifdef YYERROR_VERBOSE + yyn = yypact[yystate]; - - if (yyerrstatus == 3) - { - /* If just tried and failed to reuse look-ahead token after an - error, discard it. */ - - if (yychar <= YYEOF) + if (yyn > YYFLAG && yyn < YYLAST) { - /* Return failure if at end of input. */ - if (yychar == YYEOF) - YYABORT; + int size = 0; + char *msg; + int x, count; + + count = 0; + /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ + for (x = (yyn < 0 ? -yyn : 0); + x < (sizeof(yytname) / sizeof(char *)); x++) + if (yycheck[x + yyn] == x) + size += strlen(yytname[x]) + 15, count++; + msg = (char *) malloc(size + 15); + if (msg != 0) + { + strcpy(msg, "parse error"); + + if (count < 5) + { + count = 0; + for (x = (yyn < 0 ? -yyn : 0); + x < (sizeof(yytname) / sizeof(char *)); x++) + if (yycheck[x + yyn] == x) + { + strcat(msg, count == 0 ? ", expecting `" : " or `"); + strcat(msg, yytname[x]); + strcat(msg, "'"); + count++; + } + } + yyerror(msg); + free(msg); + } + else + yyerror ("parse error; also virtual memory exceeded"); } else - { - yydestruct ("Error: discarding", - yytoken, &yylval); - yychar = YYEMPTY; - } +#endif /* YYERROR_VERBOSE */ + yyerror("parse error"); } - /* Else will try to reuse look-ahead token after shifting the error - token. */ goto yyerrlab1; +yyerrlab1: /* here on error raised explicitly by an action */ + if (yyerrstatus == 3) + { + /* if just tried and failed to reuse lookahead token after an error, discard it. */ -/*---------------------------------------------------. -| yyerrorlab -- error raised explicitly by YYERROR. | -`---------------------------------------------------*/ -yyerrorlab: + /* return failure if at end of input */ + if (yychar == YYEOF) + YYABORT; - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ - if (/*CONSTCOND*/ 0) - goto yyerrorlab; +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); +#endif - /* Do not reclaim the symbols of the rule which action triggered - this YYERROR. */ - YYPOPSTACK (yylen); - yylen = 0; - YY_STACK_PRINT (yyss, yyssp); - yystate = *yyssp; - goto yyerrlab1; + yychar = YYEMPTY; + } + + /* Else will try to reuse lookahead token + after shifting the error token. */ + + yyerrstatus = 3; /* Each real token shifted decrements this */ + + goto yyerrhandle; + +yyerrdefault: /* current state does not do anything special for the error token. */ + +#if 0 + /* This is wrong; only states that explicitly want error tokens + should shift them. */ + yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ + if (yyn) goto yydefault; +#endif +yyerrpop: /* pop the current state because it cannot handle the error token */ -/*-------------------------------------------------------------. -| yyerrlab1 -- common code for both syntax error and YYERROR. | -`-------------------------------------------------------------*/ -yyerrlab1: - yyerrstatus = 3; /* Each real token shifted decrements this. */ + if (yyssp == yyss) YYABORT; + yyvsp--; + yystate = *--yyssp; +#ifdef YYLSP_NEEDED + yylsp--; +#endif - for (;;) +#if YYDEBUG != 0 + if (yydebug) { - yyn = yypact[yystate]; - if (yyn != YYPACT_NINF) - { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) - { - yyn = yytable[yyn]; - if (0 < yyn) - break; - } - } + short *ssp1 = yyss - 1; + fprintf (stderr, "Error: state stack now"); + while (ssp1 != yyssp) + fprintf (stderr, " %d", *++ssp1); + fprintf (stderr, "\n"); + } +#endif - /* Pop the current state because it cannot handle the error token. */ - if (yyssp == yyss) - YYABORT; +yyerrhandle: + + yyn = yypact[yystate]; + if (yyn == YYFLAG) + goto yyerrdefault; + yyn += YYTERROR; + if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) + goto yyerrdefault; - yydestruct ("Error: popping", - yystos[yystate], yyvsp); - YYPOPSTACK (1); - yystate = *yyssp; - YY_STACK_PRINT (yyss, yyssp); + yyn = yytable[yyn]; + if (yyn < 0) + { + if (yyn == YYFLAG) + goto yyerrpop; + yyn = -yyn; + goto yyreduce; } + else if (yyn == 0) + goto yyerrpop; if (yyn == YYFINAL) YYACCEPT; - *++yyvsp = yylval; - +#if YYDEBUG != 0 + if (yydebug) + fprintf(stderr, "Shifting error token, "); +#endif - /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); + *++yyvsp = yylval; +#ifdef YYLSP_NEEDED + *++yylsp = yylloc; +#endif yystate = yyn; goto yynewstate; - -/*-------------------------------------. -| yyacceptlab -- YYACCEPT comes here. | -`-------------------------------------*/ -yyacceptlab: - yyresult = 0; - goto yyreturn; - -/*-----------------------------------. -| yyabortlab -- YYABORT comes here. | -`-----------------------------------*/ -yyabortlab: - yyresult = 1; - goto yyreturn; - -#ifndef yyoverflow -/*-------------------------------------------------. -| yyexhaustedlab -- memory exhaustion comes here. | -`-------------------------------------------------*/ -yyexhaustedlab: - yyerror (YY_("memory exhausted")); - yyresult = 2; - /* Fall through. */ + yyacceptlab: + /* YYACCEPT comes here. */ + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); #endif + } + return 0; -yyreturn: - if (yychar != YYEOF && yychar != YYEMPTY) - yydestruct ("Cleanup: discarding lookahead", - yytoken, &yylval); - /* Do not reclaim the symbols of the rule which action triggered - this YYABORT or YYACCEPT. */ - YYPOPSTACK (yylen); - YY_STACK_PRINT (yyss, yyssp); - while (yyssp != yyss) + yyabortlab: + /* YYABORT comes here. */ + if (yyfree_stacks) { - yydestruct ("Cleanup: popping", - yystos[*yyssp], yyvsp); - YYPOPSTACK (1); - } -#ifndef yyoverflow - if (yyss != yyssa) - YYSTACK_FREE (yyss); -#endif -#if YYERROR_VERBOSE - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); #endif - /* Make sure YYID is used. */ - return YYID (yyresult); + } + return 1; } - - -#line 369 "levcomp.ypp" - +#line 383 "levcomp.ypp" diff --git a/crawl-ref/source/prebuilt/levcomp.tab.h b/crawl-ref/source/prebuilt/levcomp.tab.h index b27b6d08eb..3843f49d1b 100644 --- a/crawl-ref/source/prebuilt/levcomp.tab.h +++ b/crawl-ref/source/prebuilt/levcomp.tab.h @@ -1,177 +1,64 @@ -/* A Bison parser, made by GNU Bison 2.3. */ - -/* Skeleton interface for Bison's Yacc-like parsers in C - - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ - -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. - - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - BRANCHDEF = 258, - BRANCH = 259, - DESC = 260, - DEFAULT = 261, - DEFAULT_DEPTH = 262, - SHUFFLE = 263, - SUBST = 264, - TAGS = 265, - KFEAT = 266, - KITEM = 267, - KMONS = 268, - NAME = 269, - DEPTH = 270, - ORIENT = 271, - PLACE = 272, - CHANCE = 273, - FLAGS = 274, - MONS = 275, - ITEM = 276, - ROOT_DEPTH = 277, - ENTRY_MSG = 278, - EXIT_MSG = 279, - ROCK_COLOUR = 280, - FLOOR_COLOUR = 281, - ENCOMPASS = 282, - FLOAT = 283, - NORTH = 284, - EAST = 285, - SOUTH = 286, - WEST = 287, - NORTHEAST = 288, - SOUTHEAST = 289, - SOUTHWEST = 290, - NORTHWEST = 291, - LEVEL = 292, - END = 293, - PVAULT = 294, - PMINIVAULT = 295, - MONSTERS = 296, - ENDMONSTERS = 297, - CHARACTER = 298, - NO_HMIRROR = 299, - NO_VMIRROR = 300, - NO_ROTATE = 301, - PANDEMONIC = 302, - DASH = 303, - COMMA = 304, - QUOTE = 305, - OPAREN = 306, - CPAREN = 307, - INTEGER = 308, - STRING = 309, - MAP_LINE = 310, - MONSTER_NAME = 311, - ITEM_INFO = 312, - IDENTIFIER = 313 - }; -#endif -/* Tokens. */ -#define BRANCHDEF 258 -#define BRANCH 259 -#define DESC 260 -#define DEFAULT 261 -#define DEFAULT_DEPTH 262 -#define SHUFFLE 263 -#define SUBST 264 -#define TAGS 265 -#define KFEAT 266 -#define KITEM 267 -#define KMONS 268 -#define NAME 269 -#define DEPTH 270 -#define ORIENT 271 -#define PLACE 272 -#define CHANCE 273 -#define FLAGS 274 -#define MONS 275 -#define ITEM 276 -#define ROOT_DEPTH 277 -#define ENTRY_MSG 278 -#define EXIT_MSG 279 -#define ROCK_COLOUR 280 -#define FLOOR_COLOUR 281 -#define ENCOMPASS 282 -#define FLOAT 283 -#define NORTH 284 -#define EAST 285 -#define SOUTH 286 -#define WEST 287 -#define NORTHEAST 288 -#define SOUTHEAST 289 -#define SOUTHWEST 290 -#define NORTHWEST 291 -#define LEVEL 292 -#define END 293 -#define PVAULT 294 -#define PMINIVAULT 295 -#define MONSTERS 296 -#define ENDMONSTERS 297 -#define CHARACTER 298 -#define NO_HMIRROR 299 -#define NO_VMIRROR 300 -#define NO_ROTATE 301 -#define PANDEMONIC 302 -#define DASH 303 -#define COMMA 304 -#define QUOTE 305 -#define OPAREN 306 -#define CPAREN 307 -#define INTEGER 308 -#define STRING 309 -#define MAP_LINE 310 -#define MONSTER_NAME 311 -#define ITEM_INFO 312 -#define IDENTIFIER 313 - - - - -#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE -#line 38 "levcomp.ypp" +typedef union { int i; const char *text; -} -/* Line 1529 of yacc.c. */ -#line 170 "levcomp.tab.h" - YYSTYPE; -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 -#endif +} YYSTYPE; +#define BRANCHDEF 257 +#define BRANCH 258 +#define DESC 259 +#define DEFAULT 260 +#define DEFAULT_DEPTH 261 +#define SHUFFLE 262 +#define SUBST 263 +#define TAGS 264 +#define KFEAT 265 +#define KITEM 266 +#define KMONS 267 +#define NAME 268 +#define DEPTH 269 +#define ORIENT 270 +#define PLACE 271 +#define CHANCE 272 +#define FLAGS 273 +#define MONS 274 +#define ITEM 275 +#define ROOT_DEPTH 276 +#define ENTRY_MSG 277 +#define EXIT_MSG 278 +#define ROCK_COLOUR 279 +#define FLOOR_COLOUR 280 +#define ENCOMPASS 281 +#define FLOAT 282 +#define NORTH 283 +#define EAST 284 +#define SOUTH 285 +#define WEST 286 +#define NORTHEAST 287 +#define SOUTHEAST 288 +#define SOUTHWEST 289 +#define NORTHWEST 290 +#define LEVEL 291 +#define END 292 +#define PVAULT 293 +#define PMINIVAULT 294 +#define MONSTERS 295 +#define ENDMONSTERS 296 +#define CHARACTER 297 +#define NO_HMIRROR 298 +#define NO_VMIRROR 299 +#define NO_ROTATE 300 +#define PANDEMONIC 301 +#define DASH 302 +#define COMMA 303 +#define QUOTE 304 +#define OPAREN 305 +#define CPAREN 306 +#define INTEGER 307 +#define STRING 308 +#define MAP_LINE 309 +#define MONSTER_NAME 310 +#define ITEM_INFO 311 +#define IDENTIFIER 312 -extern YYSTYPE yylval; +extern YYSTYPE yylval; -- cgit v1.2.3-54-g00ecf