X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FyaccParser%2Fhslexer.c;h=add30be2a2dc5523f95b3da2abbf581b49d9e47b;hb=b52838bcf54a3d5d07cf29f17f3af6f584fc0f4e;hp=20c54d382a6e16f0b13ff70c9908b3005d737277;hpb=e7d21ee4f8ac907665a7e170c71d59e13a01da09;p=ghc-hetmet.git diff --git a/ghc/compiler/yaccParser/hslexer.c b/ghc/compiler/yaccParser/hslexer.c index 20c54d3..add30be 100644 --- a/ghc/compiler/yaccParser/hslexer.c +++ b/ghc/compiler/yaccParser/hslexer.c @@ -1,10 +1,12 @@ /* A lexical scanner generated by flex */ /* Scanner skeleton version: - * $Header: /srv/cvs/cvs.haskell.org/fptools/ghc/compiler/yaccParser/Attic/hslexer.c,v 1.1 1996/01/08 20:15:54 partain Exp $ + * $Header: /srv/cvs/cvs.haskell.org/fptools/ghc/compiler/yaccParser/Attic/hslexer.c,v 1.4 1996/01/23 11:11:20 partain Exp $ */ #define FLEX_SCANNER +#define YY_FLEX_MAJOR_VERSION 2 +#define YY_FLEX_MINOR_VERSION 5 #include @@ -30,7 +32,7 @@ #else /* ! __cplusplus */ -#ifdef __STDC__ +#if __STDC__ #define YY_USE_PROTOS #define YY_USE_CONST @@ -38,16 +40,19 @@ #endif /* __STDC__ */ #endif /* ! __cplusplus */ - #ifdef __TURBOC__ + #pragma warn -rch + #pragma warn -use +#include +#include #define YY_USE_CONST +#define YY_USE_PROTOS #endif - -#ifndef YY_USE_CONST -#ifndef const -#define const -#endif +#ifdef YY_USE_CONST +#define yyconst const +#else +#define yyconst #endif @@ -74,16 +79,16 @@ #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. + * to BEGIN to return to the state. The YYSTATE alias is for lex + * compatibility. */ #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". Now included - * only for backward compatibility with previous versions of flex. - */ +/* Special action meaning "start processing a new file". */ #define YY_NEW_FILE yyrestart( yyin ) #define YY_END_OF_BUFFER_CHAR 0 @@ -96,14 +101,6 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE; extern int yyleng; extern FILE *yyin, *yyout; -#ifdef __cplusplus -extern "C" { -#endif - extern int yywrap YY_PROTO(( void )); -#ifdef __cplusplus - } -#endif - #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 @@ -136,6 +133,12 @@ extern "C" { #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). + */ +typedef unsigned int yy_size_t; + struct yy_buffer_state { @@ -147,13 +150,19 @@ struct yy_buffer_state /* Size of input buffer in bytes, not including room for EOB * characters. */ - int yy_buf_size; + yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ int yy_n_chars; + /* Whether we "own" the buffer - i.e., we know we created it, + * and can realloc() it to grow it, and should free() it to + * delete it. + */ + int yy_is_our_buffer; + /* Whether this is an "interactive" input source; if so, and * if we're using stdio for input, then we want to use getc() * instead of fread(), to make sure we stop fetching input after @@ -161,6 +170,12 @@ struct yy_buffer_state */ int yy_is_interactive; + /* Whether we're considered to be at the beginning of a line. + * If so, '^' rules will be active on the next match, otherwise + * not. + */ + int yy_at_bol; + /* Whether to try to fill the input buffer when we reach the * end of it. */ @@ -209,166 +224,152 @@ static int yy_start = 0; /* start state number */ */ static int yy_did_buffer_switch_on_eof; -static void yyunput YY_PROTO(( int c, char *buf_ptr )); void yyrestart YY_PROTO(( FILE *input_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 ) -static int yy_start_stack_ptr = 0; -static int yy_start_stack_depth = 0; -static int *yy_start_stack = 0; -static void yy_push_state YY_PROTO(( int new_state )); -static void yy_pop_state YY_PROTO(( void )); -static int yy_top_state YY_PROTO(( void )); +YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size )); +YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *str )); +YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); -static void *yy_flex_alloc YY_PROTO(( unsigned int )); -static void *yy_flex_realloc YY_PROTO(( void *, unsigned int )); +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 INITIAL 0 -#define Char 1 -#define CharEsc 2 -#define Code 3 -#define Comment 4 -#define GlaExt 5 -#define GhcPragma 6 -#define UserPragma 7 -#define String 8 -#define StringEsc 9 +#define yy_set_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 ) \ + 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->yy_at_bol) + typedef unsigned char YY_CHAR; -typedef int yy_state_type; FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; +typedef int yy_state_type; extern char *yytext; #define yytext_ptr yytext -#ifndef yytext_ptr -static void yy_flex_strncpy YY_PROTO(( char *, const char *, int )); -#endif - -#ifdef __cplusplus -static int yyinput YY_PROTO(( void )); -#else -static int input YY_PROTO(( void )); -#endif - 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(( const char msg[] )); +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 = yy_cp - yy_bp; \ + yyleng = (int) (yy_cp - yy_bp); \ yy_hold_char = *yy_cp; \ *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_END_OF_BUFFER 202 -static const short int yy_accept[838] = +#define YY_NUM_RULES 202 +#define YY_END_OF_BUFFER 203 +static yyconst short int yy_accept[743] = { 0, - 0, 0, 0, 0, 0, 0, 0, 0, 190, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 202, 196, 197, 129, 128, 136, 198, 141, 184, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 139, 198, 150, 152, 160, 156, 198, - 162, 154, 158, 198, 188, 121, 132, 126, 91, 92, - 97, 84, 104, 121, 110, 110, 121, 83, 121, 86, - 98, 120, 93, 99, 94, 101, 102, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 95, 85, - 96, 103, 121, 190, 195, 195, 132, 126, 104, 110, - - 110, 120, 101, 102, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 188, 126, 121, 110, 196, - 120, 120, 120, 120, 120, 95, 121, 121, 121, 196, - 196, 120, 120, 196, 199, 135, 134, 138, 200, 188, - 141, 200, 184, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 140, 200, 150, - 152, 160, 156, 200, 162, 154, 158, 200, 200, 129, - 128, 127, 184, 0, 0, 151, 0, 161, 0, 0, - 0, 174, 0, 0, 0, 0, 159, 177, 178, 153, - 155, 0, 0, 179, 164, 163, 181, 0, 0, 0, - - 180, 157, 183, 185, 186, 188, 121, 132, 131, 126, - 125, 0, 88, 82, 0, 110, 0, 0, 90, 87, - 89, 120, 119, 0, 119, 120, 120, 120, 120, 120, - 120, 60, 120, 74, 120, 120, 68, 120, 120, 71, - 120, 120, 189, 0, 0, 190, 191, 0, 194, 192, - 193, 0, 132, 131, 126, 0, 0, 109, 0, 110, - 0, 0, 118, 120, 119, 0, 0, 120, 120, 120, - 120, 120, 120, 60, 120, 74, 120, 120, 68, 120, - 120, 71, 120, 120, 0, 126, 0, 110, 0, 0, - 0, 119, 119, 119, 119, 119, 119, 119, 119, 119, - - 119, 119, 119, 119, 119, 119, 119, 0, 120, 120, - 74, 120, 68, 189, 0, 120, 135, 134, 133, 137, - 148, 149, 173, 166, 167, 168, 169, 182, 165, 147, - 146, 176, 172, 145, 170, 142, 143, 144, 175, 171, - 126, 124, 0, 187, 187, 113, 106, 108, 119, 119, + 203, 197, 198, 130, 129, 137, 199, 142, 185, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 140, 199, 151, 153, 161, 157, 199, + 163, 155, 159, 199, 189, 122, 133, 127, 92, 93, + 98, 85, 105, 122, 111, 111, 122, 84, 122, 87, + 99, 121, 94, 100, 95, 102, 103, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 96, 86, + 97, 104, 122, 191, 196, 196, 133, 127, 105, 111, + + 111, 102, 103, 189, 127, 122, 111, 197, 121, 121, + 121, 121, 121, 96, 122, 122, 122, 197, 197, 121, + 121, 197, 200, 136, 135, 139, 201, 189, 142, 201, + 185, 201, 201, 201, 201, 201, 201, 201, 201, 201, + 201, 201, 201, 201, 201, 141, 201, 151, 153, 161, + 157, 201, 163, 155, 159, 201, 201, 130, 129, 128, + 185, 0, 0, 152, 0, 162, 0, 0, 0, 175, + 0, 0, 0, 0, 160, 178, 179, 154, 156, 0, + 0, 180, 165, 164, 182, 0, 0, 0, 181, 158, + 184, 186, 187, 189, 122, 133, 132, 127, 126, 188, + + 89, 83, 0, 111, 0, 0, 91, 88, 90, 119, + 121, 120, 0, 120, 121, 121, 121, 121, 121, 121, + 61, 121, 75, 121, 121, 69, 121, 121, 72, 121, + 121, 190, 0, 0, 191, 192, 0, 195, 193, 194, + 0, 133, 132, 127, 0, 0, 110, 0, 111, 0, + 0, 120, 0, 0, 0, 127, 0, 111, 0, 0, + 0, 120, 120, 120, 120, 120, 120, 120, 120, 120, + 120, 120, 120, 120, 120, 120, 120, 0, 121, 121, + 75, 121, 69, 190, 0, 121, 136, 135, 134, 138, + 149, 150, 174, 167, 168, 169, 170, 183, 166, 148, + + 147, 177, 173, 146, 171, 143, 144, 145, 176, 172, + 127, 125, 188, 188, 188, 188, 114, 107, 109, 120, + 120, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 76, 121, 121, 121, 121, 121, 0, 0, + 1, 1, 0, 131, 125, 0, 0, 114, 107, 109, + 120, 120, 0, 0, 0, 0, 0, 0, 18, 19, + 0, 120, 120, 120, 120, 12, 120, 120, 120, 120, + 120, 120, 17, 120, 15, 120, 120, 120, 11, 120, + 120, 6, 120, 120, 120, 120, 14, 120, 120, 120, + 13, 120, 120, 118, 121, 76, 53, 188, 0, 120, + + 54, 121, 56, 121, 121, 59, 121, 121, 121, 121, + 121, 121, 121, 71, 73, 121, 0, 0, 52, 52, + 52, 52, 52, 52, 0, 124, 0, 0, 113, 0, + 106, 108, 120, 120, 123, 0, 46, 0, 101, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 75, 120, 120, 120, 120, 120, 0, 0, 1, - 1, 0, 130, 124, 0, 0, 113, 106, 108, 119, - 119, 0, 0, 0, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 75, 120, 120, 120, 120, - - 120, 0, 0, 0, 18, 19, 0, 119, 119, 119, - 119, 12, 119, 119, 119, 119, 119, 119, 17, 119, - 15, 119, 119, 119, 11, 119, 119, 6, 119, 119, - 119, 119, 14, 119, 119, 119, 13, 119, 119, 117, - 120, 75, 52, 187, 187, 187, 187, 0, 119, 53, - 120, 55, 120, 120, 58, 120, 120, 120, 120, 120, - 120, 120, 70, 72, 120, 0, 0, 0, 0, 0, - 0, 0, 0, 123, 0, 0, 112, 0, 105, 107, - 119, 119, 122, 0, 53, 120, 55, 120, 120, 58, - 120, 120, 120, 120, 120, 120, 120, 70, 72, 120, - - 46, 0, 100, 119, 119, 119, 119, 119, 119, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 16, 119, - 7, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 119, 119, 119, 117, 53, 0, 113, 80, 54, 120, - 120, 120, 120, 62, 120, 120, 120, 120, 73, 0, - 0, 0, 0, 0, 0, 0, 0, 111, 0, 113, - 119, 119, 114, 54, 120, 120, 120, 120, 62, 120, - 120, 120, 120, 73, 0, 0, 119, 22, 119, 119, - 20, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 119, 119, 115, 119, 119, 119, 119, 119, 119, 119, - - 119, 119, 119, 119, 119, 120, 120, 59, 61, 63, - 64, 120, 120, 67, 120, 0, 0, 0, 0, 0, - 0, 0, 0, 78, 119, 120, 120, 59, 61, 63, - 64, 120, 120, 67, 120, 119, 119, 119, 119, 119, - 119, 35, 119, 36, 119, 119, 119, 119, 34, 119, - 119, 40, 119, 23, 119, 119, 38, 116, 119, 119, - 39, 119, 56, 120, 120, 120, 120, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 2, 119, 76, 56, - 120, 120, 120, 120, 119, 119, 119, 119, 119, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 33, 119, - - 21, 119, 119, 57, 65, 120, 69, 0, 0, 0, - 0, 0, 0, 0, 119, 119, 57, 65, 120, 69, - 119, 119, 41, 119, 32, 37, 119, 119, 119, 119, - 25, 119, 119, 119, 119, 119, 119, 119, 81, 66, - 0, 0, 0, 0, 48, 0, 0, 79, 119, 66, - 119, 119, 29, 119, 30, 31, 42, 43, 44, 45, - 119, 119, 119, 28, 0, 0, 0, 0, 0, 0, - 0, 77, 8, 119, 9, 24, 119, 119, 0, 0, - 51, 50, 0, 0, 119, 119, 119, 0, 3, 3, - 0, 0, 119, 119, 10, 0, 0, 47, 119, 119, - - 0, 0, 27, 119, 5, 0, 119, 0, 0, 119, - 0, 0, 119, 0, 49, 26, 0, 0, 0, 0, + 120, 120, 120, 120, 16, 120, 7, 120, 120, 120, + 120, 120, 120, 120, 120, 120, 120, 120, 120, 118, + 54, 0, 114, 81, 55, 121, 121, 121, 121, 63, + 121, 121, 121, 121, 74, 52, 52, 52, 52, 52, + 52, 52, 0, 112, 0, 114, 120, 120, 115, 0, + + 0, 120, 22, 120, 120, 20, 120, 120, 120, 120, + 120, 120, 120, 120, 120, 120, 120, 116, 120, 120, + 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + 121, 121, 60, 62, 64, 65, 121, 121, 68, 121, + 52, 52, 52, 52, 52, 52, 52, 0, 79, 120, + 120, 120, 120, 120, 120, 120, 35, 120, 36, 120, + 120, 120, 120, 34, 120, 120, 40, 120, 23, 120, + 120, 38, 117, 120, 120, 39, 120, 57, 121, 121, + 121, 121, 52, 52, 52, 52, 52, 52, 52, 0, + 2, 2, 120, 77, 120, 120, 120, 120, 120, 120, + + 120, 120, 120, 120, 120, 120, 120, 120, 33, 120, + 21, 120, 120, 58, 66, 121, 70, 52, 52, 52, + 52, 52, 52, 52, 120, 120, 120, 120, 41, 120, + 32, 37, 120, 120, 120, 120, 25, 120, 120, 120, + 120, 120, 120, 120, 82, 67, 52, 0, 52, 52, + 48, 52, 52, 80, 120, 120, 120, 29, 120, 30, + 31, 42, 43, 44, 45, 120, 120, 120, 28, 52, + 0, 0, 52, 52, 52, 52, 78, 8, 120, 9, + 24, 120, 120, 52, 0, 51, 50, 52, 52, 120, + 120, 120, 52, 3, 3, 52, 52, 120, 120, 10, + + 52, 52, 47, 120, 120, 52, 52, 27, 120, 5, + 52, 120, 0, 52, 120, 0, 52, 120, 0, 49, + 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 4, 0 + 4, 0 } ; -static const int yy_ec[256] = +static yyconst int yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 2, 2, 4, 1, 1, 1, 1, 1, 1, 1, @@ -400,248 +401,228 @@ static const int yy_ec[256] = 1, 1, 1, 1, 1 } ; -static const int yy_meta[92] = +static yyconst int yy_meta[92] = { 0, - 1, 1, 2, 1, 3, 4, 3, 5, 6, 4, - 4, 7, 3, 3, 4, 3, 8, 4, 4, 9, - 9, 9, 9, 9, 9, 9, 4, 3, 4, 4, - 4, 10, 11, 11, 11, 11, 11, 11, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 13, 14, - 13, 10, 15, 16, 17, 17, 17, 17, 17, 17, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 19, 4, 20, - 4 + 1, 2, 3, 2, 4, 5, 6, 7, 8, 5, + 5, 9, 6, 6, 5, 6, 10, 5, 5, 11, + 11, 11, 11, 11, 11, 11, 5, 6, 5, 5, + 5, 12, 13, 13, 13, 13, 13, 13, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, + 15, 12, 17, 18, 19, 19, 19, 19, 19, 19, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 21, 5, 22, + 5 } ; -static const short int yy_base[881] = +static yyconst short int yy_base[785] = { 0, - 0, 0, 0, 4, 58, 138, 224, 2192, 0, 1, - 315, 2191, 402, 0, 487, 0, 25, 39, 578, 0, - 2198, 2201, 2201, 2185, 2188, 2201, 2201, 2201, 13, 2160, - 7, 12, 12, 21, 10, 2143, 2141, 2154, 18, 2140, - 69, 2139, 2137, 2201, 0, 2201, 2201, 2201, 2201, 0, - 2201, 2201, 2201, 0, 50, 0, 2181, 2175, 2201, 2201, - 0, 2201, 46, 2168, 131, 415, 2158, 2201, 2167, 2152, - 0, 0, 2201, 0, 2201, 6, 2201, 11, 36, 2107, - 2108, 30, 2111, 2101, 2108, 2108, 47, 2104, 2158, 0, - 2201, 0, 52, 0, 13, 2, 2167, 2161, 425, 662, - - 506, 2164, 66, 2107, 66, 452, 105, 2, 129, 124, - 107, 131, 138, 663, 42, 407, 0, 148, 515, 745, - 5, 158, 421, 449, 455, 2153, 0, 2152, 2137, 2104, - 2102, 122, 135, 2148, 2201, 2157, 2155, 2151, 2201, 192, - 2201, 2144, 652, 2125, 132, 169, 417, 497, 370, 2108, - 2106, 2119, 137, 2105, 648, 2104, 2102, 2201, 0, 2201, - 2201, 2201, 2201, 686, 2201, 2201, 2201, 0, 2136, 2140, - 2143, 2201, 692, 2107, 2105, 2201, 2102, 2201, 669, 2103, - 2109, 2201, 2096, 2092, 2108, 410, 2201, 2201, 2201, 2201, - 2201, 2099, 2097, 2201, 2201, 2100, 2201, 2083, 2104, 2091, - - 2201, 2201, 2201, 699, 0, 723, 0, 2129, 2201, 2123, - 2201, 207, 0, 0, 734, 745, 709, 0, 0, 2201, - 0, 0, 0, 2071, 2066, 2051, 2066, 2048, 373, 2048, - 2060, 0, 2048, 464, 2044, 2057, 0, 2047, 2054, 0, - 2043, 2052, 2112, 210, 2046, 0, 0, 2101, 2201, 0, - 2201, 2029, 2109, 2107, 2102, 796, 815, 2201, 822, 841, - 722, 0, 2201, 2105, 114, 2104, 0, 140, 488, 410, - 729, 483, 454, 2103, 424, 691, 489, 493, 2102, 728, - 451, 2101, 673, 741, 2091, 2095, 830, 863, 2043, 2042, - 2044, 846, 519, 838, 2040, 2064, 2038, 2063, 738, 766, - - 2049, 2048, 856, 517, 711, 2047, 2018, 0, 549, 730, - 689, 695, 776, 2201, 2005, 492, 2087, 2085, 2201, 2201, - 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, - 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, - 2080, 2201, 791, 893, 898, 890, 900, 0, 0, 2024, - 2021, 2008, 2023, 2022, 2013, 2016, 2011, 2005, 2009, 1999, - 2011, 0, 1996, 2013, 2000, 2007, 1995, 903, 799, 2201, - 821, 1997, 2201, 2065, 908, 0, 941, 948, 2064, 1990, - 2005, 2005, 2060, 2055, 824, 779, 861, 869, 862, 849, - 864, 860, 870, 865, 932, 2058, 909, 933, 934, 937, - - 938, 1975, 2056, 999, 2201, 2201, 2000, 2011, 935, 2013, - 2008, 0, 2021, 2012, 2019, 2003, 2020, 2006, 0, 1990, - 0, 2000, 1999, 1987, 0, 913, 925, 0, 2008, 790, - 1997, 2010, 0, 1998, 2012, 2007, 0, 2000, 1962, 0, - 943, 972, 2201, 980, 991, 1000, 1011, 1017, 1978, 0, - 1959, 0, 1956, 1954, 0, 1960, 1956, 1949, 1969, 1953, - 1957, 1955, 0, 0, 1961, 1024, 1043, 1995, 1991, 1981, - 1993, 1977, 1955, 2201, 1075, 2015, 2014, 1086, 2201, 2201, - 1945, 1945, 2201, 2007, 2010, 950, 2009, 947, 774, 2008, - 978, 969, 981, 952, 979, 983, 1001, 2007, 2006, 992, - - 2201, 1098, 2201, 1961, 1949, 1948, 1977, 1946, 1961, 1944, - 1955, 783, 1959, 1952, 1967, 1969, 1951, 1960, 0, 1936, - 0, 1961, 1961, 1957, 1951, 1949, 1956, 1957, 1928, 1942, - 1939, 1938, 1922, 0, 1042, 1105, 1112, 0, 0, 1911, - 1912, 1913, 1901, 991, 1905, 1911, 1911, 1906, 0, 1938, - 1936, 1925, 1937, 1930, 1934, 1935, 1966, 2201, 1119, 1138, - 1907, 1894, 2201, 1960, 989, 1000, 991, 1066, 1072, 1025, - 498, 1036, 1044, 1959, 1145, 1164, 1916, 0, 1929, 1907, - 0, 1900, 1927, 1909, 1897, 1909, 1895, 1894, 1893, 1905, - 1917, 1890, 0, 1904, 1914, 1887, 1896, 1885, 1903, 1015, - - 1153, 1898, 1882, 1881, 1868, 1860, 1864, 0, 0, 0, - 0, 1873, 1874, 0, 1861, 1902, 1890, 1883, 1887, 1892, - 1891, 1896, 1050, 1891, 1866, 1073, 1027, 1920, 1919, 1918, - 1917, 1082, 1085, 1916, 1077, 1890, 1881, 1870, 1885, 1884, - 1873, 0, 1880, 0, 1881, 1880, 1875, 1878, 0, 1849, - 1873, 0, 1874, 0, 1846, 1875, 0, 1171, 1844, 1871, - 0, 1830, 0, 1833, 1834, 1835, 1830, 1837, 1862, 1848, - 1847, 1850, 1860, 1853, 1088, 2201, 1153, 1858, 1853, 1883, - 1143, 1172, 1145, 1173, 1855, 1854, 1807, 1811, 1781, 1780, - 1789, 1803, 1795, 1765, 1751, 1157, 1769, 1773, 0, 1764, - - 0, 1756, 1719, 0, 0, 1711, 0, 1731, 1771, 1741, - 1735, 1727, 1679, 1691, 1652, 1669, 1666, 1664, 1174, 1663, - 1616, 1614, 0, 1599, 0, 0, 1608, 1596, 1593, 1591, - 0, 1563, 1545, 1531, 1540, 1528, 1547, 1523, 0, 0, - 1526, 1552, 1526, 1509, 2201, 1506, 1510, 0, 1489, 1543, - 1485, 1495, 0, 1481, 0, 0, 0, 0, 0, 0, - 1473, 1482, 1435, 0, 1433, 1438, 1166, 1393, 1391, 1396, - 1396, 0, 0, 1372, 0, 0, 1393, 1394, 1390, 1196, - 2201, 2201, 1383, 1012, 1368, 1355, 1326, 1343, 2201, 1369, - 1338, 1347, 1333, 1203, 0, 1221, 1209, 2201, 1189, 1200, - - 1245, 1213, 0, 1185, 1206, 1205, 1210, 1196, 1192, 1202, - 1184, 1196, 1143, 1164, 2201, 0, 1066, 1076, 1056, 1051, - 1035, 948, 896, 797, 756, 728, 661, 647, 633, 450, - 1195, 1204, 408, 396, 96, 2201, 2201, 1256, 1276, 1296, - 1316, 1336, 1354, 1365, 1193, 1377, 1389, 1407, 1421, 1429, - 1447, 1467, 1487, 1504, 1522, 1538, 1546, 1562, 1578, 1594, - 1612, 1632, 1194, 1646, 1658, 1676, 1696, 1716, 1734, 1750, - 1222, 1766, 1784, 1205, 1800, 1816, 1223, 1830, 1848, 1868 + 0, 0, 0, 4, 58, 138, 224, 2291, 0, 1, + 3, 23, 311, 0, 396, 0, 50, 70, 487, 0, + 2298, 2300, 2300, 2285, 2288, 2300, 2300, 2300, 131, 2260, + 4, 0, 24, 54, 18, 2243, 2241, 2254, 5, 2240, + 74, 2239, 2237, 2300, 0, 2300, 2300, 2300, 2300, 145, + 2300, 2300, 2300, 0, 144, 0, 2281, 2275, 2300, 2300, + 0, 2300, 5, 2268, 329, 338, 2258, 2300, 2267, 2252, + 0, 2274, 2300, 0, 2300, 22, 2300, 54, 68, 105, + 34, 109, 6, 117, 124, 133, 357, 135, 2264, 0, + 2300, 0, 134, 0, 97, 2, 2273, 2267, 416, 571, + + 580, 130, 2214, 317, 0, 17, 591, 652, 197, 336, + 333, 358, 330, 2260, 0, 2259, 2244, 2211, 2209, 340, + 349, 2255, 2300, 2264, 2262, 2258, 2300, 366, 2300, 2251, + 428, 2232, 159, 373, 146, 535, 161, 2215, 2213, 2226, + 168, 2212, 577, 2211, 2209, 2300, 0, 2300, 2300, 2300, + 2300, 615, 2300, 2300, 2300, 0, 2243, 2247, 2250, 2300, + 621, 2214, 2212, 2300, 2209, 2300, 598, 2210, 2216, 2300, + 2203, 2199, 2215, 290, 2300, 2300, 2300, 2300, 2300, 2206, + 2204, 2300, 2300, 2207, 2300, 2190, 2211, 2198, 2300, 2300, + 2300, 630, 0, 659, 0, 2236, 2300, 2230, 2300, 663, + + 0, 0, 652, 688, 659, 0, 0, 2300, 0, 2300, + 2233, 0, 2177, 2172, 364, 365, 401, 648, 620, 602, + 2230, 55, 661, 577, 618, 2229, 615, 404, 2228, 623, + 625, 2227, 210, 2161, 0, 0, 2216, 2300, 0, 2300, + 2144, 2224, 2222, 2217, 726, 737, 2300, 715, 746, 753, + 0, 152, 2220, 0, 2210, 2214, 759, 785, 2162, 2161, + 2163, 779, 399, 429, 2159, 2183, 2157, 2182, 751, 414, + 2168, 2167, 395, 422, 666, 2166, 2137, 0, 575, 715, + 599, 712, 717, 2300, 2124, 719, 2206, 2204, 2300, 2300, + 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, + + 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, + 2199, 2300, 813, 817, 826, 831, 823, 830, 0, 0, + 2143, 722, 745, 624, 791, 683, 789, 784, 708, 790, + 757, 793, 2201, 782, 794, 787, 816, 817, 865, 834, + 2300, 837, 2131, 2300, 2199, 851, 0, 858, 897, 2198, + 2124, 2139, 2139, 2194, 2189, 2110, 2191, 915, 2300, 2300, + 2135, 2146, 847, 2148, 2143, 0, 2156, 2147, 2154, 2138, + 2155, 2141, 0, 2125, 0, 2135, 2134, 2122, 0, 833, + 267, 0, 2143, 852, 2132, 2145, 0, 2133, 2147, 2142, + 0, 2135, 2097, 0, 879, 891, 2300, 909, 934, 2113, + + 2167, 853, 2166, 882, 886, 2165, 895, 896, 899, 901, + 900, 907, 916, 2164, 2163, 917, 928, 418, 940, 985, + 991, 995, 999, 1003, 2101, 2300, 1001, 2161, 2160, 1014, + 2300, 2300, 2091, 2091, 2300, 2153, 2300, 1032, 2300, 2112, + 2100, 2099, 2128, 2097, 2112, 2095, 2106, 881, 2110, 2103, + 2118, 2120, 2102, 2111, 0, 2087, 0, 2112, 2112, 2108, + 2102, 2100, 2107, 2108, 2079, 2093, 2090, 2089, 2073, 0, + 938, 990, 1039, 0, 2129, 942, 945, 959, 960, 970, + 967, 921, 1011, 954, 2128, 1064, 1068, 1072, 1079, 1083, + 1087, 1091, 2130, 2300, 1077, 1110, 2071, 2058, 2300, 1090, + + 1117, 2082, 0, 2095, 2073, 0, 2066, 2093, 2075, 2063, + 2075, 2061, 2060, 2059, 2071, 2083, 2056, 0, 2070, 2080, + 2034, 2017, 2005, 2023, 1066, 1124, 2016, 1999, 1996, 1983, + 1038, 1097, 2047, 2046, 2045, 2044, 1012, 1098, 2043, 1100, + 1149, 1153, 1157, 1163, 1167, 1176, 1183, 1118, 2011, 1986, + 2015, 1997, 1972, 1986, 1985, 1972, 0, 1978, 0, 1963, + 1952, 1946, 1949, 0, 1918, 1941, 0, 1941, 0, 1906, + 1913, 0, 1169, 1863, 1880, 0, 1829, 1862, 1111, 1156, + 1116, 1165, 1198, 1202, 1209, 1217, 1224, 1228, 1238, 1172, + 2300, 1193, 1833, 1828, 1829, 1827, 1769, 1778, 1735, 1733, + + 1744, 1757, 1755, 1729, 1710, 1194, 1720, 1726, 0, 1718, + 0, 1718, 1671, 1691, 1669, 1207, 1658, 1244, 1248, 1252, + 1269, 1278, 1284, 1291, 1591, 1617, 1599, 1594, 0, 1580, + 0, 0, 1588, 1565, 1546, 1532, 0, 1531, 1530, 1528, + 1538, 1526, 1545, 1509, 0, 1434, 1295, 1416, 1299, 1305, + 1309, 1314, 1318, 0, 1368, 1367, 1378, 0, 1363, 0, + 0, 0, 0, 0, 0, 1360, 1386, 1369, 0, 1324, + 1393, 1241, 1333, 1337, 1346, 1350, 0, 0, 1341, 0, + 0, 1346, 1309, 1356, 1220, 1361, 1366, 1370, 1374, 1309, + 1308, 1270, 1217, 2300, 1313, 1335, 1343, 1270, 1238, 0, + + 1233, 1339, 1274, 1215, 1226, 1376, 1348, 0, 1206, 1219, + 1347, 1203, 1188, 1356, 1181, 1146, 1361, 1015, 1011, 1345, + 0, 993, 995, 950, 946, 940, 966, 909, 750, 682, + 597, 586, 543, 434, 429, 1415, 1423, 319, 206, 26, + 2300, 2300, 1449, 1471, 1493, 1515, 1537, 1556, 1567, 1398, + 1580, 1593, 1612, 1628, 1636, 1656, 1678, 1700, 1718, 1737, + 1747, 1764, 1780, 1797, 1816, 1838, 1402, 1852, 1872, 1894, + 1916, 1936, 1953, 1405, 1969, 1989, 1245, 2005, 2022, 2043, + 1625, 2052, 2072, 2094 } ; -static const short int yy_def[881] = +static yyconst short int yy_def[785] = { 0, - 838, 838, 839, 839, 840, 840, 837, 7, 841, 841, - 837, 11, 11, 13, 11, 15, 842, 842, 837, 19, - 837, 837, 837, 843, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 844, 837, 837, 837, 837, 837, - 837, 837, 837, 845, 837, 846, 847, 848, 837, 837, - 846, 837, 846, 846, 837, 837, 846, 837, 846, 846, - 846, 849, 837, 846, 837, 850, 837, 849, 849, 849, - 849, 849, 849, 849, 849, 849, 849, 849, 837, 846, - 837, 846, 846, 851, 852, 853, 854, 855, 846, 837, - - 837, 856, 850, 857, 856, 856, 856, 856, 856, 856, - 856, 856, 856, 856, 856, 837, 858, 99, 837, 850, - 859, 859, 859, 859, 859, 837, 846, 846, 846, 850, - 857, 856, 856, 837, 837, 860, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 844, 837, - 837, 837, 837, 837, 837, 837, 837, 845, 837, 843, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - - 837, 837, 837, 837, 845, 837, 846, 847, 837, 861, - 837, 862, 846, 846, 837, 837, 837, 863, 846, 837, - 846, 864, 865, 850, 865, 864, 864, 864, 864, 864, - 864, 864, 864, 864, 864, 864, 864, 864, 864, 864, - 864, 864, 837, 866, 837, 867, 868, 868, 837, 869, - 837, 869, 870, 837, 861, 837, 837, 837, 837, 837, - 837, 871, 837, 856, 865, 872, 873, 856, 856, 856, - 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, - 856, 856, 856, 856, 837, 861, 837, 837, 837, 837, - 837, 865, 865, 865, 865, 865, 865, 865, 865, 865, - - 865, 865, 865, 865, 865, 865, 865, 874, 875, 875, - 875, 875, 875, 837, 837, 856, 876, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 861, 837, 862, 837, 862, 837, 837, 863, 865, 865, - 864, 864, 864, 864, 864, 864, 864, 864, 864, 864, - 864, 864, 864, 864, 864, 864, 864, 837, 866, 837, - 866, 837, 837, 837, 837, 877, 837, 837, 871, 865, - 865, 837, 872, 873, 856, 856, 856, 856, 856, 856, - 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, - - 856, 837, 837, 837, 837, 837, 837, 865, 865, 865, - 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, - 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, - 865, 865, 865, 865, 865, 865, 865, 865, 865, 878, - 875, 875, 837, 837, 862, 837, 862, 837, 865, 864, - 864, 864, 864, 864, 864, 864, 864, 864, 864, 864, - 864, 864, 864, 864, 864, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 877, 837, 837, 837, 837, - 865, 865, 837, 837, 856, 856, 856, 856, 856, 856, - 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, - - 837, 837, 837, 865, 865, 865, 865, 865, 865, 865, - 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, - 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, - 865, 865, 865, 878, 875, 837, 837, 865, 864, 864, - 864, 864, 864, 864, 864, 864, 864, 864, 864, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 865, 865, 837, 856, 856, 856, 856, 856, 856, 856, - 856, 856, 856, 856, 837, 837, 865, 865, 865, 865, - 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, - 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, - - 865, 865, 865, 865, 865, 864, 864, 864, 864, 864, - 864, 864, 864, 864, 864, 837, 837, 837, 837, 837, - 837, 837, 879, 865, 865, 856, 856, 856, 856, 856, - 856, 856, 856, 856, 856, 865, 865, 865, 865, 865, - 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, - 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, - 865, 865, 864, 864, 864, 864, 864, 837, 837, 837, - 837, 837, 837, 837, 879, 837, 879, 865, 865, 856, - 856, 856, 856, 856, 865, 865, 865, 865, 865, 865, - 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, - - 865, 865, 865, 864, 864, 864, 864, 837, 837, 837, - 837, 837, 837, 837, 865, 865, 856, 856, 856, 856, - 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, - 865, 865, 865, 865, 865, 865, 865, 865, 865, 864, - 837, 880, 837, 837, 837, 837, 837, 865, 865, 856, - 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, - 865, 865, 865, 865, 837, 880, 880, 837, 837, 837, - 837, 865, 865, 865, 865, 865, 865, 865, 837, 880, - 837, 837, 837, 837, 865, 865, 865, 837, 837, 880, - 837, 837, 865, 865, 865, 837, 837, 837, 865, 865, - - 837, 837, 865, 865, 837, 837, 865, 837, 837, 865, - 837, 837, 865, 837, 837, 865, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 0, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837 + 743, 743, 744, 744, 745, 745, 742, 7, 746, 746, + 7, 7, 7, 13, 7, 15, 747, 747, 742, 19, + 742, 742, 742, 748, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 749, 742, 742, 742, 742, 742, + 742, 742, 742, 750, 742, 751, 752, 753, 742, 742, + 751, 742, 751, 751, 742, 742, 751, 742, 751, 751, + 751, 754, 742, 751, 742, 755, 742, 754, 754, 754, + 754, 754, 754, 754, 754, 754, 754, 754, 742, 751, + 742, 751, 751, 756, 757, 758, 759, 760, 751, 742, + + 742, 755, 761, 742, 762, 99, 742, 755, 763, 763, + 763, 763, 763, 742, 751, 751, 751, 755, 761, 754, + 754, 742, 742, 764, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 749, 742, 742, 742, + 742, 742, 742, 742, 742, 750, 742, 748, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 750, 742, 751, 752, 742, 765, 742, 766, + + 751, 751, 742, 742, 742, 767, 751, 742, 751, 742, + 754, 768, 755, 768, 754, 754, 754, 754, 754, 754, + 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, + 754, 742, 769, 742, 770, 771, 771, 742, 772, 742, + 772, 773, 742, 765, 742, 742, 742, 742, 742, 742, + 774, 768, 775, 776, 742, 765, 742, 742, 742, 742, + 742, 768, 768, 768, 768, 768, 768, 768, 768, 768, + 768, 768, 768, 768, 768, 768, 768, 777, 778, 778, + 778, 778, 778, 742, 742, 754, 779, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 765, 742, 766, 766, 742, 766, 742, 742, 767, 768, + 768, 754, 754, 754, 754, 754, 754, 754, 754, 754, + 754, 754, 754, 754, 754, 754, 754, 754, 780, 769, + 742, 769, 742, 742, 742, 742, 781, 742, 742, 774, + 768, 768, 742, 775, 776, 742, 742, 742, 742, 742, + 742, 768, 768, 768, 768, 768, 768, 768, 768, 768, + 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, + 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, + 768, 768, 768, 782, 778, 778, 742, 742, 742, 768, + + 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, + 754, 754, 754, 754, 754, 754, 780, 417, 780, 780, + 780, 780, 780, 780, 742, 742, 742, 781, 742, 742, + 742, 742, 768, 768, 742, 742, 742, 742, 742, 768, + 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, + 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, + 768, 768, 768, 768, 768, 768, 768, 768, 768, 782, + 778, 742, 742, 768, 754, 754, 754, 754, 754, 754, + 754, 754, 754, 754, 754, 780, 780, 780, 780, 780, + 780, 780, 742, 742, 742, 742, 768, 768, 742, 742, + + 742, 768, 768, 768, 768, 768, 768, 768, 768, 768, + 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, + 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, + 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, + 780, 780, 780, 780, 780, 780, 780, 783, 768, 768, + 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, + 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, + 768, 768, 768, 768, 768, 768, 768, 754, 754, 754, + 754, 754, 780, 780, 780, 780, 780, 780, 780, 783, + 742, 783, 768, 768, 768, 768, 768, 768, 768, 768, + + 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, + 768, 768, 768, 754, 754, 754, 754, 780, 780, 780, + 780, 780, 780, 780, 768, 768, 768, 768, 768, 768, + 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, + 768, 768, 768, 768, 768, 754, 780, 784, 780, 780, + 780, 780, 780, 768, 768, 768, 768, 768, 768, 768, + 768, 768, 768, 768, 768, 768, 768, 768, 768, 780, + 784, 784, 780, 780, 780, 780, 768, 768, 768, 768, + 768, 768, 768, 780, 784, 780, 780, 780, 780, 768, + 768, 768, 689, 742, 784, 689, 689, 768, 768, 768, + + 689, 689, 689, 768, 768, 689, 689, 768, 768, 742, + 689, 768, 742, 689, 768, 742, 689, 768, 742, 689, + 768, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 0, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742 } ; -static const short int yy_nxt[2293] = +static yyconst short int yy_nxt[2392] = { 0, - 23, 23, 23, 23, 23, 23, 23, 23, 837, 263, - 837, 25, 263, 308, 837, 25, 95, 95, 251, 204, - 204, 204, 204, 204, 204, 135, 135, 135, 135, 248, - 837, 137, 173, 173, 173, 173, 173, 173, 173, 135, - 135, 135, 135, 175, 177, 137, 179, 187, 180, 263, - 192, 206, 206, 206, 206, 181, 244, 176, 837, 26, - 188, 178, 212, 26, 28, 182, 183, 184, 224, 28, - 193, 185, 186, 263, 273, 226, 213, 29, 29, 29, - 29, 29, 29, 29, 138, 227, 225, 96, 96, 252, - 30, 31, 32, 33, 34, 35, 36, 37, 138, 232, - - 228, 38, 249, 39, 229, 233, 234, 40, 41, 195, - 42, 43, 263, 284, 263, 196, 197, 44, 239, 45, - 198, 199, 46, 47, 240, 200, 245, 48, 224, 263, - 268, 263, 265, 241, 49, 50, 263, 51, 263, 52, - 269, 53, 263, 54, 28, 263, 225, 263, 215, 28, - 216, 216, 216, 216, 216, 216, 216, 29, 29, 29, - 29, 29, 29, 29, 837, 263, 308, 257, 175, 192, - 30, 31, 32, 33, 34, 35, 36, 37, 380, 272, - 381, 38, 176, 39, 278, 836, 270, 40, 41, 193, - 42, 43, 277, 206, 206, 206, 206, 44, 274, 45, - - 279, 177, 46, 47, 275, 276, 280, 48, 217, 344, - 345, 316, 370, 371, 49, 50, 218, 51, 178, 52, - 385, 53, 310, 54, 22, 55, 55, 55, 55, 56, + 23, 23, 23, 23, 23, 23, 23, 23, 742, 97, + 742, 25, 742, 210, 98, 25, 95, 95, 240, 99, + 742, 200, 100, 101, 101, 101, 101, 101, 101, 97, + 93, 742, 165, 742, 98, 201, 246, 180, 742, 99, + 163, 210, 100, 101, 101, 101, 101, 101, 101, 166, + 123, 123, 123, 123, 164, 175, 125, 181, 167, 26, + 168, 210, 210, 26, 28, 102, 103, 169, 176, 28, + 123, 123, 123, 123, 224, 210, 125, 29, 29, 29, + 29, 29, 29, 29, 213, 102, 103, 96, 96, 241, + 30, 31, 32, 33, 34, 35, 36, 37, 170, 171, + + 172, 38, 214, 39, 173, 174, 220, 40, 41, 126, + 42, 43, 210, 237, 183, 741, 210, 44, 215, 45, + 184, 185, 46, 47, 210, 186, 187, 48, 216, 126, + 188, 210, 217, 329, 49, 50, 218, 51, 233, 52, + 210, 53, 210, 54, 28, 194, 194, 194, 194, 28, + 161, 161, 161, 161, 161, 161, 161, 29, 29, 29, + 29, 29, 29, 29, 192, 192, 192, 192, 192, 192, + 30, 31, 32, 33, 34, 35, 36, 37, 221, 219, + 167, 38, 168, 39, 222, 223, 238, 40, 41, 169, + 42, 43, 213, 226, 225, 163, 252, 44, 175, 45, + + 180, 227, 46, 47, 210, 278, 231, 48, 234, 164, + 214, 176, 341, 342, 49, 50, 351, 51, 352, 52, + 181, 53, 740, 54, 22, 55, 55, 55, 55, 56, 57, 56, 56, 56, 56, 58, 59, 60, 61, 62, 63, 64, 56, 65, 66, 66, 66, 66, 66, 66, 67, 68, 69, 70, 56, 71, 72, 72, 72, 72, @@ -651,254 +632,265 @@ static const short int yy_nxt[2293] = 78, 79, 80, 72, 72, 81, 82, 72, 83, 84, 72, 85, 72, 86, 72, 87, 72, 72, 88, 72, - 72, 89, 90, 91, 92, 22, 55, 55, 55, 55, - 56, 97, 56, 56, 56, 56, 98, 59, 60, 61, - 62, 99, 64, 56, 100, 101, 101, 101, 101, 101, - 101, 67, 68, 69, 70, 56, 71, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 73, 74, 75, 56, 103, 104, 102, - 102, 105, 106, 107, 102, 102, 108, 109, 102, 110, - 111, 102, 112, 102, 113, 102, 114, 102, 102, 115, - - 102, 102, 89, 90, 91, 92, 116, 187, 206, 206, - 206, 206, 835, 117, 285, 834, 56, 263, 118, 56, - 188, 119, 119, 119, 119, 119, 119, 119, 263, 308, - 56, 263, 215, 56, 216, 216, 216, 216, 216, 216, - 216, 212, 354, 333, 256, 257, 257, 257, 257, 257, - 257, 179, 355, 180, 831, 213, 263, 308, 263, 263, - 181, 263, 263, 308, 120, 334, 121, 121, 122, 121, - 121, 121, 121, 121, 123, 121, 124, 121, 121, 125, - 121, 121, 121, 121, 121, 121, 121, 121, 121, 126, - 263, 387, 127, 22, 128, 263, 263, 311, 22, 263, - - 263, 56, 392, 129, 56, 263, 22, 22, 22, 22, - 22, 22, 22, 258, 22, 56, 270, 312, 56, 399, - 271, 391, 258, 259, 313, 260, 260, 260, 260, 260, - 260, 260, 287, 359, 288, 288, 288, 288, 288, 288, - 288, 182, 183, 184, 360, 361, 56, 185, 186, 130, - 131, 413, 386, 102, 132, 102, 263, 308, 102, 133, - 397, 102, 102, 390, 102, 414, 102, 633, 102, 434, - 396, 102, 394, 435, 134, 56, 22, 127, 139, 140, - 140, 140, 140, 139, 141, 139, 139, 139, 139, 141, - 139, 139, 139, 139, 142, 139, 139, 143, 143, 143, - - 143, 143, 143, 143, 139, 139, 139, 139, 139, 139, - 144, 145, 146, 147, 148, 149, 150, 151, 139, 139, - 139, 152, 139, 153, 139, 139, 139, 154, 155, 139, - 156, 157, 139, 139, 139, 139, 139, 158, 139, 159, - 139, 139, 160, 161, 139, 139, 139, 162, 139, 139, - 139, 139, 139, 139, 163, 164, 139, 165, 139, 166, - 139, 167, 139, 168, 139, 169, 139, 139, 139, 258, - 263, 173, 173, 173, 173, 173, 173, 173, 830, 259, - 263, 260, 260, 260, 260, 260, 260, 260, 195, 324, - 325, 326, 327, 829, 196, 197, 263, 308, 263, 198, - - 199, 828, 263, 308, 200, 204, 204, 204, 204, 204, - 204, 173, 173, 173, 173, 173, 173, 173, 204, 204, - 204, 204, 204, 204, 206, 206, 206, 206, 347, 347, - 347, 347, 347, 347, 281, 263, 263, 263, 308, 261, - 282, 378, 378, 378, 378, 378, 378, 262, 263, 283, - 289, 400, 290, 346, 346, 346, 346, 346, 346, 346, - 393, 436, 215, 291, 216, 216, 216, 216, 216, 216, - 216, 394, 395, 437, 423, 424, 442, 292, 827, 293, - 294, 263, 295, 263, 308, 296, 263, 297, 298, 299, - 300, 301, 302, 344, 345, 303, 304, 305, 388, 306, - - 425, 370, 371, 258, 398, 826, 426, 224, 389, 401, - 441, 265, 427, 287, 307, 257, 257, 257, 257, 257, - 257, 257, 258, 370, 371, 225, 525, 585, 428, 586, - 526, 263, 287, 825, 257, 257, 257, 257, 257, 257, - 257, 377, 377, 377, 377, 377, 377, 377, 258, 404, - 404, 404, 404, 404, 404, 404, 263, 566, 259, 486, - 260, 260, 260, 260, 260, 260, 260, 263, 263, 263, - 258, 263, 263, 375, 415, 416, 263, 263, 417, 408, - 287, 376, 288, 288, 288, 288, 288, 288, 288, 409, - 418, 431, 485, 410, 444, 444, 444, 444, 411, 445, - - 446, 447, 445, 432, 466, 466, 466, 467, 412, 346, - 346, 346, 346, 346, 346, 346, 263, 490, 433, 347, - 347, 347, 347, 347, 347, 487, 448, 475, 475, 475, - 475, 475, 475, 488, 489, 468, 491, 492, 469, 263, - 263, 263, 493, 470, 263, 263, 494, 471, 477, 824, - 263, 308, 823, 472, 263, 479, 520, 263, 448, 263, - 377, 377, 377, 377, 377, 377, 377, 378, 378, 378, - 378, 378, 378, 505, 522, 521, 263, 478, 506, 263, - 308, 444, 444, 444, 444, 263, 263, 523, 263, 507, - 263, 496, 445, 446, 447, 445, 263, 497, 263, 263, - - 495, 444, 444, 444, 444, 499, 477, 263, 263, 478, - 498, 535, 445, 446, 447, 445, 570, 500, 404, 404, - 404, 404, 404, 404, 404, 466, 466, 466, 466, 565, - 564, 536, 263, 536, 263, 502, 537, 537, 537, 537, - 537, 537, 537, 263, 466, 466, 466, 466, 568, 263, - 308, 263, 676, 677, 567, 656, 468, 572, 571, 469, - 574, 628, 792, 626, 470, 610, 569, 502, 471, 792, - 611, 822, 627, 263, 472, 468, 573, 657, 469, 263, - 263, 550, 479, 470, 263, 821, 551, 471, 820, 263, - 676, 677, 263, 472, 475, 475, 475, 475, 475, 475, - - 559, 632, 559, 681, 634, 560, 560, 560, 560, 560, - 560, 560, 575, 819, 575, 818, 635, 576, 576, 576, - 576, 576, 576, 576, 537, 537, 537, 537, 537, 537, - 537, 537, 537, 537, 537, 537, 537, 537, 560, 560, - 560, 560, 560, 560, 560, 477, 630, 629, 682, 683, - 263, 631, 263, 684, 680, 676, 677, 560, 560, 560, - 560, 560, 560, 560, 576, 576, 576, 576, 576, 576, - 576, 477, 658, 658, 658, 658, 658, 658, 658, 263, - 263, 263, 767, 576, 576, 576, 576, 576, 576, 576, - 658, 658, 658, 658, 658, 658, 658, 732, 789, 790, - - 817, 205, 348, 205, 348, 816, 733, 734, 833, 205, - 348, 719, 767, 717, 832, 832, 832, 832, 832, 832, - 832, 440, 440, 832, 832, 832, 832, 832, 832, 832, - 379, 476, 379, 476, 815, 814, 813, 812, 379, 476, - 718, 811, 750, 720, 810, 809, 808, 807, 806, 805, - 804, 803, 802, 801, 800, 780, 22, 22, 22, 22, + 72, 89, 90, 91, 92, 104, 458, 97, 194, 194, + 194, 194, 105, 303, 255, 56, 739, 106, 56, 459, + 107, 107, 107, 107, 107, 107, 107, 210, 278, 56, + 210, 278, 56, 210, 278, 304, 203, 210, 204, 204, + 204, 204, 204, 204, 204, 203, 210, 204, 204, 204, + 204, 204, 204, 204, 210, 210, 278, 194, 194, 194, + 194, 210, 210, 108, 103, 109, 109, 110, 109, 109, + 109, 109, 109, 111, 109, 112, 109, 109, 113, 109, + 109, 109, 109, 109, 109, 109, 109, 109, 114, 283, + + 280, 115, 22, 116, 217, 165, 205, 22, 210, 281, + 56, 210, 117, 56, 206, 22, 22, 22, 22, 22, + 22, 22, 166, 22, 56, 286, 282, 56, 228, 323, + 385, 367, 200, 736, 229, 245, 246, 246, 246, 246, + 246, 246, 386, 230, 322, 368, 201, 161, 161, 161, + 161, 161, 161, 161, 380, 56, 486, 387, 118, 119, + 381, 487, 72, 120, 72, 369, 370, 72, 121, 371, + 72, 72, 336, 72, 388, 72, 382, 72, 389, 735, + 72, 372, 324, 122, 56, 22, 115, 127, 128, 128, + 128, 128, 127, 129, 127, 127, 127, 127, 129, 127, + + 127, 127, 127, 130, 127, 127, 131, 131, 131, 131, + 131, 131, 131, 127, 127, 127, 127, 127, 127, 132, + 133, 134, 135, 136, 137, 138, 139, 127, 127, 127, + 140, 127, 141, 127, 127, 127, 142, 143, 127, 144, + 145, 127, 127, 127, 127, 127, 146, 127, 147, 127, + 127, 148, 149, 127, 127, 127, 150, 127, 127, 127, + 127, 127, 127, 151, 152, 127, 153, 127, 154, 127, + 155, 127, 156, 127, 157, 127, 127, 127, 247, 170, + 171, 172, 210, 278, 210, 173, 174, 247, 248, 734, + 249, 249, 249, 249, 249, 249, 249, 248, 247, 249, + + 249, 249, 249, 249, 249, 249, 210, 278, 257, 210, + 258, 258, 258, 258, 258, 258, 258, 183, 294, 295, + 296, 297, 210, 184, 185, 210, 733, 210, 186, 187, + 210, 210, 210, 188, 192, 192, 192, 192, 192, 192, + 161, 161, 161, 161, 161, 161, 161, 732, 250, 192, + 192, 192, 192, 192, 192, 210, 251, 259, 333, 260, + 194, 194, 194, 194, 314, 315, 316, 314, 210, 328, + 261, 317, 317, 317, 317, 317, 317, 317, 318, 318, + 318, 318, 318, 318, 262, 334, 263, 264, 403, 265, + 210, 335, 266, 338, 267, 268, 269, 270, 271, 272, + + 327, 337, 273, 274, 275, 203, 276, 204, 204, 204, + 204, 204, 204, 204, 213, 210, 390, 325, 252, 210, + 278, 277, 210, 278, 210, 278, 210, 326, 391, 210, + 330, 731, 214, 247, 348, 348, 348, 348, 348, 348, + 348, 331, 332, 257, 247, 246, 246, 246, 246, 246, + 246, 246, 210, 247, 257, 405, 246, 246, 246, 246, + 246, 246, 246, 248, 210, 249, 249, 249, 249, 249, + 249, 249, 349, 349, 349, 349, 349, 349, 358, 358, + 358, 358, 358, 358, 358, 408, 730, 377, 378, 210, + 401, 210, 247, 396, 210, 395, 210, 210, 210, 331, + + 210, 210, 257, 346, 258, 258, 258, 258, 258, 258, + 258, 347, 362, 379, 314, 315, 316, 314, 314, 315, + 316, 314, 363, 210, 210, 402, 364, 398, 398, 398, + 398, 365, 314, 315, 316, 314, 341, 342, 410, 341, + 342, 366, 317, 317, 317, 317, 317, 317, 317, 318, + 318, 318, 318, 318, 318, 404, 407, 406, 413, 399, + 210, 411, 409, 414, 412, 429, 417, 417, 417, 418, + 427, 427, 427, 427, 427, 427, 456, 348, 348, 348, + 348, 348, 348, 348, 415, 441, 210, 278, 461, 210, + 442, 399, 462, 210, 430, 457, 416, 419, 210, 278, + + 421, 443, 210, 210, 431, 422, 210, 210, 210, 423, + 398, 398, 398, 398, 210, 424, 349, 349, 349, 349, + 349, 349, 429, 210, 210, 510, 430, 511, 210, 417, + 417, 417, 417, 475, 358, 358, 358, 358, 358, 358, + 358, 742, 742, 742, 742, 210, 278, 471, 472, 210, + 472, 438, 210, 473, 473, 473, 473, 473, 473, 473, + 419, 210, 729, 421, 476, 481, 210, 210, 422, 477, + 728, 478, 423, 488, 210, 479, 727, 210, 424, 482, + 726, 483, 725, 438, 480, 485, 742, 742, 742, 742, + 538, 484, 742, 742, 742, 742, 742, 742, 742, 742, + + 742, 742, 742, 742, 742, 742, 742, 742, 431, 473, + 473, 473, 473, 473, 473, 473, 531, 532, 210, 210, + 427, 427, 427, 427, 427, 427, 540, 489, 495, 533, + 495, 491, 724, 496, 496, 496, 496, 496, 496, 496, + 490, 534, 723, 537, 535, 210, 500, 722, 500, 536, + 492, 501, 501, 501, 501, 501, 501, 501, 473, 473, + 473, 473, 473, 473, 473, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 721, 580, 539, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 496, 496, 496, 496, + + 496, 496, 496, 541, 210, 210, 571, 210, 542, 501, + 501, 501, 501, 501, 501, 501, 544, 429, 210, 578, + 591, 592, 543, 210, 429, 546, 545, 547, 572, 496, + 496, 496, 496, 496, 496, 496, 501, 501, 501, 501, + 501, 501, 501, 573, 573, 573, 573, 573, 573, 573, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 581, 210, 742, 742, 742, 742, 742, 742, + 742, 742, 210, 579, 591, 592, 582, 742, 742, 742, + 742, 614, 616, 583, 742, 742, 742, 742, 573, 573, + 573, 573, 573, 573, 573, 591, 592, 719, 584, 742, + + 742, 742, 742, 742, 742, 742, 742, 587, 585, 586, + 742, 742, 742, 742, 210, 718, 588, 589, 742, 742, + 742, 742, 694, 695, 615, 742, 742, 742, 742, 742, + 742, 742, 742, 716, 638, 617, 672, 715, 619, 742, + 742, 742, 742, 639, 640, 742, 742, 742, 742, 742, + 742, 742, 648, 742, 742, 742, 742, 672, 620, 713, + 618, 701, 623, 394, 394, 706, 621, 420, 712, 622, + 742, 742, 742, 742, 420, 646, 709, 708, 624, 742, + 742, 742, 742, 420, 649, 742, 742, 742, 742, 705, + 420, 647, 742, 742, 742, 742, 742, 742, 742, 742, + + 742, 742, 742, 742, 704, 650, 742, 742, 742, 742, + 742, 742, 742, 742, 651, 742, 742, 742, 742, 742, + 742, 742, 742, 653, 420, 742, 742, 742, 742, 672, + 685, 420, 700, 673, 742, 742, 742, 742, 742, 742, + 742, 742, 699, 698, 670, 692, 652, 742, 742, 742, + 742, 742, 742, 742, 742, 674, 684, 742, 742, 742, + 742, 676, 742, 742, 742, 742, 675, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 703, + 710, 702, 707, 711, 686, 420, 691, 714, 687, 420, + 689, 688, 420, 420, 693, 420, 420, 420, 420, 720, + + 420, 717, 420, 690, 420, 420, 420, 696, 193, 672, + 193, 420, 319, 420, 319, 350, 193, 350, 420, 683, + 319, 682, 681, 350, 697, 680, 420, 738, 679, 678, + 677, 697, 672, 420, 737, 737, 737, 737, 737, 737, + 737, 210, 737, 737, 737, 737, 737, 737, 737, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 24, 24, 24, 24, + 22, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 27, 27, 27, 27, + 24, 24, 24, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, - 27, 27, 27, 27, 27, 27, 94, 94, 94, 94, + 27, 27, 27, 27, 27, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 799, 170, 170, - 170, 170, 170, 170, 203, 203, 203, 203, 203, 203, - 207, 207, 207, 798, 797, 767, 207, 796, 795, 794, - 207, 208, 208, 208, 208, 208, 208, 208, 208, 208, - - 208, 208, 793, 208, 208, 208, 208, 208, 208, 210, - 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, - 791, 210, 210, 210, 210, 210, 210, 222, 788, 222, - 787, 222, 222, 786, 785, 222, 784, 222, 222, 223, - 223, 783, 782, 223, 781, 223, 223, 246, 246, 246, - 246, 246, 246, 246, 767, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 246, 779, 246, 247, 247, 247, - 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 247, 247, 778, 247, 250, 250, 250, - 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, - - 250, 250, 250, 250, 250, 250, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 777, 253, 253, - 253, 253, 253, 253, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 776, 255, 255, 255, 255, - 255, 255, 264, 775, 264, 774, 264, 773, 264, 264, - 263, 772, 264, 771, 264, 264, 266, 266, 770, 769, - 768, 266, 266, 266, 286, 286, 286, 286, 767, 286, - 286, 286, 286, 286, 286, 765, 286, 286, 286, 286, - 286, 286, 309, 309, 309, 764, 309, 763, 309, 309, - 762, 761, 309, 760, 309, 309, 317, 317, 317, 317, - - 317, 317, 317, 317, 317, 317, 317, 759, 317, 317, - 317, 317, 317, 317, 341, 341, 341, 341, 341, 341, - 341, 341, 341, 341, 341, 758, 341, 341, 341, 341, - 341, 341, 343, 343, 343, 343, 343, 343, 343, 343, - 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, - 343, 343, 222, 757, 222, 756, 222, 222, 755, 754, - 222, 753, 222, 222, 349, 752, 349, 751, 349, 349, - 263, 263, 349, 263, 349, 349, 369, 369, 369, 369, - 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, - 369, 369, 369, 369, 369, 369, 246, 246, 246, 246, - - 246, 246, 246, 749, 246, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 748, 246, 247, 247, 247, 247, - 247, 247, 247, 747, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 247, 250, 250, 250, 250, 250, 250, - 250, 746, 250, 250, 250, 250, 250, 250, 250, 250, - 250, 250, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 745, 253, 253, 253, 253, 253, 253, - 383, 744, 383, 743, 383, 742, 383, 383, 741, 740, - 383, 739, 383, 383, 384, 384, 384, 384, 384, 384, - 738, 384, 384, 384, 384, 384, 384, 384, 384, 384, - - 384, 384, 384, 384, 309, 309, 309, 737, 309, 736, - 309, 309, 735, 731, 309, 730, 309, 309, 317, 317, - 317, 317, 317, 317, 317, 317, 317, 317, 317, 729, - 317, 317, 317, 317, 317, 317, 534, 728, 534, 727, - 534, 534, 726, 725, 534, 724, 534, 534, 675, 675, - 675, 675, 675, 675, 675, 675, 675, 675, 675, 675, - 675, 675, 675, 675, 675, 675, 675, 675, 766, 723, - 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, - 766, 766, 766, 766, 766, 766, 766, 766, 722, 721, - 263, 716, 715, 714, 713, 712, 711, 710, 709, 708, - - 707, 706, 705, 704, 703, 702, 701, 700, 699, 698, - 697, 696, 695, 694, 693, 692, 691, 690, 689, 688, - 687, 686, 685, 263, 263, 263, 263, 263, 679, 678, - 674, 673, 672, 671, 670, 669, 668, 667, 666, 665, - 664, 663, 662, 661, 660, 659, 655, 654, 653, 652, - 651, 650, 649, 648, 647, 646, 645, 644, 643, 642, - 641, 640, 639, 638, 637, 636, 263, 263, 625, 624, - 623, 622, 621, 620, 619, 618, 617, 616, 615, 614, - 613, 612, 609, 608, 607, 606, 605, 604, 603, 602, - 601, 600, 599, 598, 597, 596, 595, 594, 593, 592, - - 591, 590, 589, 588, 587, 584, 583, 582, 581, 580, - 579, 578, 577, 263, 263, 263, 263, 263, 563, 562, - 561, 558, 480, 557, 556, 555, 554, 553, 552, 549, - 548, 547, 546, 545, 544, 543, 542, 541, 540, 539, - 538, 533, 532, 531, 530, 529, 528, 527, 524, 519, - 518, 517, 516, 515, 514, 513, 512, 511, 510, 509, - 508, 504, 503, 474, 501, 263, 484, 382, 483, 482, - 481, 480, 474, 473, 465, 464, 463, 462, 461, 460, - 459, 458, 457, 456, 455, 454, 453, 452, 451, 450, - 449, 837, 319, 318, 443, 439, 438, 430, 429, 422, - - 421, 420, 419, 407, 406, 405, 403, 402, 263, 263, - 263, 382, 263, 374, 373, 254, 252, 248, 372, 368, - 367, 366, 365, 364, 363, 362, 358, 357, 356, 353, - 352, 351, 350, 224, 342, 209, 340, 339, 338, 337, - 336, 335, 332, 331, 330, 329, 328, 323, 322, 321, - 172, 171, 314, 202, 201, 194, 191, 190, 189, 174, - 212, 320, 319, 318, 314, 837, 224, 213, 315, 314, - 267, 263, 211, 254, 243, 242, 238, 237, 236, 235, - 231, 230, 221, 220, 219, 214, 211, 209, 202, 201, - 194, 191, 190, 189, 174, 172, 171, 837, 93, 93, - - 21, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837 + 94, 94, 94, 94, 94, 94, 94, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 124, 124, 124, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 669, 158, 158, 158, 158, 158, 158, 191, 191, + 191, 191, 191, 191, 195, 668, 195, 195, 667, 666, + 665, 195, 664, 663, 662, 195, 196, 196, 196, 196, + + 196, 196, 196, 196, 196, 196, 196, 196, 661, 196, + 196, 196, 196, 196, 196, 198, 198, 198, 198, 198, + 198, 198, 198, 198, 198, 198, 198, 660, 198, 198, + 198, 198, 198, 198, 211, 428, 211, 428, 211, 659, + 211, 211, 658, 428, 211, 657, 211, 211, 212, 212, + 656, 655, 212, 654, 212, 212, 235, 235, 235, 235, + 235, 235, 235, 235, 235, 210, 235, 235, 235, 235, + 235, 235, 235, 235, 235, 235, 210, 235, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 210, 236, + + 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, + 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, + 239, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 645, 242, 242, 242, 242, 242, 242, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 644, 244, 244, 244, 244, 244, 244, 253, + 253, 643, 642, 641, 253, 253, 253, 256, 256, 256, + 256, 256, 637, 256, 256, 256, 256, 256, 256, 636, + 256, 256, 256, 256, 256, 256, 279, 279, 279, 635, + 279, 634, 279, 279, 633, 632, 279, 631, 279, 279, + + 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, + 287, 287, 630, 287, 287, 287, 287, 287, 287, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 629, 311, 311, 311, 311, 311, 311, 313, 313, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 320, 628, 320, 627, 320, 320, 626, 625, 320, 210, + 320, 320, 340, 340, 340, 340, 340, 340, 340, 340, + 340, 340, 340, 340, 340, 340, 340, 340, 340, 340, + 340, 340, 340, 340, 235, 235, 235, 235, 235, 235, + + 235, 235, 235, 613, 235, 235, 235, 235, 235, 235, + 235, 235, 235, 235, 612, 235, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 611, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 239, 239, 239, 239, + 239, 239, 239, 239, 239, 610, 239, 239, 239, 239, + 239, 239, 239, 239, 239, 239, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 609, 242, + 242, 242, 242, 242, 242, 354, 608, 354, 607, 354, + 606, 354, 354, 605, 604, 354, 603, 354, 354, 355, + 355, 355, 355, 355, 355, 355, 355, 602, 355, 355, + + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 279, 279, 279, 601, 279, 600, 279, 279, 599, + 598, 279, 597, 279, 279, 287, 287, 287, 287, 287, + 287, 287, 287, 287, 287, 287, 287, 596, 287, 287, + 287, 287, 287, 287, 420, 420, 420, 595, 594, 593, + 210, 210, 210, 210, 210, 420, 420, 577, 576, 420, + 470, 575, 470, 574, 470, 470, 570, 569, 470, 568, + 470, 470, 590, 590, 590, 590, 590, 590, 590, 590, + 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, + 590, 590, 590, 590, 671, 671, 567, 671, 671, 671, + + 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, + 671, 671, 671, 671, 671, 671, 566, 565, 564, 563, + 562, 561, 560, 559, 558, 557, 556, 555, 554, 553, + 552, 551, 550, 549, 548, 210, 210, 530, 529, 528, + 527, 526, 525, 524, 523, 522, 521, 520, 519, 518, + 517, 516, 515, 514, 513, 512, 509, 508, 507, 506, + 505, 504, 503, 502, 499, 498, 497, 494, 432, 493, + 210, 210, 210, 210, 210, 474, 469, 468, 467, 466, + 465, 464, 463, 460, 455, 454, 453, 452, 451, 450, + 449, 448, 447, 446, 445, 444, 440, 439, 426, 437, + + 436, 353, 435, 434, 433, 432, 426, 425, 210, 400, + 742, 289, 288, 397, 393, 392, 384, 383, 376, 375, + 374, 373, 361, 360, 359, 357, 356, 353, 345, 344, + 243, 241, 237, 343, 339, 210, 210, 210, 321, 213, + 210, 312, 197, 310, 309, 308, 307, 306, 305, 302, + 301, 300, 299, 298, 293, 292, 291, 160, 159, 284, + 190, 189, 182, 179, 178, 177, 162, 200, 290, 289, + 288, 284, 742, 213, 201, 285, 284, 254, 199, 243, + 232, 210, 209, 208, 207, 202, 199, 197, 190, 189, + 182, 179, 178, 177, 162, 160, 159, 742, 93, 21, + + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742 } ; -static const short int yy_chk[2293] = +static yyconst short int yy_chk[2392] = { 0, - 3, 3, 3, 3, 4, 4, 4, 4, 0, 108, - 0, 3, 121, 121, 0, 4, 9, 10, 96, 50, - 50, 50, 50, 50, 50, 17, 17, 17, 17, 95, - 0, 17, 29, 29, 29, 29, 29, 29, 29, 18, - 18, 18, 18, 31, 32, 18, 33, 35, 33, 115, - 39, 55, 55, 55, 55, 33, 93, 31, 0, 3, - 35, 32, 63, 4, 5, 34, 34, 34, 76, 5, - 39, 34, 34, 105, 108, 78, 63, 5, 5, 5, - 5, 5, 5, 5, 17, 78, 76, 9, 10, 96, - 5, 5, 5, 5, 5, 5, 5, 5, 18, 82, - - 79, 5, 95, 5, 79, 82, 82, 5, 5, 41, - 5, 5, 107, 115, 111, 41, 41, 5, 87, 5, - 41, 41, 5, 5, 87, 41, 93, 5, 103, 132, - 105, 110, 103, 87, 5, 5, 109, 5, 112, 5, - 105, 5, 133, 5, 6, 113, 103, 268, 65, 6, - 65, 65, 65, 65, 65, 65, 65, 6, 6, 6, - 6, 6, 6, 6, 118, 122, 122, 118, 145, 153, - 6, 6, 6, 6, 6, 6, 6, 6, 265, 107, - 265, 6, 145, 6, 111, 835, 132, 6, 6, 153, - 6, 6, 110, 140, 140, 140, 140, 6, 109, 6, - - 112, 146, 6, 6, 109, 109, 113, 6, 65, 212, - 212, 133, 244, 244, 6, 6, 65, 6, 146, 6, - 268, 6, 122, 6, 7, 7, 7, 7, 7, 7, + 3, 3, 3, 3, 4, 4, 4, 4, 0, 11, + 0, 3, 0, 83, 11, 4, 9, 10, 96, 11, + 0, 63, 11, 11, 11, 11, 11, 11, 11, 12, + 12, 0, 32, 106, 12, 63, 106, 39, 0, 12, + 31, 81, 12, 12, 12, 12, 12, 12, 12, 32, + 17, 17, 17, 17, 31, 35, 17, 39, 33, 3, + 33, 78, 222, 4, 5, 11, 11, 33, 35, 5, + 18, 18, 18, 18, 83, 79, 18, 5, 5, 5, + 5, 5, 5, 5, 76, 12, 12, 9, 10, 96, + 5, 5, 5, 5, 5, 5, 5, 5, 34, 34, + + 34, 5, 76, 5, 34, 34, 81, 5, 5, 17, + 5, 5, 80, 95, 41, 740, 82, 5, 78, 5, + 41, 41, 5, 5, 84, 41, 41, 5, 78, 18, + 41, 85, 79, 222, 5, 5, 79, 5, 93, 5, + 86, 5, 88, 5, 6, 55, 55, 55, 55, 6, + 29, 29, 29, 29, 29, 29, 29, 6, 6, 6, + 6, 6, 6, 6, 50, 50, 50, 50, 50, 50, + 6, 6, 6, 6, 6, 6, 6, 6, 82, 80, + 135, 6, 135, 6, 82, 82, 95, 6, 6, 135, + 6, 6, 102, 85, 84, 133, 102, 6, 137, 6, + + 141, 86, 6, 6, 109, 109, 88, 6, 93, 133, + 102, 137, 233, 233, 6, 6, 252, 6, 252, 6, + 141, 6, 739, 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, @@ -908,36 +900,25 @@ static const short int yy_chk[2293] = 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, 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, - 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, 13, 149, 116, 116, - 116, 116, 834, 13, 116, 833, 13, 270, 13, 13, - 149, 13, 13, 13, 13, 13, 13, 13, 123, 123, - 13, 275, 66, 13, 66, 66, 66, 66, 66, 66, - 66, 99, 229, 186, 99, 99, 99, 99, 99, 99, - 99, 147, 229, 147, 830, 99, 124, 124, 281, 106, - 147, 273, 125, 125, 13, 186, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 7, 7, 7, 7, 7, 13, 381, 13, 104, 104, + 104, 104, 13, 174, 104, 13, 738, 13, 13, 381, + 13, 13, 13, 13, 13, 13, 13, 113, 113, 13, + 111, 111, 13, 110, 110, 174, 65, 120, 65, 65, + 65, 65, 65, 65, 65, 66, 121, 66, 66, 66, + 66, 66, 66, 66, 87, 112, 112, 128, 128, 128, + 128, 215, 216, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 272, 270, 13, 15, 15, 269, 277, 123, 15, 316, - - 278, 15, 275, 15, 15, 571, 15, 15, 15, 15, - 15, 15, 15, 101, 15, 15, 106, 124, 15, 281, - 106, 273, 119, 101, 125, 101, 101, 101, 101, 101, - 101, 101, 119, 234, 119, 119, 119, 119, 119, 119, - 119, 148, 148, 148, 234, 234, 15, 148, 148, 15, - 15, 293, 269, 15, 15, 15, 309, 309, 15, 15, - 278, 15, 15, 272, 15, 293, 15, 571, 15, 304, - 277, 15, 316, 304, 15, 15, 15, 15, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 113, + + 110, 13, 15, 15, 120, 134, 65, 15, 217, 111, + 15, 228, 15, 15, 65, 15, 15, 15, 15, 15, + 15, 15, 134, 15, 15, 121, 112, 15, 87, 216, + 273, 263, 99, 735, 87, 99, 99, 99, 99, 99, + 99, 99, 273, 87, 215, 263, 99, 131, 131, 131, + 131, 131, 131, 131, 270, 15, 418, 273, 15, 15, + 270, 418, 15, 15, 15, 264, 264, 15, 15, 264, + 15, 15, 228, 15, 274, 15, 270, 15, 274, 734, + 15, 264, 217, 15, 15, 15, 15, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, @@ -946,186 +927,208 @@ static const short int yy_chk[2293] = 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 100, - 114, 143, 143, 143, 143, 143, 143, 143, 829, 100, - 283, 100, 100, 100, 100, 100, 100, 100, 155, 179, - 179, 179, 179, 828, 155, 155, 311, 311, 276, 155, - - 155, 827, 312, 312, 155, 164, 164, 164, 164, 164, - 164, 173, 173, 173, 173, 173, 173, 173, 204, 204, - 204, 204, 204, 204, 206, 206, 206, 206, 217, 217, - 217, 217, 217, 217, 114, 280, 271, 310, 310, 100, - 114, 261, 261, 261, 261, 261, 261, 100, 284, 114, - 120, 283, 120, 215, 215, 215, 215, 215, 215, 215, - 276, 305, 216, 120, 216, 216, 216, 216, 216, 216, - 216, 276, 276, 305, 299, 299, 312, 120, 826, 120, - 120, 489, 120, 313, 313, 120, 386, 120, 120, 120, - 120, 120, 120, 343, 343, 120, 120, 120, 271, 120, - - 299, 369, 369, 256, 280, 825, 300, 120, 271, 284, - 310, 120, 300, 256, 120, 256, 256, 256, 256, 256, - 256, 256, 257, 371, 371, 120, 430, 512, 300, 512, - 430, 385, 257, 824, 257, 257, 257, 257, 257, 257, - 257, 259, 259, 259, 259, 259, 259, 259, 260, 287, - 287, 287, 287, 287, 287, 287, 390, 489, 260, 386, - 260, 260, 260, 260, 260, 260, 260, 392, 387, 389, - 288, 391, 394, 256, 294, 294, 388, 393, 294, 292, - 288, 256, 288, 288, 288, 288, 288, 288, 288, 292, - 294, 303, 385, 292, 344, 344, 344, 344, 292, 345, - - 345, 345, 345, 303, 368, 368, 368, 368, 292, 346, - 346, 346, 346, 346, 346, 346, 397, 390, 303, 347, - 347, 347, 347, 347, 347, 387, 346, 375, 375, 375, - 375, 375, 375, 388, 389, 368, 391, 392, 368, 395, - 398, 399, 393, 368, 400, 401, 394, 368, 377, 823, - 441, 441, 822, 368, 488, 378, 426, 486, 346, 494, - 377, 377, 377, 377, 377, 377, 377, 378, 378, 378, - 378, 378, 378, 409, 427, 426, 492, 377, 409, 442, - 442, 444, 444, 444, 444, 491, 495, 427, 493, 409, - 496, 397, 445, 445, 445, 445, 565, 398, 567, 500, - - 395, 446, 446, 446, 446, 400, 404, 566, 497, 377, - 399, 441, 447, 447, 447, 447, 494, 401, 404, 404, - 404, 404, 404, 404, 404, 466, 466, 466, 466, 488, - 486, 448, 570, 448, 627, 404, 448, 448, 448, 448, - 448, 448, 448, 572, 467, 467, 467, 467, 492, 535, - 535, 573, 623, 623, 491, 600, 466, 496, 495, 466, - 500, 567, 784, 565, 466, 544, 493, 404, 466, 784, - 544, 821, 566, 568, 466, 467, 497, 600, 467, 569, - 626, 467, 475, 467, 635, 820, 467, 467, 819, 632, - 675, 675, 633, 467, 475, 475, 475, 475, 475, 475, - - 478, 570, 478, 627, 572, 478, 478, 478, 478, 478, - 478, 478, 502, 818, 502, 817, 573, 502, 502, 502, - 502, 502, 502, 502, 536, 536, 536, 536, 536, 536, - 536, 537, 537, 537, 537, 537, 537, 537, 559, 559, - 559, 559, 559, 559, 559, 560, 569, 568, 632, 633, - 681, 569, 683, 635, 626, 677, 677, 560, 560, 560, - 560, 560, 560, 560, 575, 575, 575, 575, 575, 575, - 575, 576, 601, 601, 601, 601, 601, 601, 601, 682, - 684, 719, 767, 576, 576, 576, 576, 576, 576, 576, - 658, 658, 658, 658, 658, 658, 658, 696, 780, 780, - - 814, 845, 863, 845, 863, 813, 696, 696, 832, 845, - 863, 683, 780, 681, 831, 831, 831, 831, 831, 831, - 831, 874, 874, 832, 832, 832, 832, 832, 832, 832, - 871, 877, 871, 877, 812, 811, 810, 809, 871, 877, - 682, 808, 719, 684, 807, 806, 805, 804, 802, 801, - 800, 799, 797, 796, 794, 767, 838, 838, 838, 838, - 838, 838, 838, 838, 838, 838, 838, 838, 838, 838, - 838, 838, 838, 838, 838, 838, 839, 839, 839, 839, - 839, 839, 839, 839, 839, 839, 839, 839, 839, 839, - 839, 839, 839, 839, 839, 839, 840, 840, 840, 840, - - 840, 840, 840, 840, 840, 840, 840, 840, 840, 840, - 840, 840, 840, 840, 840, 840, 841, 841, 841, 841, - 841, 841, 841, 841, 841, 841, 841, 841, 841, 841, - 841, 841, 841, 841, 841, 841, 842, 842, 842, 842, - 842, 842, 842, 842, 842, 842, 842, 842, 842, 842, - 842, 842, 842, 842, 842, 842, 843, 843, 843, 843, - 843, 843, 843, 843, 843, 843, 843, 793, 843, 843, - 843, 843, 843, 843, 844, 844, 844, 844, 844, 844, - 846, 846, 846, 792, 791, 790, 846, 788, 787, 786, - 846, 847, 847, 847, 847, 847, 847, 847, 847, 847, - - 847, 847, 785, 847, 847, 847, 847, 847, 847, 848, - 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, - 783, 848, 848, 848, 848, 848, 848, 849, 779, 849, - 778, 849, 849, 777, 774, 849, 771, 849, 849, 850, - 850, 770, 769, 850, 768, 850, 850, 851, 851, 851, - 851, 851, 851, 851, 766, 851, 851, 851, 851, 851, - 851, 851, 851, 851, 851, 765, 851, 852, 852, 852, - 852, 852, 852, 852, 852, 852, 852, 852, 852, 852, - 852, 852, 852, 852, 852, 763, 852, 853, 853, 853, - 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, - - 853, 853, 853, 853, 853, 853, 854, 854, 854, 854, - 854, 854, 854, 854, 854, 854, 854, 762, 854, 854, - 854, 854, 854, 854, 855, 855, 855, 855, 855, 855, - 855, 855, 855, 855, 855, 761, 855, 855, 855, 855, - 855, 855, 856, 754, 856, 752, 856, 751, 856, 856, - 750, 749, 856, 747, 856, 856, 857, 857, 746, 744, - 743, 857, 857, 857, 858, 858, 858, 858, 742, 858, - 858, 858, 858, 858, 858, 741, 858, 858, 858, 858, - 858, 858, 859, 859, 859, 738, 859, 737, 859, 859, - 736, 735, 859, 734, 859, 859, 860, 860, 860, 860, - - 860, 860, 860, 860, 860, 860, 860, 733, 860, 860, - 860, 860, 860, 860, 861, 861, 861, 861, 861, 861, - 861, 861, 861, 861, 861, 732, 861, 861, 861, 861, - 861, 861, 862, 862, 862, 862, 862, 862, 862, 862, - 862, 862, 862, 862, 862, 862, 862, 862, 862, 862, - 862, 862, 864, 730, 864, 729, 864, 864, 728, 727, - 864, 724, 864, 864, 865, 722, 865, 721, 865, 865, - 720, 718, 865, 717, 865, 865, 866, 866, 866, 866, - 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, - 866, 866, 866, 866, 866, 866, 867, 867, 867, 867, - - 867, 867, 867, 716, 867, 867, 867, 867, 867, 867, - 867, 867, 867, 867, 715, 867, 868, 868, 868, 868, - 868, 868, 868, 714, 868, 868, 868, 868, 868, 868, - 868, 868, 868, 868, 869, 869, 869, 869, 869, 869, - 869, 713, 869, 869, 869, 869, 869, 869, 869, 869, - 869, 869, 870, 870, 870, 870, 870, 870, 870, 870, - 870, 870, 870, 712, 870, 870, 870, 870, 870, 870, - 872, 711, 872, 710, 872, 709, 872, 872, 708, 706, - 872, 703, 872, 872, 873, 873, 873, 873, 873, 873, - 702, 873, 873, 873, 873, 873, 873, 873, 873, 873, - - 873, 873, 873, 873, 875, 875, 875, 700, 875, 698, - 875, 875, 697, 695, 875, 694, 875, 875, 876, 876, - 876, 876, 876, 876, 876, 876, 876, 876, 876, 693, - 876, 876, 876, 876, 876, 876, 878, 692, 878, 691, - 878, 878, 690, 689, 878, 688, 878, 878, 879, 879, - 879, 879, 879, 879, 879, 879, 879, 879, 879, 879, - 879, 879, 879, 879, 879, 879, 879, 879, 880, 687, - 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, - 880, 880, 880, 880, 880, 880, 880, 880, 686, 685, - 680, 679, 678, 674, 673, 672, 671, 670, 669, 668, - - 667, 666, 665, 664, 662, 660, 659, 656, 655, 653, - 651, 650, 648, 647, 646, 645, 643, 641, 640, 639, - 638, 637, 636, 634, 631, 630, 629, 628, 625, 624, - 622, 621, 620, 619, 618, 617, 616, 615, 613, 612, - 607, 606, 605, 604, 603, 602, 599, 598, 597, 596, - 595, 594, 592, 591, 590, 589, 588, 587, 586, 585, - 584, 583, 582, 580, 579, 577, 574, 564, 562, 561, - 557, 556, 555, 554, 553, 552, 551, 550, 548, 547, - 546, 545, 543, 542, 541, 540, 533, 532, 531, 530, - 529, 528, 527, 526, 525, 524, 523, 522, 520, 518, - - 517, 516, 515, 514, 513, 511, 510, 509, 508, 507, - 506, 505, 504, 499, 498, 490, 487, 485, 484, 482, - 481, 477, 476, 473, 472, 471, 470, 469, 468, 465, - 462, 461, 460, 459, 458, 457, 456, 454, 453, 451, - 449, 439, 438, 436, 435, 434, 432, 431, 429, 424, - 423, 422, 420, 418, 417, 416, 415, 414, 413, 411, - 410, 408, 407, 403, 402, 396, 384, 383, 382, 381, - 380, 379, 374, 372, 367, 366, 365, 364, 363, 361, - 360, 359, 358, 357, 356, 355, 354, 353, 352, 351, - 350, 341, 318, 317, 315, 307, 306, 302, 301, 298, - - 297, 296, 295, 291, 290, 289, 286, 285, 282, 279, - 274, 266, 264, 255, 254, 253, 252, 248, 245, 243, - 242, 241, 239, 238, 236, 235, 233, 231, 230, 228, - 227, 226, 225, 224, 210, 208, 200, 199, 198, 196, - 193, 192, 185, 184, 183, 181, 180, 177, 175, 174, - 171, 170, 169, 157, 156, 154, 152, 151, 150, 144, - 142, 138, 137, 136, 134, 131, 130, 129, 128, 126, - 104, 102, 98, 97, 89, 88, 86, 85, 84, 83, - 81, 80, 70, 69, 67, 64, 58, 57, 43, 42, - 40, 38, 37, 36, 30, 25, 24, 21, 12, 8, - - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837 + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 100, 136, + 136, 136, 279, 279, 224, 136, 136, 101, 100, 733, + 100, 100, 100, 100, 100, 100, 100, 101, 107, 101, + + 101, 101, 101, 101, 101, 101, 281, 281, 107, 220, + 107, 107, 107, 107, 107, 107, 107, 143, 167, 167, + 167, 167, 227, 143, 143, 225, 732, 219, 143, 143, + 230, 324, 231, 143, 152, 152, 152, 152, 152, 152, + 161, 161, 161, 161, 161, 161, 161, 731, 100, 192, + 192, 192, 192, 192, 192, 218, 100, 108, 224, 108, + 194, 194, 194, 194, 200, 200, 200, 200, 223, 220, + 108, 203, 203, 203, 203, 203, 203, 203, 205, 205, + 205, 205, 205, 205, 108, 225, 108, 108, 324, 108, + 326, 227, 108, 231, 108, 108, 108, 108, 108, 108, + + 219, 230, 108, 108, 108, 204, 108, 204, 204, 204, + 204, 204, 204, 204, 108, 329, 275, 218, 108, 282, + 282, 108, 280, 280, 283, 283, 286, 218, 275, 322, + 223, 730, 108, 245, 248, 248, 248, 248, 248, 248, + 248, 223, 223, 245, 246, 245, 245, 245, 245, 245, + 245, 245, 323, 249, 246, 326, 246, 246, 246, 246, + 246, 246, 246, 249, 331, 249, 249, 249, 249, 249, + 249, 249, 250, 250, 250, 250, 250, 250, 257, 257, + 257, 257, 257, 257, 257, 329, 729, 269, 269, 334, + 322, 328, 258, 282, 336, 280, 327, 330, 325, 286, + + 332, 335, 258, 245, 258, 258, 258, 258, 258, 258, + 258, 245, 262, 269, 313, 313, 313, 313, 314, 314, + 314, 314, 262, 337, 338, 323, 262, 315, 315, 315, + 315, 262, 316, 316, 316, 316, 340, 340, 331, 342, + 342, 262, 317, 317, 317, 317, 317, 317, 317, 318, + 318, 318, 318, 318, 318, 325, 328, 327, 335, 317, + 402, 332, 330, 336, 334, 348, 339, 339, 339, 339, + 346, 346, 346, 346, 346, 346, 380, 348, 348, 348, + 348, 348, 348, 348, 337, 363, 395, 395, 384, 404, + 363, 317, 384, 405, 348, 380, 338, 339, 396, 396, + + 339, 363, 407, 408, 349, 339, 409, 411, 410, 339, + 398, 398, 398, 398, 412, 339, 349, 349, 349, 349, + 349, 349, 358, 413, 416, 448, 348, 448, 482, 417, + 417, 417, 417, 402, 358, 358, 358, 358, 358, 358, + 358, 419, 419, 419, 419, 471, 471, 395, 399, 476, + 399, 358, 477, 399, 399, 399, 399, 399, 399, 399, + 417, 484, 728, 417, 404, 410, 478, 479, 417, 405, + 727, 407, 417, 419, 481, 408, 726, 480, 417, 411, + 725, 412, 724, 358, 409, 416, 420, 420, 420, 420, + 482, 413, 421, 421, 421, 421, 422, 422, 422, 422, + + 423, 423, 423, 423, 424, 424, 424, 424, 427, 472, + 472, 472, 472, 472, 472, 472, 476, 477, 483, 537, + 427, 427, 427, 427, 427, 427, 484, 421, 430, 478, + 430, 423, 723, 430, 430, 430, 430, 430, 430, 430, + 422, 479, 722, 481, 480, 531, 438, 719, 438, 480, + 424, 438, 438, 438, 438, 438, 438, 438, 473, 473, + 473, 473, 473, 473, 473, 486, 486, 486, 486, 487, + 487, 487, 487, 488, 488, 488, 488, 718, 537, 483, + 489, 489, 489, 489, 490, 490, 490, 490, 491, 491, + 491, 491, 492, 492, 492, 492, 495, 495, 495, 495, + + 495, 495, 495, 486, 532, 538, 525, 540, 487, 500, + 500, 500, 500, 500, 500, 500, 489, 496, 579, 531, + 548, 548, 488, 581, 501, 491, 490, 492, 525, 496, + 496, 496, 496, 496, 496, 496, 501, 501, 501, 501, + 501, 501, 501, 526, 526, 526, 526, 526, 526, 526, + 541, 541, 541, 541, 542, 542, 542, 542, 543, 543, + 543, 543, 538, 580, 544, 544, 544, 544, 545, 545, + 545, 545, 582, 532, 590, 590, 540, 546, 546, 546, + 546, 579, 581, 541, 547, 547, 547, 547, 573, 573, + 573, 573, 573, 573, 573, 592, 592, 716, 542, 583, + + 583, 583, 583, 584, 584, 584, 584, 545, 543, 544, + 585, 585, 585, 585, 616, 715, 546, 547, 586, 586, + 586, 586, 685, 685, 580, 587, 587, 587, 587, 588, + 588, 588, 588, 713, 606, 582, 685, 712, 584, 589, + 589, 589, 589, 606, 606, 618, 618, 618, 618, 619, + 619, 619, 619, 620, 620, 620, 620, 672, 585, 710, + 583, 693, 588, 777, 777, 701, 586, 693, 709, 587, + 621, 621, 621, 621, 693, 616, 705, 704, 589, 622, + 622, 622, 622, 701, 620, 623, 623, 623, 623, 699, + 701, 618, 624, 624, 624, 624, 647, 647, 647, 647, + + 649, 649, 649, 649, 698, 621, 650, 650, 650, 650, + 651, 651, 651, 651, 622, 652, 652, 652, 652, 653, + 653, 653, 653, 624, 703, 670, 670, 670, 670, 695, + 672, 703, 692, 649, 673, 673, 673, 673, 674, 674, + 674, 674, 691, 690, 647, 683, 623, 675, 675, 675, + 675, 676, 676, 676, 676, 650, 670, 684, 684, 684, + 684, 653, 686, 686, 686, 686, 652, 687, 687, 687, + 687, 688, 688, 688, 688, 689, 689, 689, 689, 697, + 706, 696, 702, 707, 673, 696, 682, 711, 674, 702, + 676, 675, 696, 697, 684, 720, 702, 711, 707, 717, + + 697, 714, 720, 679, 711, 707, 714, 688, 750, 671, + 750, 717, 767, 714, 767, 774, 750, 774, 717, 668, + 767, 667, 666, 774, 689, 659, 706, 737, 657, 656, + 655, 689, 648, 706, 736, 736, 736, 736, 736, 736, + 736, 646, 737, 737, 737, 737, 737, 737, 737, 743, + 743, 743, 743, 743, 743, 743, 743, 743, 743, 743, + 743, 743, 743, 743, 743, 743, 743, 743, 743, 743, + 743, 744, 744, 744, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 745, 745, 745, 745, 745, 745, 745, + + 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, + 745, 745, 745, 745, 745, 746, 746, 746, 746, 746, + 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, + 746, 746, 746, 746, 746, 746, 746, 747, 747, 747, + 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, + 747, 747, 747, 747, 747, 747, 747, 747, 747, 748, + 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, + 748, 644, 748, 748, 748, 748, 748, 748, 749, 749, + 749, 749, 749, 749, 751, 643, 751, 751, 642, 641, + 640, 751, 639, 638, 636, 751, 752, 752, 752, 752, + + 752, 752, 752, 752, 752, 752, 752, 752, 635, 752, + 752, 752, 752, 752, 752, 753, 753, 753, 753, 753, + 753, 753, 753, 753, 753, 753, 753, 634, 753, 753, + 753, 753, 753, 753, 754, 781, 754, 781, 754, 633, + 754, 754, 630, 781, 754, 628, 754, 754, 755, 755, + 627, 626, 755, 625, 755, 755, 756, 756, 756, 756, + 756, 756, 756, 756, 756, 617, 756, 756, 756, 756, + 756, 756, 756, 756, 756, 756, 615, 756, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 614, 757, + + 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, + 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, + 758, 759, 759, 759, 759, 759, 759, 759, 759, 759, + 759, 759, 759, 613, 759, 759, 759, 759, 759, 759, + 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, + 760, 760, 612, 760, 760, 760, 760, 760, 760, 761, + 761, 610, 608, 607, 761, 761, 761, 762, 762, 762, + 762, 762, 605, 762, 762, 762, 762, 762, 762, 604, + 762, 762, 762, 762, 762, 762, 763, 763, 763, 603, + 763, 602, 763, 763, 601, 600, 763, 599, 763, 763, + + 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, + 764, 764, 598, 764, 764, 764, 764, 764, 764, 765, + 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, + 765, 597, 765, 765, 765, 765, 765, 765, 766, 766, + 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, + 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, + 768, 596, 768, 595, 768, 768, 594, 593, 768, 578, + 768, 768, 769, 769, 769, 769, 769, 769, 769, 769, + 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, + 769, 769, 769, 769, 770, 770, 770, 770, 770, 770, + + 770, 770, 770, 577, 770, 770, 770, 770, 770, 770, + 770, 770, 770, 770, 575, 770, 771, 771, 771, 771, + 771, 771, 771, 771, 771, 574, 771, 771, 771, 771, + 771, 771, 771, 771, 771, 771, 772, 772, 772, 772, + 772, 772, 772, 772, 772, 571, 772, 772, 772, 772, + 772, 772, 772, 772, 772, 772, 773, 773, 773, 773, + 773, 773, 773, 773, 773, 773, 773, 773, 570, 773, + 773, 773, 773, 773, 773, 775, 568, 775, 566, 775, + 565, 775, 775, 563, 562, 775, 561, 775, 775, 776, + 776, 776, 776, 776, 776, 776, 776, 560, 776, 776, + + 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, + 776, 778, 778, 778, 558, 778, 556, 778, 778, 555, + 554, 778, 553, 778, 778, 779, 779, 779, 779, 779, + 779, 779, 779, 779, 779, 779, 779, 552, 779, 779, + 779, 779, 779, 779, 780, 780, 780, 551, 550, 549, + 539, 536, 535, 534, 533, 780, 780, 530, 529, 780, + 782, 528, 782, 527, 782, 782, 524, 523, 782, 522, + 782, 782, 783, 783, 783, 783, 783, 783, 783, 783, + 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, + 783, 783, 783, 783, 784, 784, 521, 784, 784, 784, + + 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, + 784, 784, 784, 784, 784, 784, 520, 519, 517, 516, + 515, 514, 513, 512, 511, 510, 509, 508, 507, 505, + 504, 502, 498, 497, 493, 485, 475, 469, 468, 467, + 466, 465, 464, 463, 462, 461, 460, 459, 458, 456, + 454, 453, 452, 451, 450, 449, 447, 446, 445, 444, + 443, 442, 441, 440, 436, 434, 433, 429, 428, 425, + 415, 414, 406, 403, 401, 400, 393, 392, 390, 389, + 388, 386, 385, 383, 378, 377, 376, 374, 372, 371, + 370, 369, 368, 367, 365, 364, 362, 361, 357, 356, + + 355, 354, 353, 352, 351, 350, 345, 343, 333, 321, + 311, 288, 287, 285, 277, 276, 272, 271, 268, 267, + 266, 265, 261, 260, 259, 256, 255, 253, 244, 243, + 242, 241, 237, 234, 232, 229, 226, 221, 214, 213, + 211, 198, 196, 188, 187, 186, 184, 181, 180, 173, + 172, 171, 169, 168, 165, 163, 162, 159, 158, 157, + 145, 144, 142, 140, 139, 138, 132, 130, 126, 125, + 124, 122, 119, 118, 117, 116, 114, 103, 98, 97, + 89, 72, 70, 69, 67, 64, 58, 57, 43, 42, + 40, 38, 37, 36, 30, 25, 24, 21, 8, 742, + + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742 } ; @@ -1139,8 +1142,9 @@ static char *yy_last_accepting_cpos; #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 char *yytext; -# line 1 "yaccParser/hslexer.flex" -# line 2 "yaccParser/hslexer.flex" +#line 1 "yaccParser/hslexer.flex" +#define INITIAL 0 +#line 2 "yaccParser/hslexer.flex" /********************************************************************** * * * * @@ -1206,7 +1210,7 @@ char *yytext; #define _isconstr(s) (CharTable[*s]&(_C)) BOOLEAN isconstr PROTO((char *)); /* fwd decl */ -unsigned char CharTable[NCHARS] = { +static unsigned char CharTable[NCHARS] = { /* nul */ 0, 0, 0, 0, 0, 0, 0, 0, /* bs */ 0, _S, _S, _S, _S, 0, 0, 0, /* dle */ 0, 0, 0, 0, 0, 0, 0, 0, @@ -1257,12 +1261,12 @@ char *input_filename = NULL; /* Always points to a dynamically allocated string * have been renamed as hsXXXXX rather than yyXXXXX. --JSM */ -int hslineno = 0; /* Line number at end of token */ +static int hslineno = 0; /* Line number at end of token */ int hsplineno = 0; /* Line number at end of previous token */ -int hscolno = 0; /* Column number at end of token */ +static int hscolno = 0; /* Column number at end of token */ int hspcolno = 0; /* Column number at end of previous token */ -int hsmlcolno = 0; /* Column number for multiple-rule lexemes */ +static int hsmlcolno = 0; /* Column number for multiple-rule lexemes */ int startlineno = 0; /* The line number where something starts */ int endlineno = 0; /* The line number where something ends */ @@ -1284,12 +1288,15 @@ static int nested_comments; /* For counting comment nesting depth */ /* Essential forward declarations */ -static VOID hsnewid PROTO((char *, int)); -static VOID layout_input PROTO((char *, int)); -static VOID cleartext (NO_ARGS); -static VOID addtext PROTO((char *, unsigned)); -static VOID addchar PROTO((char)); +static void hsnewid PROTO((char *, int)); +static void layout_input PROTO((char *, int)); +static void cleartext (NO_ARGS); +static void addtext PROTO((char *, unsigned)); +static void addchar PROTO((char)); static char *fetchtext PROTO((unsigned *)); +static void new_filename PROTO((char *)); +static int Return PROTO((int)); +static void hsentercontext PROTO((int)); /* Special file handling for IMPORTS */ /* Note: imports only ever go *one deep* (hence no need for a stack) WDP 94/09 */ @@ -1392,11 +1399,65 @@ static int StateDepth = -1; are _exclusive_. All rules should be prefixed with an appropriate list of start states. */ +#define Char 1 +#define CharEsc 2 +#define Code 3 +#define Comment 4 +#define GlaExt 5 +#define GhcPragma 6 +#define UserPragma 7 +#define String 8 +#define StringEsc 9 + /* Macros after this point can all be overridden by user definitions in * section 1. */ +#ifndef YY_SKIP_YYWRAP +#ifdef __cplusplus +extern "C" int yywrap YY_PROTO(( void )); +#else +extern int yywrap YY_PROTO(( void )); +#endif +#endif + +#ifndef YY_NO_UNPUT +static void yyunput YY_PROTO(( int c, char *buf_ptr )); +#endif + +#ifndef yytext_ptr +static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); +#endif + +#ifndef YY_NO_INPUT +#ifdef __cplusplus +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 +#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 @@ -1433,9 +1494,15 @@ YY_MALLOC_DECL #define YY_INPUT(buf,result,max_size) \ if ( yy_current_buffer->yy_is_interactive ) \ { \ - int c = getc( yyin ); \ - result = c == EOF ? 0 : 1; \ - buf[0] = (char) c; \ + int c = '*', n; \ + for ( n = 0; n < max_size && \ + (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ + buf[n] = (char) c; \ + if ( c == '\n' ) \ + buf[n++] = (char) c; \ + if ( c == EOF && ferror( yyin ) ) \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + result = n; \ } \ else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \ && ferror( yyin ) ) \ @@ -1479,13 +1546,19 @@ YY_MALLOC_DECL #define YY_BREAK break; #endif +#define YY_RULE_SETUP \ + if ( yyleng > 0 ) \ + yy_current_buffer->yy_at_bol = \ + (yytext[yyleng - 1] == '\n'); \ + YY_USER_ACTION + YY_DECL { register yy_state_type yy_current_state; register char *yy_cp, *yy_bp; register int yy_act; -# line 274 "yaccParser/hslexer.flex" +#line 277 "yaccParser/hslexer.flex" @@ -1498,6 +1571,8 @@ YY_DECL if ( yy_init ) { + yy_init = 0; + #ifdef YY_USER_INIT YY_USER_INIT; #endif @@ -1511,15 +1586,11 @@ YY_DECL if ( ! yyout ) yyout = stdout; - if ( yy_current_buffer ) - yy_init_buffer( yy_current_buffer, yyin ); - else + if ( ! yy_current_buffer ) yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); yy_load_buffer_state(); - - yy_init = 0; } while ( 1 ) /* loops until end-of-file is reached */ @@ -1535,8 +1606,7 @@ YY_DECL yy_bp = yy_cp; yy_current_state = yy_start; - if ( yy_bp[-1] == '\n' ) - ++yy_current_state; + yy_current_state += YY_AT_BOL(); yy_match: do { @@ -1549,16 +1619,22 @@ yy_match: 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 >= 838 ) + if ( yy_current_state >= 743 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 2201 ); + while ( yy_base[yy_current_state] != 2300 ); yy_find_action: yy_act = yy_accept[yy_current_state]; + if ( yy_act == 0 ) + { /* have to back up */ + yy_cp = yy_last_accepting_cpos; + yy_current_state = yy_last_accepting_state; + yy_act = yy_accept[yy_current_state]; + } YY_DO_BEFORE_ACTION; @@ -1576,8 +1652,8 @@ do_action: /* This label is used only to access EOF actions. */ goto yy_find_action; case 1: -YY_USER_ACTION -# line 283 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 286 "yaccParser/hslexer.flex" { char tempf[FILENAME_SIZE]; sscanf(yytext+1, "%d \"%[^\"]", &hslineno, tempf); @@ -1586,8 +1662,8 @@ YY_USER_ACTION } YY_BREAK case 2: -YY_USER_ACTION -# line 290 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 293 "yaccParser/hslexer.flex" { char tempf[FILENAME_SIZE]; sscanf(yytext+5, "%d \"%[^\"]", &hslineno, tempf); @@ -1596,8 +1672,8 @@ YY_USER_ACTION } YY_BREAK case 3: -YY_USER_ACTION -# line 297 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 300 "yaccParser/hslexer.flex" { /* partain: pragma-style line directive */ char tempf[FILENAME_SIZE]; @@ -1607,15 +1683,15 @@ YY_USER_ACTION } YY_BREAK case 4: -YY_USER_ACTION -# line 304 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 307 "yaccParser/hslexer.flex" { sscanf(yytext+33,"%d ",&thisIfacePragmaVersion); } YY_BREAK case 5: -YY_USER_ACTION -# line 307 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 310 "yaccParser/hslexer.flex" { if ( ignorePragmas || thisIfacePragmaVersion < minAcceptablePragmaVersion || @@ -1629,253 +1705,265 @@ YY_USER_ACTION } YY_BREAK case 6: -YY_USER_ACTION -# line 318 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 321 "yaccParser/hslexer.flex" { RETURN(NO_PRAGMA); } YY_BREAK case 7: -YY_USER_ACTION -# line 319 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 322 "yaccParser/hslexer.flex" { RETURN(NOINFO_PRAGMA); } YY_BREAK case 8: -YY_USER_ACTION -# line 320 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 323 "yaccParser/hslexer.flex" { RETURN(ABSTRACT_PRAGMA); } YY_BREAK case 9: -YY_USER_ACTION -# line 321 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 324 "yaccParser/hslexer.flex" { RETURN(DEFOREST_PRAGMA); } YY_BREAK case 10: -YY_USER_ACTION -# line 322 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 325 "yaccParser/hslexer.flex" { RETURN(SPECIALISE_PRAGMA); } YY_BREAK case 11: -YY_USER_ACTION -# line 323 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 326 "yaccParser/hslexer.flex" { RETURN(MODNAME_PRAGMA); } YY_BREAK case 12: -YY_USER_ACTION -# line 324 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 327 "yaccParser/hslexer.flex" { RETURN(ARITY_PRAGMA); } YY_BREAK case 13: -YY_USER_ACTION -# line 325 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 328 "yaccParser/hslexer.flex" { RETURN(UPDATE_PRAGMA); } YY_BREAK case 14: -YY_USER_ACTION -# line 326 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 329 "yaccParser/hslexer.flex" { RETURN(STRICTNESS_PRAGMA); } YY_BREAK case 15: -YY_USER_ACTION -# line 327 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 330 "yaccParser/hslexer.flex" { RETURN(KIND_PRAGMA); } YY_BREAK case 16: -YY_USER_ACTION -# line 328 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 331 "yaccParser/hslexer.flex" { RETURN(MAGIC_UNFOLDING_PRAGMA); } YY_BREAK case 17: -YY_USER_ACTION -# line 329 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 332 "yaccParser/hslexer.flex" { RETURN(UNFOLDING_PRAGMA); } YY_BREAK case 18: -YY_USER_ACTION -# line 331 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 334 "yaccParser/hslexer.flex" { RETURN(COCON); } YY_BREAK case 19: -YY_USER_ACTION -# line 332 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 335 "yaccParser/hslexer.flex" { RETURN(COPRIM); } YY_BREAK case 20: -YY_USER_ACTION -# line 333 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 336 "yaccParser/hslexer.flex" { RETURN(COAPP); } YY_BREAK case 21: -YY_USER_ACTION -# line 334 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 337 "yaccParser/hslexer.flex" { RETURN(COTYAPP); } YY_BREAK case 22: -YY_USER_ACTION -# line 335 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 338 "yaccParser/hslexer.flex" { RETURN(CO_ALG_ALTS); } YY_BREAK case 23: -YY_USER_ACTION -# line 336 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 339 "yaccParser/hslexer.flex" { RETURN(CO_PRIM_ALTS); } YY_BREAK case 24: -YY_USER_ACTION -# line 337 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 340 "yaccParser/hslexer.flex" { RETURN(CO_NO_DEFAULT); } YY_BREAK case 25: -YY_USER_ACTION -# line 338 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 341 "yaccParser/hslexer.flex" { RETURN(CO_LETREC); } YY_BREAK case 26: -YY_USER_ACTION -# line 340 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 343 "yaccParser/hslexer.flex" { RETURN(CO_PRELUDE_DICTS_CC); } YY_BREAK case 27: -YY_USER_ACTION -# line 341 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 344 "yaccParser/hslexer.flex" { RETURN(CO_ALL_DICTS_CC); } YY_BREAK case 28: -YY_USER_ACTION -# line 342 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 345 "yaccParser/hslexer.flex" { RETURN(CO_USER_CC); } YY_BREAK case 29: -YY_USER_ACTION -# line 343 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 346 "yaccParser/hslexer.flex" { RETURN(CO_AUTO_CC); } YY_BREAK case 30: -YY_USER_ACTION -# line 344 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 347 "yaccParser/hslexer.flex" { RETURN(CO_DICT_CC); } YY_BREAK case 31: -YY_USER_ACTION -# line 346 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 349 "yaccParser/hslexer.flex" { RETURN(CO_DUPD_CC); } YY_BREAK case 32: -YY_USER_ACTION -# line 347 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 350 "yaccParser/hslexer.flex" { RETURN(CO_CAF_CC); } YY_BREAK case 33: -YY_USER_ACTION -# line 349 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 352 "yaccParser/hslexer.flex" { RETURN(CO_SDSEL_ID); } YY_BREAK case 34: -YY_USER_ACTION -# line 350 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 353 "yaccParser/hslexer.flex" { RETURN(CO_METH_ID); } YY_BREAK case 35: -YY_USER_ACTION -# line 351 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 354 "yaccParser/hslexer.flex" { RETURN(CO_DEFM_ID); } YY_BREAK case 36: -YY_USER_ACTION -# line 352 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 355 "yaccParser/hslexer.flex" { RETURN(CO_DFUN_ID); } YY_BREAK case 37: -YY_USER_ACTION -# line 353 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 356 "yaccParser/hslexer.flex" { RETURN(CO_CONSTM_ID); } YY_BREAK case 38: -YY_USER_ACTION -# line 354 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 357 "yaccParser/hslexer.flex" { RETURN(CO_SPEC_ID); } YY_BREAK case 39: -YY_USER_ACTION -# line 355 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 358 "yaccParser/hslexer.flex" { RETURN(CO_WRKR_ID); } YY_BREAK case 40: -YY_USER_ACTION -# line 356 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 359 "yaccParser/hslexer.flex" { RETURN(CO_ORIG_NM); /* fully-qualified original name*/ } YY_BREAK case 41: -YY_USER_ACTION -# line 358 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 361 "yaccParser/hslexer.flex" { RETURN(UNFOLD_ALWAYS); } YY_BREAK case 42: -YY_USER_ACTION -# line 359 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 362 "yaccParser/hslexer.flex" { RETURN(UNFOLD_IF_ARGS); } YY_BREAK case 43: -YY_USER_ACTION -# line 361 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 364 "yaccParser/hslexer.flex" { RETURN(NOREP_INTEGER); } YY_BREAK case 44: -YY_USER_ACTION -# line 362 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 365 "yaccParser/hslexer.flex" { RETURN(NOREP_RATIONAL); } YY_BREAK case 45: -YY_USER_ACTION -# line 363 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 366 "yaccParser/hslexer.flex" { RETURN(NOREP_STRING); } YY_BREAK case 46: -YY_USER_ACTION -# line 365 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 368 "yaccParser/hslexer.flex" { POP_STATE; RETURN(END_PRAGMA); } YY_BREAK case 47: -YY_USER_ACTION -# line 367 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 370 "yaccParser/hslexer.flex" { PUSH_STATE(UserPragma); RETURN(SPECIALISE_UPRAGMA); } YY_BREAK case 48: -YY_USER_ACTION -# line 371 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 374 "yaccParser/hslexer.flex" { PUSH_STATE(UserPragma); RETURN(INLINE_UPRAGMA); } YY_BREAK case 49: -YY_USER_ACTION -# line 375 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 378 "yaccParser/hslexer.flex" { PUSH_STATE(UserPragma); RETURN(MAGIC_UNFOLDING_UPRAGMA); } YY_BREAK case 50: -YY_USER_ACTION -# line 379 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 382 "yaccParser/hslexer.flex" { PUSH_STATE(UserPragma); RETURN(DEFOREST_UPRAGMA); } YY_BREAK case 51: -YY_USER_ACTION -# line 383 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 386 "yaccParser/hslexer.flex" { PUSH_STATE(UserPragma); RETURN(ABSTRACT_UPRAGMA); } YY_BREAK case 52: -YY_USER_ACTION -# line 387 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 390 "yaccParser/hslexer.flex" +{ + fprintf(stderr, "Warning: \"%s\", line %d: Unrecognised pragma '", + input_filename, hsplineno); + format_string(stderr, (unsigned char *) yytext, yyleng); + fputs("'\n", stderr); + nested_comments = 1; + PUSH_STATE(Comment); + } + YY_BREAK +case 53: +YY_RULE_SETUP +#line 398 "yaccParser/hslexer.flex" { POP_STATE; RETURN(END_UPRAGMA); } YY_BREAK @@ -1884,149 +1972,149 @@ YY_USER_ACTION * intentionally accepted as a keyword even for normal . */ -case 53: -YY_USER_ACTION -# line 396 "yaccParser/hslexer.flex" +case 54: +YY_RULE_SETUP +#line 407 "yaccParser/hslexer.flex" { RETURN(CASE); } YY_BREAK -case 54: -YY_USER_ACTION -# line 397 "yaccParser/hslexer.flex" +case 55: +YY_RULE_SETUP +#line 408 "yaccParser/hslexer.flex" { RETURN(CLASS); } YY_BREAK -case 55: -YY_USER_ACTION -# line 398 "yaccParser/hslexer.flex" +case 56: +YY_RULE_SETUP +#line 409 "yaccParser/hslexer.flex" { RETURN(DATA); } YY_BREAK -case 56: -YY_USER_ACTION -# line 399 "yaccParser/hslexer.flex" +case 57: +YY_RULE_SETUP +#line 410 "yaccParser/hslexer.flex" { RETURN(DEFAULT); } YY_BREAK -case 57: -YY_USER_ACTION -# line 400 "yaccParser/hslexer.flex" +case 58: +YY_RULE_SETUP +#line 411 "yaccParser/hslexer.flex" { RETURN(DERIVING); } YY_BREAK -case 58: -YY_USER_ACTION -# line 401 "yaccParser/hslexer.flex" +case 59: +YY_RULE_SETUP +#line 412 "yaccParser/hslexer.flex" { RETURN(ELSE); } YY_BREAK -case 59: -YY_USER_ACTION -# line 402 "yaccParser/hslexer.flex" +case 60: +YY_RULE_SETUP +#line 413 "yaccParser/hslexer.flex" { RETURN(HIDING); } YY_BREAK -case 60: -YY_USER_ACTION -# line 403 "yaccParser/hslexer.flex" +case 61: +YY_RULE_SETUP +#line 414 "yaccParser/hslexer.flex" { RETURN(IF); } YY_BREAK -case 61: -YY_USER_ACTION -# line 404 "yaccParser/hslexer.flex" +case 62: +YY_RULE_SETUP +#line 415 "yaccParser/hslexer.flex" { RETURN(IMPORT); } YY_BREAK -case 62: -YY_USER_ACTION -# line 405 "yaccParser/hslexer.flex" +case 63: +YY_RULE_SETUP +#line 416 "yaccParser/hslexer.flex" { RETURN(INFIX); } YY_BREAK -case 63: -YY_USER_ACTION -# line 406 "yaccParser/hslexer.flex" +case 64: +YY_RULE_SETUP +#line 417 "yaccParser/hslexer.flex" { RETURN(INFIXL); } YY_BREAK -case 64: -YY_USER_ACTION -# line 407 "yaccParser/hslexer.flex" +case 65: +YY_RULE_SETUP +#line 418 "yaccParser/hslexer.flex" { RETURN(INFIXR); } YY_BREAK -case 65: -YY_USER_ACTION -# line 408 "yaccParser/hslexer.flex" +case 66: +YY_RULE_SETUP +#line 419 "yaccParser/hslexer.flex" { RETURN(INSTANCE); } YY_BREAK -case 66: -YY_USER_ACTION -# line 409 "yaccParser/hslexer.flex" +case 67: +YY_RULE_SETUP +#line 420 "yaccParser/hslexer.flex" { RETURN(INTERFACE); } YY_BREAK -case 67: -YY_USER_ACTION -# line 410 "yaccParser/hslexer.flex" +case 68: +YY_RULE_SETUP +#line 421 "yaccParser/hslexer.flex" { RETURN(MODULE); } YY_BREAK -case 68: -YY_USER_ACTION -# line 411 "yaccParser/hslexer.flex" +case 69: +YY_RULE_SETUP +#line 422 "yaccParser/hslexer.flex" { RETURN(OF); } YY_BREAK -case 69: -YY_USER_ACTION -# line 412 "yaccParser/hslexer.flex" +case 70: +YY_RULE_SETUP +#line 423 "yaccParser/hslexer.flex" { RETURN(RENAMING); } YY_BREAK -case 70: -YY_USER_ACTION -# line 413 "yaccParser/hslexer.flex" +case 71: +YY_RULE_SETUP +#line 424 "yaccParser/hslexer.flex" { RETURN(THEN); } YY_BREAK -case 71: -YY_USER_ACTION -# line 414 "yaccParser/hslexer.flex" +case 72: +YY_RULE_SETUP +#line 425 "yaccParser/hslexer.flex" { RETURN(TO); } YY_BREAK -case 72: -YY_USER_ACTION -# line 415 "yaccParser/hslexer.flex" +case 73: +YY_RULE_SETUP +#line 426 "yaccParser/hslexer.flex" { RETURN(TYPE); } YY_BREAK -case 73: -YY_USER_ACTION -# line 416 "yaccParser/hslexer.flex" +case 74: +YY_RULE_SETUP +#line 427 "yaccParser/hslexer.flex" { RETURN(WHERE); } YY_BREAK -case 74: -YY_USER_ACTION -# line 417 "yaccParser/hslexer.flex" +case 75: +YY_RULE_SETUP +#line 428 "yaccParser/hslexer.flex" { RETURN(IN); } YY_BREAK -case 75: -YY_USER_ACTION -# line 418 "yaccParser/hslexer.flex" +case 76: +YY_RULE_SETUP +#line 429 "yaccParser/hslexer.flex" { RETURN(LET); } YY_BREAK -case 76: -YY_USER_ACTION -# line 419 "yaccParser/hslexer.flex" +case 77: +YY_RULE_SETUP +#line 430 "yaccParser/hslexer.flex" { RETURN(CCALL); } YY_BREAK -case 77: -YY_USER_ACTION -# line 420 "yaccParser/hslexer.flex" +case 78: +YY_RULE_SETUP +#line 431 "yaccParser/hslexer.flex" { RETURN(CCALL_GC); } YY_BREAK -case 78: -YY_USER_ACTION -# line 421 "yaccParser/hslexer.flex" +case 79: +YY_RULE_SETUP +#line 432 "yaccParser/hslexer.flex" { RETURN(CASM); } YY_BREAK -case 79: -YY_USER_ACTION -# line 422 "yaccParser/hslexer.flex" +case 80: +YY_RULE_SETUP +#line 433 "yaccParser/hslexer.flex" { RETURN(CASM_GC); } YY_BREAK -case 80: -YY_USER_ACTION -# line 423 "yaccParser/hslexer.flex" +case 81: +YY_RULE_SETUP +#line 434 "yaccParser/hslexer.flex" { RETURN(SCC); } YY_BREAK -case 81: -YY_USER_ACTION -# line 424 "yaccParser/hslexer.flex" +case 82: +YY_RULE_SETUP +#line 435 "yaccParser/hslexer.flex" { RETURN(FORALL); } YY_BREAK @@ -2034,119 +2122,119 @@ YY_USER_ACTION * Haskell operators. Nothing special about these. */ -case 82: -YY_USER_ACTION -# line 432 "yaccParser/hslexer.flex" +case 83: +YY_RULE_SETUP +#line 443 "yaccParser/hslexer.flex" { RETURN(DOTDOT); } YY_BREAK -case 83: -YY_USER_ACTION -# line 433 "yaccParser/hslexer.flex" +case 84: +YY_RULE_SETUP +#line 444 "yaccParser/hslexer.flex" { RETURN(SEMI); } YY_BREAK -case 84: -YY_USER_ACTION -# line 434 "yaccParser/hslexer.flex" +case 85: +YY_RULE_SETUP +#line 445 "yaccParser/hslexer.flex" { RETURN(COMMA); } YY_BREAK -case 85: -YY_USER_ACTION -# line 435 "yaccParser/hslexer.flex" +case 86: +YY_RULE_SETUP +#line 446 "yaccParser/hslexer.flex" { RETURN(VBAR); } YY_BREAK -case 86: -YY_USER_ACTION -# line 436 "yaccParser/hslexer.flex" +case 87: +YY_RULE_SETUP +#line 447 "yaccParser/hslexer.flex" { RETURN(EQUAL); } YY_BREAK -case 87: -YY_USER_ACTION -# line 437 "yaccParser/hslexer.flex" +case 88: +YY_RULE_SETUP +#line 448 "yaccParser/hslexer.flex" { RETURN(LARROW); } YY_BREAK -case 88: -YY_USER_ACTION -# line 438 "yaccParser/hslexer.flex" +case 89: +YY_RULE_SETUP +#line 449 "yaccParser/hslexer.flex" { RETURN(RARROW); } YY_BREAK -case 89: -YY_USER_ACTION -# line 439 "yaccParser/hslexer.flex" +case 90: +YY_RULE_SETUP +#line 450 "yaccParser/hslexer.flex" { RETURN(DARROW); } YY_BREAK -case 90: -YY_USER_ACTION -# line 440 "yaccParser/hslexer.flex" +case 91: +YY_RULE_SETUP +#line 451 "yaccParser/hslexer.flex" { RETURN(DCOLON); } YY_BREAK -case 91: -YY_USER_ACTION -# line 441 "yaccParser/hslexer.flex" +case 92: +YY_RULE_SETUP +#line 452 "yaccParser/hslexer.flex" { RETURN(OPAREN); } YY_BREAK -case 92: -YY_USER_ACTION -# line 442 "yaccParser/hslexer.flex" +case 93: +YY_RULE_SETUP +#line 453 "yaccParser/hslexer.flex" { RETURN(CPAREN); } YY_BREAK -case 93: -YY_USER_ACTION -# line 443 "yaccParser/hslexer.flex" +case 94: +YY_RULE_SETUP +#line 454 "yaccParser/hslexer.flex" { RETURN(OBRACK); } YY_BREAK -case 94: -YY_USER_ACTION -# line 444 "yaccParser/hslexer.flex" +case 95: +YY_RULE_SETUP +#line 455 "yaccParser/hslexer.flex" { RETURN(CBRACK); } YY_BREAK -case 95: -YY_USER_ACTION -# line 445 "yaccParser/hslexer.flex" +case 96: +YY_RULE_SETUP +#line 456 "yaccParser/hslexer.flex" { RETURN(OCURLY); } YY_BREAK -case 96: -YY_USER_ACTION -# line 446 "yaccParser/hslexer.flex" +case 97: +YY_RULE_SETUP +#line 457 "yaccParser/hslexer.flex" { RETURN(CCURLY); } YY_BREAK -case 97: -YY_USER_ACTION -# line 447 "yaccParser/hslexer.flex" +case 98: +YY_RULE_SETUP +#line 458 "yaccParser/hslexer.flex" { RETURN(PLUS); } YY_BREAK -case 98: -YY_USER_ACTION -# line 448 "yaccParser/hslexer.flex" +case 99: +YY_RULE_SETUP +#line 459 "yaccParser/hslexer.flex" { RETURN(AT); } YY_BREAK -case 99: -YY_USER_ACTION -# line 449 "yaccParser/hslexer.flex" +case 100: +YY_RULE_SETUP +#line 460 "yaccParser/hslexer.flex" { RETURN(LAMBDA); } YY_BREAK -case 100: -YY_USER_ACTION -# line 450 "yaccParser/hslexer.flex" +case 101: +YY_RULE_SETUP +#line 461 "yaccParser/hslexer.flex" { RETURN(TYLAMBDA); } YY_BREAK -case 101: -YY_USER_ACTION -# line 451 "yaccParser/hslexer.flex" +case 102: +YY_RULE_SETUP +#line 462 "yaccParser/hslexer.flex" { RETURN(WILDCARD); } YY_BREAK -case 102: -YY_USER_ACTION -# line 452 "yaccParser/hslexer.flex" +case 103: +YY_RULE_SETUP +#line 463 "yaccParser/hslexer.flex" { RETURN(BQUOTE); } YY_BREAK -case 103: -YY_USER_ACTION -# line 453 "yaccParser/hslexer.flex" +case 104: +YY_RULE_SETUP +#line 464 "yaccParser/hslexer.flex" { RETURN(LAZY); } YY_BREAK -case 104: -YY_USER_ACTION -# line 454 "yaccParser/hslexer.flex" +case 105: +YY_RULE_SETUP +#line 465 "yaccParser/hslexer.flex" { RETURN(MINUS); } YY_BREAK @@ -2156,49 +2244,49 @@ YY_USER_ACTION * arbitrary precision numbers. */ -case 105: -YY_USER_ACTION -# line 464 "yaccParser/hslexer.flex" +case 106: +YY_RULE_SETUP +#line 475 "yaccParser/hslexer.flex" { /* octal */ yylval.uid = xstrndup(yytext, yyleng - 1); RETURN(INTPRIM); } YY_BREAK -case 106: -YY_USER_ACTION -# line 468 "yaccParser/hslexer.flex" +case 107: +YY_RULE_SETUP +#line 479 "yaccParser/hslexer.flex" { /* octal */ yylval.uid = xstrndup(yytext, yyleng); RETURN(INTEGER); } YY_BREAK -case 107: -YY_USER_ACTION -# line 472 "yaccParser/hslexer.flex" +case 108: +YY_RULE_SETUP +#line 483 "yaccParser/hslexer.flex" { /* hexadecimal */ yylval.uid = xstrndup(yytext, yyleng - 1); RETURN(INTPRIM); } YY_BREAK -case 108: -YY_USER_ACTION -# line 476 "yaccParser/hslexer.flex" +case 109: +YY_RULE_SETUP +#line 487 "yaccParser/hslexer.flex" { /* hexadecimal */ yylval.uid = xstrndup(yytext, yyleng); RETURN(INTEGER); } YY_BREAK -case 109: -YY_USER_ACTION -# line 480 "yaccParser/hslexer.flex" +case 110: +YY_RULE_SETUP +#line 491 "yaccParser/hslexer.flex" { yylval.uid = xstrndup(yytext, yyleng - 1); RETURN(INTPRIM); } YY_BREAK -case 110: -YY_USER_ACTION -# line 484 "yaccParser/hslexer.flex" +case 111: +YY_RULE_SETUP +#line 495 "yaccParser/hslexer.flex" { yylval.uid = xstrndup(yytext, yyleng); RETURN(INTEGER); @@ -2209,25 +2297,25 @@ YY_USER_ACTION * Floats and (for Glasgow extensions) primitive floats/doubles. */ -case 111: -YY_USER_ACTION -# line 495 "yaccParser/hslexer.flex" +case 112: +YY_RULE_SETUP +#line 506 "yaccParser/hslexer.flex" { yylval.uid = xstrndup(yytext, yyleng - 2); RETURN(DOUBLEPRIM); } YY_BREAK -case 112: -YY_USER_ACTION -# line 499 "yaccParser/hslexer.flex" +case 113: +YY_RULE_SETUP +#line 510 "yaccParser/hslexer.flex" { yylval.uid = xstrndup(yytext, yyleng - 1); RETURN(FLOATPRIM); } YY_BREAK -case 113: -YY_USER_ACTION -# line 503 "yaccParser/hslexer.flex" +case 114: +YY_RULE_SETUP +#line 514 "yaccParser/hslexer.flex" { yylval.uid = xstrndup(yytext, yyleng); RETURN(FLOAT); @@ -2238,9 +2326,9 @@ YY_USER_ACTION * Funky ``foo'' style C literals for Glasgow extensions */ -case 114: -YY_USER_ACTION -# line 514 "yaccParser/hslexer.flex" +case 115: +YY_RULE_SETUP +#line 525 "yaccParser/hslexer.flex" { hsnewid(yytext + 2, yyleng - 4); RETURN(CLITLIT); @@ -2252,35 +2340,40 @@ YY_USER_ACTION * for Glasgow extensions. */ -case 115: -YY_USER_ACTION -# line 526 "yaccParser/hslexer.flex" -{ hsnewid(yytext, yyleng); RETURN(CONID); } - YY_BREAK case 116: -YY_USER_ACTION -# line 527 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 537 "yaccParser/hslexer.flex" { hsnewid(yytext, yyleng); RETURN(CONID); } YY_BREAK case 117: -YY_USER_ACTION -# line 528 "yaccParser/hslexer.flex" -{ hsnewid(yytext, yyleng); RETURN(TYVAR_TEMPLATE_ID); } +YY_RULE_SETUP +#line 538 "yaccParser/hslexer.flex" +{ hsnewid(yytext, yyleng); RETURN(CONID); } YY_BREAK case 118: -YY_USER_ACTION -# line 530 "yaccParser/hslexer.flex" +YY_RULE_SETUP +#line 539 "yaccParser/hslexer.flex" +{ hsnewid(yytext, yyleng); RETURN(TYVAR_TEMPLATE_ID); } + YY_BREAK + +/* These SHOULDNAE work in "Code" (sigh) */ + +case 119: +YY_RULE_SETUP +#line 544 "yaccParser/hslexer.flex" { + if (! (nonstandardFlag || in_interface)) { + char errbuf[ERR_BUF_SIZE]; + sprintf(errbuf, "Non-standard identifier (trailing `#'): %s\n", yytext); + hsperror(errbuf); + } hsnewid(yytext, yyleng); RETURN(_isconstr(yytext) ? CONID : VARID); } YY_BREAK - -/* This SHOULDNAE work in "Code" (sigh) */ - -case 119: -YY_USER_ACTION -# line 537 "yaccParser/hslexer.flex" +case 120: +YY_RULE_SETUP +#line 553 "yaccParser/hslexer.flex" { if (! (nonstandardFlag || in_interface)) { char errbuf[ERR_BUF_SIZE]; @@ -2292,17 +2385,17 @@ YY_USER_ACTION /* NB: ^^^^^^^^ : not the macro! */ } YY_BREAK -case 120: -YY_USER_ACTION -# line 547 "yaccParser/hslexer.flex" +case 121: +YY_RULE_SETUP +#line 563 "yaccParser/hslexer.flex" { hsnewid(yytext, yyleng); RETURN(_isconstr(yytext) ? CONID : VARID); } YY_BREAK -case 121: -YY_USER_ACTION -# line 551 "yaccParser/hslexer.flex" +case 122: +YY_RULE_SETUP +#line 567 "yaccParser/hslexer.flex" { hsnewid(yytext, yyleng); RETURN(_isconstr(yytext) ? CONSYM : VARSYM); @@ -2317,9 +2410,9 @@ YY_USER_ACTION la-la land constructs as `{-a 900-line comment-} foo`. (WDP 94/12) */ -case 122: -YY_USER_ACTION -# line 566 "yaccParser/hslexer.flex" +case 123: +YY_RULE_SETUP +#line 582 "yaccParser/hslexer.flex" { hsnewid(yytext + 1, yyleng - 2); RETURN(_isconstr(yytext+1) ? CONSYM : VARSYM); @@ -2338,33 +2431,33 @@ YY_USER_ACTION * are ignored with a warning. */ -case 123: -YY_USER_ACTION -# line 585 "yaccParser/hslexer.flex" +case 124: +YY_RULE_SETUP +#line 601 "yaccParser/hslexer.flex" { yylval.uhstring = installHstring(1, yytext+1); RETURN(CHARPRIM); } YY_BREAK -case 124: -YY_USER_ACTION -# line 589 "yaccParser/hslexer.flex" +case 125: +YY_RULE_SETUP +#line 605 "yaccParser/hslexer.flex" { yylval.uhstring = installHstring(1, yytext+1); RETURN(CHAR); } YY_BREAK -case 125: -YY_USER_ACTION -# line 593 "yaccParser/hslexer.flex" +case 126: +YY_RULE_SETUP +#line 609 "yaccParser/hslexer.flex" {char errbuf[ERR_BUF_SIZE]; sprintf(errbuf, "'' is not a valid character (or string) literal\n"); hsperror(errbuf); } YY_BREAK -case 126: -YY_USER_ACTION -# line 597 "yaccParser/hslexer.flex" +case 127: +YY_RULE_SETUP +#line 613 "yaccParser/hslexer.flex" { hsmlcolno = hspcolno; cleartext(); @@ -2372,9 +2465,9 @@ YY_USER_ACTION PUSH_STATE(Char); } YY_BREAK -case 127: -YY_USER_ACTION -# line 603 "yaccParser/hslexer.flex" +case 128: +YY_RULE_SETUP +#line 619 "yaccParser/hslexer.flex" { unsigned length; char *text; @@ -2401,9 +2494,9 @@ YY_USER_ACTION RETURN(CHARPRIM); } YY_BREAK -case 128: -YY_USER_ACTION -# line 628 "yaccParser/hslexer.flex" +case 129: +YY_RULE_SETUP +#line 644 "yaccParser/hslexer.flex" { unsigned length; char *text; @@ -2424,9 +2517,9 @@ YY_USER_ACTION RETURN(CHAR); } YY_BREAK -case 129: -YY_USER_ACTION -# line 647 "yaccParser/hslexer.flex" +case 130: +YY_RULE_SETUP +#line 663 "yaccParser/hslexer.flex" { addtext(yytext, yyleng); } YY_BREAK @@ -2443,26 +2536,26 @@ YY_USER_ACTION * of normal characters and the close ". */ -case 130: -YY_USER_ACTION -# line 665 "yaccParser/hslexer.flex" +case 131: +YY_RULE_SETUP +#line 681 "yaccParser/hslexer.flex" { yylval.uhstring = installHstring(yyleng-3, yytext+1); /* the -3 accounts for the " on front, "# on the end */ RETURN(STRINGPRIM); } YY_BREAK -case 131: -YY_USER_ACTION -# line 670 "yaccParser/hslexer.flex" +case 132: +YY_RULE_SETUP +#line 686 "yaccParser/hslexer.flex" { yylval.uhstring = installHstring(yyleng-2, yytext+1); RETURN(STRING); } YY_BREAK -case 132: -YY_USER_ACTION -# line 674 "yaccParser/hslexer.flex" +case 133: +YY_RULE_SETUP +#line 690 "yaccParser/hslexer.flex" { hsmlcolno = hspcolno; cleartext(); @@ -2470,9 +2563,9 @@ YY_USER_ACTION PUSH_STATE(String); } YY_BREAK -case 133: -YY_USER_ACTION -# line 680 "yaccParser/hslexer.flex" +case 134: +YY_RULE_SETUP +#line 696 "yaccParser/hslexer.flex" { unsigned length; char *text; @@ -2492,9 +2585,9 @@ YY_USER_ACTION RETURN(STRINGPRIM); } YY_BREAK -case 134: -YY_USER_ACTION -# line 698 "yaccParser/hslexer.flex" +case 135: +YY_RULE_SETUP +#line 714 "yaccParser/hslexer.flex" { unsigned length; char *text; @@ -2508,9 +2601,9 @@ YY_USER_ACTION RETURN(STRING); } YY_BREAK -case 135: -YY_USER_ACTION -# line 710 "yaccParser/hslexer.flex" +case 136: +YY_RULE_SETUP +#line 726 "yaccParser/hslexer.flex" { addtext(yytext, yyleng); } YY_BREAK @@ -2528,228 +2621,228 @@ YY_USER_ACTION * also needs to be able to escape the escape character ('\\'). Sigh. */ -case 136: -YY_USER_ACTION -# line 728 "yaccParser/hslexer.flex" +case 137: +YY_RULE_SETUP +#line 744 "yaccParser/hslexer.flex" { PUSH_STATE(CharEsc); } YY_BREAK -case 137: -YY_USER_ACTION -# line 729 "yaccParser/hslexer.flex" +case 138: +YY_RULE_SETUP +#line 745 "yaccParser/hslexer.flex" /* Ignore */ ; YY_BREAK -case 138: -YY_USER_ACTION -# line 730 "yaccParser/hslexer.flex" +case 139: +YY_RULE_SETUP +#line 746 "yaccParser/hslexer.flex" { PUSH_STATE(StringEsc); noGap = TRUE; } YY_BREAK -case 139: -YY_USER_ACTION -# line 732 "yaccParser/hslexer.flex" +case 140: +YY_RULE_SETUP +#line 748 "yaccParser/hslexer.flex" { addchar(*yytext); POP_STATE; } YY_BREAK -case 140: -YY_USER_ACTION -# line 733 "yaccParser/hslexer.flex" +case 141: +YY_RULE_SETUP +#line 749 "yaccParser/hslexer.flex" { if (noGap) { addchar(*yytext); } POP_STATE; } YY_BREAK -case 141: -YY_USER_ACTION -# line 735 "yaccParser/hslexer.flex" +case 142: +YY_RULE_SETUP +#line 751 "yaccParser/hslexer.flex" { addchar(*yytext); POP_STATE; } YY_BREAK -case 142: -YY_USER_ACTION -# line 736 "yaccParser/hslexer.flex" +case 143: +YY_RULE_SETUP +#line 752 "yaccParser/hslexer.flex" { addchar('\000'); POP_STATE; } YY_BREAK -case 143: -YY_USER_ACTION -# line 737 "yaccParser/hslexer.flex" +case 144: +YY_RULE_SETUP +#line 753 "yaccParser/hslexer.flex" { addchar('\001'); POP_STATE; } YY_BREAK -case 144: -YY_USER_ACTION -# line 738 "yaccParser/hslexer.flex" +case 145: +YY_RULE_SETUP +#line 754 "yaccParser/hslexer.flex" { addchar('\002'); POP_STATE; } YY_BREAK -case 145: -YY_USER_ACTION -# line 739 "yaccParser/hslexer.flex" +case 146: +YY_RULE_SETUP +#line 755 "yaccParser/hslexer.flex" { addchar('\003'); POP_STATE; } YY_BREAK -case 146: -YY_USER_ACTION -# line 740 "yaccParser/hslexer.flex" +case 147: +YY_RULE_SETUP +#line 756 "yaccParser/hslexer.flex" { addchar('\004'); POP_STATE; } YY_BREAK -case 147: -YY_USER_ACTION -# line 741 "yaccParser/hslexer.flex" +case 148: +YY_RULE_SETUP +#line 757 "yaccParser/hslexer.flex" { addchar('\005'); POP_STATE; } YY_BREAK -case 148: -YY_USER_ACTION -# line 742 "yaccParser/hslexer.flex" +case 149: +YY_RULE_SETUP +#line 758 "yaccParser/hslexer.flex" { addchar('\006'); POP_STATE; } YY_BREAK -case 149: -# line 744 "yaccParser/hslexer.flex" case 150: -YY_USER_ACTION -# line 744 "yaccParser/hslexer.flex" +#line 760 "yaccParser/hslexer.flex" +case 151: +YY_RULE_SETUP +#line 760 "yaccParser/hslexer.flex" { addchar('\007'); POP_STATE; } YY_BREAK -case 151: -# line 746 "yaccParser/hslexer.flex" case 152: -YY_USER_ACTION -# line 746 "yaccParser/hslexer.flex" +#line 762 "yaccParser/hslexer.flex" +case 153: +YY_RULE_SETUP +#line 762 "yaccParser/hslexer.flex" { addchar('\010'); POP_STATE; } YY_BREAK -case 153: -# line 748 "yaccParser/hslexer.flex" case 154: -YY_USER_ACTION -# line 748 "yaccParser/hslexer.flex" +#line 764 "yaccParser/hslexer.flex" +case 155: +YY_RULE_SETUP +#line 764 "yaccParser/hslexer.flex" { addchar('\011'); POP_STATE; } YY_BREAK -case 155: -# line 750 "yaccParser/hslexer.flex" case 156: -YY_USER_ACTION -# line 750 "yaccParser/hslexer.flex" +#line 766 "yaccParser/hslexer.flex" +case 157: +YY_RULE_SETUP +#line 766 "yaccParser/hslexer.flex" { addchar('\012'); POP_STATE; } YY_BREAK -case 157: -# line 752 "yaccParser/hslexer.flex" case 158: -YY_USER_ACTION -# line 752 "yaccParser/hslexer.flex" +#line 768 "yaccParser/hslexer.flex" +case 159: +YY_RULE_SETUP +#line 768 "yaccParser/hslexer.flex" { addchar('\013'); POP_STATE; } YY_BREAK -case 159: -# line 754 "yaccParser/hslexer.flex" case 160: -YY_USER_ACTION -# line 754 "yaccParser/hslexer.flex" +#line 770 "yaccParser/hslexer.flex" +case 161: +YY_RULE_SETUP +#line 770 "yaccParser/hslexer.flex" { addchar('\014'); POP_STATE; } YY_BREAK -case 161: -# line 756 "yaccParser/hslexer.flex" case 162: -YY_USER_ACTION -# line 756 "yaccParser/hslexer.flex" +#line 772 "yaccParser/hslexer.flex" +case 163: +YY_RULE_SETUP +#line 772 "yaccParser/hslexer.flex" { addchar('\015'); POP_STATE; } YY_BREAK -case 163: -YY_USER_ACTION -# line 757 "yaccParser/hslexer.flex" +case 164: +YY_RULE_SETUP +#line 773 "yaccParser/hslexer.flex" { addchar('\016'); POP_STATE; } YY_BREAK -case 164: -YY_USER_ACTION -# line 758 "yaccParser/hslexer.flex" +case 165: +YY_RULE_SETUP +#line 774 "yaccParser/hslexer.flex" { addchar('\017'); POP_STATE; } YY_BREAK -case 165: -YY_USER_ACTION -# line 759 "yaccParser/hslexer.flex" +case 166: +YY_RULE_SETUP +#line 775 "yaccParser/hslexer.flex" { addchar('\020'); POP_STATE; } YY_BREAK -case 166: -YY_USER_ACTION -# line 760 "yaccParser/hslexer.flex" +case 167: +YY_RULE_SETUP +#line 776 "yaccParser/hslexer.flex" { addchar('\021'); POP_STATE; } YY_BREAK -case 167: -YY_USER_ACTION -# line 761 "yaccParser/hslexer.flex" +case 168: +YY_RULE_SETUP +#line 777 "yaccParser/hslexer.flex" { addchar('\022'); POP_STATE; } YY_BREAK -case 168: -YY_USER_ACTION -# line 762 "yaccParser/hslexer.flex" +case 169: +YY_RULE_SETUP +#line 778 "yaccParser/hslexer.flex" { addchar('\023'); POP_STATE; } YY_BREAK -case 169: -YY_USER_ACTION -# line 763 "yaccParser/hslexer.flex" +case 170: +YY_RULE_SETUP +#line 779 "yaccParser/hslexer.flex" { addchar('\024'); POP_STATE; } YY_BREAK -case 170: -YY_USER_ACTION -# line 764 "yaccParser/hslexer.flex" +case 171: +YY_RULE_SETUP +#line 780 "yaccParser/hslexer.flex" { addchar('\025'); POP_STATE; } YY_BREAK -case 171: -YY_USER_ACTION -# line 765 "yaccParser/hslexer.flex" +case 172: +YY_RULE_SETUP +#line 781 "yaccParser/hslexer.flex" { addchar('\026'); POP_STATE; } YY_BREAK -case 172: -YY_USER_ACTION -# line 766 "yaccParser/hslexer.flex" +case 173: +YY_RULE_SETUP +#line 782 "yaccParser/hslexer.flex" { addchar('\027'); POP_STATE; } YY_BREAK -case 173: -YY_USER_ACTION -# line 767 "yaccParser/hslexer.flex" +case 174: +YY_RULE_SETUP +#line 783 "yaccParser/hslexer.flex" { addchar('\030'); POP_STATE; } YY_BREAK -case 174: -YY_USER_ACTION -# line 768 "yaccParser/hslexer.flex" +case 175: +YY_RULE_SETUP +#line 784 "yaccParser/hslexer.flex" { addchar('\031'); POP_STATE; } YY_BREAK -case 175: -YY_USER_ACTION -# line 769 "yaccParser/hslexer.flex" +case 176: +YY_RULE_SETUP +#line 785 "yaccParser/hslexer.flex" { addchar('\032'); POP_STATE; } YY_BREAK -case 176: -YY_USER_ACTION -# line 770 "yaccParser/hslexer.flex" +case 177: +YY_RULE_SETUP +#line 786 "yaccParser/hslexer.flex" { addchar('\033'); POP_STATE; } YY_BREAK -case 177: -YY_USER_ACTION -# line 771 "yaccParser/hslexer.flex" +case 178: +YY_RULE_SETUP +#line 787 "yaccParser/hslexer.flex" { addchar('\034'); POP_STATE; } YY_BREAK -case 178: -YY_USER_ACTION -# line 772 "yaccParser/hslexer.flex" +case 179: +YY_RULE_SETUP +#line 788 "yaccParser/hslexer.flex" { addchar('\035'); POP_STATE; } YY_BREAK -case 179: -YY_USER_ACTION -# line 773 "yaccParser/hslexer.flex" +case 180: +YY_RULE_SETUP +#line 789 "yaccParser/hslexer.flex" { addchar('\036'); POP_STATE; } YY_BREAK -case 180: -YY_USER_ACTION -# line 774 "yaccParser/hslexer.flex" +case 181: +YY_RULE_SETUP +#line 790 "yaccParser/hslexer.flex" { addchar('\037'); POP_STATE; } YY_BREAK -case 181: -YY_USER_ACTION -# line 775 "yaccParser/hslexer.flex" +case 182: +YY_RULE_SETUP +#line 791 "yaccParser/hslexer.flex" { addchar('\040'); POP_STATE; } YY_BREAK -case 182: -YY_USER_ACTION -# line 776 "yaccParser/hslexer.flex" +case 183: +YY_RULE_SETUP +#line 792 "yaccParser/hslexer.flex" { addchar('\177'); POP_STATE; } YY_BREAK -case 183: -YY_USER_ACTION -# line 777 "yaccParser/hslexer.flex" +case 184: +YY_RULE_SETUP +#line 793 "yaccParser/hslexer.flex" { char c = yytext[1] - '@'; addchar(c); POP_STATE; } YY_BREAK -case 184: -YY_USER_ACTION -# line 778 "yaccParser/hslexer.flex" +case 185: +YY_RULE_SETUP +#line 794 "yaccParser/hslexer.flex" { int i = strtol(yytext, NULL, 10); if (i < NCHARS) { @@ -2763,9 +2856,9 @@ YY_USER_ACTION POP_STATE; } YY_BREAK -case 185: -YY_USER_ACTION -# line 790 "yaccParser/hslexer.flex" +case 186: +YY_RULE_SETUP +#line 806 "yaccParser/hslexer.flex" { int i = strtol(yytext + 1, NULL, 8); if (i < NCHARS) { @@ -2779,9 +2872,9 @@ YY_USER_ACTION POP_STATE; } YY_BREAK -case 186: -YY_USER_ACTION -# line 802 "yaccParser/hslexer.flex" +case 187: +YY_RULE_SETUP +#line 818 "yaccParser/hslexer.flex" { int i = strtol(yytext + 1, NULL, 16); if (i < NCHARS) { @@ -2800,13 +2893,17 @@ YY_USER_ACTION * Simple comments and whitespace. Normally, we would just ignore these, but * in case we're processing a string escape, we need to note that we've seen * a gap. + * + * Note that we cater for a comment line that *doesn't* end in a newline. + * This is incorrect, strictly speaking, but seems like the right thing + * to do. Reported by Rajiv Mirani. (WDP 95/08) */ -case 187: -# line 824 "yaccParser/hslexer.flex" case 188: -YY_USER_ACTION -# line 824 "yaccParser/hslexer.flex" +#line 844 "yaccParser/hslexer.flex" +case 189: +YY_RULE_SETUP +#line 844 "yaccParser/hslexer.flex" { noGap = FALSE; } YY_BREAK @@ -2816,35 +2913,35 @@ YY_USER_ACTION * That's why the rules look so bizarre. */ -case 189: -YY_USER_ACTION -# line 834 "yaccParser/hslexer.flex" +case 190: +YY_RULE_SETUP +#line 854 "yaccParser/hslexer.flex" { noGap = FALSE; nested_comments = 1; PUSH_STATE(Comment); } YY_BREAK -case 190: -# line 839 "yaccParser/hslexer.flex" case 191: -# line 840 "yaccParser/hslexer.flex" +#line 859 "yaccParser/hslexer.flex" case 192: -YY_USER_ACTION -# line 840 "yaccParser/hslexer.flex" +#line 860 "yaccParser/hslexer.flex" +case 193: +YY_RULE_SETUP +#line 860 "yaccParser/hslexer.flex" ; YY_BREAK -case 193: -YY_USER_ACTION -# line 841 "yaccParser/hslexer.flex" +case 194: +YY_RULE_SETUP +#line 861 "yaccParser/hslexer.flex" { nested_comments++; } YY_BREAK -case 194: -YY_USER_ACTION -# line 842 "yaccParser/hslexer.flex" +case 195: +YY_RULE_SETUP +#line 862 "yaccParser/hslexer.flex" { if (--nested_comments == 0) POP_STATE; } YY_BREAK -case 195: -YY_USER_ACTION -# line 843 "yaccParser/hslexer.flex" +case 196: +YY_RULE_SETUP +#line 863 "yaccParser/hslexer.flex" ; YY_BREAK @@ -2854,9 +2951,9 @@ YY_USER_ACTION * the error message. */ -case 196: -YY_USER_ACTION -# line 853 "yaccParser/hslexer.flex" +case 197: +YY_RULE_SETUP +#line 873 "yaccParser/hslexer.flex" { fprintf(stderr, "\"%s\", line %d, column %d: Illegal character: `", input_filename, hsplineno, hspcolno + 1); @@ -2865,9 +2962,9 @@ YY_USER_ACTION hsperror(""); } YY_BREAK -case 197: -YY_USER_ACTION -# line 860 "yaccParser/hslexer.flex" +case 198: +YY_RULE_SETUP +#line 880 "yaccParser/hslexer.flex" { fprintf(stderr, "\"%s\", line %d, column %d: Illegal character: `", input_filename, hsplineno, hspcolno + 1); @@ -2876,9 +2973,9 @@ YY_USER_ACTION hsperror(""); } YY_BREAK -case 198: -YY_USER_ACTION -# line 867 "yaccParser/hslexer.flex" +case 199: +YY_RULE_SETUP +#line 887 "yaccParser/hslexer.flex" { fprintf(stderr, "\"%s\", line %d, column %d: Illegal character escape: `\\", input_filename, hsplineno, hspcolno + 1); @@ -2887,9 +2984,9 @@ YY_USER_ACTION hsperror(""); } YY_BREAK -case 199: -YY_USER_ACTION -# line 874 "yaccParser/hslexer.flex" +case 200: +YY_RULE_SETUP +#line 894 "yaccParser/hslexer.flex" { if (nonstandardFlag) { addtext(yytext, yyleng); } else { @@ -2901,9 +2998,9 @@ YY_USER_ACTION } } YY_BREAK -case 200: -YY_USER_ACTION -# line 884 "yaccParser/hslexer.flex" +case 201: +YY_RULE_SETUP +#line 904 "yaccParser/hslexer.flex" { if (noGap) { fprintf(stderr, "\"%s\", line %d, column %d: Illegal string escape: `\\", @@ -2934,14 +3031,14 @@ YY_USER_ACTION case YY_STATE_EOF(Char): case YY_STATE_EOF(CharEsc): -# line 913 "yaccParser/hslexer.flex" +#line 933 "yaccParser/hslexer.flex" { hsplineno = hslineno; hspcolno = hscolno; hsperror("unterminated character literal"); } YY_BREAK case YY_STATE_EOF(Comment): -# line 917 "yaccParser/hslexer.flex" +#line 937 "yaccParser/hslexer.flex" { hsplineno = hslineno; hspcolno = hscolno; hsperror("unterminated comment"); @@ -2949,21 +3046,21 @@ case YY_STATE_EOF(Comment): YY_BREAK case YY_STATE_EOF(String): case YY_STATE_EOF(StringEsc): -# line 921 "yaccParser/hslexer.flex" +#line 941 "yaccParser/hslexer.flex" { hsplineno = hslineno; hspcolno = hscolno; hsperror("unterminated string literal"); } YY_BREAK case YY_STATE_EOF(GhcPragma): -# line 925 "yaccParser/hslexer.flex" +#line 945 "yaccParser/hslexer.flex" { hsplineno = hslineno; hspcolno = hscolno; hsperror("unterminated interface pragma"); } YY_BREAK case YY_STATE_EOF(UserPragma): -# line 929 "yaccParser/hslexer.flex" +#line 949 "yaccParser/hslexer.flex" { hsplineno = hslineno; hspcolno = hscolno; hsperror("unterminated user-specified pragma"); @@ -2971,12 +3068,12 @@ case YY_STATE_EOF(UserPragma): YY_BREAK case YY_STATE_EOF(Code): case YY_STATE_EOF(GlaExt): -# line 933 "yaccParser/hslexer.flex" +#line 953 "yaccParser/hslexer.flex" { hsplineno = hslineno; hspcolno = hscolno; return(EOF); } YY_BREAK -case 201: -YY_USER_ACTION -# line 935 "yaccParser/hslexer.flex" +case 202: +YY_RULE_SETUP +#line 955 "yaccParser/hslexer.flex" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK case YY_STATE_EOF(INITIAL): @@ -2985,7 +3082,7 @@ case YY_STATE_EOF(INITIAL): case YY_END_OF_BUFFER: { /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = 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; @@ -3044,7 +3141,7 @@ case YY_STATE_EOF(INITIAL): else { - yy_cp = yy_c_buf_p; + yy_cp = yy_c_buf_p; goto yy_find_action; } } @@ -3122,7 +3219,7 @@ case YY_STATE_EOF(INITIAL): static int yy_get_next_buffer() { register char *dest = yy_current_buffer->yy_ch_buf; - register char *source = yytext_ptr - 1; /* copy prev. char, too */ + register char *source = yytext_ptr; register int number_to_move, i; int ret_val; @@ -3152,7 +3249,7 @@ static int yy_get_next_buffer() /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = yy_c_buf_p - yytext_ptr; + number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -3178,12 +3275,26 @@ static int yy_get_next_buffer() /* just a shorter name for the current buffer */ YY_BUFFER_STATE b = yy_current_buffer; - int yy_c_buf_p_offset = yy_c_buf_p - b->yy_ch_buf; + int yy_c_buf_p_offset = + (int) (yy_c_buf_p - b->yy_ch_buf); + + if ( b->yy_is_our_buffer ) + { + int new_size = b->yy_buf_size * 2; + + if ( new_size <= 0 ) + b->yy_buf_size += b->yy_buf_size / 8; + else + b->yy_buf_size *= 2; - b->yy_buf_size *= 2; - b->yy_ch_buf = (char *) - yy_flex_realloc( (void *) b->yy_ch_buf, - b->yy_buf_size ); + b->yy_ch_buf = (char *) + /* Include room in for 2 EOB chars. */ + yy_flex_realloc( (void *) b->yy_ch_buf, + b->yy_buf_size + 2 ); + } + else + /* Can't grow it, we don't own it. */ + b->yy_ch_buf = 0; if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( @@ -3206,7 +3317,7 @@ static int yy_get_next_buffer() if ( yy_n_chars == 0 ) { - if ( number_to_move - YY_MORE_ADJ == 1 ) + if ( number_to_move == YY_MORE_ADJ ) { ret_val = EOB_ACT_END_OF_FILE; yyrestart( yyin ); @@ -3227,13 +3338,7 @@ static int yy_get_next_buffer() 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 begins at the second character in yy_ch_buf; the first - * character is the one which preceded it before reading in the latest - * buffer; it needs to be kept around in case it's a newline, so - * yy_get_previous_state() will have with '^' rules active. - */ - - yytext_ptr = &yy_current_buffer->yy_ch_buf[1]; + yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; return ret_val; } @@ -3246,11 +3351,8 @@ static yy_state_type yy_get_previous_state() register yy_state_type yy_current_state; register char *yy_cp; - register char *yy_bp = yytext_ptr; - yy_current_state = yy_start; - if ( yy_bp[-1] == '\n' ) - ++yy_current_state; + yy_current_state += YY_AT_BOL(); for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) { @@ -3263,7 +3365,7 @@ static yy_state_type yy_get_previous_state() 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 >= 838 ) + if ( yy_current_state >= 743 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -3298,16 +3400,17 @@ yy_state_type yy_current_state; 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 >= 838 ) + if ( yy_current_state >= 743 ) 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 == 837); + yy_is_jam = (yy_current_state == 742); return yy_is_jam ? 0 : yy_current_state; } +#ifndef YY_NO_UNPUT #ifdef YY_USE_PROTOS static void yyunput( int c, register char *yy_bp ) #else @@ -3333,25 +3436,22 @@ register char *yy_bp; while ( source > yy_current_buffer->yy_ch_buf ) *--dest = *--source; - yy_cp += dest - source; - yy_bp += dest - source; + yy_cp += (int) (dest - source); + yy_bp += (int) (dest - source); yy_n_chars = yy_current_buffer->yy_buf_size; if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) YY_FATAL_ERROR( "flex scanner push-back overflow" ); } - if ( yy_cp > yy_bp && yy_cp[-1] == '\n' ) - yy_cp[-2] = '\n'; - *--yy_cp = (char) c; - /* Note: the formal parameter *must* be called "yy_bp" for this - * macro to now work correctly. - */ - YY_DO_BEFORE_ACTION; /* set up yytext again */ + yytext_ptr = yy_bp; + yy_hold_char = *yy_cp; + yy_c_buf_p = yy_cp; } +#endif /* ifndef YY_NO_UNPUT */ #ifdef __cplusplus @@ -3390,7 +3490,8 @@ static int input() return EOF; } - YY_NEW_FILE; + if ( ! yy_did_buffer_switch_on_eof ) + YY_NEW_FILE; #ifdef __cplusplus return yyinput(); #else @@ -3418,6 +3519,8 @@ static int input() *yy_c_buf_p = '\0'; /* preserve yytext */ yy_hold_char = *++yy_c_buf_p; + yy_current_buffer->yy_at_bol = (c == '\n'); + return c; } @@ -3491,7 +3594,6 @@ int size; YY_BUFFER_STATE b; b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); - if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); @@ -3501,10 +3603,11 @@ int size; * we need to put in 2 end-of-buffer characters. */ b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 ); - if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + b->yy_is_our_buffer = 1; + yy_init_buffer( b, file ); return b; @@ -3518,14 +3621,25 @@ void yy_delete_buffer( b ) YY_BUFFER_STATE b; #endif { + if ( ! b ) + return; + if ( b == yy_current_buffer ) yy_current_buffer = (YY_BUFFER_STATE) 0; - yy_flex_free( (void *) b->yy_ch_buf ); + if ( b->yy_is_our_buffer ) + yy_flex_free( (void *) b->yy_ch_buf ); + yy_flex_free( (void *) b ); } +#ifndef YY_ALWAYS_INTERACTIVE +#ifndef YY_NEVER_INTERACTIVE +extern int isatty YY_PROTO(( int )); +#endif +#endif + #ifdef YY_USE_PROTOS void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) #else @@ -3533,33 +3647,148 @@ void yy_init_buffer( b, file ) YY_BUFFER_STATE b; FILE *file; #endif + + { + yy_flush_buffer( b ); + b->yy_input_file = file; + b->yy_fill_buffer = 1; + +#if YY_ALWAYS_INTERACTIVE + b->yy_is_interactive = 1; +#else +#if YY_NEVER_INTERACTIVE + b->yy_is_interactive = 0; +#else + b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; +#endif +#endif + } - /* We put in the '\n' and start reading from [1] so that an - * initial match-at-newline will be true. - */ - b->yy_ch_buf[0] = '\n'; - b->yy_n_chars = 1; +#ifdef YY_USE_PROTOS +void yy_flush_buffer( YY_BUFFER_STATE b ) +#else +void yy_flush_buffer( b ) +YY_BUFFER_STATE b; +#endif + + { + b->yy_n_chars = 0; /* We always need two end-of-buffer characters. The first causes * a transition to the end-of-buffer state. The second causes * a jam in that state. */ + b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; - b->yy_ch_buf[2] = YY_END_OF_BUFFER_CHAR; - b->yy_buf_pos = &b->yy_ch_buf[1]; + b->yy_buf_pos = &b->yy_ch_buf[0]; - b->yy_is_interactive = file ? isatty( fileno(file) ) : 0; + b->yy_at_bol = 1; + b->yy_buffer_status = YY_BUFFER_NEW; - b->yy_fill_buffer = 1; + if ( b == yy_current_buffer ) + yy_load_buffer_state(); + } + + +#ifndef YY_NO_SCAN_BUFFER +#ifdef YY_USE_PROTOS +YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size ) +#else +YY_BUFFER_STATE yy_scan_buffer( base, size ) +char *base; +yy_size_t size; +#endif + { + YY_BUFFER_STATE b; + if ( size < 2 || + base[size-2] != YY_END_OF_BUFFER_CHAR || + base[size-1] != YY_END_OF_BUFFER_CHAR ) + /* They forgot to leave room for the EOB's. */ + return 0; + + b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); + + b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ + b->yy_buf_pos = b->yy_ch_buf = base; + b->yy_is_our_buffer = 0; + b->yy_input_file = 0; + b->yy_n_chars = b->yy_buf_size; + b->yy_is_interactive = 0; + b->yy_at_bol = 1; + b->yy_fill_buffer = 0; b->yy_buffer_status = YY_BUFFER_NEW; + + yy_switch_to_buffer( b ); + + return b; + } +#endif + + +#ifndef YY_NO_SCAN_STRING +#ifdef YY_USE_PROTOS +YY_BUFFER_STATE yy_scan_string( yyconst char *str ) +#else +YY_BUFFER_STATE yy_scan_string( str ) +yyconst char *str; +#endif + { + int len; + for ( len = 0; str[len]; ++len ) + ; + + return yy_scan_bytes( str, len ); + } +#endif + + +#ifndef YY_NO_SCAN_BYTES +#ifdef YY_USE_PROTOS +YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len ) +#else +YY_BUFFER_STATE yy_scan_bytes( bytes, len ) +yyconst char *bytes; +int len; +#endif + { + YY_BUFFER_STATE b; + char *buf; + yy_size_t n; + int i; + + /* Get memory for full buffer, including space for trailing EOB's. */ + n = len + 2; + buf = (char *) yy_flex_alloc( n ); + if ( ! buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); + + for ( i = 0; i < len; ++i ) + buf[i] = bytes[i]; + + buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; + + b = yy_scan_buffer( buf, n ); + if ( ! b ) + YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); + + /* It's okay to grow etc. this buffer, and we should throw it + * away when we're done. + */ + b->yy_is_our_buffer = 1; + + return b; } +#endif +#ifndef YY_NO_PUSH_STATE #ifdef YY_USE_PROTOS static void yy_push_state( int new_state ) #else @@ -3569,7 +3798,7 @@ int new_state; { if ( yy_start_stack_ptr >= yy_start_stack_depth ) { - int new_size; + yy_size_t new_size; yy_start_stack_depth += YY_START_STACK_INCR; new_size = yy_start_stack_depth * sizeof( int ); @@ -3590,8 +3819,10 @@ int new_state; BEGIN(new_state); } +#endif +#ifndef YY_NO_POP_STATE static void yy_pop_state() { if ( --yy_start_stack_ptr < 0 ) @@ -3599,23 +3830,29 @@ static void yy_pop_state() BEGIN(yy_start_stack[yy_start_stack_ptr]); } +#endif +#ifndef YY_NO_TOP_STATE static int yy_top_state() { return yy_start_stack[yy_start_stack_ptr - 1]; } +#endif +#ifndef YY_EXIT_FAILURE +#define YY_EXIT_FAILURE 2 +#endif #ifdef YY_USE_PROTOS -static void yy_fatal_error( const char msg[] ) +static void yy_fatal_error( yyconst char msg[] ) #else static void yy_fatal_error( msg ) char msg[]; #endif { (void) fprintf( stderr, "%s\n", msg ); - exit( 1 ); + exit( YY_EXIT_FAILURE ); } @@ -3640,11 +3877,11 @@ char msg[]; #ifndef yytext_ptr #ifdef YY_USE_PROTOS -static void yy_flex_strncpy( char *s1, const char *s2, int n ) +static void yy_flex_strncpy( char *s1, yyconst char *s2, int n ) #else static void yy_flex_strncpy( s1, s2, n ) char *s1; -const char *s2; +yyconst char *s2; int n; #endif { @@ -3656,24 +3893,31 @@ int n; #ifdef YY_USE_PROTOS -static void *yy_flex_alloc( unsigned int size ) +static void *yy_flex_alloc( yy_size_t size ) #else static void *yy_flex_alloc( size ) -unsigned int size; +yy_size_t size; #endif { return (void *) malloc( size ); } #ifdef YY_USE_PROTOS -static void *yy_flex_realloc( void *ptr, unsigned int size ) +static void *yy_flex_realloc( void *ptr, yy_size_t size ) #else static void *yy_flex_realloc( ptr, size ) void *ptr; -unsigned int size; +yy_size_t size; #endif { - return (void *) realloc( ptr, size ); + /* The cast to (char *) in the following accommodates both + * implementations that use char* generic pointers, and those + * that use void* generic pointers. It works with the latter + * because both ANSI C and C++ allow castless assignment from + * any pointer type to void*, and deal with argument conversions + * as though doing an assignment. + */ + return (void *) realloc( (char *) ptr, size ); } #ifdef YY_USE_PROTOS @@ -3685,7 +3929,15 @@ void *ptr; { free( ptr ); } -# line 935 "yaccParser/hslexer.flex" + +#if YY_MAIN +int main() + { + yylex(); + return 0; + } +#endif +#line 955 "yaccParser/hslexer.flex" /********************************************************************** @@ -3701,11 +3953,11 @@ void *ptr; This allows unnamed sources to be piped into the parser. */ +extern BOOLEAN acceptPrim; + void -yyinit() +yyinit(void) { - extern BOOLEAN acceptPrim; - input_filename = xstrdup(""); /* We must initialize the input buffer _now_, because we call @@ -3718,9 +3970,8 @@ yyinit() PUSH_STATE(Code); } -void -new_filename(f) /* This looks pretty dodgy to me (WDP) */ - char *f; +static void +new_filename(char *f) /* This looks pretty dodgy to me (WDP) */ { if (input_filename != NULL) free(input_filename); @@ -3740,8 +3991,8 @@ new_filename(f) /* This looks pretty dodgy to me (WDP) */ forcing insertion of ; or } as appropriate */ -BOOLEAN -hsshouldindent() +static BOOLEAN +hsshouldindent(void) { return (!forgetindent && INDENTON); } @@ -3749,7 +4000,7 @@ hsshouldindent() /* Enter new context and set new indentation level */ void -hssetindent() +hssetindent(void) { #ifdef HSP_DEBUG fprintf(stderr, "hssetindent:hscolno=%d,hspcolno=%d,INDENTPT[%d]=%d\n", hscolno, hspcolno, icontexts, INDENTPT); @@ -3778,7 +4029,7 @@ hssetindent() /* Enter a new context without changing the indentation level */ void -hsincindent() +hsincindent(void) { #ifdef HSP_DEBUG fprintf(stderr, "hsincindent:hscolno=%d,hspcolno=%d,INDENTPT[%d]=%d\n", hscolno, hspcolno, icontexts, INDENTPT); @@ -3789,16 +4040,15 @@ hsincindent() /* Turn off indentation processing, usually because an explicit "{" has been seen */ void -hsindentoff() +hsindentoff(void) { forgetindent = TRUE; } /* Enter a new layout context. */ -void -hsentercontext(indent) - int indent; +static void +hsentercontext(int indent) { /* Enter new context and set indentation as specified */ if (++icontexts >= MAX_CONTEXTS) { @@ -3817,7 +4067,7 @@ hsentercontext(indent) /* Exit a layout context */ void -hsendindent() +hsendindent(void) { --icontexts; #ifdef HSP_DEBUG @@ -3829,9 +4079,8 @@ hsendindent() * Return checks the indentation level and returns ;, } or the specified token. */ -int -Return(tok) - int tok; +static int +Return(int tok) { #ifdef HSP_DEBUG extern int yyleng; @@ -3928,12 +4177,11 @@ yylex() **********************************************************************/ /* setyyin(file) open file as new lex input buffer */ +extern FILE *yyin; + void -setyyin(file) - char *file; +setyyin(char *file) { - extern FILE *yyin; - hsbuf_save = YY_CURRENT_BUFFER; if ((yyin = fopen(file, "r")) == NULL) { char errbuf[ERR_BUF_SIZE]; @@ -3964,10 +4212,8 @@ setyyin(file) #endif } -static VOID -layout_input(text, len) -char *text; -int len; +static void +layout_input(char *text, int len) { #ifdef HSP_DEBUG fprintf(stderr, "Scanning \"%s\"\n", text); @@ -3997,7 +4243,7 @@ int len; } void -setstartlineno() +setstartlineno(void) { startlineno = hsplineno; #if 1/*etags*/ @@ -4023,8 +4269,8 @@ static struct { char *text; } textcache = { 0, 0, NULL }; -static VOID -cleartext() +static void +cleartext(void) { /* fprintf(stderr, "cleartext\n"); */ textcache.next = 0; @@ -4034,10 +4280,8 @@ cleartext() } } -static VOID -addtext(text, length) -char *text; -unsigned length; +static void +addtext(char *text, unsigned length) { /* fprintf(stderr, "addtext: %d %s\n", length, text); */ @@ -4052,13 +4296,8 @@ unsigned length; textcache.next += length; } -static VOID -#ifdef __STDC__ +static void addchar(char c) -#else -addchar(c) - char c; -#endif { /* fprintf(stderr, "addchar: %c\n", c); */ @@ -4070,8 +4309,7 @@ addchar(c) } static char * -fetchtext(length) -unsigned *length; +fetchtext(unsigned *length) { /* fprintf(stderr, "fetchtext: %d\n", textcache.next); */ @@ -4092,10 +4330,8 @@ unsigned *length; hsnewid Enters an id of length n into the symbol table. */ -static VOID -hsnewid(name, length) -char *name; -int length; +static void +hsnewid(char *name, int length) { char save = name[length]; @@ -4105,8 +4341,7 @@ int length; } BOOLEAN -isconstr(s) /* walks past leading underscores before using the macro */ - char *s; +isconstr(char *s) /* walks past leading underscores before using the macro */ { char *temp = s;