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

@ -12,90 +12,102 @@
/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
#ifdef c_plusplus
#ifndef __cplusplus
#define __cplusplus
#endif
#ifndef __cplusplus
#define __cplusplus
#endif
#endif
#ifdef __cplusplus
#include <stdlib.h>
#include <stdlib.h>
#ifdef __SALFORDC__
#include <io.h>
#include <clib.h>
#else
#include <osfcn.h>
#endif
#ifdef __SALFORDC__
#include <io.h>
#include <clib.h>
#else
#include <osfcn.h>
#endif
#ifdef __VISAGECPP__
#include <io.h>
#endif
#ifdef __VISAGECPP__
#include <io.h>
#endif
#ifdef __cplusplus
static int yyinput()
#else
static int input()
#endif
#ifdef __cplusplus
static int yyinput()
#else
static int input()
#endif
/* use prototypes in function declarations */
#define YY_USE_PROTOS
/* use prototypes in function declarations */
#define YY_USE_PROTOS
/* the "const" storage-class-modifier is valid */
#define YY_USE_CONST
/* the "const" storage-class-modifier is valid */
#define YY_USE_CONST
#else /* ! __cplusplus */
#ifdef __STDC__
#ifdef __STDC__
#ifdef __GNUC__
#include <stddef.h>
#else
#include <stdlib.h>
#endif /* __GNUC__ */
#ifdef __GNUC__
#include <stddef.h>
#else
#include <stdlib.h>
#endif /* __GNUC__ */
#define YY_USE_PROTOS
#define YY_USE_CONST
#define YY_USE_PROTOS
#define YY_USE_CONST
#endif /* __STDC__ */
#ifdef __BORLANDC__
#include <io.h>
#define YY_USE_PROTOS
#define YY_USE_CONST
#endif
#ifdef __MINGW32__
#include <io.h>
#endif
#endif /* __STDC__ */
#endif /* ! __cplusplus */
#ifdef __TURBOC__
#define YY_USE_CONST
#define YY_USE_CONST
#endif
#ifndef YY_USE_CONST
#define const
#define const
#endif
#ifdef YY_USE_PROTOS
#define YY_PROTO(proto) proto
#define YY_PROTO(proto) proto
#else
#define YY_PROTO(proto) ()
/* we can't get here if it's an ANSI C compiler, or a C++ compiler,
#define YY_PROTO(proto) ()
/* we can't get here if it's an ANSI C compiler, or a C++ compiler,
* so it's got to be a K&R compiler, and therefore there's no standard
* place from which to include these definitions
*/
/*
char *malloc();
int free();
*/
/*
char *malloc();
int free();
*/
#endif
/* amount of stuff to slurp up with each read */
#ifndef YY_READ_BUF_SIZE
#define YY_READ_BUF_SIZE 8192
#define YY_READ_BUF_SIZE 8192
#endif
/* returned upon end-of-file */
#define YY_END_TOK 0
/* copy whatever the last rule matched to the standard output */
/* 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 )
/* gets input and stuffs it into "buf". number of characters read, or YY_NULL,
* is returned in "result".
*/
@ -112,12 +125,14 @@ int free();
YY_FATAL_ERROR( "read() in flex scanner failed" );
#define YY_NULL 0
/* no semi-colon after return; correct usage is to write "yyterminate();" -
* we don't want an extra ';' after the "return" because that will cause
* some compilers to complain about unreachable statements.
*/
#define yyterminate() return ( YY_NULL )
/* report a fatal error */
/* The funky do-while is used to turn this macro definition into
@ -135,7 +150,7 @@ int free();
*/
#if !defined(__VISAGECPP__)
#define YY_FATAL_ERROR(msg) \
#define YY_FATAL_ERROR(msg) \
do \
{ \
(void) fputs( msg, stderr ); \
@ -144,9 +159,9 @@ int free();
} \
while ( 0 )
#else
/* suppress expression always false warning */
int os2var = 0;
#define YY_FATAL_ERROR(msg) \
/* suppress expression always false warning */
int os2var = 0;
#define YY_FATAL_ERROR(msg) \
do \
{ \
(void) fputs( msg, stderr ); \
@ -156,6 +171,7 @@ int os2var = 0;
while ( os2var == 0 )
#endif
/* default yywrap function - always treat EOF as an EOF */
int yywrap(void) { return 1; }
@ -171,7 +187,7 @@ int yywrap(void) { return 1; }
/* special action meaning "start processing a new file" */
#if !defined(__VISAGECPP__)
#define YY_NEW_FILE \
#define YY_NEW_FILE \
do \
{ \
yy_init_buffer( yy_current_buffer, yyin ); \
@ -179,7 +195,7 @@ int yywrap(void) { return 1; }
} \
while ( 0 )
#else
#define YY_NEW_FILE \
#define YY_NEW_FILE \
do \
{ \
yy_init_buffer( yy_current_buffer, yyin ); \
@ -188,26 +204,25 @@ int yywrap(void) { return 1; }
while ( os2var == 0 )
#endif
/* default declaration of generated scanner - a define so the user can
* easily add parameters
*/
#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
#ifndef YY_BUF_SIZE
#define YY_BUF_SIZE (YY_READ_BUF_SIZE * 2) /* size of default input buffer */
#define YY_BUF_SIZE (YY_READ_BUF_SIZE * 2) /* size of default input buffer */
#endif
typedef struct yy_buffer_state *YY_BUFFER_STATE;
#define YY_CHAR unsigned char
# line 1 "lexer.l"
// # line 1 "lexer.l"
#define INITIAL 0
# line 9 "lexer.l"
// # line 9 "lexer.l"
/*
* File: lexer.l
* Description: Lexical analyser for PROLOGIO; can be used with
@ -220,18 +235,17 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE;
*/
#if defined(FLEX_SCANNER) && defined(_LINUX)
#define PROIO_input my_input
#define PROIO_input my_input
#endif
/* ---steve162e */
#include "wx/deprecated/expr.h"
#ifdef wx_x
extern char *malloc();
extern char *malloc();
#endif
#define Return(x) return x;
#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));
#endif
static size_t lex_buffer_length = 0;
@ -240,28 +254,34 @@ static size_t lex_string_ptr = 0;
static int lex_read_from_string = 0;
static int my_input(void);
static int my_unput(char);
#ifndef FLEX_SCANNER
static int my_unput(char);
#endif
#ifdef FLEX_SCANNER
#undef YY_INPUT
# define YY_INPUT(buf,result,max_size) \
#undef YY_INPUT
#define YY_INPUT(buf,result,max_size) \
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 \
if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
YY_FATAL_ERROR( "read() in flex scanner failed" );
#else
# ifndef unput
# undef unput
# endif
# define unput(_c) my_unput(_c)
#ifndef unput
#undef unput
#endif
#define unput(_c) my_unput(_c)
#endif
# line 58 "lexer.l"
// # line 58 "lexer.l"
/* done after the current pattern has been matched and before the
* corresponding action - sets up yytext
*/
#define YY_DO_BEFORE_ACTION \
yytext = yy_bp; \
yyleng = yy_cp - yy_bp; \
@ -275,7 +295,7 @@ static int my_unput(char);
/* return all but the first 'n' matched characters back to the input stream */
#if !defined(__VISAGECPP__)
#define yyless(n) \
#define yyless(n) \
do \
{ \
/* undo effects of setting up yytext */ \
@ -285,7 +305,7 @@ static int my_unput(char);
} \
while ( 0 )
#else
#define yyless(n) \
#define yyless(n) \
do \
{ \
/* undo effects of setting up yytext */ \
@ -299,9 +319,8 @@ static int my_unput(char);
#undef unput
#define unput(c) yyunput( c, yytext )
struct yy_buffer_state
{
{
FILE *yy_input_file;
YY_CHAR *yy_ch_buf; /* input buffer */
@ -314,13 +333,16 @@ struct yy_buffer_state
int yy_n_chars;
int yy_eof_status; /* whether we've seen an EOF on this buffer */
#define EOF_NOT_SEEN 0
/* "pending" happens when the EOF has been seen but there's still
* some text process
*/
#define EOF_PENDING 1
#define EOF_DONE 2
};
};
static YY_BUFFER_STATE yy_current_buffer;
@ -339,11 +361,11 @@ static int yy_n_chars; /* number of characters read into yy_ch_buf */
#ifndef YY_USER_ACTION
#define YY_USER_ACTION
#define YY_USER_ACTION
#endif
#ifndef YY_USER_INIT
#define YY_USER_INIT
#define YY_USER_INIT
#endif
extern YY_CHAR *yytext;
@ -480,9 +502,9 @@ void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
#define yy_new_buffer yy_create_buffer
#ifdef __cplusplus
static int yyinput YY_PROTO(( void ));
static int yyinput YY_PROTO(( void ));
#else
static int input YY_PROTO(( void ));
static int input YY_PROTO(( void ));
#endif
YY_DECL
@ -570,98 +592,126 @@ do_action: /* this label is used only to access EOF actions */
switch ( yy_act )
{
case 0: /* must backtrack */
{
/* undo the effects of YY_DO_BEFORE_ACTION */
*yy_cp = yy_hold_char;
yy_cp = yy_last_accepting_cpos;
yy_current_state = yy_last_accepting_state;
goto yy_find_action;
}
case 1:
# line 60 "lexer.l"
{yylval.s = strdup((const char*) yytext); Return(INTEGER);}
YY_BREAK
case 2:
# line 62 "lexer.l"
Return(EXP);
YY_BREAK
case 3:
# line 64 "lexer.l"
{yylval.s = strdup((const char*) yytext); Return(WORD);}
YY_BREAK
case 4:
# line 66 "lexer.l"
{int len = strlen((const char*) yytext);
case 1:
{
yylval.s = strdup((const char*) yytext);
return INTEGER;
}
case 2:
{
return EXP;
}
case 3:
{
yylval.s = strdup((const char*) yytext);
return WORD;
}
case 4:
{
int len = strlen((const char*) yytext);
yytext[len-1] = 0;
yylval.s = strdup((const char*) (yytext+1));
Return(WORD);}
YY_BREAK
case 5:
# line 71 "lexer.l"
{yylval.s = strdup((const char*) yytext); Return(STRING);}
YY_BREAK
case 6:
# line 73 "lexer.l"
Return(OPEN);
YY_BREAK
case 7:
# line 75 "lexer.l"
Return(CLOSE);
YY_BREAK
case 8:
# line 77 "lexer.l"
Return(COMMA);
YY_BREAK
case 9:
# line 79 "lexer.l"
Return(OPEN_SQUARE);
YY_BREAK
case 10:
# line 81 "lexer.l"
Return(CLOSE_SQUARE);
YY_BREAK
case 11:
# line 83 "lexer.l"
Return(EQUALS);
YY_BREAK
case 12:
# line 85 "lexer.l"
Return(PERIOD);
YY_BREAK
case 13:
# line 87 "lexer.l"
;
YY_BREAK
case 14:
# line 89 "lexer.l"
;
YY_BREAK
case 15:
# line 91 "lexer.l"
{ loop:
#ifdef __cplusplus
return WORD;
}
case 5:
{
yylval.s = strdup((const char*) yytext);
return STRING;
}
case 6:
{
return OPEN;
}
case 7:
{
return CLOSE;
}
case 8:
{
return COMMA;
}
case 9:
{
return OPEN_SQUARE;
}
case 10:
{
return CLOSE_SQUARE;
}
case 11:
{
return EQUALS;
}
case 12:
{
return PERIOD;
}
case 13:
{
break;
}
case 14:
{
break;
}
case 15:
{
loop:
#ifdef __cplusplus
while (yyinput() != '*');
switch (yyinput())
#else
#else
while (input() != '*');
switch (input())
#endif
#endif
{
case '/':
break;
case '*':
unput('*');
default:
goto loop;
}
break;
}
case 16:
{
case '/': break;
case '*': unput('*');
default: goto loop;
return ERROR;
}
case 17:
{
ECHO;
break;
}
YY_BREAK
case 16:
# line 106 "lexer.l"
Return(ERROR);
YY_BREAK
case 17:
# line 108 "lexer.l"
ECHO;
YY_BREAK
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(INITIAL):
{
yyterminate();
}
case YY_END_OF_BUFFER:
{
@ -706,7 +756,6 @@ case YY_STATE_EOF(INITIAL):
yy_current_state = yy_next_state;
goto yy_match;
}
else
{
yy_cp = yy_last_accepting_cpos;
@ -714,7 +763,6 @@ case YY_STATE_EOF(INITIAL):
goto yy_find_action;
}
}
else switch ( yy_get_next_buffer() )
{
case EOB_ACT_END_OF_FILE:
@ -736,7 +784,6 @@ case YY_STATE_EOF(INITIAL):
yy_act = YY_STATE_EOF((yy_start - 1) / 2);
goto do_action;
}
else
{
if ( ! yy_did_buffer_switch_on_eof )
@ -755,8 +802,7 @@ case YY_STATE_EOF(INITIAL):
goto yy_match;
case EOB_ACT_LAST_MATCH:
yy_c_buf_p =
&yy_current_buffer->yy_ch_buf[yy_n_chars];
yy_c_buf_p = &yy_current_buffer->yy_ch_buf[yy_n_chars];
yy_current_state = yy_get_previous_state();
@ -771,10 +817,10 @@ case YY_STATE_EOF(INITIAL):
#ifdef FLEX_DEBUG
printf( "action # %d\n", yy_act );
#endif
YY_FATAL_ERROR(
"fatal flex scanner internal error--no action found" );
YY_FATAL_ERROR("fatal flex scanner internal error--no action found" );
}
}
#if defined(__VISAGECPP__)
/* VA complains about proc maybe not returning a value so return one */
return 0;
@ -794,8 +840,7 @@ return 0;
*/
static int yy_get_next_buffer()
{
{
register YY_CHAR *dest = yy_current_buffer->yy_ch_buf;
register YY_CHAR *source = yytext - 1; /* copy prev. char, too */
register int number_to_move, i;
@ -865,7 +910,7 @@ static int yy_get_next_buffer()
yytext = &yy_current_buffer->yy_ch_buf[1];
return ( ret_val );
}
}
/* yy_get_previous_state - get the state just before the EOB char was reached
@ -875,8 +920,7 @@ static int yy_get_next_buffer()
*/
static yy_state_type yy_get_previous_state()
{
{
register yy_state_type yy_current_state;
register YY_CHAR *yy_cp;
@ -900,7 +944,7 @@ static yy_state_type yy_get_previous_state()
}
return ( yy_current_state );
}
}
/* yy_try_NUL_trans - try to make a transition on the NUL character
@ -915,8 +959,7 @@ 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 )
register yy_state_type yy_current_state;
#endif
{
{
register int yy_is_jam;
register YY_CHAR *yy_cp = yy_c_buf_p;
@ -936,7 +979,7 @@ register yy_state_type yy_current_state;
yy_is_jam = (yy_current_state == 33);
return ( yy_is_jam ? 0 : yy_current_state );
}
}
#ifdef YY_USE_PROTOS
@ -946,8 +989,7 @@ static void yyunput( c, yy_bp )
YY_CHAR c;
register YY_CHAR *yy_bp;
#endif
{
{
register YY_CHAR *yy_cp = yy_c_buf_p;
/* undo effects of setting up yytext */
@ -981,7 +1023,7 @@ register YY_CHAR *yy_bp;
* macro to now work correctly
*/
YY_DO_BEFORE_ACTION; /* set up yytext again */
}
}
#ifdef __cplusplus
@ -989,8 +1031,7 @@ static int yyinput()
#else
static int input()
#endif
{
{
int c;
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.
*/
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';
}
else
{ /* need more input */
yytext = yy_c_buf_p;
@ -1020,27 +1061,25 @@ static int input()
yy_c_buf_p = yytext + YY_MORE_ADJ;
return ( EOF );
}
YY_NEW_FILE;
#ifdef __cplusplus
#ifdef __cplusplus
return ( yyinput() );
#else
#else
return ( input() );
#endif
#endif
}
break;
case EOB_ACT_CONTINUE_SCAN:
yy_c_buf_p = yytext + YY_MORE_ADJ;
break;
case EOB_ACT_LAST_MATCH:
#ifdef __cplusplus
#ifdef __cplusplus
YY_FATAL_ERROR( "unexpected last match in yyinput()" );
#else
#else
YY_FATAL_ERROR( "unexpected last match in input()" );
#endif
#endif
}
}
}
@ -1049,7 +1088,7 @@ static int input()
yy_hold_char = *++yy_c_buf_p;
return ( c );
}
}
#ifdef YY_USE_PROTOS
@ -1058,11 +1097,10 @@ void yyrestart( FILE *input_file )
void yyrestart( input_file )
FILE *input_file;
#endif
{
{
yy_init_buffer( yy_current_buffer, input_file );
yy_load_buffer_state();
}
}
#ifdef YY_USE_PROTOS
@ -1071,8 +1109,7 @@ void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
void yy_switch_to_buffer( new_buffer )
YY_BUFFER_STATE new_buffer;
#endif
{
{
if ( yy_current_buffer == new_buffer )
return;
@ -1093,7 +1130,7 @@ YY_BUFFER_STATE new_buffer;
* to go ahead and always set it.
*/
yy_did_buffer_switch_on_eof = 1;
}
}
#ifdef YY_USE_PROTOS
@ -1101,13 +1138,12 @@ void yy_load_buffer_state( void )
#else
void yy_load_buffer_state()
#endif
{
{
yy_n_chars = yy_current_buffer->yy_n_chars;
yytext = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
yyin = yy_current_buffer->yy_input_file;
yy_hold_char = *yy_c_buf_p;
}
}
#ifdef YY_USE_PROTOS
@ -1117,8 +1153,7 @@ YY_BUFFER_STATE yy_create_buffer( file, size )
FILE *file;
int size;
#endif
{
{
YY_BUFFER_STATE b;
b = (YY_BUFFER_STATE) malloc( sizeof( struct yy_buffer_state ) );
@ -1139,7 +1174,7 @@ int size;
yy_init_buffer( b, file );
return ( b );
}
}
#ifdef YY_USE_PROTOS
@ -1148,14 +1183,13 @@ void yy_delete_buffer( YY_BUFFER_STATE b )
void yy_delete_buffer( b )
YY_BUFFER_STATE b;
#endif
{
{
if ( b == yy_current_buffer )
yy_current_buffer = (YY_BUFFER_STATE) 0;
free( (char *) b->yy_ch_buf );
free( (char *) b );
}
}
#ifdef YY_USE_PROTOS
@ -1165,8 +1199,7 @@ void yy_init_buffer( b, file )
YY_BUFFER_STATE b;
FILE *file;
#endif
{
{
b->yy_input_file = file;
/* we put in the '\n' and start reading from [1] so that an
@ -1186,43 +1219,49 @@ FILE *file;
b->yy_buf_pos = &b->yy_ch_buf[1];
b->yy_eof_status = EOF_NOT_SEEN;
}
# line 108 "lexer.l"
}
// # line 108 "lexer.l"
#ifdef FLEX_SCANNER
static int lex_input() {
static int lex_input()
{
return input();
}
}
#else /* BSD/AT&T lex */
#ifndef input
# error "Sorry, but need either flex or AT&T lex"
#endif
static int lex_input() {
#ifndef input
#error "Sorry, but need either flex or AT&T lex"
#endif
static int lex_input() {
return input();
}
/* # undef unput
# define unput(_c) my_unput(_c)
*/
}
# undef input
# define input() my_input()
static int my_unput(char c)
{
if (lex_read_from_string) {
/*
# undef unput
# define unput(_c) my_unput(_c)
*/
# undef input
# define input() my_input()
static int my_unput(char c)
{
if (lex_read_from_string)
{
/* Make sure we have something */
if (lex_string_ptr) {
if (lex_string_ptr)
{
if (c == '\n') yylineno--;
lex_string_ptr--;
}
} else {
}
else
{
yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;
/* unput(c); Causes infinite recursion! */
/* unput(c); Causes infinite recursion! */
}
return c;
}
}
#endif
/* Public */
@ -1254,17 +1293,23 @@ void LexFromString(char *buffer)
static int my_input( void )
{
if (lex_read_from_string) {
if (lex_read_from_string)
{
if (lex_string_ptr == lex_buffer_length)
{
return 0;
else {
}
else
{
char c = lex_buffer[lex_string_ptr++];
#ifndef FLEX_SCANNER
if (c == '\n') yylineno++;
#endif
return c;
}
} else {
}
else
{
return lex_input();
}
}
@ -1274,3 +1319,4 @@ void wxExprCleanUp()
if (yy_current_buffer)
yy_delete_buffer(yy_current_buffer);
}

View File

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