]> git.saurik.com Git - bison.git/commitdiff
Add i18n support to the GLR skeleton. Partially fix the C++
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 18 Jul 2005 22:10:15 +0000 (22:10 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 18 Jul 2005 22:10:15 +0000 (22:10 +0000)
skeleton; a C++ expert needs to finish this.  Remove debugging
msgids; there's little point to having them translated, since they
can be understood only by someone who can read the
(English-language) source code.

Generate runtime-po/bison-runtime.pot automatically, so that we
don't have to worry about garbage getting in that file.  We'll
make sure after the next official release that old msgids don't
get lost.  See
<http://lists.gnu.org/archive/html/bison-patches/2005-07/msg00119.html>.

* runtime-po/Makefile.in.in, runtime-po/bison-runtime.pot: Remove.
Now auto-generated.
* PACKAGING: Don't claim that Gawk, GCC, Perl use this method yet.
Fix typos in explanations of the runtime file.
* bootstrap: Change gettext keyword from YYI18N to YY_.
Use standard Makefile.in.in in runtime-po, since we'll arrange
for backward-compatible bison-runtime.po files in a different way.
* data/glr.c (YY_): New macro, from yacc.c.
(yyuserAction, yyreportAmbiguity, yyreportSyntaxError, yyparse):
Translate messages intended for users.
(yyreportSyntaxError): Change "virtual memory" to "memory" to match
the wording in the other skeletons.  We don't know that the memory
is virtual.
* data/lalr1.cc (YY_): Renamed from _.  All uses changed.
Use same method that yacc.c uses.
Don't translate debugging messages.
(yy::yyreport_syntax_error): Put in a FIXME for the i18n stuff;
it doesn't work (yet), and requires C++ expertise to fix.
* data/yacc.c (YY_): Renamed from YY18N.  All uses changed.
Move defn to a more logical place, to be consistent with other
skeletons.
Don't translate debugging messages.
Don't assume line numbers fit in unsigned int; use unsigned long fmts.
* doc/bison.texinfo: Mention <libintl.h>.  Change glibc cross reference
to gettext cross reference.  Add indexing terms.  Mention YYENABLE_NLS.
* runtime-po/POTFILES.in: Add data/glr.c, data/lalr1.cc.

ChangeLog
PACKAGING
bootstrap
data/c.m4
data/glr.c
data/lalr1.cc
data/yacc.c
doc/bison.texinfo
runtime-po/Makefile.in.in [deleted file]
runtime-po/POTFILES.in
runtime-po/bison-runtime.pot [deleted file]

index 82929e9ab1b31c158418ecdc48262f7562f8e1e6..a9207dcdf11be9b9a64b8249d11ccb36cb074150 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,44 @@
 2005-07-18  Paul Eggert  <eggert@cs.ucla.edu>
 
+       Add i18n support to the GLR skeleton.  Partially fix the C++
+       skeleton; a C++ expert needs to finish this.  Remove debugging
+       msgids; there's little point to having them translated, since they
+       can be understood only by someone who can read the
+       (English-language) source code.
+
+       Generate runtime-po/bison-runtime.pot automatically, so that we
+       don't have to worry about garbage getting in that file.  We'll
+       make sure after the next official release that old msgids don't
+       get lost.  See
+       <http://lists.gnu.org/archive/html/bison-patches/2005-07/msg00119.html>.
+
+       * runtime-po/Makefile.in.in, runtime-po/bison-runtime.pot: Remove.
+       Now auto-generated.
+       * PACKAGING: Don't claim that Gawk, GCC, Perl use this method yet.
+       Fix typos in explanations of the runtime file.
+       * bootstrap: Change gettext keyword from YYI18N to YY_.
+       Use standard Makefile.in.in in runtime-po, since we'll arrange
+       for backward-compatible bison-runtime.po files in a different way.
+       * data/glr.c (YY_): New macro, from yacc.c.
+       (yyuserAction, yyreportAmbiguity, yyreportSyntaxError, yyparse):
+       Translate messages intended for users.
+       (yyreportSyntaxError): Change "virtual memory" to "memory" to match
+       the wording in the other skeletons.  We don't know that the memory
+       is virtual.
+       * data/lalr1.cc (YY_): Renamed from _.  All uses changed.
+       Use same method that yacc.c uses.
+       Don't translate debugging messages.
+       (yy::yyreport_syntax_error): Put in a FIXME for the i18n stuff;
+       it doesn't work (yet), and requires C++ expertise to fix.
+       * data/yacc.c (YY_): Renamed from YY18N.  All uses changed.
+       Move defn to a more logical place, to be consistent with other
+       skeletons.
+       Don't translate debugging messages.
+       Don't assume line numbers fit in unsigned int; use unsigned long fmts.
+       * doc/bison.texinfo: Mention <libintl.h>.  Change glibc cross reference
+       to gettext cross reference.  Add indexing terms.  Mention YYENABLE_NLS.
+       * runtime-po/POTFILES.in: Add data/glr.c, data/lalr1.cc.
+
        Fix yyerror / yylex test glitches noted by twlevo@xs4all.nl.
        * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Have yyerror return
        void, not int.
index 2b7d08c11f9d7ecdcf7435dc0fa47380d992aad9..dd285c990c182b69393c2b66672746813f7d4c8d 100644 (file)
--- a/PACKAGING
+++ b/PACKAGING
@@ -17,8 +17,8 @@ be split into two packages:
 
 The 'bison-runtime' binary package is much smaller than the 'bison'
 binary package.  It should be included in any distribution that
-contains programs that use the diagnostics contained in
-Bison-generated parsers, e.g., Gawk, GCC, Perl.
+contains localized programs that use the diagnostics contained in
+Bison-generated parsers.
 
 If you want to install both packages at the same time, you simply do
 at the toplevel directory:
@@ -27,12 +27,12 @@ at the toplevel directory:
       make
       make install
 
-After installation, the files
+After installation, the file
 
       $prefix/share/locale/*/LC_MESSAGES/bison-runtime.mo
 
-belong to the bison-runtime package; all other installed files belong
-to in the bison package.
+belongs to the bison-runtime package; all other installed files belong
+to the bison package.
 
 -----
 
index 1207d6b09909e9c98c6703e310d341f470c02457..d5ff4966a53522fb04f2f0402b563a72fc094780 100755 (executable)
--- a/bootstrap
+++ b/bootstrap
@@ -246,11 +246,11 @@ sed '/^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-bison@gnu.org/' po/Makevars.template >p
 sed '
   s/^\(DOMAIN\) *=.*/\1 = bison-runtime/
   s/^\(subdir\) *=.*/\1 = runtime-po/
-  s/^\(XGETTEXT_OPTIONS\) *=.*/\1 = --keyword=YYI18N/
+  s/^\(XGETTEXT_OPTIONS\) *=.*/\1 = --keyword=YY_/
 ' <po/Makevars >runtime-po/Makevars
 
 # Copy identical files from po to runtime-po.
-(cd po && cp -p *-quot *.header *.sed *.sin ../runtime-po)
+(cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po)
 
 # if src/parse-gram.[ch] are out of date, rebuild them.
 parse_gram_y=`find src/parse-gram.y \
index 581402e56af2f932bc45244ad7e15f999a02ce7f..e9f0c055f00442ef5ac2a0fe471a2e76808762b9 100644 (file)
--- a/data/c.m4
+++ b/data/c.m4
@@ -403,7 +403,7 @@ b4_location_if([  (void) yylocationp;
     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
 
 ]b4_location_if([  YY_LOCATION_PRINT (yyoutput, *yylocationp);
-  fprintf (yyoutput, ": ");
+  YYFPRINTF (yyoutput, ": ");
 ])dnl
 [
 # ifdef YYPRINT
index 23f5669f3cd4f3c6ec12cede02e7e618f7d7304e..c6fe4c3d9eb9b298a606a69e5fd03eb2a67d83b1 100644 (file)
@@ -218,6 +218,18 @@ b4_syncline([@oline@], [@ofile@])
 #include <stdarg.h>
 #include <setjmp.h>
 
+#ifndef YY_
+# if YYENABLE_NLS
+#  if ENABLE_NLS
+#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+#   define YY_(msgid) dgettext ("bison-runtime", msgid)
+#  endif
+# endif
+# ifndef YY_
+#  define YY_(msgid) msgid
+# endif
+#endif
+
 #ifndef YYFREE
 # define YYFREE free
 #endif
@@ -771,7 +783,7 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp,
 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
 # undef YYBACKUP
 # define YYBACKUP(Token, Value)                                                     \
-  return yyerror (]b4_yyerror_args["syntax error: cannot back up"),         \
+  return yyerror (]b4_yyerror_args[YY_("syntax error: cannot back up")),     \
         yyerrok, yyerr
 
   yylow = 1;
@@ -1524,7 +1536,7 @@ yyreportAmbiguity (yySemanticOption* yyx0, yySemanticOption* yyx1,
   yyreportTree (yyx1, 2);
   YYFPRINTF (stderr, "\n");
 #endif
-  yyFail (yystack][]b4_pure_args[, "ambiguity detected");
+  yyFail (yystack][]b4_pure_args[, YY_("ambiguity detected"));
 }
 
 
@@ -1774,8 +1786,8 @@ yyreportSyntaxError (yyGLRStack* yystack,
                yyprefix = yyor;
              }
 
-         yyf = yyformat;
-         yysize1 = yysize + (yyfmt - yyformat);
+         yyf = YY_(yyformat);
+         yysize1 = yysize + strlen (yyf);
          yysize_overflow |= yysize1 < yysize;
          yysize = yysize1;
 
@@ -1803,11 +1815,11 @@ yyreportSyntaxError (yyGLRStack* yystack,
              YYFREE (yymsg);
            }
          else
-           yyerror (]b4_lyyerror_args["syntax error; also virtual memory exhausted");
+           yyerror (]b4_lyyerror_args[YY_("syntax error; also memory exhausted"));
        }
       else
 #endif /* YYERROR_VERBOSE */
-       yyerror (]b4_lyyerror_args["syntax error");
+       yyerror (]b4_lyyerror_args[YY_("syntax error"));
       yynerrs += 1;
     }
 }
@@ -2068,7 +2080,7 @@ b4_syncline([@oline@], [@ofile@])])dnl
            {
              yyundeleteLastStack (&yystack);
              if (yystack.yytops.yysize == 0)
-               yyFail (&yystack][]b4_lpure_args[, "syntax error");
+               yyFail (&yystack][]b4_lpure_args[, YY_("syntax error"));
              YYCHK1 (yyresolveStack (&yystack]b4_user_args[));
              YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
 ]b4_location_if([[           yystack.yyerror_range[1].yystate.yyloc = *yyllocp;]])[
@@ -2098,7 +2110,7 @@ b4_syncline([@oline@], [@ofile@])])dnl
   goto yyreturn;
 
  yyoverflowlab:
-  yyerror (]b4_lyyerror_args["parser stack overflow");
+  yyerror (]b4_lyyerror_args[YY_("parser stack overflow"));
   yyresult = 2;
   /* Fall through.  */
 
index ed311fd4e5e5b4e47ef606965fb54ca0e824f796..e42a2e5da9a2148ecbd5acf8d754d5d1cb6d9a15 100644 (file)
@@ -417,9 +417,16 @@ m4_if(b4_defines_flag, 0, [],
 [
 #include @output_header_name@])[
 
-/* INFRINGES ON USER NAME SPACE */
-#ifndef _
-# define _(msgid) msgid
+#ifndef YY_
+# if YYENABLE_NLS
+#  if ENABLE_NLS
+#   include <libintl.h> /* FIXME: INFRINGES ON USER NAME SPACE */
+#   define YY_(msgid) dgettext ("bison-runtime", msgid)
+#  endif
+# endif
+# ifndef YY_
+#  define YY_(msgid) msgid
+# endif
 #endif
 
 /* A pseudo ostream that takes yydebug_ into account. */
@@ -551,7 +558,7 @@ yy::]b4_parser_class_name[::parse ()
 {
   int yyresult_;
 
-  YYCDEBUG << _("Starting parse") << std::endl;
+  YYCDEBUG << "Starting parse" << std::endl;
 
   yynerrs_ = 0;
   yyerrstatus_ = 0;
@@ -583,7 +590,7 @@ b4_syncline([@oline@], [@ofile@])])dnl
   /* New state.  */
 yynewstate:
   yystate_stack_.push (yystate_);
-  YYCDEBUG << _("Entering state ") << yystate_ << std::endl;
+  YYCDEBUG << "Entering state " << yystate_ << std::endl;
   goto yybackup;
 
   /* Backup.  */
@@ -602,12 +609,12 @@ yybackup:
   if (yylooka_ <= yyeof_)
     {
       yylooka_ = yyilooka_ = yyeof_;
-      YYCDEBUG << _("Now at end of input.") << std::endl;
+      YYCDEBUG << "Now at end of input." << std::endl;
     }
   else
     {
       yyilooka_ = yytranslate_ (yylooka_);
-      YY_SYMBOL_PRINT (_("Next token is"), yyilooka_, &yylval, &yylloc);
+      YY_SYMBOL_PRINT ("Next token is", yyilooka_, &yylval, &yylloc);
     }
 
   /* If the proper action on seeing token ILOOKA_ is to reduce or to
@@ -636,7 +643,7 @@ yybackup:
     goto yyacceptlab;
 
   /* Shift the look-ahead token.  */
-  YY_SYMBOL_PRINT (_("Shifting"), yyilooka_, &yylval, &yylloc);
+  YY_SYMBOL_PRINT ("Shifting", yyilooka_, &yylval, &yylloc);
 
   /* Discard the token being shifted unless it is eof.  */
   if (yylooka_ != yyeof_)
@@ -734,7 +741,7 @@ yyerrlab:
                  yypop_ ();
                 if (yystate_stack_.height () == 1)
                   YYABORT;
-                 yydestruct_ (_("Error: popping"),
+                 yydestruct_ ("Error: popping",
                               yystos_[yystate_stack_[0]],
                               &yysemantic_stack_[0],
                               &yylocation_stack_[0]);
@@ -742,7 +749,7 @@ yyerrlab:
         }
       else
         {
-          yydestruct_ (_("Error: discarding"), yyilooka_, &yylval, &yylloc);
+          yydestruct_ ("Error: discarding", yyilooka_, &yylval, &yylloc);
           yylooka_ = yyempty_;
         }
     }
@@ -793,7 +800,7 @@ yyerrlab1:
        YYABORT;
 
       yyerror_range_[0] = yylocation_stack_[0];
-      yydestruct_ (_("Error: popping"),
+      yydestruct_ ("Error: popping",
                    yystos_[yystate_],
                    &yysemantic_stack_[0], &yylocation_stack_[0]);
       yypop_ ();
@@ -812,7 +819,7 @@ yyerrlab1:
   yylocation_stack_.push (yyloc);
 
   /* Shift the error token. */
-  YY_SYMBOL_PRINT (_("Shifting"), yystos_[yyn_],
+  YY_SYMBOL_PRINT ("Shifting", yystos_[yyn_],
                   &yysemantic_stack_[0], &yylocation_stack_[0]);
 
   yystate_ = yyn_;
@@ -830,14 +837,14 @@ yyabortlab:
 
 yyreturn:
   if (yylooka_ != yyeof_ && yylooka_ != yyempty_)
-    yydestruct_ (_("Error: discarding lookahead"), yyilooka_, &yylval, &yylloc);
+    yydestruct_ ("Error: discarding lookahead", yyilooka_, &yylval, &yylloc);
   return yyresult_;
 }
 
 void
 yy::]b4_parser_class_name[::yylex_ ()
 {
-  YYCDEBUG << _("Reading a token: ");
+  YYCDEBUG << "Reading a token: ";
   yylooka_ = ]b4_c_function_call([yylex], [int],
 [[YYSTYPE*], [&yylval]][]dnl
 b4_location_if([, [[location*], [&yylloc]]])dnl
@@ -869,7 +876,15 @@ yy::]b4_parser_class_name[::yyreport_syntax_error_ ()
             if (yycheck_[x + yyn_] == x && x != yyterror_)
               ++count;
 
-         message = _("syntax error, unexpected ");
+         // FIXME: This method of building the message is not compatible
+         // with internationalization.  It should work like yacc.c does it.
+         // That is, first build a string that looks like this:
+         // "syntax error, unexpected %s or %s or %s"
+         // Then, invoke YY_ on this string.
+         // Finally, use the string as a format to output
+         // yyname_[yyilooka_], etc.
+         // Until this gets fixed, this message appears in English only.
+         message = "syntax error, unexpected ";
          message += yyname_[yyilooka_];
           if (count < 5)
             {
@@ -877,14 +892,14 @@ yy::]b4_parser_class_name[::yyreport_syntax_error_ ()
               for (int x = yyxbegin; x < yyxend; ++x)
                 if (yycheck_[x + yyn_] == x && x != yyterror_)
                   {
-                    message += (!count++) ? _(", expecting ") : _(" or ");
+                    message += (!count++) ? ", expecting " : " or ";
                     message += yyname_[x];
                  }
             }
        }
       else
 #endif
-       message = _("syntax error");
+       message = YY_("syntax error");
       error (yylloc, message);
     }
 }
@@ -1008,7 +1023,7 @@ yy::]b4_parser_class_name[::yyrline_[] =
 void
 yy::]b4_parser_class_name[::yystack_print_ ()
 {
-  *yycdebug_ << _("Stack now");
+  *yycdebug_ << "Stack now";
   for (state_stack_type::const_iterator i = yystate_stack_.begin ();
        i != yystate_stack_.end (); ++i)
     *yycdebug_ << ' ' << *i;
@@ -1021,8 +1036,8 @@ yy::]b4_parser_class_name[::yyreduce_print_ (int yyrule)
 {
   unsigned int yylno = yyrline_[yyrule];
   /* Print the symbols being reduced, and their result.  */
-    *yycdebug_ << _("Reducing stack by rule ") << yyn_ - 1
-               << " (" << _("line") << ' ' << yylno << "), ";
+  *yycdebug_ << "Reducing stack by rule " << yyn_ - 1
+             << " (line " << yylno << "), ";
   for (]b4_int_type_for([b4_prhs])[ i = yyprhs_[yyn_];
        0 <= yyrhs_[i]; ++i)
     *yycdebug_ << yyname_[yyrhs_[i]] << ' ';
index 748684138edc247952299a48dcec4a4be192f7bd..1d54e3b290c21187c1c3ea4b38cf32de0a354cd0 100644 (file)
@@ -228,6 +228,18 @@ b4_syncline([@oline@], [@ofile@])[
 # define YYSIZE_T unsigned int
 #endif
 
+#ifndef YY_
+# if YYENABLE_NLS
+#  if ENABLE_NLS
+#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+#   define YY_(msgid) dgettext ("bison-runtime", msgid)
+#  endif
+# endif
+# ifndef YY_
+#  define YY_(msgid) msgid
+# endif
+#endif
+
 #if ! defined (yyoverflow) || YYERROR_VERBOSE
 
 /* The parser invokes alloca or malloc; define the necessary symbols.  */
@@ -412,18 +424,6 @@ static const char *const yytname[] =
 };
 #endif
 
-#ifndef YYI18N
-# if YYENABLE_NLS
-#  if ENABLE_NLS
-#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-#   define YYI18N(msgid) dgettext ("bison-runtime", msgid)
-#  endif
-# endif
-# ifndef YYI18N
-#  define YYI18N(msgid) msgid
-# endif
-#endif
-
 # ifdef YYPRINT
 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
    token YYLEX-NUM.  */
@@ -525,7 +525,7 @@ do                                                          \
     }                                                          \
   else                                                         \
     {                                                          \
-      yyerror (]b4_yyerror_args[YYI18N ("syntax error: cannot back up")); \
+      yyerror (]b4_yyerror_args[YY_("syntax error: cannot back up")); \
       YYERROR;                                                 \
     }                                                          \
 while (0)
@@ -619,7 +619,7 @@ do {                                                                \
                    [[short int *bottom], [bottom]],
                    [[short int *top],    [top]])[
 {
-  YYFPRINTF (stderr, YYI18N ("Stack now"));
+  YYFPRINTF (stderr, "Stack now");
   for (/* Nothing. */; bottom <= top; ++bottom)
     YYFPRINTF (stderr, " %d", *bottom);
   YYFPRINTF (stderr, "\n");
@@ -640,8 +640,8 @@ do {                                                                \
                    [[int yyrule], [yyrule]])[
 {
   int yyi;
-  unsigned int yylno = yyrline[yyrule];
-  YYFPRINTF (stderr, YYI18N ("Reducing stack by rule %d (line %u), "),
+  unsigned long int yylno = yyrline[yyrule];
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu), ",
              yyrule - 1, yylno);
   /* Print the symbols being reduced, and their result.  */
   for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
@@ -911,7 +911,7 @@ m4_ifdef([b4_at_dollar_used], [[  yylsp[0] = yylloc;
           data in use in that stack, in bytes.  This used to be a
           conditional around just the two extra args, but that might
           be undefined if yyoverflow is a macro.  */
-       yyoverflow (YYI18N ("parser stack overflow"),
+       yyoverflow (YY_("parser stack overflow"),
                    &yyss1, yysize * sizeof (*yyssp),
                    &yyvs1, yysize * sizeof (*yyvsp),
 ]b4_location_if([                  &yyls1, yysize * sizeof (*yylsp),])[
@@ -951,14 +951,14 @@ m4_ifdef([b4_at_dollar_used], [[  yylsp[0] = yylloc;
       yyvsp = yyvs + yysize - 1;
 ]b4_location_if([      yylsp = yyls + yysize - 1;])[
 
-      YYDPRINTF ((stderr, YYI18N ("Stack size increased to %lu\n"),
+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
                  (unsigned long int) yystacksize));
 
       if (yyss + yystacksize - 1 <= yyssp)
        YYABORT;
     }
 
-  YYDPRINTF ((stderr, YYI18N ("Entering state %d\n"), yystate));
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
 
   goto yybackup;
 
@@ -982,19 +982,19 @@ yybackup:
   /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
   if (yychar == YYEMPTY)
     {
-      YYDPRINTF ((stderr, YYI18N ("Reading a token: ")));
+      YYDPRINTF ((stderr, "Reading a token: "));
       yychar = YYLEX;
     }
 
   if (yychar <= YYEOF)
     {
       yychar = yytoken = YYEOF;
-      YYDPRINTF ((stderr, YYI18N ("Now at end of input.\n")));
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
     }
   else
     {
       yytoken = YYTRANSLATE (yychar);
-      YY_SYMBOL_PRINT (YYI18N ("Next token is"), yytoken, &yylval, &yylloc);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
     }
 
   /* If the proper action on seeing token YYTOKEN is to reduce or to
@@ -1015,7 +1015,7 @@ yybackup:
     YYACCEPT;
 
   /* Shift the look-ahead token.  */
-  YY_SYMBOL_PRINT (YYI18N ("Shifting"), yytoken, &yylval, &yylloc);
+  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
 
   /* Discard the token being shifted unless it is eof.  */
   if (yychar != YYEOF)
@@ -1123,11 +1123,11 @@ yyerrlab:
 #if 0
          /* This is so xgettext sees the translatable formats that are
             constructed on the fly.  */
-         YYI18N ("syntax error, unexpected %s");
-         YYI18N ("syntax error, unexpected %s, expecting %s");
-         YYI18N ("syntax error, unexpected %s, expecting %s or %s");
-         YYI18N ("syntax error, unexpected %s, expecting %s or %s or %s");
-         YYI18N ("syntax error, unexpected %s, expecting %s or %s or %s or %s");
+         YY_("syntax error, unexpected %s");
+         YY_("syntax error, unexpected %s, expecting %s");
+         YY_("syntax error, unexpected %s, expecting %s or %s");
+         YY_("syntax error, unexpected %s, expecting %s or %s or %s");
+         YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
 #endif
          char *yyfmt;
          char const *yyf;
@@ -1170,7 +1170,7 @@ yyerrlab:
                yyprefix = yyor;
              }
 
-         yyf = YYI18N (yyformat);
+         yyf = YY_(yyformat);
          yysize1 = yysize + yystrlen (yyf);
          yysize_overflow |= yysize1 < yysize;
          yysize = yysize1;
@@ -1201,11 +1201,11 @@ yyerrlab:
              YYSTACK_FREE (yymsg);
            }
          else
-           yyerror (]b4_yyerror_args[YYI18N ("syntax error; also memory exhausted"));
+           yyerror (]b4_yyerror_args[YY_("syntax error; also memory exhausted"));
        }
       else
 #endif /* YYERROR_VERBOSE */
-       yyerror (]b4_yyerror_args[YYI18N ("syntax error"));
+       yyerror (]b4_yyerror_args[YY_("syntax error"));
     }
 
 ]b4_location_if([[  yyerror_range[0] = yylloc;]])[
@@ -1224,7 +1224,7 @@ yyerrlab:
         }
       else
        {
-         yydestruct (YYI18N ("Error: discarding"), yytoken, &yylval]b4_location_if([, &yylloc])[);
+         yydestruct ("Error: discarding", yytoken, &yylval]b4_location_if([, &yylloc])[);
          yychar = YYEMPTY;
        }
     }
@@ -1278,7 +1278,7 @@ yyerrlab1:
        YYABORT;
 
 ]b4_location_if([[      yyerror_range[0] = *yylsp;]])[
-      yydestruct (YYI18N ("Error: popping"), yystos[yystate], yyvsp]b4_location_if([, yylsp])[);
+      yydestruct ("Error: popping", yystos[yystate], yyvsp]b4_location_if([, yylsp])[);
       YYPOPSTACK;
       yystate = *yyssp;
       YY_STACK_PRINT (yyss, yyssp);
@@ -1296,7 +1296,7 @@ yyerrlab1:
   *++yylsp = yyloc;]])[
 
   /* Shift the error token. */
-  YY_SYMBOL_PRINT (YYI18N ("Shifting"), yystos[yyn], yyvsp, yylsp);
+  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
 
   yystate = yyn;
   goto yynewstate;
@@ -1321,14 +1321,14 @@ yyabortlab:
 | yyoverflowlab -- parser overflow comes here.  |
 `----------------------------------------------*/
 yyoverflowlab:
-  yyerror (]b4_yyerror_args[YYI18N ("parser stack overflow"));
+  yyerror (]b4_yyerror_args[YY_("parser stack overflow"));
   yyresult = 2;
   /* Fall through.  */
 #endif
 
 yyreturn:
   if (yychar != YYEOF && yychar != YYEMPTY)
-     yydestruct (YYI18N ("Error: discarding lookahead"),
+     yydestruct ("Error: discarding lookahead",
                 yytoken, &yylval]b4_location_if([, &yylloc])[);
   if (yyssp != yyss)
     for (;;)
@@ -1337,7 +1337,7 @@ yyreturn:
        YYPOPSTACK;
        if (yyssp == yyss)
          break;
-       yydestruct (YYI18N ("Error: popping"),
+       yydestruct ("Error: popping",
                    yystos[*yyssp], yyvsp]b4_location_if([, yylsp])[);
       }
 #ifndef yyoverflow
index a8c60bc4b93aa3d5c3ce0a51b3f02551dac82186..1d4097e32cdeb29e1de46252fd986c42d27efa94 100644 (file)
@@ -1203,7 +1203,9 @@ In some cases the Bison parser file includes system headers, and in
 those cases your code should respect the identifiers reserved by those
 headers.  On some non-@acronym{GNU} hosts, @code{<alloca.h>},
 @code{<stddef.h>}, and @code{<stdlib.h>} are included as needed to
-declare memory allocators and related types.  Other system headers may
+declare memory allocators and related types.  @code{<libintl.h>} is
+included if message translation is in use
+(@pxref{Internationalization}).  Other system headers may
 be included if you define @code{YYDEBUG} to a nonzero value
 (@pxref{Tracing, ,Tracing Your Parser}).
 
@@ -4821,8 +4823,8 @@ A Bison-generated parser can print diagnostics, including error and
 tracing messages.  By default, they appear in English.  However, Bison
 also supports outputting diagnostics in the user's native language.
 To make this work, the user should set the usual environment
-variables.  @xref{Using gettextized software, , User influence on
-@code{gettext}, libc, The GNU C Library Reference Manual}.  For
+variables.  @xref{Users, , The User's View, gettext, GNU
+@code{gettext} utilities}.  For
 example, the shell command @samp{export LC_ALL=fr_CA.UTF-8} might set
 the user's locale to French Canadian using the @acronym{UTF}-8
 encoding.  The exact set of available locales depends on the user's
@@ -4835,6 +4837,7 @@ steps.  Here we assume a package that uses @acronym{GNU} Autoconf and
 
 @enumerate
 @item
+@cindex bison-i18n.m4
 Into the directory containing the @acronym{GNU} Autoconf macros used
 by the package---often called @file{m4}---copy the
 @file{bison-i18n.m4} file installed by Bison under
@@ -4846,11 +4849,16 @@ cp /usr/local/share/aclocal/bison-i18n.m4 m4/bison-i18n.m4
 @end example
 
 @item
+@findex BISON_I18N
+@vindex BISON_LOCALEDIR
+@vindex YYENABLE_NLS
 In the top-level @file{configure.ac}, after the @code{AM_GNU_GETTEXT}
 invocation, add an invocation of @code{BISON_I18N}.  This macro is
 defined in the file @file{bison-i18n.m4} that you copied earlier.  It
 causes @samp{configure} to find the value of the
-@code{BISON_LOCALEDIR} variable.
+@code{BISON_LOCALEDIR} variable, and it defines the source-language
+symbol @code{YYENABLE_NLS} to enable translations in the
+Bison-generated parser.
 
 @item
 In the @code{main} function of your program, designate the directory
diff --git a/runtime-po/Makefile.in.in b/runtime-po/Makefile.in.in
deleted file mode 100644 (file)
index 2aee216..0000000
+++ /dev/null
@@ -1,356 +0,0 @@
-# Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-1997, 2000-2003 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
-#
-# This file can be copied and used freely without restrictions.  It can
-# be used in projects which are not available under the GNU General Public
-# License but which still want to provide support for the GNU gettext
-# functionality.
-# Please note that the actual code of GNU gettext is covered by the GNU
-# General Public License and is *not* in the public domain.
-
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-
-SHELL = /bin/sh
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-datadir = @datadir@
-localedir = $(datadir)/locale
-gettextsrcdir = $(datadir)/gettext/po
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
-
-GMSGFMT = @GMSGFMT@
-MSGFMT = @MSGFMT@
-XGETTEXT = @XGETTEXT@
-MSGMERGE = msgmerge
-MSGMERGE_UPDATE = @MSGMERGE@ --update
-MSGINIT = msginit
-MSGCONV = msgconv
-MSGFILTER = msgfilter
-
-POFILES = @POFILES@
-GMOFILES = @GMOFILES@
-UPDATEPOFILES = @UPDATEPOFILES@
-DUMMYPOFILES = @DUMMYPOFILES@
-DISTFILES.common = Makefile.in.in remove-potcdate.sin \
-$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
-DISTFILES = $(DISTFILES.common) Makevars POTFILES.in $(DOMAIN).pot stamp-po \
-$(POFILES) $(GMOFILES) \
-$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
-
-POTFILES = \
-
-CATALOGS = @CATALOGS@
-
-# Makevars gets inserted here. (Don't remove this line!)
-
-.SUFFIXES:
-.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-update
-
-.po.mo:
-       @echo "$(MSGFMT) -c -o $@ $<"; \
-       $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
-
-.po.gmo:
-       @lang=`echo $* | sed -e 's,.*/,,'`; \
-       test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-       echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
-       cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
-
-.sin.sed:
-       sed -e '/^#/d' $< > t-$@
-       mv t-$@ $@
-
-
-all: all-@USE_NLS@
-
-all-yes: stamp-po
-all-no:
-
-# stamp-po is a timestamp denoting the last time at which the CATALOGS have
-# been loosely updated. Its purpose is that when a developer or translator
-# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
-# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
-# invocations of "make" will do nothing. This timestamp would not be necessary
-# if updating the $(CATALOGS) would always touch them; however, the rule for
-# $(POFILES) has been designed to not touch files that don't need to be
-# changed.
-stamp-po: $(srcdir)/$(DOMAIN).pot
-       test -z "$(CATALOGS)" || $(MAKE) $(CATALOGS)
-       @echo "touch stamp-po"
-       @echo timestamp > stamp-poT
-       @mv stamp-poT stamp-po
-
-# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
-# otherwise packages like GCC can not be built if only parts of the source
-# have been downloaded.
-
-# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
-# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
-$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
-       $(XGETTEXT) -o $(DOMAIN).old.pot --no-location $(DOMAIN).pot && \
-       $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
-         --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
-         --files-from=$(srcdir)/POTFILES.in $(subdir)/$(DOMAIN).old.pot \
-         --copyright-holder='$(COPYRIGHT_HOLDER)' \
-         --msgid-bugs-address='$(MSGID_BUGS_ADDRESS)'
-       rm -f $(DOMAIN).old.pot
-       test ! -f $(DOMAIN).po || { \
-         if test -f $(srcdir)/$(DOMAIN).pot; then \
-           sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
-           sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
-           if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
-             rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
-           else \
-             rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
-             mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
-           fi; \
-         else \
-           mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
-         fi; \
-       }
-
-# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
-# every "make" invocation, only create it when it is missing.
-# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
-$(srcdir)/$(DOMAIN).pot:
-       $(MAKE) $(DOMAIN).pot-update
-
-# This target rebuilds a PO file if $(DOMAIN).pot has changed.
-# Note that a PO file is not touched if it doesn't need to be changed.
-$(POFILES): $(srcdir)/$(DOMAIN).pot
-       @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
-       test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-       echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
-       cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot
-
-
-install: install-exec install-data
-install-exec:
-install-data: install-data-@USE_NLS@
-       if test "$(PACKAGE)" = "gettext-tools"; then \
-         $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
-         for file in $(DISTFILES.common) Makevars.template; do \
-           $(INSTALL_DATA) $(srcdir)/$$file \
-                           $(DESTDIR)$(gettextsrcdir)/$$file; \
-         done; \
-         for file in Makevars; do \
-           rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
-         done; \
-       else \
-         : ; \
-       fi
-install-data-no: all
-install-data-yes: all
-       $(mkinstalldirs) $(DESTDIR)$(datadir)
-       @catalogs='$(CATALOGS)'; \
-       for cat in $$catalogs; do \
-         cat=`basename $$cat`; \
-         lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
-         dir=$(localedir)/$$lang/LC_MESSAGES; \
-         $(mkinstalldirs) $(DESTDIR)$$dir; \
-         if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
-         $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
-         echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
-         for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
-           if test -n "$$lc"; then \
-             if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
-               link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
-               mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
-               mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
-               (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
-                for file in *; do \
-                  if test -f $$file; then \
-                    ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
-                  fi; \
-                done); \
-               rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
-             else \
-               if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
-                 :; \
-               else \
-                 rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
-                 mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
-               fi; \
-             fi; \
-             rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
-             ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
-             ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
-             cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
-             echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
-           fi; \
-         done; \
-       done
-
-install-strip: install
-
-installdirs: installdirs-exec installdirs-data
-installdirs-exec:
-installdirs-data: installdirs-data-@USE_NLS@
-       if test "$(PACKAGE)" = "gettext-tools"; then \
-         $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
-       else \
-         : ; \
-       fi
-installdirs-data-no:
-installdirs-data-yes:
-       $(mkinstalldirs) $(DESTDIR)$(datadir)
-       @catalogs='$(CATALOGS)'; \
-       for cat in $$catalogs; do \
-         cat=`basename $$cat`; \
-         lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
-         dir=$(localedir)/$$lang/LC_MESSAGES; \
-         $(mkinstalldirs) $(DESTDIR)$$dir; \
-         for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
-           if test -n "$$lc"; then \
-             if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
-               link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
-               mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
-               mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
-               (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
-                for file in *; do \
-                  if test -f $$file; then \
-                    ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
-                  fi; \
-                done); \
-               rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
-             else \
-               if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
-                 :; \
-               else \
-                 rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
-                 mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
-               fi; \
-             fi; \
-           fi; \
-         done; \
-       done
-
-# Define this as empty until I found a useful application.
-installcheck:
-
-uninstall: uninstall-exec uninstall-data
-uninstall-exec:
-uninstall-data: uninstall-data-@USE_NLS@
-       if test "$(PACKAGE)" = "gettext-tools"; then \
-         for file in $(DISTFILES.common) Makevars.template; do \
-           rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
-         done; \
-       else \
-         : ; \
-       fi
-uninstall-data-no:
-uninstall-data-yes:
-       catalogs='$(CATALOGS)'; \
-       for cat in $$catalogs; do \
-         cat=`basename $$cat`; \
-         lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
-         for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
-           rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
-         done; \
-       done
-
-check: all
-
-info dvi ps pdf html tags TAGS ctags CTAGS ID:
-
-mostlyclean:
-       rm -f remove-potcdate.sed
-       rm -f stamp-poT
-       rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
-       rm -f *.old.pot
-       rm -fr *.o
-
-clean: mostlyclean
-
-distclean: clean
-       rm -f Makefile Makefile.in POTFILES *.mo
-
-maintainer-clean: distclean
-       @echo "This command is intended for maintainers to use;"
-       @echo "it deletes files that may require special tools to rebuild."
-       rm -f stamp-po $(GMOFILES)
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-dist distdir:
-       $(MAKE) update-po
-       @$(MAKE) dist2
-# This is a separate target because 'update-po' must be executed before.
-dist2: $(DISTFILES)
-       dists="$(DISTFILES)"; \
-       if test "$(PACKAGE)" = "gettext-tools"; then \
-         dists="$$dists Makevars.template"; \
-       fi; \
-       if test -f $(srcdir)/ChangeLog; then \
-         dists="$$dists ChangeLog"; \
-       fi; \
-       for i in 0 1 2 3 4 5 6 7 8 9; do \
-         if test -f $(srcdir)/ChangeLog.$$i; then \
-           dists="$$dists ChangeLog.$$i"; \
-         fi; \
-       done; \
-       if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
-       for file in $$dists; do \
-         if test -f $$file; then \
-           cp -p $$file $(distdir); \
-         else \
-           cp -p $(srcdir)/$$file $(distdir); \
-         fi; \
-       done
-
-update-po: Makefile
-       $(MAKE) $(DOMAIN).pot-update
-       test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
-       $(MAKE) update-gmo
-
-# General rule for updating PO files.
-
-.nop.po-update:
-       @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
-       if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
-       tmpdir=`pwd`; \
-       echo "$$lang:"; \
-       test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-       echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
-       cd $(srcdir); \
-       if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
-         if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
-           rm -f $$tmpdir/$$lang.new.po; \
-         else \
-           if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
-             :; \
-           else \
-             echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
-             exit 1; \
-           fi; \
-         fi; \
-       else \
-         echo "msgmerge for $$lang.po failed!" 1>&2; \
-         rm -f $$tmpdir/$$lang.new.po; \
-       fi
-
-$(DUMMYPOFILES):
-
-update-gmo: Makefile $(GMOFILES)
-       @:
-
-Makefile: Makefile.in.in $(top_builddir)/config.status @POMAKEFILEDEPS@
-       cd $(top_builddir) \
-         && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
-              $(SHELL) ./config.status
-
-force:
-
-# Tell versions [3.59,3.63) of GNU make not to export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
index ca81b5e5b0cba46dd50c92b8ca412513ebf55958..7e73063399e46aa0d21439564a0247e823fcb0f6 100644 (file)
@@ -1 +1,3 @@
+data/glr.c
+data/lalr1.cc
 data/yacc.c
diff --git a/runtime-po/bison-runtime.pot b/runtime-po/bison-runtime.pot
deleted file mode 100644 (file)
index ed1b6bb..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
-"POT-Creation-Date: 2005-06-27 00:48+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: data/yacc.c:520
-msgid "syntax error: cannot back up"
-msgstr ""
-
-#: data/yacc.c:614
-msgid "Stack now"
-msgstr ""
-
-#: data/yacc.c:636
-#, c-format
-msgid "Reducing stack by rule %d (line %u), "
-msgstr ""
-
-#: data/yacc.c:905 data/yacc.c:1315
-msgid "parser stack overflow"
-msgstr ""
-
-#: data/yacc.c:945
-#, c-format
-msgid "Stack size increased to %lu\n"
-msgstr ""
-
-#: data/yacc.c:952
-#, c-format
-msgid "Entering state %d\n"
-msgstr ""
-
-#: data/yacc.c:976
-msgid "Reading a token: "
-msgstr ""
-
-#: data/yacc.c:983
-msgid "Now at end of input.\n"
-msgstr ""
-
-#: data/yacc.c:988
-msgid "Next token is"
-msgstr ""
-
-#: data/yacc.c:1009 data/yacc.c:1290
-msgid "Shifting"
-msgstr ""
-
-#: data/yacc.c:1117
-#, c-format
-msgid "syntax error, unexpected %s"
-msgstr ""
-
-#: data/yacc.c:1118
-#, c-format
-msgid "syntax error, unexpected %s, expecting %s"
-msgstr ""
-
-#: data/yacc.c:1119
-#, c-format
-msgid "syntax error, unexpected %s, expecting %s or %s"
-msgstr ""
-
-#: data/yacc.c:1120
-#, c-format
-msgid "syntax error, unexpected %s, expecting %s or %s or %s"
-msgstr ""
-
-#: data/yacc.c:1121
-#, c-format
-msgid "syntax error, unexpected %s, expecting %s or %s or %s or %s"
-msgstr ""
-
-#: data/yacc.c:1195
-msgid "syntax error; also memory exhausted"
-msgstr ""
-
-#: data/yacc.c:1199
-msgid "syntax error"
-msgstr ""
-
-#: data/yacc.c:1218
-msgid "Error: discarding"
-msgstr ""
-
-#: data/yacc.c:1272 data/yacc.c:1331
-msgid "Error: popping"
-msgstr ""
-
-#: data/yacc.c:1322
-msgid "Error: discarding lookahead"
-msgstr ""