]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/dosyacc.c
fixed wxStrrchr(s, '\0') bug, added const and non const versions of wxStrchr, wxStrrc...
[wxWidgets.git] / src / common / dosyacc.c
index e2bdecb862a8342ac8cf94c15698b78a84c79683..a773cce6ef742978d6b165a1e563d6592f3876ac 100644 (file)
@@ -4,6 +4,9 @@ static char yysccsid[] = "@(#)yaccpar     1.7 (Berkeley) 09/09/90";
 #define YYBYACC 1
 #line 2 "parser.y"
 #include "string.h"
+#if defined(_MSC_VER) || defined(__VISAGECPP__)
+#include <io.h>
+#endif
 #include "wx/expr.h"
 
 #ifndef __EXTERN_C__
@@ -22,7 +25,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); */
@@ -206,7 +208,11 @@ YYSTYPE yyvs[YYSTACKSIZE];
 #define yystacksize YYSTACKSIZE
 #line 118 "parser.y"
 
+#ifdef IDE_INVOKED
+#include "../common/doslex.c"
+#else
 #include "../common/lex_yy.c"
+#endif
 
 /*
 void yyerror(s)
@@ -241,7 +247,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"
@@ -249,14 +258,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')
@@ -273,7 +283,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;
@@ -386,7 +397,7 @@ yyreduce:
     {
 case 3:
 #line 68 "parser.y"
-{process_command(proio_cons(make_word(yyvsp[-1].s), NULL)); free(yyvsp[-1].s);}
+{process_command(proio_cons(wxmake_word(yyvsp[-1].s), NULL)); free(yyvsp[-1].s);}
 break;
 case 4:
 #line 70 "parser.y"
@@ -398,7 +409,7 @@ case 5:
 break;
 case 6:
 #line 76 "parser.y"
-{yyval.s = proio_cons(make_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;
 case 7:
 #line 78 "parser.y"
@@ -422,7 +433,7 @@ case 11:
 break;
 case 12:
 #line 93 "parser.y"
-{yyval.s = proio_cons(make_word("="), proio_cons(make_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); }
 break;
 case 13:
@@ -431,27 +442,27 @@ case 13:
 break;
 case 14:
 #line 99 "parser.y"
-{yyval.s = make_word(yyvsp[0].s); free(yyvsp[0].s);}
+{yyval.s = wxmake_word(yyvsp[0].s); free(yyvsp[0].s);}
 break;
 case 15:
 #line 101 "parser.y"
-{yyval.s = make_string(yyvsp[0].s); free(yyvsp[0].s);}
+{yyval.s = wxmake_string(yyvsp[0].s); free(yyvsp[0].s);}
 break;
 case 16:
 #line 103 "parser.y"
-{yyval.s = make_integer(yyvsp[0].s); free(yyvsp[0].s);}
+{yyval.s = wxmake_integer(yyvsp[0].s); free(yyvsp[0].s);}
 break;
 case 17:
 #line 105 "parser.y"
-{yyval.s = make_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;
 case 18:
 #line 107 "parser.y"
-{yyval.s = make_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;
 case 19:
 #line 110 "parser.y"
-{yyval.s = make_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); }
 break;
 case 20: