]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/dosyacc.c
tried to clean strdup() mess: we now have wxStrdup[AW] which should be always available
[wxWidgets.git] / src / common / dosyacc.c
index 269cea2073215f10f8d4327c456d23eb2bea3cea..9fce511cdab9d08040eb0237080490c2fdfe85b9 100644 (file)
@@ -1,10 +1,18 @@
+#ifdef WIN32
+/* all Win32 compilers can handle C++ comments, and C++ comments
+   is the only C++ in setup.h */
+#include "wx/setup.h"
+#endif
+
+#if !defined(wxUSE_PROLOGIO) || wxUSE_PROLOGIO
+
 #ifndef lint
 static char yysccsid[] = "@(#)yaccpar     1.7 (Berkeley) 09/09/90";
 #endif
 #define YYBYACC 1
 #line 2 "parser.y"
 #include "string.h"
-#ifdef _MSC_VER
+#if defined(_MSC_VER) || defined(__VISAGECPP__)
 #include <io.h>
 #endif
 #include "wx/expr.h"
@@ -25,7 +33,6 @@ int yyback(int *, int);
 
 /* You may need to put /DLEX_SCANNER in your makefile
  * if you're using LEX!
-       Last change:  JS   13 Jul 97    6:12 pm
  */
 #ifdef LEX_SCANNER
 /* int yyoutput(int); */
@@ -248,7 +255,10 @@ void yyerror(char *s)
 #define yywrap() 1
 #endif
 #else
-int yywrap() { return 1; }
+#  if !(defined(__VISAGECPP__) && __IBMC__ >= 400)
+/* VA 4.0 thinks this is multiply defined (in lex_yy.c) */
+   int yywrap() { return 1; }
+#  endif
 #endif
 #endif
 #line 247 "y_tab.c"
@@ -256,14 +266,15 @@ int yywrap() { return 1; }
 #define YYACCEPT goto yyaccept
 #define YYERROR goto yyerrlab
 int
-yyparse()
+PROIO_yyparse()
 {
     register int yym, yyn, yystate;
 #if YYDEBUG
     register char *yys;
     extern char *getenv();
 
-    if (yys = getenv("YYDEBUG"))
+    yys = getenv("YYDEBUG");
+    if (yys)
     {
         yyn = *yys;
         if (yyn >= '0' && yyn <= '9')
@@ -280,7 +291,8 @@ yyparse()
     *yyssp = yystate = 0;
 
 yyloop:
-    if (yyn = yydefred[yystate]) goto yyreduce;
+    yyn = yydefred[yystate];
+    if (yyn != 0) goto yyreduce;
     if (yychar < 0)
     {
         if ((yychar = yylex()) < 0) yychar = 0;
@@ -522,3 +534,5 @@ yyabort:
 yyaccept:
     return (0);
 }
+
+#endif /* wxUSE_PROLOGIO */