Applied patch [ 869522 ] Cleaning of deprecated contrib

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25115 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart 2004-01-11 11:49:40 +00:00
parent 8a094d7ba9
commit 5a410e4453
2 changed files with 306 additions and 256 deletions

View File

@ -59,6 +59,17 @@ static int input()
#define YY_USE_CONST #define YY_USE_CONST
#endif /* __STDC__ */ #endif /* __STDC__ */
#ifdef __BORLANDC__
#include <io.h>
#define YY_USE_PROTOS
#define YY_USE_CONST
#endif
#ifdef __MINGW32__
#include <io.h>
#endif
#endif /* ! __cplusplus */ #endif /* ! __cplusplus */
@ -84,7 +95,6 @@ static int input()
char *malloc(); char *malloc();
int free(); int free();
*/ */
#endif #endif
@ -93,9 +103,11 @@ int free();
#define YY_READ_BUF_SIZE 8192 #define YY_READ_BUF_SIZE 8192
#endif #endif
/* returned upon end-of-file */ /* returned upon end-of-file */
#define YY_END_TOK 0 #define YY_END_TOK 0
/* copy whatever the last rule matched to the standard output */ /* copy whatever the last rule matched to the standard output */
/* cast to (char *) is because for 8-bit chars, yytext is (unsigned char *) */ /* cast to (char *) is because for 8-bit chars, yytext is (unsigned char *) */
@ -104,6 +116,7 @@ int free();
*/ */
#define ECHO (void) fwrite( (char *) yytext, yyleng, 1, yyout ) #define ECHO (void) fwrite( (char *) yytext, yyleng, 1, yyout )
/* gets input and stuffs it into "buf". number of characters read, or YY_NULL, /* gets input and stuffs it into "buf". number of characters read, or YY_NULL,
* is returned in "result". * is returned in "result".
*/ */
@ -112,12 +125,14 @@ int free();
YY_FATAL_ERROR( "read() in flex scanner failed" ); YY_FATAL_ERROR( "read() in flex scanner failed" );
#define YY_NULL 0 #define YY_NULL 0
/* no semi-colon after return; correct usage is to write "yyterminate();" - /* no semi-colon after return; correct usage is to write "yyterminate();" -
* we don't want an extra ';' after the "return" because that will cause * we don't want an extra ';' after the "return" because that will cause
* some compilers to complain about unreachable statements. * some compilers to complain about unreachable statements.
*/ */
#define yyterminate() return ( YY_NULL ) #define yyterminate() return ( YY_NULL )
/* report a fatal error */ /* report a fatal error */
/* The funky do-while is used to turn this macro definition into /* The funky do-while is used to turn this macro definition into
@ -156,6 +171,7 @@ int os2var = 0;
while ( os2var == 0 ) while ( os2var == 0 )
#endif #endif
/* default yywrap function - always treat EOF as an EOF */ /* default yywrap function - always treat EOF as an EOF */
int yywrap(void) { return 1; } int yywrap(void) { return 1; }
@ -188,13 +204,12 @@ int yywrap(void) { return 1; }
while ( os2var == 0 ) while ( os2var == 0 )
#endif #endif
/* default declaration of generated scanner - a define so the user can /* default declaration of generated scanner - a define so the user can
* easily add parameters * easily add parameters
*/ */
#define YY_DECL int yylex YY_PROTO(( void )) #define YY_DECL int yylex YY_PROTO(( void ))
/* code executed at the end of each rule */
#define YY_BREAK break;
#define YY_END_OF_BUFFER_CHAR 0 #define YY_END_OF_BUFFER_CHAR 0
@ -205,9 +220,9 @@ int yywrap(void) { return 1; }
typedef struct yy_buffer_state *YY_BUFFER_STATE; typedef struct yy_buffer_state *YY_BUFFER_STATE;
#define YY_CHAR unsigned char #define YY_CHAR unsigned char
# line 1 "lexer.l" // # line 1 "lexer.l"
#define INITIAL 0 #define INITIAL 0
# line 9 "lexer.l" // # line 9 "lexer.l"
/* /*
* File: lexer.l * File: lexer.l
* Description: Lexical analyser for PROLOGIO; can be used with * Description: Lexical analyser for PROLOGIO; can be used with
@ -228,7 +243,6 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE;
#ifdef wx_x #ifdef wx_x
extern char *malloc(); extern char *malloc();
#endif #endif
#define Return(x) return x;
#if defined(VMS) && ( __VMS_VER < 70000000 ) #if defined(VMS) && ( __VMS_VER < 70000000 )
#define strdup(s) (strcpy((char *)malloc(strlen(s)+1), s)); #define strdup(s) (strcpy((char *)malloc(strlen(s)+1), s));
@ -240,13 +254,18 @@ static size_t lex_string_ptr = 0;
static int lex_read_from_string = 0; static int lex_read_from_string = 0;
static int my_input(void); static int my_input(void);
#ifndef FLEX_SCANNER
static int my_unput(char); static int my_unput(char);
#endif
#ifdef FLEX_SCANNER #ifdef FLEX_SCANNER
#undef YY_INPUT #undef YY_INPUT
#define YY_INPUT(buf,result,max_size) \ #define YY_INPUT(buf,result,max_size) \
if (lex_read_from_string) \ if (lex_read_from_string) \
{ int c = my_input(); result = (c == 0) ? YY_NULL : ((buf)[0]=(c), 1); } \ { \
int c = my_input(); \
result = (c == 0) ? YY_NULL : ((buf)[0]=(c), 1); \
} \
else \ else \
if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \ if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
YY_FATAL_ERROR( "read() in flex scanner failed" ); YY_FATAL_ERROR( "read() in flex scanner failed" );
@ -257,11 +276,12 @@ static int my_unput(char);
#define unput(_c) my_unput(_c) #define unput(_c) my_unput(_c)
#endif #endif
# line 58 "lexer.l" // # line 58 "lexer.l"
/* done after the current pattern has been matched and before the /* done after the current pattern has been matched and before the
* corresponding action - sets up yytext * corresponding action - sets up yytext
*/ */
#define YY_DO_BEFORE_ACTION \ #define YY_DO_BEFORE_ACTION \
yytext = yy_bp; \ yytext = yy_bp; \
yyleng = yy_cp - yy_bp; \ yyleng = yy_cp - yy_bp; \
@ -299,7 +319,6 @@ static int my_unput(char);
#undef unput #undef unput
#define unput(c) yyunput( c, yytext ) #define unput(c) yyunput( c, yytext )
struct yy_buffer_state struct yy_buffer_state
{ {
FILE *yy_input_file; FILE *yy_input_file;
@ -314,10 +333,13 @@ struct yy_buffer_state
int yy_n_chars; int yy_n_chars;
int yy_eof_status; /* whether we've seen an EOF on this buffer */ int yy_eof_status; /* whether we've seen an EOF on this buffer */
#define EOF_NOT_SEEN 0 #define EOF_NOT_SEEN 0
/* "pending" happens when the EOF has been seen but there's still /* "pending" happens when the EOF has been seen but there's still
* some text process * some text process
*/ */
#define EOF_PENDING 1 #define EOF_PENDING 1
#define EOF_DONE 2 #define EOF_DONE 2
}; };
@ -570,74 +592,93 @@ do_action: /* this label is used only to access EOF actions */
switch ( yy_act ) switch ( yy_act )
{ {
case 0: /* must backtrack */ case 0: /* must backtrack */
{
/* undo the effects of YY_DO_BEFORE_ACTION */ /* undo the effects of YY_DO_BEFORE_ACTION */
*yy_cp = yy_hold_char; *yy_cp = yy_hold_char;
yy_cp = yy_last_accepting_cpos; yy_cp = yy_last_accepting_cpos;
yy_current_state = yy_last_accepting_state; yy_current_state = yy_last_accepting_state;
goto yy_find_action; goto yy_find_action;
}
case 1: case 1:
# line 60 "lexer.l" {
{yylval.s = strdup((const char*) yytext); Return(INTEGER);} yylval.s = strdup((const char*) yytext);
YY_BREAK return INTEGER;
}
case 2: case 2:
# line 62 "lexer.l" {
Return(EXP); return EXP;
YY_BREAK }
case 3: case 3:
# line 64 "lexer.l" {
{yylval.s = strdup((const char*) yytext); Return(WORD);} yylval.s = strdup((const char*) yytext);
YY_BREAK return WORD;
}
case 4: case 4:
# line 66 "lexer.l" {
{int len = strlen((const char*) yytext); int len = strlen((const char*) yytext);
yytext[len-1] = 0; yytext[len-1] = 0;
yylval.s = strdup((const char*) (yytext+1)); yylval.s = strdup((const char*) (yytext+1));
Return(WORD);} return WORD;
YY_BREAK }
case 5: case 5:
# line 71 "lexer.l" {
{yylval.s = strdup((const char*) yytext); Return(STRING);} yylval.s = strdup((const char*) yytext);
YY_BREAK return STRING;
}
case 6: case 6:
# line 73 "lexer.l" {
Return(OPEN); return OPEN;
YY_BREAK }
case 7: case 7:
# line 75 "lexer.l" {
Return(CLOSE); return CLOSE;
YY_BREAK }
case 8: case 8:
# line 77 "lexer.l" {
Return(COMMA); return COMMA;
YY_BREAK }
case 9: case 9:
# line 79 "lexer.l" {
Return(OPEN_SQUARE); return OPEN_SQUARE;
YY_BREAK }
case 10: case 10:
# line 81 "lexer.l" {
Return(CLOSE_SQUARE); return CLOSE_SQUARE;
YY_BREAK }
case 11: case 11:
# line 83 "lexer.l" {
Return(EQUALS); return EQUALS;
YY_BREAK }
case 12: case 12:
# line 85 "lexer.l" {
Return(PERIOD); return PERIOD;
YY_BREAK }
case 13: case 13:
# line 87 "lexer.l" {
; break;
YY_BREAK }
case 14: case 14:
# line 89 "lexer.l" {
; break;
YY_BREAK }
case 15: case 15:
# line 91 "lexer.l" {
{ loop: loop:
#ifdef __cplusplus #ifdef __cplusplus
while (yyinput() != '*'); while (yyinput() != '*');
switch (yyinput()) switch (yyinput())
@ -646,22 +687,31 @@ case 15:
switch (input()) switch (input())
#endif #endif
{ {
case '/': break; case '/':
case '*': unput('*'); break;
default: goto loop; case '*':
unput('*');
default:
goto loop;
} }
break;
} }
YY_BREAK
case 16: case 16:
# line 106 "lexer.l" {
Return(ERROR); return ERROR;
YY_BREAK }
case 17: case 17:
# line 108 "lexer.l" {
ECHO; ECHO;
YY_BREAK break;
}
case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(INITIAL):
{
yyterminate(); yyterminate();
}
case YY_END_OF_BUFFER: case YY_END_OF_BUFFER:
{ {
@ -706,7 +756,6 @@ case YY_STATE_EOF(INITIAL):
yy_current_state = yy_next_state; yy_current_state = yy_next_state;
goto yy_match; goto yy_match;
} }
else else
{ {
yy_cp = yy_last_accepting_cpos; yy_cp = yy_last_accepting_cpos;
@ -714,7 +763,6 @@ case YY_STATE_EOF(INITIAL):
goto yy_find_action; goto yy_find_action;
} }
} }
else switch ( yy_get_next_buffer() ) else switch ( yy_get_next_buffer() )
{ {
case EOB_ACT_END_OF_FILE: case EOB_ACT_END_OF_FILE:
@ -736,7 +784,6 @@ case YY_STATE_EOF(INITIAL):
yy_act = YY_STATE_EOF((yy_start - 1) / 2); yy_act = YY_STATE_EOF((yy_start - 1) / 2);
goto do_action; goto do_action;
} }
else else
{ {
if ( ! yy_did_buffer_switch_on_eof ) if ( ! yy_did_buffer_switch_on_eof )
@ -755,8 +802,7 @@ case YY_STATE_EOF(INITIAL):
goto yy_match; goto yy_match;
case EOB_ACT_LAST_MATCH: case EOB_ACT_LAST_MATCH:
yy_c_buf_p = yy_c_buf_p = &yy_current_buffer->yy_ch_buf[yy_n_chars];
&yy_current_buffer->yy_ch_buf[yy_n_chars];
yy_current_state = yy_get_previous_state(); yy_current_state = yy_get_previous_state();
@ -771,10 +817,10 @@ case YY_STATE_EOF(INITIAL):
#ifdef FLEX_DEBUG #ifdef FLEX_DEBUG
printf( "action # %d\n", yy_act ); printf( "action # %d\n", yy_act );
#endif #endif
YY_FATAL_ERROR( YY_FATAL_ERROR("fatal flex scanner internal error--no action found" );
"fatal flex scanner internal error--no action found" );
} }
} }
#if defined(__VISAGECPP__) #if defined(__VISAGECPP__)
/* VA complains about proc maybe not returning a value so return one */ /* VA complains about proc maybe not returning a value so return one */
return 0; return 0;
@ -794,7 +840,6 @@ return 0;
*/ */
static int yy_get_next_buffer() static int yy_get_next_buffer()
{ {
register YY_CHAR *dest = yy_current_buffer->yy_ch_buf; register YY_CHAR *dest = yy_current_buffer->yy_ch_buf;
register YY_CHAR *source = yytext - 1; /* copy prev. char, too */ register YY_CHAR *source = yytext - 1; /* copy prev. char, too */
@ -875,7 +920,6 @@ static int yy_get_next_buffer()
*/ */
static yy_state_type yy_get_previous_state() static yy_state_type yy_get_previous_state()
{ {
register yy_state_type yy_current_state; register yy_state_type yy_current_state;
register YY_CHAR *yy_cp; register YY_CHAR *yy_cp;
@ -915,7 +959,6 @@ static yy_state_type yy_try_NUL_trans( register yy_state_type yy_current_state )
static yy_state_type yy_try_NUL_trans( yy_current_state ) static yy_state_type yy_try_NUL_trans( yy_current_state )
register yy_state_type yy_current_state; register yy_state_type yy_current_state;
#endif #endif
{ {
register int yy_is_jam; register int yy_is_jam;
register YY_CHAR *yy_cp = yy_c_buf_p; register YY_CHAR *yy_cp = yy_c_buf_p;
@ -946,7 +989,6 @@ static void yyunput( c, yy_bp )
YY_CHAR c; YY_CHAR c;
register YY_CHAR *yy_bp; register YY_CHAR *yy_bp;
#endif #endif
{ {
register YY_CHAR *yy_cp = yy_c_buf_p; register YY_CHAR *yy_cp = yy_c_buf_p;
@ -989,7 +1031,6 @@ static int yyinput()
#else #else
static int input() static int input()
#endif #endif
{ {
int c; int c;
YY_CHAR *yy_cp = yy_c_buf_p; YY_CHAR *yy_cp = yy_c_buf_p;
@ -1003,9 +1044,9 @@ static int input()
* valid NUL; if not, then we've hit the end of the buffer. * valid NUL; if not, then we've hit the end of the buffer.
*/ */
if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] ) if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
/* this was really a NUL */ { /* this was really a NUL */
*yy_c_buf_p = '\0'; *yy_c_buf_p = '\0';
}
else else
{ /* need more input */ { /* need more input */
yytext = yy_c_buf_p; yytext = yy_c_buf_p;
@ -1020,7 +1061,6 @@ static int input()
yy_c_buf_p = yytext + YY_MORE_ADJ; yy_c_buf_p = yytext + YY_MORE_ADJ;
return ( EOF ); return ( EOF );
} }
YY_NEW_FILE; YY_NEW_FILE;
#ifdef __cplusplus #ifdef __cplusplus
@ -1029,7 +1069,6 @@ static int input()
return ( input() ); return ( input() );
#endif #endif
} }
break;
case EOB_ACT_CONTINUE_SCAN: case EOB_ACT_CONTINUE_SCAN:
yy_c_buf_p = yytext + YY_MORE_ADJ; yy_c_buf_p = yytext + YY_MORE_ADJ;
@ -1058,7 +1097,6 @@ void yyrestart( FILE *input_file )
void yyrestart( input_file ) void yyrestart( input_file )
FILE *input_file; FILE *input_file;
#endif #endif
{ {
yy_init_buffer( yy_current_buffer, input_file ); yy_init_buffer( yy_current_buffer, input_file );
yy_load_buffer_state(); yy_load_buffer_state();
@ -1071,7 +1109,6 @@ void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
void yy_switch_to_buffer( new_buffer ) void yy_switch_to_buffer( new_buffer )
YY_BUFFER_STATE new_buffer; YY_BUFFER_STATE new_buffer;
#endif #endif
{ {
if ( yy_current_buffer == new_buffer ) if ( yy_current_buffer == new_buffer )
return; return;
@ -1101,7 +1138,6 @@ void yy_load_buffer_state( void )
#else #else
void yy_load_buffer_state() void yy_load_buffer_state()
#endif #endif
{ {
yy_n_chars = yy_current_buffer->yy_n_chars; yy_n_chars = yy_current_buffer->yy_n_chars;
yytext = yy_c_buf_p = yy_current_buffer->yy_buf_pos; yytext = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
@ -1117,7 +1153,6 @@ YY_BUFFER_STATE yy_create_buffer( file, size )
FILE *file; FILE *file;
int size; int size;
#endif #endif
{ {
YY_BUFFER_STATE b; YY_BUFFER_STATE b;
@ -1148,7 +1183,6 @@ void yy_delete_buffer( YY_BUFFER_STATE b )
void yy_delete_buffer( b ) void yy_delete_buffer( b )
YY_BUFFER_STATE b; YY_BUFFER_STATE b;
#endif #endif
{ {
if ( b == yy_current_buffer ) if ( b == yy_current_buffer )
yy_current_buffer = (YY_BUFFER_STATE) 0; yy_current_buffer = (YY_BUFFER_STATE) 0;
@ -1165,7 +1199,6 @@ void yy_init_buffer( b, file )
YY_BUFFER_STATE b; YY_BUFFER_STATE b;
FILE *file; FILE *file;
#endif #endif
{ {
b->yy_input_file = file; b->yy_input_file = file;
@ -1187,12 +1220,13 @@ FILE *file;
b->yy_eof_status = EOF_NOT_SEEN; b->yy_eof_status = EOF_NOT_SEEN;
} }
# line 108 "lexer.l" // # line 108 "lexer.l"
#ifdef FLEX_SCANNER #ifdef FLEX_SCANNER
static int lex_input() { static int lex_input()
{
return input(); return input();
} }
#else /* BSD/AT&T lex */ #else /* BSD/AT&T lex */
@ -1202,7 +1236,9 @@ static int lex_input() {
static int lex_input() { static int lex_input() {
return input(); return input();
} }
/* # undef unput
/*
# undef unput
# define unput(_c) my_unput(_c) # define unput(_c) my_unput(_c)
*/ */
@ -1210,19 +1246,22 @@ static int lex_input() {
# define input() my_input() # define input() my_input()
static int my_unput(char c) static int my_unput(char c)
{ {
if (lex_read_from_string) { if (lex_read_from_string)
{
/* Make sure we have something */ /* Make sure we have something */
if (lex_string_ptr) { if (lex_string_ptr)
{
if (c == '\n') yylineno--; if (c == '\n') yylineno--;
lex_string_ptr--; lex_string_ptr--;
} }
} else { }
else
{
yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar; yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;
/* unput(c); Causes infinite recursion! */ /* unput(c); Causes infinite recursion! */
} }
return c; return c;
} }
#endif #endif
/* Public */ /* Public */
@ -1254,17 +1293,23 @@ void LexFromString(char *buffer)
static int my_input( void ) static int my_input( void )
{ {
if (lex_read_from_string) { if (lex_read_from_string)
{
if (lex_string_ptr == lex_buffer_length) if (lex_string_ptr == lex_buffer_length)
{
return 0; return 0;
else { }
else
{
char c = lex_buffer[lex_string_ptr++]; char c = lex_buffer[lex_string_ptr++];
#ifndef FLEX_SCANNER #ifndef FLEX_SCANNER
if (c == '\n') yylineno++; if (c == '\n') yylineno++;
#endif #endif
return c; return c;
} }
} else { }
else
{
return lex_input(); return lex_input();
} }
} }
@ -1274,3 +1319,4 @@ void wxExprCleanUp()
if (yy_current_buffer) if (yy_current_buffer)
yy_delete_buffer(yy_current_buffer); yy_delete_buffer(yy_current_buffer);
} }

View File

@ -5,11 +5,11 @@
#if !defined(wxUSE_PROLOGIO) || wxUSE_PROLOGIO #if !defined(wxUSE_PROLOGIO) || wxUSE_PROLOGIO
#ifndef lint #if !defined(lint) && 0
static char yysccsid[] = "@(#)yaccpar 1.7 (Berkeley) 09/09/90"; static char yysccsid[] = "@(#)yaccpar 1.7 (Berkeley) 09/09/90";
#endif #endif
#define YYBYACC 1 #define YYBYACC 1
#line 2 "parser.y" // #line 2 "parser.y"
#include "string.h" #include "string.h"
#if defined(_MSC_VER) || defined(__VISAGECPP__) #if defined(_MSC_VER) || defined(__VISAGECPP__)
#include <io.h> #include <io.h>
@ -45,12 +45,12 @@ void yyoutput(int);
} }
#endif #endif
#endif #endif
#line 36 "parser.y" // #line 36 "parser.y"
typedef union { typedef union {
char *s; char *s;
/* struct pexpr *expr; */ /* struct pexpr *expr; */
} YYSTYPE; } YYSTYPE;
#line 44 "y_tab.c" // #line 44 "y_tab.c"
#define INTEGER 1 #define INTEGER 1
#define WORD 2 #define WORD 2
#define STRING 3 #define STRING 3
@ -213,7 +213,7 @@ YYSTYPE yylval;
short yyss[YYSTACKSIZE]; short yyss[YYSTACKSIZE];
YYSTYPE yyvs[YYSTACKSIZE]; YYSTYPE yyvs[YYSTACKSIZE];
#define yystacksize YYSTACKSIZE #define yystacksize YYSTACKSIZE
#line 118 "parser.y" // #line 118 "parser.y"
#include "doslex.c" #include "doslex.c"
@ -259,7 +259,7 @@ void yyerror(char *s)
#endif #endif
#endif #endif
#line 247 "y_tab.c" // #line 247 "y_tab.c"
#define YYABORT goto yyabort #define YYABORT goto yyabort
#define YYACCEPT goto yyaccept #define YYACCEPT goto yyaccept
#define YYERROR goto yyerrlab #define YYERROR goto yyerrlab
@ -305,7 +305,8 @@ yyloop:
} }
#endif #endif
} }
if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && yyn = yysindex[yystate];
if ((yyn) && (yyn += yychar) >= 0 &&
yyn <= YYTABLESIZE && yycheck[yyn] == yychar) yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
{ {
#if YYDEBUG #if YYDEBUG
@ -323,7 +324,8 @@ yyloop:
if (yyerrflag > 0) --yyerrflag; if (yyerrflag > 0) --yyerrflag;
goto yyloop; goto yyloop;
} }
if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && yyn = yyrindex[yystate];
if ((yyn) && (yyn += yychar) >= 0 &&
yyn <= YYTABLESIZE && yycheck[yyn] == yychar) yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
{ {
yyn = yytable[yyn]; yyn = yytable[yyn];
@ -332,13 +334,13 @@ yyloop:
if (yyerrflag) goto yyinrecovery; if (yyerrflag) goto yyinrecovery;
#ifdef lint #ifdef lint
goto yynewerror; goto yynewerror;
#endif
yynewerror: yynewerror:
#endif
yyerror("syntax error"); yyerror("syntax error");
#ifdef lint #ifdef lint
goto yyerrlab; goto yyerrlab;
#endif
yyerrlab: yyerrlab:
#endif
++yynerrs; ++yynerrs;
yyinrecovery: yyinrecovery:
if (yyerrflag < 3) if (yyerrflag < 3)
@ -346,7 +348,8 @@ yyinrecovery:
yyerrflag = 3; yyerrflag = 3;
for (;;) for (;;)
{ {
if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 && yyn = yysindex[*yyssp];
if ((yyn) && (yyn += YYERRCODE) >= 0 &&
yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
{ {
#if YYDEBUG #if YYDEBUG
@ -402,80 +405,80 @@ yyreduce:
switch (yyn) switch (yyn)
{ {
case 3: case 3:
#line 68 "parser.y" // #line 68 "parser.y"
{process_command(proio_cons(wxmake_word(yyvsp[-1].s), NULL)); free(yyvsp[-1].s);} {process_command(proio_cons(wxmake_word(yyvsp[-1].s), NULL)); free(yyvsp[-1].s);}
break; break;
case 4: case 4:
#line 70 "parser.y" // #line 70 "parser.y"
{process_command(yyvsp[-1].s);} {process_command(yyvsp[-1].s);}
break; break;
case 5: case 5:
#line 72 "parser.y" // #line 72 "parser.y"
{syntax_error("Unrecognized command.");} {syntax_error("Unrecognized command.");}
break; break;
case 6: case 6:
#line 76 "parser.y" // #line 76 "parser.y"
{yyval.s = proio_cons(wxmake_word(yyvsp[-3].s), yyvsp[-1].s); free(yyvsp[-3].s);} {yyval.s = proio_cons(wxmake_word(yyvsp[-3].s), yyvsp[-1].s); free(yyvsp[-3].s);}
break; break;
case 7: case 7:
#line 78 "parser.y" // #line 78 "parser.y"
{yyval.s = proio_cons(NULL, NULL);} {yyval.s = proio_cons(NULL, NULL);}
break; break;
case 8: case 8:
#line 80 "parser.y" // #line 80 "parser.y"
{yyval.s = yyvsp[-1].s; } {yyval.s = yyvsp[-1].s; }
break; break;
case 9: case 9:
#line 84 "parser.y" // #line 84 "parser.y"
{yyval.s = NULL;} {yyval.s = NULL;}
break; break;
case 10: case 10:
#line 86 "parser.y" // #line 86 "parser.y"
{yyval.s = proio_cons(yyvsp[0].s, NULL);} {yyval.s = proio_cons(yyvsp[0].s, NULL);}
break; break;
case 11: case 11:
#line 89 "parser.y" // #line 89 "parser.y"
{yyval.s = proio_cons(yyvsp[-2].s, yyvsp[0].s);} {yyval.s = proio_cons(yyvsp[-2].s, yyvsp[0].s);}
break; break;
case 12: case 12:
#line 93 "parser.y" // #line 93 "parser.y"
{yyval.s = proio_cons(wxmake_word("="), proio_cons(wxmake_word(yyvsp[-2].s), proio_cons(yyvsp[0].s, NULL))); {yyval.s = proio_cons(wxmake_word("="), proio_cons(wxmake_word(yyvsp[-2].s), proio_cons(yyvsp[0].s, NULL)));
free(yyvsp[-2].s); } free(yyvsp[-2].s); }
break; break;
case 13: case 13:
#line 96 "parser.y" // #line 96 "parser.y"
{yyval.s = yyvsp[0].s; } {yyval.s = yyvsp[0].s; }
break; break;
case 14: case 14:
#line 99 "parser.y" // #line 99 "parser.y"
{yyval.s = wxmake_word(yyvsp[0].s); free(yyvsp[0].s);} {yyval.s = wxmake_word(yyvsp[0].s); free(yyvsp[0].s);}
break; break;
case 15: case 15:
#line 101 "parser.y" // #line 101 "parser.y"
{yyval.s = wxmake_string(yyvsp[0].s); free(yyvsp[0].s);} {yyval.s = wxmake_string(yyvsp[0].s); free(yyvsp[0].s);}
break; break;
case 16: case 16:
#line 103 "parser.y" // #line 103 "parser.y"
{yyval.s = wxmake_integer(yyvsp[0].s); free(yyvsp[0].s);} {yyval.s = wxmake_integer(yyvsp[0].s); free(yyvsp[0].s);}
break; break;
case 17: case 17:
#line 105 "parser.y" // #line 105 "parser.y"
{yyval.s = wxmake_real(yyvsp[-2].s, yyvsp[0].s); free(yyvsp[-2].s); free(yyvsp[0].s); } {yyval.s = wxmake_real(yyvsp[-2].s, yyvsp[0].s); free(yyvsp[-2].s); free(yyvsp[0].s); }
break; break;
case 18: case 18:
#line 107 "parser.y" // #line 107 "parser.y"
{yyval.s = wxmake_exp(yyvsp[-2].s, yyvsp[0].s); free(yyvsp[-2].s); free(yyvsp[0].s); } {yyval.s = wxmake_exp(yyvsp[-2].s, yyvsp[0].s); free(yyvsp[-2].s); free(yyvsp[0].s); }
break; break;
case 19: case 19:
#line 110 "parser.y" // #line 110 "parser.y"
{yyval.s = wxmake_exp2(yyvsp[-4].s, yyvsp[-2].s, yyvsp[0].s); free(yyvsp[-4].s); free(yyvsp[-2].s); {yyval.s = wxmake_exp2(yyvsp[-4].s, yyvsp[-2].s, yyvsp[0].s); free(yyvsp[-4].s); free(yyvsp[-2].s);
free(yyvsp[0].s); } free(yyvsp[0].s); }
break; break;
case 20: case 20:
#line 114 "parser.y" // #line 114 "parser.y"
{yyval.s = yyvsp[0].s;} {yyval.s = yyvsp[0].s;}
break; break;
#line 461 "y_tab.c" // #line 461 "y_tab.c"
} }
yyssp -= yym; yyssp -= yym;
yystate = *yyssp; yystate = *yyssp;
@ -508,7 +511,8 @@ break;
if (yychar == 0) goto yyaccept; if (yychar == 0) goto yyaccept;
goto yyloop; goto yyloop;
} }
if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && yyn = yygindex[yym];
if ((yyn) && (yyn += yystate) >= 0 &&
yyn <= YYTABLESIZE && yycheck[yyn] == yystate) yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
yystate = yytable[yyn]; yystate = yytable[yyn];
else else