X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f57fe24c6389876d7ddf02aa7a09f3b48a6956de..19141178ecd7156fe5254c524d1d25cd40c06a2a:/src/common/parser.y diff --git a/src/common/parser.y b/src/common/parser.y index 3973c3948c..141a6280f4 100644 --- a/src/common/parser.y +++ b/src/common/parser.y @@ -1,9 +1,10 @@ %{ +#include "wx/setup.h" #include #ifdef _MSC_VER #include #endif -#ifdef __GNUWIN32__ +#if defined(__GNUWIN32__) && !defined(__TWIN32__) #include #endif @@ -27,12 +28,7 @@ void yyerror(char *); /* You may need to put /DLEX_SCANNER in your makefile * if you're using LEX! */ -#ifdef LEX_SCANNER -/* int yyoutput(int); */ void yyoutput(int); -#else -void yyoutput(int); -#endif #if defined(__cplusplus) || defined(__STDC__) #if defined(__cplusplus) && defined(__EXTERN_C__) @@ -73,7 +69,7 @@ commands : /* empty */ ; command : WORD PERIOD - {process_command(proio_cons(make_word($1), NULL)); free($1);} + {process_command(proio_cons(wxmake_word($1), NULL)); free($1);} | expr PERIOD {process_command($1);} | error PERIOD @@ -81,7 +77,7 @@ command : WORD PERIOD ; expr : WORD OPEN arglist CLOSE - {$$ = proio_cons(make_word($1), $3); free($1);} + {$$ = proio_cons(wxmake_word($1), $3); free($1);} | OPEN_SQUARE CLOSE_SQUARE {$$ = proio_cons(NULL, NULL);} | OPEN_SQUARE arglist CLOSE_SQUARE @@ -98,24 +94,24 @@ arglist : ; arg : WORD EQUALS arg1 - {$$ = proio_cons(make_word("="), proio_cons(make_word($1), proio_cons($3, NULL))); + {$$ = proio_cons(wxmake_word("="), proio_cons(wxmake_word($1), proio_cons($3, NULL))); free($1); } | arg1 {$$ = $1; } arg1 : WORD - {$$ = make_word($1); free($1);} + {$$ = wxmake_word($1); free($1);} | STRING - {$$ = make_string($1); free($1);} + {$$ = wxmake_string($1); free($1);} | INTEGER - {$$ = make_integer($1); free($1);} + {$$ = wxmake_integer($1); free($1);} | INTEGER PERIOD INTEGER - {$$ = make_real($1, $3); free($1); free($3); } + {$$ = wxmake_real($1, $3); free($1); free($3); } | INTEGER EXP INTEGER - {$$ = make_exp($1, $3); free($1); free($3); } + {$$ = wxmake_exp($1, $3); free($1); free($3); } | INTEGER PERIOD INTEGER EXP INTEGER - {$$ = make_exp2($1, $3, $5); free($1); free($3); + {$$ = wxmake_exp2($1, $3, $5); free($1); free($3); free($5); } | expr @@ -124,11 +120,18 @@ arg1 : WORD %% -#if (defined(__WXGTK__) || defined(__WXMOTIF__)) && !defined(NO_CONFIGURE) +/* We include lexer.c if we are building for gtk, wine or motif + * and also whenever we are using configure (marked by __WX_SETUP_H__) for, + * for example, cross compilation. */ +#if (defined(__WXGTK__) || defined(__WXWINE__) || defined(__WXMOTIF__)) || defined(__WX_SETUP_H__) && !defined(NO_CONFIGURE) #include "lexer.c" #else +#if (defined(__MWERKS__)) +#include "../common/cwlex_yy.c" +#else #include "../common/lex_yy.c" #endif +#endif /* void yyerror(s) @@ -157,12 +160,18 @@ void yyerror(char *s) * to test */ -#ifndef __SC__ +/* HH: Added test for __WX_SETUP_H__ for gnuwin builds + * using configure */ +#if !defined(__SC__) && !defined(__GNUWIN32__) #ifdef USE_DEFINE #ifndef yywrap #define yywrap() 1 #endif -#else if !defined(__alpha) && !defined(__ultrix) +#elif !defined(__ultrix) +int yywrap() { return 1; } +#elif defined(__VMS__) int yywrap() { return 1; } #endif +#elif defined(__WX_SETUP_H__) +int yywrap() { return 1; } #endif