bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01-fyi-fix-bison-c++.patch


From: Akim Demaille
Subject: 01-fyi-fix-bison-c++.patch
Date: Mon, 08 Apr 2002 14:31:22 +0200

Index: ChangeLog
from  Akim Demaille  <address@hidden>

        * data/bison.c++: s/b4_item_number_max/b4_rhs_number_max/.
        Adding #line.
        Remove the duplicate `typedefs'.
        (RhsNumberType): Fix the declaration and various other typos.
        Use __ofile__.
        * data/bison.simple: Use __ofile__.
        * src/scan-skel.l: Handle __ofile__.

Index: src/scan-skel.l
--- src/scan-skel.l Mon, 04 Feb 2002 23:18:59 +0100 akim
+++ src/scan-skel.l Mon, 08 Apr 2002 14:25:10 +0200 akim
@@ -26,16 +26,20 @@
 #include "files.h"
 int skel_lex PARAMS ((void));
 static int yylineno = 1;
+static char *yyoutname = NULL;
 %}
 %%
   /* This is an approximation, but we don't need more. */
 ^"#output \""[^\"]+\"\n        {
      yytext[yyleng - 2] = '\0';
-     skel_out = xfopen (yytext + strlen ("#output \""), "w");
+     XFREE (yyoutname);
+     yyoutname = xstrdup (yytext + strlen ("#output \""));
+     yyout = xfopen (yyoutname, "w");
      yylineno = 1;
    }

 "__oline__"      fprintf (yyout, "%d", yylineno);
+"__ofile__"      fprintf (yyout, "%s", yyoutname);
 [^_\n]+          ECHO;
 \n+              yylineno += yyleng; ECHO;
 .                ECHO;
Index: data/bison.simple
--- data/bison.simple Sun, 07 Apr 2002 21:22:52 +0200 akim
+++ data/bison.simple Mon, 08 Apr 2002 14:25:58 +0200 akim
@@ -149,7 +149,7 @@ m4_define([b4_token_defines],
 #endif

 /* Line __line__ of __file__.  */
-#line __oline__
+#line __oline__ "__ofile__"

 /* All symbols defined below should begin with yy or YY, to avoid
    infringing on user name space.  This should be done even for local
@@ -936,7 +936,7 @@ yyreduce:
     }

 /* Line __line__ of __file__.  */
-#line __oline__
+#line __oline__ "__ofile__"
 
 [  yyvsp -= yylen;
   yyssp -= yylen;
Index: data/bison.c++
--- data/bison.c++ Sun, 07 Apr 2002 21:22:52 +0200 akim
+++ data/bison.c++ Mon, 08 Apr 2002 14:29:18 +0200 akim
@@ -137,6 +137,7 @@ m4_define([b4_copyright],
 # define YYSTYPE yystype
 #endif

+#line __oline__  "__ofile__"
 #ifndef YYLLOC_DEFAULT
 # define YYLLOC_DEFAULT(Current, Rhs, N) \
    Current.last_line = Rhs[[N]].last_line; \
@@ -167,8 +168,8 @@ m4_define([b4_copyright],
   template < >
   struct Traits< b4_name >
   {
-    typedef typedef b4_uint_type(b4_token_number_max) TokenNumberType;
-    typedef typedef b4_sint_type(b4_item_number_max)  RhsNumberType;
+    typedef b4_uint_type(b4_token_number_max) TokenNumberType;
+    typedef b4_sint_type(b4_rhs_number_max)   RhsNumberType;
     typedef int      StateType;
     typedef yystype  SemanticType;
     typedef b4_ltype LocationType;
@@ -182,7 +183,7 @@ m4_define([b4_copyright],
   public:

     typedef Traits< b4_name >::TokenNumberType TokenNumberType;
-    typedef Traits< b4_name >::RhsNumberType   TokenNumberType;
+    typedef Traits< b4_name >::RhsNumberType   RhsNumberType;
     typedef Traits< b4_name >::StateType       StateType;
     typedef Traits< b4_name >::SemanticType    SemanticType;
     typedef Traits< b4_name >::LocationType    LocationType;
@@ -236,7 +237,7 @@ m4_define([b4_copyright],

     /* More tables, for debugging.  */
 #if YYDEBUG
-    static const short rhs_[[]];
+    static const RhsNumberType rhs_[[]];
     static const short prhs_[[]];
     static const short rline_[[]];
 #endif
@@ -459,6 +460,9 @@ yy::b4_name::parse ()
       }
   }

+/* Line __line__ of __file__.  */
+#line __oline__ "__ofile__"
+
   state_stack_.pop (len_);
   semantic_stack_.pop (len_);
   location_stack_.pop (len_);
@@ -686,7 +690,7 @@ yy::b4_name::r2_[[]] =

 #if YYDEBUG
 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
-const RhsNumberType
+const yy::b4_name::RhsNumberType
 yy::b4_name::rhs_[[]] =
 {
   b4_rhs
@@ -709,7 +713,7 @@ yy::b4_name::rline_[[]] =
 #endif

 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
-TokenNumberType
+yy::b4_name::TokenNumberType
 yy::b4_name::translate_ (int token)
 {
   static



reply via email to

[Prev in Thread] Current Thread [Next in Thread]