]> git.saurik.com Git - bison.git/commitdiff
* lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
authorAkim Demaille <akim@epita.fr>
Mon, 16 Oct 2000 17:28:41 +0000 (17:28 +0000)
committerAkim Demaille <akim@epita.fr>
Mon, 16 Oct 2000 17:28:41 +0000 (17:28 +0000)
* m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
New files, from Fileutils 4.0.27.
* src/main.c (printable_version): Remove.
* src/lex.c, src/reader.c: Use `quote'.

* lib/error.c, lib/error.h: New files, needed by xmalloc.c.

26 files changed:
ChangeLog
THANKS
configure.in
lib/Makefile.am
lib/error.c [new file with mode: 0644]
lib/error.h [new file with mode: 0644]
lib/quote.c [new file with mode: 0644]
lib/quote.h [new file with mode: 0644]
lib/quotearg.c [new file with mode: 0644]
lib/quotearg.h [new file with mode: 0644]
m4/Makefile.am
m4/c-bs-a.m4 [new file with mode: 0644]
m4/mbstate_t.m4 [new file with mode: 0644]
m4/prereq.m4 [new file with mode: 0644]
po/de.po
po/es.po
po/et.po
po/fr.po
po/ja.po
po/nl.po
po/ru.po
src/lex.c
src/main.c
src/reader.c
src/warshall.h
tests/regression.m4

index ce415b7773e508c1fc2d60e6684fb5065f2f68a6..402b0beaf4cf10ce582bb5aea02659971cbfd688 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2000-10-16  Akim Demaille  <akim@epita.fr>
+
+       * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
+       * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
+       New files, from Fileutils 4.0.27.
+       * src/main.c (printable_version): Remove.
+       * src/lex.c, src/reader.c: Use `quote'.
+
+2000-10-04  Akim Demaille  <akim@epita.fr>
+
+       * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
+
 2000-10-04  Akim Demaille  <akim@epita.fr>
 
        * doc/bison.texinfo: Various typos spotted by Neil Booth.
 2000-10-04  Akim Demaille  <akim@epita.fr>
 
        * doc/bison.texinfo: Various typos spotted by Neil Booth.
diff --git a/THANKS b/THANKS
index 5aa7039a1150c0452f276853d0210737c8227039..0cfdeb88b08939e40bcba6f7394139de13213dcf 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -14,3 +14,19 @@ thank them!  Please, help us keeping this list up to date.
 Local Variables:
 mode: text
 End:
 Local Variables:
 mode: text
 End:
+Daniel Hagerty         hag@gnu.org
+David J. MacKenzie     djm@gnu.org
+Jesse Thilo            jthilo@gnu.org
+Jim Meyering           meyering@gnu.org
+Neil Booth             NeilB@earthling.net
+Noah Friedman                  friedman@gnu.org
+Paul Eggert            eggert@twinsun.com
+Piotr Gackiewicz       gacek@intertel.com.pl
+Richard Stallman       rms@gnu.org
+
+Many people are not named here because we lost track of them.  We
+thank them!  Please, help us keeping this list up to date.
+
+Local Variables:
+mode: text
+End:
index 41c5e2799a5f4a3779628115a3cd34c0a6b31c2a..3299183db165e0cb967672cda3713ab52d3db5c4 100644 (file)
@@ -66,6 +66,7 @@ AC_FUNC_ALLOCA
 AC_CHECK_FUNCS(mkstemp setlocale)
 jm_FUNC_MALLOC
 jm_FUNC_REALLOC
 AC_CHECK_FUNCS(mkstemp setlocale)
 jm_FUNC_MALLOC
 jm_FUNC_REALLOC
+jm_PREREQ_QUOTEARG
 
 ALL_LINGUAS="de es et fr ja nl ru"
 AM_GNU_GETTEXT
 
 ALL_LINGUAS="de es et fr ja nl ru"
 AM_GNU_GETTEXT
index 03df9e52d2fc9d279bb820827c99a5a19ff9286e..104c19befc5a5b889dbe0f6b92f942578addef74 100644 (file)
@@ -6,8 +6,11 @@ noinst_LIBRARIES = libbison.a
 
 INCLUDES = -I.. -I$(srcdir) -I../intl
 
 
 INCLUDES = -I.. -I$(srcdir) -I../intl
 
-libbison_a_SOURCES = getopt.c getopt1.c xmalloc.c xstrdup.c
-noinst_HEADERS = getopt.h xalloc.h
+libbison_a_SOURCES = \
+  error.c error.h \
+  getopt.h getopt.c getopt1.c \
+  quote.h quote.c quotearg.h quotearg.c \
+  xalloc.h xmalloc.c xstrdup.c
 
 libbison_a_LIBADD = @LIBOBJS@ @ALLOCA@
 libbison_a_DEPENDENCIES = $(libbison_a_LIBADD)
 
 libbison_a_LIBADD = @LIBOBJS@ @ALLOCA@
 libbison_a_DEPENDENCIES = $(libbison_a_LIBADD)
diff --git a/lib/error.c b/lib/error.c
new file mode 100644 (file)
index 0000000..ffa54c3
--- /dev/null
@@ -0,0 +1,261 @@
+/* Error handler for noninteractive utilities
+   Copyright (C) 1990-2000 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.  Its master source is NOT part of
+   the C library, however.  The master source lives in /gd/gnu/lib.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* Written by David MacKenzie <djm@gnu.ai.mit.edu>.  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+
+#if HAVE_VPRINTF || HAVE_DOPRNT || _LIBC
+# if __STDC__
+#  include <stdarg.h>
+#  define VA_START(args, lastarg) va_start(args, lastarg)
+# else
+#  include <varargs.h>
+#  define VA_START(args, lastarg) va_start(args)
+# endif
+#else
+# define va_alist a1, a2, a3, a4, a5, a6, a7, a8
+# define va_dcl char *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8;
+#endif
+
+#if STDC_HEADERS || _LIBC
+# include <stdlib.h>
+# include <string.h>
+#else
+void exit ();
+#endif
+
+#include "error.h"
+
+#ifndef _
+# define _(String) String
+#endif
+
+/* If NULL, error will flush stdout, then print on stderr the program
+   name, a colon and a space.  Otherwise, error will call this
+   function without parameters instead.  */
+void (*error_print_progname) (
+#if __STDC__ - 0
+                             void
+#endif
+                             );
+
+/* This variable is incremented each time `error' is called.  */
+unsigned int error_message_count;
+
+#ifdef _LIBC
+/* In the GNU C library, there is a predefined variable for this.  */
+
+# define program_name program_invocation_name
+# include <errno.h>
+
+/* In GNU libc we want do not want to use the common name `error' directly.
+   Instead make it a weak alias.  */
+# define error __error
+# define error_at_line __error_at_line
+
+#else /* not _LIBC */
+
+/* The calling program should define program_name and set it to the
+   name of the executing program.  */
+extern char *program_name;
+
+# ifdef HAVE_STRERROR_R
+#  define __strerror_r strerror_r
+# else
+#  if HAVE_STRERROR
+#   ifndef strerror            /* On some systems, strerror is a macro */
+char *strerror ();
+#   endif
+#  else
+static char *
+private_strerror (errnum)
+     int errnum;
+{
+  extern char *sys_errlist[];
+  extern int sys_nerr;
+
+  if (errnum > 0 && errnum <= sys_nerr)
+    return _(sys_errlist[errnum]);
+  return _("Unknown system error");
+}
+#   define strerror private_strerror
+#  endif /* HAVE_STRERROR */
+# endif        /* HAVE_STRERROR_R */
+#endif /* not _LIBC */
+
+/* Print the program name and error message MESSAGE, which is a printf-style
+   format string with optional args.
+   If ERRNUM is nonzero, print its corresponding system error message.
+   Exit with status STATUS if it is nonzero.  */
+/* VARARGS */
+
+void
+#if defined VA_START && __STDC__
+error (int status, int errnum, const char *message, ...)
+#else
+error (status, errnum, message, va_alist)
+     int status;
+     int errnum;
+     char *message;
+     va_dcl
+#endif
+{
+#ifdef VA_START
+  va_list args;
+#endif
+
+  if (error_print_progname)
+    (*error_print_progname) ();
+  else
+    {
+      fflush (stdout);
+      fprintf (stderr, "%s: ", program_name);
+    }
+
+#ifdef VA_START
+  VA_START (args, message);
+# if HAVE_VPRINTF || _LIBC
+  vfprintf (stderr, message, args);
+# else
+  _doprnt (message, args, stderr);
+# endif
+  va_end (args);
+#else
+  fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
+#endif
+
+  ++error_message_count;
+  if (errnum)
+    {
+#if defined HAVE_STRERROR_R || _LIBC
+      char errbuf[1024];
+# if HAVE_WORKING_STRERROR_R || _LIBC
+      fprintf (stderr, ": %s", __strerror_r (errnum, errbuf, sizeof errbuf));
+# else
+      /* Don't use __strerror_r's return value because on some systems
+        (at least DEC UNIX 4.0[A-D]) strerror_r returns `int'.  */
+      __strerror_r (errnum, errbuf, sizeof errbuf);
+      fprintf (stderr, ": %s", errbuf);
+# endif
+#else
+      fprintf (stderr, ": %s", strerror (errnum));
+#endif
+    }
+  putc ('\n', stderr);
+  fflush (stderr);
+  if (status)
+    exit (status);
+}
+\f
+/* Sometimes we want to have at most one error per line.  This
+   variable controls whether this mode is selected or not.  */
+int error_one_per_line;
+
+void
+#if defined VA_START && __STDC__
+error_at_line (int status, int errnum, const char *file_name,
+              unsigned int line_number, const char *message, ...)
+#else
+error_at_line (status, errnum, file_name, line_number, message, va_alist)
+     int status;
+     int errnum;
+     const char *file_name;
+     unsigned int line_number;
+     char *message;
+     va_dcl
+#endif
+{
+#ifdef VA_START
+  va_list args;
+#endif
+
+  if (error_one_per_line)
+    {
+      static const char *old_file_name;
+      static unsigned int old_line_number;
+
+      if (old_line_number == line_number &&
+         (file_name == old_file_name || !strcmp (old_file_name, file_name)))
+       /* Simply return and print nothing.  */
+       return;
+
+      old_file_name = file_name;
+      old_line_number = line_number;
+    }
+
+  if (error_print_progname)
+    (*error_print_progname) ();
+  else
+    {
+      fflush (stdout);
+      fprintf (stderr, "%s:", program_name);
+    }
+
+  if (file_name != NULL)
+    fprintf (stderr, "%s:%d: ", file_name, line_number);
+
+#ifdef VA_START
+  VA_START (args, message);
+# if HAVE_VPRINTF || _LIBC
+  vfprintf (stderr, message, args);
+# else
+  _doprnt (message, args, stderr);
+# endif
+  va_end (args);
+#else
+  fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
+#endif
+
+  ++error_message_count;
+  if (errnum)
+    {
+#if defined HAVE_STRERROR_R || _LIBC
+      char errbuf[1024];
+# if HAVE_WORKING_STRERROR_R || _LIBC
+      fprintf (stderr, ": %s", __strerror_r (errnum, errbuf, sizeof errbuf));
+# else
+      /* Don't use __strerror_r's return value because on some systems
+        (at least DEC UNIX 4.0[A-D]) strerror_r returns `int'.  */
+      __strerror_r (errnum, errbuf, sizeof errbuf);
+      fprintf (stderr, ": %s", errbuf);
+# endif
+#else
+      fprintf (stderr, ": %s", strerror (errnum));
+#endif
+    }
+  putc ('\n', stderr);
+  fflush (stderr);
+  if (status)
+    exit (status);
+}
+
+#ifdef _LIBC
+/* Make the weak alias.  */
+# undef error
+# undef error_at_line
+weak_alias (__error, error)
+weak_alias (__error_at_line, error_at_line)
+#endif
diff --git a/lib/error.h b/lib/error.h
new file mode 100644 (file)
index 0000000..38a8e29
--- /dev/null
@@ -0,0 +1,156 @@
+/* Declaration for error-reporting function
+   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+
+
+   NOTE: The canonical source of this file is maintained with the GNU C Library.
+   Bugs can be reported to bug-glibc@prep.ai.mit.edu.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published by the
+   Free Software Foundation; either version 2, or (at your option) any
+   later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifndef _ERROR_H
+#define _ERROR_H 1
+
+#ifndef __attribute__
+/* This feature is available in gcc versions 2.5 and later.  */
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
+#  define __attribute__(Spec) /* empty */
+# endif
+/* The __-protected variants of `format' and `printf' attributes
+   are accepted by gcc versions 2.6.4 (effectively 2.7) and later.  */
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
+#  define __format__ format
+#  define __printf__ printf
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if defined (__STDC__) && __STDC__
+
+/* Print a message with `fprintf (stderr, FORMAT, ...)';
+   if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
+   If STATUS is nonzero, terminate the program with `exit (STATUS)'.  */
+
+extern void error (int status, int errnum, const char *format, ...)
+     __attribute__ ((__format__ (__printf__, 3, 4)));
+
+extern void error_at_line (int status, int errnum, const char *fname,
+                          unsigned int lineno, const char *format, ...)
+     __attribute__ ((__format__ (__printf__, 5, 6)));
+
+/* If NULL, error will flush stdout, then print on stderr the program
+   name, a colon and a space.  Otherwise, error will call this
+   function without parameters instead.  */
+extern void (*error_print_progname) (void);
+
+#else
+void error ();
+void error_at_line ();
+extern void (*error_print_progname) ();
+#endif
+
+/* This variable is incremented each time `error' is called.  */
+extern unsigned int error_message_count;
+
+/* Sometimes we want to have at most one error per line.  This
+   variable controls whether this mode is selected or not.  */
+extern int error_one_per_line;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* error.h */
+/* Declaration for error-reporting function
+   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+
+
+   NOTE: The canonical source of this file is maintained with the GNU C Library.
+   Bugs can be reported to bug-glibc@prep.ai.mit.edu.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published by the
+   Free Software Foundation; either version 2, or (at your option) any
+   later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifndef _ERROR_H
+#define _ERROR_H 1
+
+#ifndef __attribute__
+/* This feature is available in gcc versions 2.5 and later.  */
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
+#  define __attribute__(Spec) /* empty */
+# endif
+/* The __-protected variants of `format' and `printf' attributes
+   are accepted by gcc versions 2.6.4 (effectively 2.7) and later.  */
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
+#  define __format__ format
+#  define __printf__ printf
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if defined (__STDC__) && __STDC__
+
+/* Print a message with `fprintf (stderr, FORMAT, ...)';
+   if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
+   If STATUS is nonzero, terminate the program with `exit (STATUS)'.  */
+
+extern void error (int status, int errnum, const char *format, ...)
+     __attribute__ ((__format__ (__printf__, 3, 4)));
+
+extern void error_at_line (int status, int errnum, const char *fname,
+                          unsigned int lineno, const char *format, ...)
+     __attribute__ ((__format__ (__printf__, 5, 6)));
+
+/* If NULL, error will flush stdout, then print on stderr the program
+   name, a colon and a space.  Otherwise, error will call this
+   function without parameters instead.  */
+extern void (*error_print_progname) (void);
+
+#else
+void error ();
+void error_at_line ();
+extern void (*error_print_progname) ();
+#endif
+
+/* This variable is incremented each time `error' is called.  */
+extern unsigned int error_message_count;
+
+/* Sometimes we want to have at most one error per line.  This
+   variable controls whether this mode is selected or not.  */
+extern int error_one_per_line;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* error.h */
diff --git a/lib/quote.c b/lib/quote.c
new file mode 100644 (file)
index 0000000..fd1b57e
--- /dev/null
@@ -0,0 +1,25 @@
+/* Written by Paul Eggert <eggert@twinsun.com> */
+
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <sys/types.h>
+#include <quotearg.h>
+#include <quote.h>
+
+/* Return an unambiguous printable representated, allocated in slot N,
+   for NAME, suitable for diagnostics.  */
+char const *
+quote_n (int n, char const *name)
+{
+  return quotearg_n_style (n, locale_quoting_style, name);
+}
+
+/* Return an unambiguous printable representation of NAME, suitable
+   for diagnostics.  */
+char const *
+quote (char const *name)
+{
+  return quote_n (0, name);
+}
diff --git a/lib/quote.h b/lib/quote.h
new file mode 100644 (file)
index 0000000..96549b7
--- /dev/null
@@ -0,0 +1,4 @@
+/* prototypes for quote.c */
+
+char const *quote_n (int n, char const *name);
+char const *quote (char const *name);
diff --git a/lib/quotearg.c b/lib/quotearg.c
new file mode 100644 (file)
index 0000000..d5fbc9e
--- /dev/null
@@ -0,0 +1,616 @@
+/* quotearg.c - quote arguments for output
+   Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+/* Written by Paul Eggert <eggert@twinsun.com> */
+
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <sys/types.h>
+#include <quotearg.h>
+#include <xalloc.h>
+
+#include <ctype.h>
+
+#if ENABLE_NLS
+# include <libintl.h>
+# define _(text) gettext (text)
+#else
+# define _(text) text
+#endif
+#define N_(text) text
+
+#if HAVE_LIMITS_H
+# include <limits.h>
+#endif
+#ifndef CHAR_BIT
+# define CHAR_BIT 8
+#endif
+#ifndef UCHAR_MAX
+# define UCHAR_MAX ((unsigned char) -1)
+#endif
+
+#if HAVE_C_BACKSLASH_A
+# define ALERT_CHAR '\a'
+#else
+# define ALERT_CHAR '\7'
+#endif
+
+#if HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
+
+#if HAVE_STRING_H
+# include <string.h>
+#endif
+
+#if HAVE_WCHAR_H
+# include <wchar.h>
+#endif
+
+#if HAVE_MBRTOWC
+size_t mbrtowc ();
+# ifdef mbstate_t
+#  define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
+#  define mbsinit(ps) 1
+# endif
+#else
+/* Disable multibyte processing entirely.  Since MB_CUR_MAX is 1, the
+   other macros are defined only for documentation and to satisfy C
+   syntax.  */
+# undef MB_CUR_MAX
+# define MB_CUR_MAX 1
+# define mbrtowc(pwc, s, n, ps) ((*(pwc) = *(s)) != 0)
+# define mbsinit(ps) 1
+# define iswprint(wc) ISPRINT ((unsigned char) (wc))
+#endif
+
+#ifndef iswprint
+# if HAVE_WCTYPE_H
+#  include <wctype.h>
+# endif
+# if !defined iswprint && !HAVE_ISWPRINT
+#  define iswprint(wc) 1
+# endif
+#endif
+
+#define INT_BITS (sizeof (int) * CHAR_BIT)
+
+#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
+# define IN_CTYPE_DOMAIN(c) 1
+#else
+# define IN_CTYPE_DOMAIN(c) isascii(c)
+#endif
+
+/* Undefine to protect against the definition in wctype.h of solaris2.6.   */
+#undef ISPRINT
+#define ISPRINT(c) (IN_CTYPE_DOMAIN (c) && isprint (c))
+
+struct quoting_options
+{
+  /* Basic quoting style.  */
+  enum quoting_style style;
+
+  /* Quote the characters indicated by this bit vector even if the
+     quoting style would not normally require them to be quoted.  */
+  int quote_these_too[(UCHAR_MAX / INT_BITS) + 1];
+};
+
+/* Names of quoting styles.  */
+char const *const quoting_style_args[] =
+{
+  "literal",
+  "shell",
+  "shell-always",
+  "c",
+  "escape",
+  "locale",
+  "clocale",
+  0
+};
+
+/* Correspondences to quoting style names.  */
+enum quoting_style const quoting_style_vals[] =
+{
+  literal_quoting_style,
+  shell_quoting_style,
+  shell_always_quoting_style,
+  c_quoting_style,
+  escape_quoting_style,
+  locale_quoting_style,
+  clocale_quoting_style
+};
+
+/* The default quoting options.  */
+static struct quoting_options default_quoting_options;
+
+/* Allocate a new set of quoting options, with contents initially identical
+   to O if O is not null, or to the default if O is null.
+   It is the caller's responsibility to free the result.  */
+struct quoting_options *
+clone_quoting_options (struct quoting_options *o)
+{
+  struct quoting_options *p
+    = (struct quoting_options *) xmalloc (sizeof (struct quoting_options));
+  *p = *(o ? o : &default_quoting_options);
+  return p;
+}
+
+/* Get the value of O's quoting style.  If O is null, use the default.  */
+enum quoting_style
+get_quoting_style (struct quoting_options *o)
+{
+  return (o ? o : &default_quoting_options)->style;
+}
+
+/* In O (or in the default if O is null),
+   set the value of the quoting style to S.  */
+void
+set_quoting_style (struct quoting_options *o, enum quoting_style s)
+{
+  (o ? o : &default_quoting_options)->style = s;
+}
+
+/* In O (or in the default if O is null),
+   set the value of the quoting options for character C to I.
+   Return the old value.  Currently, the only values defined for I are
+   0 (the default) and 1 (which means to quote the character even if
+   it would not otherwise be quoted).  */
+int
+set_char_quoting (struct quoting_options *o, char c, int i)
+{
+  unsigned char uc = c;
+  int *p = (o ? o : &default_quoting_options)->quote_these_too + uc / INT_BITS;
+  int shift = uc % INT_BITS;
+  int r = (*p >> shift) & 1;
+  *p ^= ((i & 1) ^ r) << shift;
+  return r;
+}
+
+/* MSGID approximates a quotation mark.  Return its translation if it
+   has one; otherwise, return either it or "\"", depending on S.  */
+static char const *
+gettext_quote (char const *msgid, enum quoting_style s)
+{
+  char const *translation = _(msgid);
+  if (translation == msgid && s == clocale_quoting_style)
+    translation = "\"";
+  return translation;
+}
+
+/* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of
+   argument ARG (of size ARGSIZE), using QUOTING_STYLE and the
+   non-quoting-style part of O to control quoting.
+   Terminate the output with a null character, and return the written
+   size of the output, not counting the terminating null.
+   If BUFFERSIZE is too small to store the output string, return the
+   value that would have been returned had BUFFERSIZE been large enough.
+   If ARGSIZE is -1, use the string length of the argument for ARGSIZE.
+
+   This function acts like quotearg_buffer (BUFFER, BUFFERSIZE, ARG,
+   ARGSIZE, O), except it uses QUOTING_STYLE instead of the quoting
+   style specified by O, and O may not be null.  */
+
+static size_t
+quotearg_buffer_restyled (char *buffer, size_t buffersize,
+                         char const *arg, size_t argsize,
+                         enum quoting_style quoting_style,
+                         struct quoting_options const *o)
+{
+  size_t i;
+  size_t len = 0;
+  char const *quote_string = 0;
+  size_t quote_string_len = 0;
+  int backslash_escapes = 0;
+  int unibyte_locale = MB_CUR_MAX == 1;
+
+#define STORE(c) \
+    do \
+      { \
+       if (len < buffersize) \
+         buffer[len] = (c); \
+       len++; \
+      } \
+    while (0)
+
+  switch (quoting_style)
+    {
+    case c_quoting_style:
+      STORE ('"');
+      backslash_escapes = 1;
+      quote_string = "\"";
+      quote_string_len = 1;
+      break;
+
+    case escape_quoting_style:
+      backslash_escapes = 1;
+      break;
+
+    case locale_quoting_style:
+    case clocale_quoting_style:
+      {
+       /* Get translations for open and closing quotation marks.
+
+          The message catalog should translate "`" to a left
+          quotation mark suitable for the locale, and similarly for
+          "'".  If the catalog has no translation,
+          locale_quoting_style quotes `like this', and
+          clocale_quoting_style quotes "like this".
+
+          For example, an American English Unicode locale should
+          translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
+          should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
+          MARK).  A British English Unicode locale should instead
+          translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
+          U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.  */
+
+       char const *left = gettext_quote (N_("`"), quoting_style);
+       char const *right = gettext_quote (N_("'"), quoting_style);
+       for (quote_string = left; *quote_string; quote_string++)
+         STORE (*quote_string);
+       backslash_escapes = 1;
+       quote_string = right;
+       quote_string_len = strlen (quote_string);
+      }
+      break;
+
+    case shell_always_quoting_style:
+      STORE ('\'');
+      quote_string = "'";
+      quote_string_len = 1;
+      break;
+
+    default:
+      break;
+    }
+
+  for (i = 0;  ! (argsize == (size_t) -1 ? arg[i] == '\0' : i == argsize);  i++)
+    {
+      unsigned char c;
+      unsigned char esc;
+
+      if (backslash_escapes
+         && quote_string_len
+         && i + quote_string_len <= argsize
+         && memcmp (arg + i, quote_string, quote_string_len) == 0)
+       STORE ('\\');
+
+      c = arg[i];
+      switch (c)
+       {
+       case '?':
+         switch (quoting_style)
+           {
+           case shell_quoting_style:
+             goto use_shell_always_quoting_style;
+
+           case c_quoting_style:
+             if (i + 2 < argsize && arg[i + 1] == '?')
+               switch (arg[i + 2])
+                 {
+                 case '!': case '\'':
+                 case '(': case ')': case '-': case '/':
+                 case '<': case '=': case '>':
+                   /* Escape the second '?' in what would otherwise be
+                      a trigraph.  */
+                   i += 2;
+                   c = arg[i + 2];
+                   STORE ('?');
+                   STORE ('\\');
+                   STORE ('?');
+                   break;
+                 }
+             break;
+
+           default:
+             break;
+           }
+         break;
+
+       case ALERT_CHAR: esc = 'a'; goto c_escape;
+       case '\b': esc = 'b'; goto c_escape;
+       case '\f': esc = 'f'; goto c_escape;
+       case '\n': esc = 'n'; goto c_and_shell_escape;
+       case '\r': esc = 'r'; goto c_and_shell_escape;
+       case '\t': esc = 't'; goto c_and_shell_escape;
+       case '\v': esc = 'v'; goto c_escape;
+       case '\\': esc = c; goto c_and_shell_escape;
+
+       c_and_shell_escape:
+         if (quoting_style == shell_quoting_style)
+           goto use_shell_always_quoting_style;
+       c_escape:
+         if (backslash_escapes)
+           {
+             c = esc;
+             goto store_escape;
+           }
+         break;
+
+       case '#': case '~':
+         if (i != 0)
+           break;
+         /* Fall through.  */
+       case ' ':
+       case '!': /* special in bash */
+       case '"': case '$': case '&':
+       case '(': case ')': case '*': case ';':
+       case '<': case '>': case '[':
+       case '^': /* special in old /bin/sh, e.g. SunOS 4.1.4 */
+       case '`': case '|':
+         /* A shell special character.  In theory, '$' and '`' could
+            be the first bytes of multibyte characters, which means
+            we should check them with mbrtowc, but in practice this
+            doesn't happen so it's not worth worrying about.  */
+         if (quoting_style == shell_quoting_style)
+           goto use_shell_always_quoting_style;
+         break;
+
+       case '\'':
+         switch (quoting_style)
+           {
+           case shell_quoting_style:
+             goto use_shell_always_quoting_style;
+
+           case shell_always_quoting_style:
+             STORE ('\'');
+             STORE ('\\');
+             STORE ('\'');
+             break;
+
+           default:
+             break;
+           }
+         break;
+
+       case '%': case '+': case ',': case '-': case '.': case '/':
+       case '0': case '1': case '2': case '3': case '4': case '5':
+       case '6': case '7': case '8': case '9': case ':': case '=':
+       case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+       case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
+       case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
+       case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
+       case 'Y': case 'Z': case ']': case '_': case 'a': case 'b':
+       case 'c': case 'd': case 'e': case 'f': case 'g': case 'h':
+       case 'i': case 'j': case 'k': case 'l': case 'm': case 'n':
+       case 'o': case 'p': case 'q': case 'r': case 's': case 't':
+       case 'u': case 'v': case 'w': case 'x': case 'y': case 'z':
+       case '{': case '}':
+         /* These characters don't cause problems, no matter what the
+            quoting style is.  They cannot start multibyte sequences.  */
+         break;
+
+       default:
+         /* If we have a multibyte sequence, copy it until we reach
+            its end, find an error, or come back to the initial shift
+            state.  For C-like styles, if the sequence has
+            unprintable characters, escape the whole sequence, since
+            we can't easily escape single characters within it.  */
+         {
+           /* Length of multibyte sequence found so far.  */
+           size_t m;
+
+           int printable;
+
+           if (unibyte_locale)
+             {
+               m = 1;
+               printable = ISPRINT (c);
+             }
+           else
+             {
+               mbstate_t mbstate;
+               memset (&mbstate, 0, sizeof mbstate);
+
+               m = 0;
+               printable = 1;
+               if (argsize == (size_t) -1)
+                 argsize = strlen (arg);
+
+               do
+                 {
+                   wchar_t w;
+                   size_t bytes = mbrtowc (&w, &arg[i + m],
+                                           argsize - (i + m), &mbstate);
+                   if (bytes == 0)
+                     break;
+                   else if (bytes == (size_t) -1)
+                     {
+                       printable = 0;
+                       break;
+                     }
+                   else if (bytes == (size_t) -2)
+                     {
+                       printable = 0;
+                       while (i + m < argsize && arg[i + m])
+                         m++;
+                       break;
+                     }
+                   else
+                     {
+                       if (! iswprint (w))
+                         printable = 0;
+                       m += bytes;
+                     }
+                 }
+               while (! mbsinit (&mbstate));
+             }
+
+           if (1 < m || (backslash_escapes && ! printable))
+             {
+               /* Output a multibyte sequence, or an escaped
+                  unprintable unibyte character.  */
+               size_t ilim = i + m;
+
+               for (;;)
+                 {
+                   if (backslash_escapes && ! printable)
+                     {
+                       STORE ('\\');
+                       STORE ('0' + (c >> 6));
+                       STORE ('0' + ((c >> 3) & 7));
+                       c = '0' + (c & 7);
+                     }
+                   if (ilim <= i + 1)
+                     break;
+                   STORE (c);
+                   c = arg[++i];
+                 }
+
+               goto store_c;
+             }
+         }
+       }
+
+      if (! (backslash_escapes
+            && o->quote_these_too[c / INT_BITS] & (1 << (c % INT_BITS))))
+       goto store_c;
+
+    store_escape:
+      STORE ('\\');
+
+    store_c:
+      STORE (c);
+    }
+
+  if (quote_string)
+    for (; *quote_string; quote_string++)
+      STORE (*quote_string);
+
+  if (len < buffersize)
+    buffer[len] = '\0';
+  return len;
+
+ use_shell_always_quoting_style:
+  return quotearg_buffer_restyled (buffer, buffersize, arg, argsize,
+                                  shell_always_quoting_style, o);
+}
+
+/* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of
+   argument ARG (of size ARGSIZE), using O to control quoting.
+   If O is null, use the default.
+   Terminate the output with a null character, and return the written
+   size of the output, not counting the terminating null.
+   If BUFFERSIZE is too small to store the output string, return the
+   value that would have been returned had BUFFERSIZE been large enough.
+   If ARGSIZE is -1, use the string length of the argument for ARGSIZE.  */
+size_t
+quotearg_buffer (char *buffer, size_t buffersize,
+                char const *arg, size_t argsize,
+                struct quoting_options const *o)
+{
+  struct quoting_options const *p = o ? o : &default_quoting_options;
+  return quotearg_buffer_restyled (buffer, buffersize, arg, argsize,
+                                  p->style, p);
+}
+
+/* Use storage slot N to return a quoted version of the string ARG.
+   OPTIONS specifies the quoting options.
+   The returned value points to static storage that can be
+   reused by the next call to this function with the same value of N.
+   N must be nonnegative.  N is deliberately declared with type "int"
+   to allow for future extensions (using negative values).  */
+static char *
+quotearg_n_options (int n, char const *arg,
+                   struct quoting_options const *options)
+{
+  /* Preallocate a slot 0 buffer, so that the caller can always quote
+     one small component of a "memory exhausted" message in slot 0.  */
+  static char slot0[256];
+  static unsigned int nslots = 1;
+  struct slotvec
+    {
+      size_t size;
+      char *val;
+    };
+  static struct slotvec slotvec0 = {sizeof slot0, slot0};
+  static struct slotvec *slotvec = &slotvec0;
+
+  if (nslots <= n)
+    {
+      int n1 = n + 1;
+      size_t s = n1 * sizeof (struct slotvec);
+      if (! (0 < n1 && n1 == s / sizeof (struct slotvec)))
+       abort ();
+      if (slotvec == &slotvec0)
+       {
+         slotvec = (struct slotvec *) xmalloc (sizeof (struct slotvec));
+         *slotvec = slotvec0;
+       }
+      slotvec = (struct slotvec *) xrealloc (slotvec, s);
+      memset (slotvec + nslots, 0, (n1 - nslots) * sizeof (struct slotvec));
+      nslots = n;
+    }
+
+  {
+    size_t size = slotvec[n].size;
+    char *val = slotvec[n].val;
+    size_t qsize = quotearg_buffer (val, size, arg, (size_t) -1, options);
+
+    if (size <= qsize)
+      {
+       slotvec[n].size = size = qsize + 1;
+       slotvec[n].val = val = xrealloc (val == slot0 ? 0 : val, size);
+       quotearg_buffer (val, size, arg, (size_t) -1, options);
+      }
+
+    return val;
+  }
+}
+
+char *
+quotearg_n (unsigned int n, char const *arg)
+{
+  return quotearg_n_options (n, arg, &default_quoting_options);
+}
+
+char *
+quotearg (char const *arg)
+{
+  return quotearg_n (0, arg);
+}
+
+char *
+quotearg_n_style (unsigned int n, enum quoting_style s, char const *arg)
+{
+  struct quoting_options o;
+  o.style = s;
+  memset (o.quote_these_too, 0, sizeof o.quote_these_too);
+  return quotearg_n_options (n, arg, &o);
+}
+
+char *
+quotearg_style (enum quoting_style s, char const *arg)
+{
+  return quotearg_n_style (0, s, arg);
+}
+
+char *
+quotearg_char (char const *arg, char ch)
+{
+  struct quoting_options options;
+  options = default_quoting_options;
+  set_char_quoting (&options, ch, 1);
+  return quotearg_n_options (0, arg, &options);
+}
+
+char *
+quotearg_colon (char const *arg)
+{
+  return quotearg_char (arg, ':');
+}
diff --git a/lib/quotearg.h b/lib/quotearg.h
new file mode 100644 (file)
index 0000000..f6463b1
--- /dev/null
@@ -0,0 +1,110 @@
+/* quotearg.h - quote arguments for output
+   Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+/* Written by Paul Eggert <eggert@twinsun.com> */
+
+/* Basic quoting styles.  */
+enum quoting_style
+  {
+    literal_quoting_style,     /* --quoting-style=literal */
+    shell_quoting_style,       /* --quoting-style=shell */
+    shell_always_quoting_style,        /* --quoting-style=shell-always */
+    c_quoting_style,           /* --quoting-style=c */
+    escape_quoting_style,      /* --quoting-style=escape */
+    locale_quoting_style,      /* --quoting-style=locale */
+    clocale_quoting_style      /* --quoting-style=clocale */
+  };
+
+/* For now, --quoting-style=literal is the default, but this may change.  */
+#ifndef DEFAULT_QUOTING_STYLE
+# define DEFAULT_QUOTING_STYLE literal_quoting_style
+#endif
+
+/* Names of quoting styles and their corresponding values.  */
+extern char const *const quoting_style_args[];
+extern enum quoting_style const quoting_style_vals[];
+
+struct quoting_options;
+
+#ifndef PARAMS
+# if defined PROTOTYPES || defined __STDC__
+#  define PARAMS(Args) Args
+# else
+#  define PARAMS(Args) ()
+# endif
+#endif
+
+/* The functions listed below set and use a hidden variable
+   that contains the default quoting style options.  */
+
+/* Allocate a new set of quoting options, with contents initially identical
+   to O if O is not null, or to the default if O is null.
+   It is the caller's responsibility to free the result.  */
+struct quoting_options *clone_quoting_options
+   PARAMS ((struct quoting_options *o));
+
+/* Get the value of O's quoting style.  If O is null, use the default.  */
+enum quoting_style get_quoting_style PARAMS ((struct quoting_options *o));
+
+/* In O (or in the default if O is null),
+   set the value of the quoting style to S.  */
+void set_quoting_style PARAMS ((struct quoting_options *o,
+                               enum quoting_style s));
+
+/* In O (or in the default if O is null),
+   set the value of the quoting options for character C to I.
+   Return the old value.  Currently, the only values defined for I are
+   0 (the default) and 1 (which means to quote the character even if
+   it would not otherwise be quoted).  */
+int set_char_quoting PARAMS ((struct quoting_options *o, char c, int i));
+
+/* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of
+   argument ARG (of size ARGSIZE), using O to control quoting.
+   If O is null, use the default.
+   Terminate the output with a null character, and return the written
+   size of the output, not counting the terminating null.
+   If BUFFERSIZE is too small to store the output string, return the
+   value that would have been returned had BUFFERSIZE been large enough.
+   If ARGSIZE is -1, use the string length of the argument for ARGSIZE.  */
+size_t quotearg_buffer PARAMS ((char *buffer, size_t buffersize,
+                               char const *arg, size_t argsize,
+                               struct quoting_options const *o));
+
+/* Use storage slot N to return a quoted version of the string ARG.
+   Use the default quoting options.
+   The returned value points to static storage that can be
+   reused by the next call to this function with the same value of N.
+   N must be nonnegative.  */
+char *quotearg_n PARAMS ((unsigned int n, char const *arg));
+
+/* Equivalent to quotearg_n (0, ARG).  */
+char *quotearg PARAMS ((char const *arg));
+
+/* Use style S and storage slot N to return a quoted version of the string ARG.
+   This is like quotearg_n (N, ARG), except that it uses S with no other
+   options to specify the quoting method.  */
+char *quotearg_n_style PARAMS ((unsigned int n, enum quoting_style s,
+                               char const *arg));
+
+/* Equivalent to quotearg_n_style (0, S, ARG).  */
+char *quotearg_style PARAMS ((enum quoting_style s, char const *arg));
+
+/* Like quotearg (ARG), except also quote any instances of CH.  */
+char *quotearg_char PARAMS ((char const *arg, char ch));
+
+/* Equivalent to quotearg_char (ARG, ':').  */
+char *quotearg_colon PARAMS ((char const *arg));
index 15610bdaff5182a86341b0fa809d51c47030098e..3d5d9fa05dcae75a3daee6d6de07e30c5ce870a6 100644 (file)
@@ -1,11 +1,14 @@
 ## Process this file with automake to produce Makefile.in -*-Makefile-*-
 EXTRA_DIST = \
 atconfig.m4 \
 ## Process this file with automake to produce Makefile.in -*-Makefile-*-
 EXTRA_DIST = \
 atconfig.m4 \
+c-bs-a.m4 \
 error.m4 \
 gettext.m4 \
 lcmessage.m4 \
 m4.m4 \
 malloc.m4 \
 error.m4 \
 gettext.m4 \
 lcmessage.m4 \
 m4.m4 \
 malloc.m4 \
+mbstate_t.m4 \
+prereq.m4 \
 progtest.m4 \
 realloc.m4 \
 warning.m4
 progtest.m4 \
 realloc.m4 \
 warning.m4
diff --git a/m4/c-bs-a.m4 b/m4/c-bs-a.m4
new file mode 100644 (file)
index 0000000..d9e6e11
--- /dev/null
@@ -0,0 +1,23 @@
+#serial 3
+
+dnl From Paul Eggert.
+
+AC_DEFUN(AC_C_BACKSLASH_A,
+[
+  AC_CACHE_CHECK([whether backslash-a works in strings], ac_cv_c_backslash_a,
+   [AC_TRY_COMPILE([],
+     [
+#if '\a' == 'a'
+      syntax error;
+#endif
+      char buf['\a' == 'a' ? -1 : 1];
+      buf[0] = '\a';
+      return buf[0] != "\a"[0];
+     ],
+     ac_cv_c_backslash_a=yes,
+     ac_cv_c_backslash_a=no)])
+  if test $ac_cv_c_backslash_a = yes; then
+    AC_DEFINE(HAVE_C_BACKSLASH_A, 1,
+      [Define if backslash-a works in C strings.])
+  fi
+])
diff --git a/m4/mbstate_t.m4 b/m4/mbstate_t.m4
new file mode 100644 (file)
index 0000000..a185a7d
--- /dev/null
@@ -0,0 +1,29 @@
+# serial 8
+
+# From Paul Eggert.
+
+# BeOS 5 has <wchar.h> but does not define mbstate_t,
+# so you can't declare an object of that type.
+# Check for this incompatibility with Standard C.
+
+# Include stdlib.h first, because otherwise this test would fail on Linux
+# (at least glibc-2.1.3) because the "_XOPEN_SOURCE 500" definition elicits
+# a syntax error in wchar.h due to the use of undefined __int32_t.
+
+AC_DEFUN(AC_MBSTATE_T,
+  [
+   AC_CHECK_HEADERS(stdlib.h)
+
+   AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t,
+    [AC_TRY_COMPILE([
+#if HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
+#include <wchar.h>],
+      [mbstate_t x; return sizeof x;],
+      ac_cv_type_mbstate_t=yes,
+      ac_cv_type_mbstate_t=no)])
+   if test $ac_cv_type_mbstate_t = no; then
+     AC_DEFINE(mbstate_t, int,
+              [Define to a type if <wchar.h> does not define.])
+   fi])
diff --git a/m4/prereq.m4 b/m4/prereq.m4
new file mode 100644 (file)
index 0000000..f711426
--- /dev/null
@@ -0,0 +1,14 @@
+#serial 1
+
+dnl These are the prerequisite macros for files in the lib/
+dnl directories of Bison.
+
+AC_DEFUN([jm_PREREQ_QUOTEARG],
+[
+  AC_CHECK_FUNCS(isascii iswprint mbrtowc)
+  AC_CHECK_HEADERS(limits.h stdlib.h string.h wchar.h wctype.h)
+  AC_HEADER_STDC
+  AC_C_BACKSLASH_A
+  AC_MBSTATE_T
+  AM_C_PROTOTYPES
+])
index bdda7f5444cb8eaaddd24e7e98e791abfe676954..7659f5bc83b98f8a61ccd6ee730edff215eedba6 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: bison 1.25\n"
 msgid ""
 msgstr ""
 "Project-Id-Version: bison 1.25\n"
-"POT-Creation-Date: 2000-10-04 13:59+0200\n"
+"POT-Creation-Date: 2000-10-16 19:27+0200\n"
 "PO-Revision-Date: 1996-10-10 17:54 MET DST\n"
 "Last-Translator: Ulrich Drepper <drepper@gnu.ai.mit.edu>\n"
 "Language-Team: German <de@li.org>\n"
 "PO-Revision-Date: 1996-10-10 17:54 MET DST\n"
 "Last-Translator: Ulrich Drepper <drepper@gnu.ai.mit.edu>\n"
 "Language-Team: German <de@li.org>\n"
@@ -204,30 +204,30 @@ msgstr "%s: zus
 msgid "too many gotos (max %d)"
 msgstr ""
 
 msgid "too many gotos (max %d)"
 msgstr ""
 
-#: src/lex.c:84
+#: src/lex.c:82
 msgid "unexpected `/' found and ignored"
 msgstr "»/« wird hier nicht erwartet und wird deshalb ignoriert"
 
 msgid "unexpected `/' found and ignored"
 msgstr "»/« wird hier nicht erwartet und wird deshalb ignoriert"
 
-#: src/lex.c:113 src/reader.c:216
+#: src/lex.c:111 src/reader.c:215
 msgid "unterminated comment"
 msgstr "unbeendeter Kommentar"
 
 msgid "unterminated comment"
 msgstr "unbeendeter Kommentar"
 
-#: src/lex.c:141
+#: src/lex.c:139
 #, fuzzy
 msgid "unexpected end of file"
 msgstr "Datei endet unerwartet"
 
 # Oder soll man den Begriff "Escapezeichen" verwenden?
 #, fuzzy
 msgid "unexpected end of file"
 msgstr "Datei endet unerwartet"
 
 # Oder soll man den Begriff "Escapezeichen" verwenden?
-#: src/lex.c:164
+#: src/lex.c:162
 msgid "unescaped newline in constant"
 msgstr "nicht maskiertes Zeilenendezeichen in Konstante"
 
 msgid "unescaped newline in constant"
 msgstr "nicht maskiertes Zeilenendezeichen in Konstante"
 
-#: src/lex.c:206
+#: src/lex.c:204
 #, c-format
 msgid "octal value outside range 0...255: `\\%o'"
 msgstr "oktaler Zahlenwert außerhalb des Bereichs 0...255: »\\%o«"
 
 #, c-format
 msgid "octal value outside range 0...255: `\\%o'"
 msgstr "oktaler Zahlenwert außerhalb des Bereichs 0...255: »\\%o«"
 
-#: src/lex.c:231
+#: src/lex.c:229
 #, c-format
 msgid "hexadecimal value above 255: `\\x%x'"
 msgstr "hexadezimaler Zahlenwert größer als 255: »\\x%x«"
 #, c-format
 msgid "hexadecimal value above 255: `\\x%x'"
 msgstr "hexadezimaler Zahlenwert größer als 255: »\\x%x«"
@@ -249,7 +249,7 @@ msgstr "unerwarteter Typname am Ende der Datei"
 msgid "unterminated type name"
 msgstr "unerwarteter Typname"
 
 msgid "unterminated type name"
 msgstr "unerwarteter Typname"
 
-#: src/main.c:123
+#: src/main.c:104
 #, fuzzy, c-format
 msgid "%s: internal error: %s\n"
 msgstr "interner Fehler, %s\n"
 #, fuzzy, c-format
 msgid "%s: internal error: %s\n"
 msgstr "interner Fehler, %s\n"
@@ -351,234 +351,229 @@ msgstr " auf der linken Seite:"
 msgid " on right:"
 msgstr " auf der rechten Seite:"
 
 msgid " on right:"
 msgstr " auf der rechten Seite:"
 
-#: src/reader.c:81
+#: src/reader.c:80
 msgid "   Skipping to next \\n"
 msgstr "   Überspringe Zeichen bis zum nächsten \\n"
 
 msgid "   Skipping to next \\n"
 msgstr "   Überspringe Zeichen bis zum nächsten \\n"
 
-#: src/reader.c:83
+#: src/reader.c:82
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   Überspringe Zeichen bis zum nächten %c"
 
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   Überspringe Zeichen bis zum nächten %c"
 
-#: src/reader.c:137 src/reader.c:152
+#: src/reader.c:136 src/reader.c:151
 msgid "unterminated string at end of file"
 msgstr "unbeendete Zeichenkette am Ende der Datei"
 
 msgid "unterminated string at end of file"
 msgstr "unbeendete Zeichenkette am Ende der Datei"
 
-#: src/reader.c:140
+#: src/reader.c:139
 msgid "unterminated string"
 msgstr "unbeendete Zeichenkette"
 
 msgid "unterminated string"
 msgstr "unbeendete Zeichenkette"
 
-#: src/reader.c:269
-#, c-format
-msgid "@%s is invalid"
+#: src/reader.c:271 src/reader.c:1021 src/reader.c:1174
+#, fuzzy, c-format
+msgid "%s is invalid"
 msgstr "@%s ist unzulässig"
 
 msgstr "@%s ist unzulässig"
 
-#: src/reader.c:318
+#: src/reader.c:321
 msgid "unterminated `%{' definition"
 msgstr "unbeendete »%{« Definition"
 
 msgid "unterminated `%{' definition"
 msgstr "unbeendete »%{« Definition"
 
-#: src/reader.c:359 src/reader.c:512 src/reader.c:562
+#: src/reader.c:362 src/reader.c:515 src/reader.c:565
 #, c-format
 msgid "Premature EOF after %s"
 msgstr ""
 
 #, c-format
 msgid "Premature EOF after %s"
 msgstr ""
 
-#: src/reader.c:376
+#: src/reader.c:379
 #, c-format
 msgid "symbol `%s' used more than once as a literal string"
 msgstr ""
 
 #, c-format
 msgid "symbol `%s' used more than once as a literal string"
 msgstr ""
 
-#: src/reader.c:379
+#: src/reader.c:382
 #, c-format
 msgid "symbol `%s' given more than one literal string"
 msgstr ""
 
 #, c-format
 msgid "symbol `%s' given more than one literal string"
 msgstr ""
 
-#: src/reader.c:401 src/reader.c:581
+#: src/reader.c:404 src/reader.c:584
 #, c-format
 msgid "symbol %s redefined"
 msgstr "Symbol %s noch einmal definiert"
 
 #, c-format
 msgid "symbol %s redefined"
 msgstr "Symbol %s noch einmal definiert"
 
-#: src/reader.c:411 src/reader.c:527 src/reader.c:588 src/reader.c:1267
+#: src/reader.c:414 src/reader.c:530 src/reader.c:591 src/reader.c:1280
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "erneute Deklaration des Typs für %s"
 
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "erneute Deklaration des Typs für %s"
 
-#: src/reader.c:421
+#: src/reader.c:424
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "»%s« ist in %s nicht erlaubt"
 
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "»%s« ist in %s nicht erlaubt"
 
-#: src/reader.c:438 src/reader.c:635
+#: src/reader.c:441 src/reader.c:638
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "mehr als eine %start Deklaration"
 
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "mehr als eine %start Deklaration"
 
-#: src/reader.c:440 src/reader.c:1245
+#: src/reader.c:443 src/reader.c:1258
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "ungültige %start Deklaration"
 
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "ungültige %start Deklaration"
 
-#: src/reader.c:463 src/reader.c:475
+#: src/reader.c:466 src/reader.c:478
 msgid "invalid $ value"
 msgstr "unzulässiger $ Wert"
 
 msgid "invalid $ value"
 msgstr "unzulässiger $ Wert"
 
-#: src/reader.c:497
+#: src/reader.c:500
 msgid "%type declaration has no <typename>"
 msgstr "%type Deklaration hat keinen <Typ-Namen>"
 
 msgid "%type declaration has no <typename>"
 msgstr "%type Deklaration hat keinen <Typ-Namen>"
 
-#: src/reader.c:532
+#: src/reader.c:535
 #, fuzzy
 msgid "invalid %%type declaration due to item: %s"
 msgstr "ungültige %%type Deklaration wegen »%s«"
 
 #, fuzzy
 msgid "invalid %%type declaration due to item: %s"
 msgstr "ungültige %%type Deklaration wegen »%s«"
 
-#: src/reader.c:577
+#: src/reader.c:580
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "Stellenwertigkeit von %s wird erneut definiert"
 
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "Stellenwertigkeit von %s wird erneut definiert"
 
-#: src/reader.c:601
+#: src/reader.c:604
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr "unzulässiger Text (%s) - Nummer sollte nach Bezeichner kommen"
 
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr "unzulässiger Text (%s) - Nummer sollte nach Bezeichner kommen"
 
-#: src/reader.c:611
+#: src/reader.c:614
 #, c-format
 msgid "unexpected item: %s"
 msgstr "unerwartetes Symbol: %s"
 
 #, c-format
 msgid "unexpected item: %s"
 msgstr "unerwartetes Symbol: %s"
 
-#: src/reader.c:676 src/reader.c:1022 src/reader.c:1094
+#: src/reader.c:679 src/reader.c:1031 src/reader.c:1103
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "»{« hat kein Gegenstück"
 
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "»{« hat kein Gegenstück"
 
-#: src/reader.c:724
+#: src/reader.c:727
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "Argument von %expect ist keine ganze Zahl"
 
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "Argument von %expect ist keine ganze Zahl"
 
-#: src/reader.c:770
+#: src/reader.c:773
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "unerwartetes Symbol %s, hier wird ein Bezeichner erwartet"
 
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "unerwartetes Symbol %s, hier wird ein Bezeichner erwartet"
 
-#: src/reader.c:794
+#: src/reader.c:797
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "hier wird eine Zeichenkette erwartet, nicht %s"
 
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "hier wird eine Zeichenkette erwartet, nicht %s"
 
-#: src/reader.c:893
+#: src/reader.c:896
 #, c-format
 msgid "unrecognized: %s"
 msgstr "unbekannt: %s"
 
 #, c-format
 msgid "unrecognized: %s"
 msgstr "unbekannt: %s"
 
-#: src/reader.c:898
+#: src/reader.c:901
 msgid "no input grammar"
 msgstr "keine Eingabe-Grammatik"
 
 msgid "no input grammar"
 msgstr "keine Eingabe-Grammatik"
 
-#: src/reader.c:901
+#: src/reader.c:906
 #, c-format
 msgid "unknown character: %s"
 msgstr "unbekanntes Zeichen: %s"
 
 #, c-format
 msgid "unknown character: %s"
 msgstr "unbekanntes Zeichen: %s"
 
-#: src/reader.c:992 src/reader.c:1141
+#: src/reader.c:997 src/reader.c:1150
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "$$ von »%s« hat keine deklarierten Wert"
 
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "$$ von »%s« hat keine deklarierten Wert"
 
-#: src/reader.c:1008 src/reader.c:1157
+#: src/reader.c:1013 src/reader.c:1166
 #, fuzzy, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "»%s« von »%s« hat keine deklarierten Wert"
 
 #, fuzzy, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "»%s« von »%s« hat keine deklarierten Wert"
 
-#: src/reader.c:1013 src/reader.c:1162
-#, c-format
-msgid "$%s is invalid"
-msgstr "$%s ist unzulässig"
-
-#: src/reader.c:1170
+#: src/reader.c:1183
 #, fuzzy, c-format
 msgid "unterminated %guard clause"
 msgstr "unbeendeter %%guard Fall"
 
 #, fuzzy, c-format
 msgid "unterminated %guard clause"
 msgstr "unbeendeter %%guard Fall"
 
-#: src/reader.c:1329
+#: src/reader.c:1345
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr ""
 "falsch geformte Regel: führendes Symbol wird nicht von einem Semikolon "
 "gefolgt"
 
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr ""
 "falsch geformte Regel: führendes Symbol wird nicht von einem Semikolon "
 "gefolgt"
 
-#: src/reader.c:1336
+#: src/reader.c:1352
 msgid "grammar starts with vertical bar"
 msgstr "Grammatik fängt mit einem vertikalen Strich (»|«) an"
 
 msgid "grammar starts with vertical bar"
 msgstr "Grammatik fängt mit einem vertikalen Strich (»|«) an"
 
-#: src/reader.c:1367
+#: src/reader.c:1383
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "Regel für %s vorhanden, welches aber ein Token ist"
 
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "Regel für %s vorhanden, welches aber ein Token ist"
 
-#: src/reader.c:1468
+#: src/reader.c:1484
 msgid "two @prec's in a row"
 msgstr "zwei @prec Anweisungen nacheinander"
 
 msgid "two @prec's in a row"
 msgstr "zwei @prec Anweisungen nacheinander"
 
-#: src/reader.c:1478
-#, fuzzy, c-format
-msgid "%guard present but %semantic_parser not specified"
+#: src/reader.c:1492
+#, fuzzy
+msgid "%%guard present but %%semantic_parser not specified"
 msgstr ""
 "%%guard Anweisung vorhanden, jedoch wird %%semantic_parser nicht angegeben"
 
 msgstr ""
 "%%guard Anweisung vorhanden, jedoch wird %%semantic_parser nicht angegeben"
 
-#: src/reader.c:1487
+#: src/reader.c:1501
 msgid "two actions at end of one rule"
 msgstr "Zwei Aktionen am Ende einer Regel"
 
 msgid "two actions at end of one rule"
 msgstr "Zwei Aktionen am Ende einer Regel"
 
-#: src/reader.c:1501
+#: src/reader.c:1515
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "Typkonflikt (»%s« »%s«) bei Default Aktion"
 
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "Typkonflikt (»%s« »%s«) bei Default Aktion"
 
-#: src/reader.c:1507
+#: src/reader.c:1521
 msgid "empty rule for typed nonterminal, and no action"
 msgstr "leere Regel für Nicht-Terminal vmit Typ und keine Aktion"
 
 msgid "empty rule for typed nonterminal, and no action"
 msgstr "leere Regel für Nicht-Terminal vmit Typ und keine Aktion"
 
-#: src/reader.c:1551
+#: src/reader.c:1565
 #, c-format
 msgid "invalid input: %s"
 msgstr "ungültige Eingabe: %s"
 
 #, c-format
 msgid "invalid input: %s"
 msgstr "ungültige Eingabe: %s"
 
-#: src/reader.c:1559
+#: src/reader.c:1573
 #, fuzzy, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "zu viele Symbols (Token plus Nicht-Terminal); Maximum %s"
 
 #, fuzzy, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "zu viele Symbols (Token plus Nicht-Terminal); Maximum %s"
 
-#: src/reader.c:1562
+#: src/reader.c:1576
 msgid "no rules in the input grammar"
 msgstr "Eingabegrammatik enthält keine Regeln"
 
 msgid "no rules in the input grammar"
 msgstr "Eingabegrammatik enthält keine Regeln"
 
-#: src/reader.c:1581
+#: src/reader.c:1596
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr ""
 "Symbol %s wird benutzt, ist aber nicht als Token definiert und hat keine "
 "Regel"
 
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr ""
 "Symbol %s wird benutzt, ist aber nicht als Token definiert und hat keine "
 "Regel"
 
-#: src/reader.c:1686
+#: src/reader.c:1701
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "Vorrangwertigkeiten für %s und %s widersprechen sich"
 
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "Vorrangwertigkeiten für %s und %s widersprechen sich"
 
-#: src/reader.c:1698
+#: src/reader.c:1713
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "assoc Werte für %s nd %s widersprechen sich"
 
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "assoc Werte für %s nd %s widersprechen sich"
 
-#: src/reader.c:1749
+#: src/reader.c:1764
 #, fuzzy, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr "Token %s und %s haben die selbe nummer %s"
 
 #, fuzzy, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr "Token %s und %s haben die selbe nummer %s"
 
-#: src/reader.c:1762
+#: src/reader.c:1777
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr "das Startsymbol %s ist undefiniert"
 
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr "das Startsymbol %s ist undefiniert"
 
-#: src/reader.c:1764
+#: src/reader.c:1779
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "das Startsymbol %s ist ein Token"
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "das Startsymbol %s ist ein Token"
@@ -738,6 +733,9 @@ msgstr "%s: die Option 
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: die Option »--%s« erlaubt kein Argument\n"
 
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: die Option »--%s« erlaubt kein Argument\n"
 
+#~ msgid "$%s is invalid"
+#~ msgstr "$%s ist unzulässig"
+
 #~ msgid "%s: memory exhausted\n"
 #~ msgstr "%s: Hauptspeicher erschöpft\n"
 
 #~ msgid "%s: memory exhausted\n"
 #~ msgstr "%s: Hauptspeicher erschöpft\n"
 
index 9f0cd9a83efef51d6c828380b6f2a3646dba120c..eee9378d1da9df23b899c9f2a63e4a565669dd54 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -30,7 +30,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU bison 1.25\n"
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU bison 1.25\n"
-"POT-Creation-Date: 2000-10-04 13:59+0200\n"
+"POT-Creation-Date: 2000-10-16 19:27+0200\n"
 "PO-Revision-Date: 1998-09-21 10:19+0200\n"
 "Last-Translator: Nicolás García-Pedrajas <ngarcia-pedrajas@acm.org>\n"
 "Language-Team: Spanish <es@li.org>\n"
 "PO-Revision-Date: 1998-09-21 10:19+0200\n"
 "Last-Translator: Nicolás García-Pedrajas <ngarcia-pedrajas@acm.org>\n"
 "Language-Team: Spanish <es@li.org>\n"
@@ -264,30 +264,30 @@ msgid "too many gotos (max %d)"
 msgstr ""
 
 # to ignore no es ignorar. Pon otra cosa, please. sv
 msgstr ""
 
 # to ignore no es ignorar. Pon otra cosa, please. sv
-#: src/lex.c:84
+#: src/lex.c:82
 msgid "unexpected `/' found and ignored"
 msgstr "se ha encontrado `/' cuando no se esperaba, no se tendrán en cuenta"
 
 msgid "unexpected `/' found and ignored"
 msgstr "se ha encontrado `/' cuando no se esperaba, no se tendrán en cuenta"
 
-#: src/lex.c:113 src/reader.c:216
+#: src/lex.c:111 src/reader.c:215
 msgid "unterminated comment"
 msgstr "comentario sin terminar"
 
 msgid "unterminated comment"
 msgstr "comentario sin terminar"
 
-#: src/lex.c:141
+#: src/lex.c:139
 #, fuzzy
 msgid "unexpected end of file"
 msgstr "Fin de fichero inesperado"
 
 # ¿unescaped?
 #, fuzzy
 msgid "unexpected end of file"
 msgstr "Fin de fichero inesperado"
 
 # ¿unescaped?
-#: src/lex.c:164
+#: src/lex.c:162
 msgid "unescaped newline in constant"
 msgstr "salto de línea en constante sin secuencia de escape"
 
 msgid "unescaped newline in constant"
 msgstr "salto de línea en constante sin secuencia de escape"
 
-#: src/lex.c:206
+#: src/lex.c:204
 #, c-format
 msgid "octal value outside range 0...255: `\\%o'"
 msgstr "valor octal fuera del rango 0...255: `\\%o'"
 
 #, c-format
 msgid "octal value outside range 0...255: `\\%o'"
 msgstr "valor octal fuera del rango 0...255: `\\%o'"
 
-#: src/lex.c:231
+#: src/lex.c:229
 #, c-format
 msgid "hexadecimal value above 255: `\\x%x'"
 msgstr "valor hexadecimal mayor que 255: `\\x%x'"
 #, c-format
 msgid "hexadecimal value above 255: `\\x%x'"
 msgstr "valor hexadecimal mayor que 255: `\\x%x'"
@@ -310,7 +310,7 @@ msgstr "nombre de tipo sin terminar al final del fichero"
 msgid "unterminated type name"
 msgstr "nombre de tipo sin terminar"
 
 msgid "unterminated type name"
 msgstr "nombre de tipo sin terminar"
 
-#: src/main.c:123
+#: src/main.c:104
 #, fuzzy, c-format
 msgid "%s: internal error: %s\n"
 msgstr "error interno, %s\n"
 #, fuzzy, c-format
 msgid "%s: internal error: %s\n"
 msgstr "error interno, %s\n"
@@ -421,86 +421,86 @@ msgstr " en la izquierda:"
 msgid " on right:"
 msgstr " en la derecha:"
 
 msgid " on right:"
 msgstr " en la derecha:"
 
-#: src/reader.c:81
+#: src/reader.c:80
 msgid "   Skipping to next \\n"
 msgstr "   Saltando al siguiente \\n"
 
 msgid "   Skipping to next \\n"
 msgstr "   Saltando al siguiente \\n"
 
-#: src/reader.c:83
+#: src/reader.c:82
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   Saltando al siguiente %c"
 
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   Saltando al siguiente %c"
 
-#: src/reader.c:137 src/reader.c:152
+#: src/reader.c:136 src/reader.c:151
 msgid "unterminated string at end of file"
 msgstr "cadena sin terminar al final del fichero"
 
 msgid "unterminated string at end of file"
 msgstr "cadena sin terminar al final del fichero"
 
-#: src/reader.c:140
+#: src/reader.c:139
 msgid "unterminated string"
 msgstr "cadena sin terminar"
 
 msgid "unterminated string"
 msgstr "cadena sin terminar"
 
-#: src/reader.c:269
-#, c-format
-msgid "@%s is invalid"
+#: src/reader.c:271 src/reader.c:1021 src/reader.c:1174
+#, fuzzy, c-format
+msgid "%s is invalid"
 msgstr "@%s no es válido"
 
 msgstr "@%s no es válido"
 
-#: src/reader.c:318
+#: src/reader.c:321
 msgid "unterminated `%{' definition"
 msgstr "definición `%{' sin terminar"
 
 msgid "unterminated `%{' definition"
 msgstr "definición `%{' sin terminar"
 
-#: src/reader.c:359 src/reader.c:512 src/reader.c:562
+#: src/reader.c:362 src/reader.c:515 src/reader.c:565
 #, c-format
 msgid "Premature EOF after %s"
 msgstr ""
 
 #, c-format
 msgid "Premature EOF after %s"
 msgstr ""
 
-#: src/reader.c:376
+#: src/reader.c:379
 #, c-format
 msgid "symbol `%s' used more than once as a literal string"
 msgstr ""
 
 #, c-format
 msgid "symbol `%s' used more than once as a literal string"
 msgstr ""
 
-#: src/reader.c:379
+#: src/reader.c:382
 #, c-format
 msgid "symbol `%s' given more than one literal string"
 msgstr ""
 
 #, c-format
 msgid "symbol `%s' given more than one literal string"
 msgstr ""
 
-#: src/reader.c:401 src/reader.c:581
+#: src/reader.c:404 src/reader.c:584
 #, c-format
 msgid "symbol %s redefined"
 msgstr "redefinido el símbolo %s"
 
 #, c-format
 msgid "symbol %s redefined"
 msgstr "redefinido el símbolo %s"
 
-#: src/reader.c:411 src/reader.c:527 src/reader.c:588 src/reader.c:1267
+#: src/reader.c:414 src/reader.c:530 src/reader.c:591 src/reader.c:1280
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "redeclaración del tipo de %s"
 
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "redeclaración del tipo de %s"
 
-#: src/reader.c:421
+#: src/reader.c:424
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "`%s' no es válido en %s"
 
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "`%s' no es válido en %s"
 
-#: src/reader.c:438 src/reader.c:635
+#: src/reader.c:441 src/reader.c:638
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "múltiples declaraciones de %start"
 
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "múltiples declaraciones de %start"
 
-#: src/reader.c:440 src/reader.c:1245
+#: src/reader.c:443 src/reader.c:1258
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "declaración de %start no válida"
 
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "declaración de %start no válida"
 
-#: src/reader.c:463 src/reader.c:475
+#: src/reader.c:466 src/reader.c:478
 msgid "invalid $ value"
 msgstr "valor $ no válido"
 
 msgid "invalid $ value"
 msgstr "valor $ no válido"
 
-#: src/reader.c:497
+#: src/reader.c:500
 msgid "%type declaration has no <typename>"
 msgstr "la declaración %type no tiene <nombre-tipo>"
 
 msgid "%type declaration has no <typename>"
 msgstr "la declaración %type no tiene <nombre-tipo>"
 
-#: src/reader.c:532
+#: src/reader.c:535
 #, fuzzy
 msgid "invalid %%type declaration due to item: %s"
 msgstr "declaración de %%type no válida debido al ítem: `%s'"
 
 #, fuzzy
 msgid "invalid %%type declaration due to item: %s"
 msgstr "declaración de %%type no válida debido al ítem: `%s'"
 
-#: src/reader.c:577
+#: src/reader.c:580
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "redefinición de la precedencia de %s"
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "redefinición de la precedencia de %s"
@@ -509,7 +509,7 @@ msgstr "redefinici
 # de "to must" y aquí se emplea en su forma condicional. Por eso, he
 # cambiado `debe' por `debería' - cll
 # ahí me has pillado en un olvido del inglés - ngp
 # de "to must" y aquí se emplea en su forma condicional. Por eso, he
 # cambiado `debe' por `debería' - cll
 # ahí me has pillado en un olvido del inglés - ngp
-#: src/reader.c:601
+#: src/reader.c:604
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr ""
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr ""
@@ -519,18 +519,18 @@ msgstr ""
 # otras, como `inesperado'. Cualquiera es correcta, por supuesto y, en
 # este caso, la segunda me parece más apropiada - cll
 # ok - ngp
 # otras, como `inesperado'. Cualquiera es correcta, por supuesto y, en
 # este caso, la segunda me parece más apropiada - cll
 # ok - ngp
-#: src/reader.c:611
+#: src/reader.c:614
 #, c-format
 msgid "unexpected item: %s"
 msgstr "ítem inesperado: %s"
 
 # Cambio el orden y el sexo. Ahora está "en español". sv
 #, c-format
 msgid "unexpected item: %s"
 msgstr "ítem inesperado: %s"
 
 # Cambio el orden y el sexo. Ahora está "en español". sv
-#: src/reader.c:676 src/reader.c:1022 src/reader.c:1094
+#: src/reader.c:679 src/reader.c:1031 src/reader.c:1103
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "`{' desemparejada"
 
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "`{' desemparejada"
 
-#: src/reader.c:724
+#: src/reader.c:727
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "el argumento de %expect no es un entero"
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "el argumento de %expect no es un entero"
@@ -541,136 +541,131 @@ msgstr "el argumento de %expect no es un entero"
 # - cll
 # ok - ngp
 #
 # - cll
 # ok - ngp
 #
-#: src/reader.c:770
+#: src/reader.c:773
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "no se reconoce el ítem %s, se esperaba un identificador"
 
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "no se reconoce el ítem %s, se esperaba un identificador"
 
-#: src/reader.c:794
+#: src/reader.c:797
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "se esperaba una cadena constante en lugar de %s"
 
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "se esperaba una cadena constante en lugar de %s"
 
-#: src/reader.c:893
+#: src/reader.c:896
 #, c-format
 msgid "unrecognized: %s"
 msgstr "no reconocido: %s"
 
 #, c-format
 msgid "unrecognized: %s"
 msgstr "no reconocido: %s"
 
-#: src/reader.c:898
+#: src/reader.c:901
 msgid "no input grammar"
 msgstr "no hay gramática de entrada"
 
 msgid "no input grammar"
 msgstr "no hay gramática de entrada"
 
-#: src/reader.c:901
+#: src/reader.c:906
 #, c-format
 msgid "unknown character: %s"
 msgstr "carácter desconocido: %s"
 
 #, c-format
 msgid "unknown character: %s"
 msgstr "carácter desconocido: %s"
 
-#: src/reader.c:992 src/reader.c:1141
+#: src/reader.c:997 src/reader.c:1150
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "$$ de `%s' no tiene tipo declarado"
 
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "$$ de `%s' no tiene tipo declarado"
 
-#: src/reader.c:1008 src/reader.c:1157
+#: src/reader.c:1013 src/reader.c:1166
 #, fuzzy, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "$%s de `%s' no tiene tipo declarado"
 
 #, fuzzy, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "$%s de `%s' no tiene tipo declarado"
 
-#: src/reader.c:1013 src/reader.c:1162
-#, c-format
-msgid "$%s is invalid"
-msgstr "$%s no es válida"
-
 # Tal vez pueda parecer pedante, pero `inconclusa' me suena muchísimo
 # mejor que `sin terminar' que me parece más "computerizado" - cll
 # quizás un poco cacofónico lo de claúsula inconclusa - ngp
 #
 # Tal vez pueda parecer pedante, pero `inconclusa' me suena muchísimo
 # mejor que `sin terminar' que me parece más "computerizado" - cll
 # quizás un poco cacofónico lo de claúsula inconclusa - ngp
 #
-#: src/reader.c:1170
+#: src/reader.c:1183
 #, fuzzy, c-format
 msgid "unterminated %guard clause"
 msgstr "cláusula %%guard sin terminar"
 
 #, fuzzy, c-format
 msgid "unterminated %guard clause"
 msgstr "cláusula %%guard sin terminar"
 
-#: src/reader.c:1329
+#: src/reader.c:1345
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr "regla mal formada: el símbolo inicial no está seguido por :"
 
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr "regla mal formada: el símbolo inicial no está seguido por :"
 
-#: src/reader.c:1336
+#: src/reader.c:1352
 msgid "grammar starts with vertical bar"
 msgstr "la gramática comienza con una barra vertical"
 
 msgid "grammar starts with vertical bar"
 msgstr "la gramática comienza con una barra vertical"
 
-#: src/reader.c:1367
+#: src/reader.c:1383
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "se ha dado una regla para %s, que es un terminal"
 
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "se ha dado una regla para %s, que es un terminal"
 
-#: src/reader.c:1468
+#: src/reader.c:1484
 msgid "two @prec's in a row"
 msgstr "dos @prec en una línea"
 
 # Insisto, el empleo de participios a secas me parece como hablar en
 # indio. Por favor, permíteme que añada un "está" :) - cll
 # ok - ngp
 msgid "two @prec's in a row"
 msgstr "dos @prec en una línea"
 
 # Insisto, el empleo de participios a secas me parece como hablar en
 # indio. Por favor, permíteme que añada un "está" :) - cll
 # ok - ngp
-#: src/reader.c:1478
-#, fuzzy, c-format
-msgid "%guard present but %semantic_parser not specified"
+#: src/reader.c:1492
+#, fuzzy
+msgid "%%guard present but %%semantic_parser not specified"
 msgstr "%%guard presente pero %%semantic_parser está sin especificar"
 
 msgstr "%%guard presente pero %%semantic_parser está sin especificar"
 
-#: src/reader.c:1487
+#: src/reader.c:1501
 msgid "two actions at end of one rule"
 msgstr "dos acciones al final de una regla"
 
 msgid "two actions at end of one rule"
 msgstr "dos acciones al final de una regla"
 
-#: src/reader.c:1501
+#: src/reader.c:1515
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "los tipos (`%s' `%s') no concuerdan en la acción por defecto"
 
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "los tipos (`%s' `%s') no concuerdan en la acción por defecto"
 
-#: src/reader.c:1507
+#: src/reader.c:1521
 msgid "empty rule for typed nonterminal, and no action"
 msgstr "regla vacía para un no terminal con tipo y no hay ninguna acción"
 
 msgid "empty rule for typed nonterminal, and no action"
 msgstr "regla vacía para un no terminal con tipo y no hay ninguna acción"
 
-#: src/reader.c:1551
+#: src/reader.c:1565
 #, c-format
 msgid "invalid input: %s"
 msgstr "entrada no válida: %s"
 
 #, c-format
 msgid "invalid input: %s"
 msgstr "entrada no válida: %s"
 
-#: src/reader.c:1559
+#: src/reader.c:1573
 #, fuzzy, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "demasiados símbolos (terminales y no terminales); máximo %s"
 
 #, fuzzy, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "demasiados símbolos (terminales y no terminales); máximo %s"
 
-#: src/reader.c:1562
+#: src/reader.c:1576
 msgid "no rules in the input grammar"
 msgstr "no hay reglas en la gramática de entrada"
 
 # `token' se debe traducir como `literal' - cll
 # en terminología de compiladores token es más un terminal - ngp
 #
 msgid "no rules in the input grammar"
 msgstr "no hay reglas en la gramática de entrada"
 
 # `token' se debe traducir como `literal' - cll
 # en terminología de compiladores token es más un terminal - ngp
 #
-#: src/reader.c:1581
+#: src/reader.c:1596
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr ""
 "se usa el símbolo %s, pero no está definido como terminal y no tiene reglas"
 
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr ""
 "se usa el símbolo %s, pero no está definido como terminal y no tiene reglas"
 
-#: src/reader.c:1686
+#: src/reader.c:1701
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "precedencias en conflicto entre %s y %s"
 
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "precedencias en conflicto entre %s y %s"
 
-#: src/reader.c:1698
+#: src/reader.c:1713
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "conflicto de valores assoc para %s y %s"
 
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "conflicto de valores assoc para %s y %s"
 
-#: src/reader.c:1749
+#: src/reader.c:1764
 #, fuzzy, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr "los terminales %s y %s tienen asignados ambos el número %s"
 
 #, fuzzy, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr "los terminales %s y %s tienen asignados ambos el número %s"
 
-#: src/reader.c:1762
+#: src/reader.c:1777
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr "el símbolo de inicio (axioma) %s no está definido"
 
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr "el símbolo de inicio (axioma) %s no está definido"
 
-#: src/reader.c:1764
+#: src/reader.c:1779
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "el símbolo de inicio (axioma) %s es un terminal"
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "el símbolo de inicio (axioma) %s es un terminal"
@@ -866,6 +861,9 @@ msgstr "%s: la opci
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: la opción `--%s' no admite ningún argumento\n"
 
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: la opción `--%s' no admite ningún argumento\n"
 
+#~ msgid "$%s is invalid"
+#~ msgstr "$%s no es válida"
+
 #~ msgid "%s: memory exhausted\n"
 #~ msgstr "%s: memoria agotada\n"
 
 #~ msgid "%s: memory exhausted\n"
 #~ msgstr "%s: memoria agotada\n"
 
index 62604677cf90b96cbfc7913449cda39c3d32c39a..4ab8eaa0a30bbb963b361693861207c1efbc3fbc 100644 (file)
--- a/po/et.po
+++ b/po/et.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: bison 1.25\n"
 msgid ""
 msgstr ""
 "Project-Id-Version: bison 1.25\n"
-"POT-Creation-Date: 2000-10-04 13:59+0200\n"
+"POT-Creation-Date: 2000-10-16 19:27+0200\n"
 "PO-Revision-Date: 2000-04-11 22:19+02:00\n"
 "Last-Translator: Toomas Soome <tsoome@ut.ee>\n"
 "Language-Team: Estonian <et@li.org>\n"
 "PO-Revision-Date: 2000-04-11 22:19+02:00\n"
 "Last-Translator: Toomas Soome <tsoome@ut.ee>\n"
 "Language-Team: Estonian <et@li.org>\n"
@@ -229,28 +229,28 @@ msgstr "%s: ignoreerin lisaargumente peale `%s'\n"
 msgid "too many gotos (max %d)"
 msgstr "liiga palju gotosid (maks %d)"
 
 msgid "too many gotos (max %d)"
 msgstr "liiga palju gotosid (maks %d)"
 
-#: src/lex.c:84
+#: src/lex.c:82
 msgid "unexpected `/' found and ignored"
 msgstr "leidsin ja ignoreerin ootamatu `/'"
 
 msgid "unexpected `/' found and ignored"
 msgstr "leidsin ja ignoreerin ootamatu `/'"
 
-#: src/lex.c:113 src/reader.c:216
+#: src/lex.c:111 src/reader.c:215
 msgid "unterminated comment"
 msgstr "lõpetamata kommentaar"
 
 msgid "unterminated comment"
 msgstr "lõpetamata kommentaar"
 
-#: src/lex.c:141
+#: src/lex.c:139
 msgid "unexpected end of file"
 msgstr "ootamatu faililõpp"
 
 msgid "unexpected end of file"
 msgstr "ootamatu faililõpp"
 
-#: src/lex.c:164
+#: src/lex.c:162
 msgid "unescaped newline in constant"
 msgstr "paojadata reavahetus konstandis"
 
 msgid "unescaped newline in constant"
 msgstr "paojadata reavahetus konstandis"
 
-#: src/lex.c:206
+#: src/lex.c:204
 #, c-format
 msgid "octal value outside range 0...255: `\\%o'"
 msgstr "kaheksandväärtus väljaspool piire 0...255: `\\%o'"
 
 #, c-format
 msgid "octal value outside range 0...255: `\\%o'"
 msgstr "kaheksandväärtus väljaspool piire 0...255: `\\%o'"
 
-#: src/lex.c:231
+#: src/lex.c:229
 #, c-format
 msgid "hexadecimal value above 255: `\\x%x'"
 msgstr "kuueteistkümnendväärtus  suurem, kui above 255: `\\x%x'"
 #, c-format
 msgid "hexadecimal value above 255: `\\x%x'"
 msgstr "kuueteistkümnendväärtus  suurem, kui above 255: `\\x%x'"
@@ -272,7 +272,7 @@ msgstr "l
 msgid "unterminated type name"
 msgstr "lõpetamata tüübinimi"
 
 msgid "unterminated type name"
 msgstr "lõpetamata tüübinimi"
 
-#: src/main.c:123
+#: src/main.c:104
 #, c-format
 msgid "%s: internal error: %s\n"
 msgstr "%s: sisemine viga: %s\n"
 #, c-format
 msgid "%s: internal error: %s\n"
 msgstr "%s: sisemine viga: %s\n"
@@ -374,230 +374,225 @@ msgstr " vasakul:"
 msgid " on right:"
 msgstr " paremal:"
 
 msgid " on right:"
 msgstr " paremal:"
 
-#: src/reader.c:81
+#: src/reader.c:80
 msgid "   Skipping to next \\n"
 msgstr "   Liigun järgmisele \\n"
 
 msgid "   Skipping to next \\n"
 msgstr "   Liigun järgmisele \\n"
 
-#: src/reader.c:83
+#: src/reader.c:82
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   Liigun järgmisele %c"
 
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   Liigun järgmisele %c"
 
-#: src/reader.c:137 src/reader.c:152
+#: src/reader.c:136 src/reader.c:151
 msgid "unterminated string at end of file"
 msgstr "lõpetamata sõne faili lõpus"
 
 msgid "unterminated string at end of file"
 msgstr "lõpetamata sõne faili lõpus"
 
-#: src/reader.c:140
+#: src/reader.c:139
 msgid "unterminated string"
 msgstr "lõpetamata sõne"
 
 msgid "unterminated string"
 msgstr "lõpetamata sõne"
 
-#: src/reader.c:269
-#, c-format
-msgid "@%s is invalid"
+#: src/reader.c:271 src/reader.c:1021 src/reader.c:1174
+#, fuzzy, c-format
+msgid "%s is invalid"
 msgstr "@%s on vigane"
 
 msgstr "@%s on vigane"
 
-#: src/reader.c:318
+#: src/reader.c:321
 msgid "unterminated `%{' definition"
 msgstr "lõpetamata `%{' definitsioon"
 
 msgid "unterminated `%{' definition"
 msgstr "lõpetamata `%{' definitsioon"
 
-#: src/reader.c:359 src/reader.c:512 src/reader.c:562
+#: src/reader.c:362 src/reader.c:515 src/reader.c:565
 #, c-format
 msgid "Premature EOF after %s"
 msgstr "Enneaegne EOF peale %s"
 
 #, c-format
 msgid "Premature EOF after %s"
 msgstr "Enneaegne EOF peale %s"
 
-#: src/reader.c:376
+#: src/reader.c:379
 #, c-format
 msgid "symbol `%s' used more than once as a literal string"
 msgstr ""
 
 #, c-format
 msgid "symbol `%s' used more than once as a literal string"
 msgstr ""
 
-#: src/reader.c:379
+#: src/reader.c:382
 #, c-format
 msgid "symbol `%s' given more than one literal string"
 msgstr ""
 
 #, c-format
 msgid "symbol `%s' given more than one literal string"
 msgstr ""
 
-#: src/reader.c:401 src/reader.c:581
+#: src/reader.c:404 src/reader.c:584
 #, c-format
 msgid "symbol %s redefined"
 msgstr "sümbol %s on uuesti defineeritud"
 
 #, c-format
 msgid "symbol %s redefined"
 msgstr "sümbol %s on uuesti defineeritud"
 
-#: src/reader.c:411 src/reader.c:527 src/reader.c:588 src/reader.c:1267
+#: src/reader.c:414 src/reader.c:530 src/reader.c:591 src/reader.c:1280
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "%s tüübi uuesti deklareerimine"
 
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "%s tüübi uuesti deklareerimine"
 
-#: src/reader.c:421
+#: src/reader.c:424
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "`%s' ei ole %s sees lubatud"
 
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "`%s' ei ole %s sees lubatud"
 
-#: src/reader.c:438 src/reader.c:635
+#: src/reader.c:441 src/reader.c:638
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "korduvad %start deklaratsioonid"
 
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "korduvad %start deklaratsioonid"
 
-#: src/reader.c:440 src/reader.c:1245
+#: src/reader.c:443 src/reader.c:1258
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "vigane %start deklaratsioon"
 
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "vigane %start deklaratsioon"
 
-#: src/reader.c:463 src/reader.c:475
+#: src/reader.c:466 src/reader.c:478
 msgid "invalid $ value"
 msgstr "vigane $ väärtus"
 
 msgid "invalid $ value"
 msgstr "vigane $ väärtus"
 
-#: src/reader.c:497
+#: src/reader.c:500
 msgid "%type declaration has no <typename>"
 msgstr "%type deklaratsioonis puudub <tüübinimi>"
 
 msgid "%type declaration has no <typename>"
 msgstr "%type deklaratsioonis puudub <tüübinimi>"
 
-#: src/reader.c:532
+#: src/reader.c:535
 msgid "invalid %%type declaration due to item: %s"
 msgstr "vigane %%type deklaratsioon, element: %s"
 
 msgid "invalid %%type declaration due to item: %s"
 msgstr "vigane %%type deklaratsioon, element: %s"
 
-#: src/reader.c:577
+#: src/reader.c:580
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "%s prioriteedi uus definitsioon"
 
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "%s prioriteedi uus definitsioon"
 
-#: src/reader.c:601
+#: src/reader.c:604
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr "vigane tekst (%s) - number peab olema peale identifikaatorit"
 
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr "vigane tekst (%s) - number peab olema peale identifikaatorit"
 
-#: src/reader.c:611
+#: src/reader.c:614
 #, c-format
 msgid "unexpected item: %s"
 msgstr "ootamatu element: %s"
 
 #, c-format
 msgid "unexpected item: %s"
 msgstr "ootamatu element: %s"
 
-#: src/reader.c:676 src/reader.c:1022 src/reader.c:1094
+#: src/reader.c:679 src/reader.c:1031 src/reader.c:1103
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "puudub `{'"
 
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "puudub `{'"
 
-#: src/reader.c:724
+#: src/reader.c:727
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "%expect argument ei ole täisarv"
 
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "%expect argument ei ole täisarv"
 
-#: src/reader.c:770
+#: src/reader.c:773
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "tundmatu element %s, eeldasin identifikaatorit"
 
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "tundmatu element %s, eeldasin identifikaatorit"
 
-#: src/reader.c:794
+#: src/reader.c:797
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "eeldasin %s asemel sõnekonstanti"
 
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "eeldasin %s asemel sõnekonstanti"
 
-#: src/reader.c:893
+#: src/reader.c:896
 #, c-format
 msgid "unrecognized: %s"
 msgstr "tundmatu: %s"
 
 #, c-format
 msgid "unrecognized: %s"
 msgstr "tundmatu: %s"
 
-#: src/reader.c:898
+#: src/reader.c:901
 msgid "no input grammar"
 msgstr "sisendgrammatikat pole"
 
 msgid "no input grammar"
 msgstr "sisendgrammatikat pole"
 
-#: src/reader.c:901
+#: src/reader.c:906
 #, c-format
 msgid "unknown character: %s"
 msgstr "tundmatu sümbol: %s"
 
 #, c-format
 msgid "unknown character: %s"
 msgstr "tundmatu sümbol: %s"
 
-#: src/reader.c:992 src/reader.c:1141
+#: src/reader.c:997 src/reader.c:1150
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "`%s' $$ ei oma deklareeritud tüüpi"
 
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "`%s' $$ ei oma deklareeritud tüüpi"
 
-#: src/reader.c:1008 src/reader.c:1157
+#: src/reader.c:1013 src/reader.c:1166
 #, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "$%d `%s' ei oma deklareeritud tüüpi"
 
 #, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "$%d `%s' ei oma deklareeritud tüüpi"
 
-#: src/reader.c:1013 src/reader.c:1162
-#, c-format
-msgid "$%s is invalid"
-msgstr "$%s on vigane"
-
-#: src/reader.c:1170
+#: src/reader.c:1183
 #, c-format
 msgid "unterminated %guard clause"
 msgstr "lõpetamata %guard klausel"
 
 #, c-format
 msgid "unterminated %guard clause"
 msgstr "lõpetamata %guard klausel"
 
-#: src/reader.c:1329
+#: src/reader.c:1345
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr "vigaselt formeeritud reegel: algsümbolile ei järgne koolonit"
 
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr "vigaselt formeeritud reegel: algsümbolile ei järgne koolonit"
 
-#: src/reader.c:1336
+#: src/reader.c:1352
 msgid "grammar starts with vertical bar"
 msgstr "grammatika algab püstkriipsuga"
 
 msgid "grammar starts with vertical bar"
 msgstr "grammatika algab püstkriipsuga"
 
-#: src/reader.c:1367
+#: src/reader.c:1383
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "%s jaoks on antud reegel, aga see on märk"
 
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "%s jaoks on antud reegel, aga see on märk"
 
-#: src/reader.c:1468
+#: src/reader.c:1484
 msgid "two @prec's in a row"
 msgstr "kaks @prec ühel real"
 
 msgid "two @prec's in a row"
 msgstr "kaks @prec ühel real"
 
-#: src/reader.c:1478
-#, c-format
-msgid "%guard present but %semantic_parser not specified"
+#: src/reader.c:1492
+#, fuzzy
+msgid "%%guard present but %%semantic_parser not specified"
 msgstr "%guard on määratud, aga %semantic_parser ei ole"
 
 msgstr "%guard on määratud, aga %semantic_parser ei ole"
 
-#: src/reader.c:1487
+#: src/reader.c:1501
 msgid "two actions at end of one rule"
 msgstr "kaks tegevust ühe reegli lõpus"
 
 msgid "two actions at end of one rule"
 msgstr "kaks tegevust ühe reegli lõpus"
 
-#: src/reader.c:1501
+#: src/reader.c:1515
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "vaikimisi tegevuse tüübikonflikt (`%s' `%s')"
 
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "vaikimisi tegevuse tüübikonflikt (`%s' `%s')"
 
-#: src/reader.c:1507
+#: src/reader.c:1521
 msgid "empty rule for typed nonterminal, and no action"
 msgstr "tüübiga mitteterminalil on tühi reegel ja puudub tegevus"
 
 msgid "empty rule for typed nonterminal, and no action"
 msgstr "tüübiga mitteterminalil on tühi reegel ja puudub tegevus"
 
-#: src/reader.c:1551
+#: src/reader.c:1565
 #, c-format
 msgid "invalid input: %s"
 msgstr "vigane sisend: %s"
 
 #, c-format
 msgid "invalid input: %s"
 msgstr "vigane sisend: %s"
 
-#: src/reader.c:1559
+#: src/reader.c:1573
 #, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "liiga palju sümboleid (märgid ja mitteterminalid); maksimaalne on %d"
 
 #, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "liiga palju sümboleid (märgid ja mitteterminalid); maksimaalne on %d"
 
-#: src/reader.c:1562
+#: src/reader.c:1576
 msgid "no rules in the input grammar"
 msgstr "sisendgrammatikas pole reegleid"
 
 msgid "no rules in the input grammar"
 msgstr "sisendgrammatikas pole reegleid"
 
-#: src/reader.c:1581
+#: src/reader.c:1596
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr ""
 "kasutatakse sümbolit %s, mis ei ole defineeritud märgina ja millel puuduvad "
 "reeglid"
 
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr ""
 "kasutatakse sümbolit %s, mis ei ole defineeritud märgina ja millel puuduvad "
 "reeglid"
 
-#: src/reader.c:1686
+#: src/reader.c:1701
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "%s ja %s omavad konfliktseid prioriteete"
 
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "%s ja %s omavad konfliktseid prioriteete"
 
-#: src/reader.c:1698
+#: src/reader.c:1713
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "%s ja %s omavad konfliktseid assotsiatiivseid väärtuseid"
 
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "%s ja %s omavad konfliktseid assotsiatiivseid väärtuseid"
 
-#: src/reader.c:1749
+#: src/reader.c:1764
 #, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr "märkidele %s ja %s on mõlemale omistatud number %d"
 
 #, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr "märkidele %s ja %s on mõlemale omistatud number %d"
 
-#: src/reader.c:1762
+#: src/reader.c:1777
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr "stardisümbol %s ei ole defineeritud"
 
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr "stardisümbol %s ei ole defineeritud"
 
-#: src/reader.c:1764
+#: src/reader.c:1779
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "stardisümbol %s on märk"
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "stardisümbol %s on märk"
@@ -757,6 +752,9 @@ msgstr "%s: v
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: võti `-W %s' ei luba argumenti\n"
 
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: võti `-W %s' ei luba argumenti\n"
 
+#~ msgid "$%s is invalid"
+#~ msgstr "$%s on vigane"
+
 #~ msgid "%s: memory exhausted\n"
 #~ msgstr "%s: mälu on otsas\n"
 
 #~ msgid "%s: memory exhausted\n"
 #~ msgstr "%s: mälu on otsas\n"
 
index d4280b1f2d5690f081b9c87903e81ed4d7c64112..528a7db2eddf993b824be13eb2d8dd46e818f105 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: bison 1.25\n"
 msgid ""
 msgstr ""
 "Project-Id-Version: bison 1.25\n"
-"POT-Creation-Date: 2000-10-04 13:59+0200\n"
+"POT-Creation-Date: 2000-10-16 19:27+0200\n"
 "PO-Revision-Date: 1996-03-19 20:05 EST\n"
 "Last-Translator: Dominique Boucher <boucherd@IRO.UMontreal.CA>\n"
 "Language-Team: French <fr@li.org>\n"
 "PO-Revision-Date: 1996-03-19 20:05 EST\n"
 "Last-Translator: Dominique Boucher <boucherd@IRO.UMontreal.CA>\n"
 "Language-Team: French <fr@li.org>\n"
@@ -211,29 +211,29 @@ msgstr "%s: param
 msgid "too many gotos (max %d)"
 msgstr ""
 
 msgid "too many gotos (max %d)"
 msgstr ""
 
-#: src/lex.c:84
+#: src/lex.c:82
 msgid "unexpected `/' found and ignored"
 msgstr "`/' inattendu et ignoré"
 
 msgid "unexpected `/' found and ignored"
 msgstr "`/' inattendu et ignoré"
 
-#: src/lex.c:113 src/reader.c:216
+#: src/lex.c:111 src/reader.c:215
 msgid "unterminated comment"
 msgstr "le commentaire ne se termine pas"
 
 msgid "unterminated comment"
 msgstr "le commentaire ne se termine pas"
 
-#: src/lex.c:141
+#: src/lex.c:139
 #, fuzzy
 msgid "unexpected end of file"
 msgstr "Fin de fichier inattendue"
 
 #, fuzzy
 msgid "unexpected end of file"
 msgstr "Fin de fichier inattendue"
 
-#: src/lex.c:164
+#: src/lex.c:162
 msgid "unescaped newline in constant"
 msgstr "retour de chariot sans échappement dans une constante"
 
 msgid "unescaped newline in constant"
 msgstr "retour de chariot sans échappement dans une constante"
 
-#: src/lex.c:206
+#: src/lex.c:204
 #, c-format
 msgid "octal value outside range 0...255: `\\%o'"
 msgstr "valeur octale à l'extérieur de l'intervalle 0...255: \\%o"
 
 #, c-format
 msgid "octal value outside range 0...255: `\\%o'"
 msgstr "valeur octale à l'extérieur de l'intervalle 0...255: \\%o"
 
-#: src/lex.c:231
+#: src/lex.c:229
 #, c-format
 msgid "hexadecimal value above 255: `\\x%x'"
 msgstr "valeur hexadécimale supérieure à 255: \\x%x"
 #, c-format
 msgid "hexadecimal value above 255: `\\x%x'"
 msgstr "valeur hexadécimale supérieure à 255: \\x%x"
@@ -255,7 +255,7 @@ msgstr "le nom de type ne se termine pas avant la fin de fichier"
 msgid "unterminated type name"
 msgstr "le nom de type ne se termine pas"
 
 msgid "unterminated type name"
 msgstr "le nom de type ne se termine pas"
 
-#: src/main.c:123
+#: src/main.c:104
 #, fuzzy, c-format
 msgid "%s: internal error: %s\n"
 msgstr "erreur interne, %s\n"
 #, fuzzy, c-format
 msgid "%s: internal error: %s\n"
 msgstr "erreur interne, %s\n"
@@ -357,232 +357,227 @@ msgstr " 
 msgid " on right:"
 msgstr " à droite:"
 
 msgid " on right:"
 msgstr " à droite:"
 
-#: src/reader.c:81
+#: src/reader.c:80
 msgid "   Skipping to next \\n"
 msgstr "   Saut jusqu'au prochain \\n"
 
 msgid "   Skipping to next \\n"
 msgstr "   Saut jusqu'au prochain \\n"
 
-#: src/reader.c:83
+#: src/reader.c:82
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   Saut jusqu'au prochain %c"
 
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   Saut jusqu'au prochain %c"
 
-#: src/reader.c:137 src/reader.c:152
+#: src/reader.c:136 src/reader.c:151
 msgid "unterminated string at end of file"
 msgstr "chaîne de caractères non terminée en fin de fichier"
 
 msgid "unterminated string at end of file"
 msgstr "chaîne de caractères non terminée en fin de fichier"
 
-#: src/reader.c:140
+#: src/reader.c:139
 msgid "unterminated string"
 msgstr "chaîne de caractère non terminée"
 
 msgid "unterminated string"
 msgstr "chaîne de caractère non terminée"
 
-#: src/reader.c:269
-#, c-format
-msgid "@%s is invalid"
+#: src/reader.c:271 src/reader.c:1021 src/reader.c:1174
+#, fuzzy, c-format
+msgid "%s is invalid"
 msgstr "@%s n'est pas valide"
 
 msgstr "@%s n'est pas valide"
 
-#: src/reader.c:318
+#: src/reader.c:321
 msgid "unterminated `%{' definition"
 msgstr "La section de définition (%{) ne termine pas avant la fin du fichier"
 
 msgid "unterminated `%{' definition"
 msgstr "La section de définition (%{) ne termine pas avant la fin du fichier"
 
-#: src/reader.c:359 src/reader.c:512 src/reader.c:562
+#: src/reader.c:362 src/reader.c:515 src/reader.c:565
 #, c-format
 msgid "Premature EOF after %s"
 msgstr ""
 
 #, c-format
 msgid "Premature EOF after %s"
 msgstr ""
 
-#: src/reader.c:376
+#: src/reader.c:379
 #, c-format
 msgid "symbol `%s' used more than once as a literal string"
 msgstr ""
 
 #, c-format
 msgid "symbol `%s' used more than once as a literal string"
 msgstr ""
 
-#: src/reader.c:379
+#: src/reader.c:382
 #, c-format
 msgid "symbol `%s' given more than one literal string"
 msgstr ""
 
 #, c-format
 msgid "symbol `%s' given more than one literal string"
 msgstr ""
 
-#: src/reader.c:401 src/reader.c:581
+#: src/reader.c:404 src/reader.c:584
 #, c-format
 msgid "symbol %s redefined"
 msgstr "symbole %s redéfini"
 
 #, c-format
 msgid "symbol %s redefined"
 msgstr "symbole %s redéfini"
 
-#: src/reader.c:411 src/reader.c:527 src/reader.c:588 src/reader.c:1267
+#: src/reader.c:414 src/reader.c:530 src/reader.c:591 src/reader.c:1280
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "redéclaration du type de %s"
 
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "redéclaration du type de %s"
 
-#: src/reader.c:421
+#: src/reader.c:424
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "`%s' n'est pas valide dans %s"
 
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "`%s' n'est pas valide dans %s"
 
-#: src/reader.c:438 src/reader.c:635
+#: src/reader.c:441 src/reader.c:638
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "multiples déclarations %start"
 
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "multiples déclarations %start"
 
-#: src/reader.c:440 src/reader.c:1245
+#: src/reader.c:443 src/reader.c:1258
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "la déclaration %start n'est pas valide"
 
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "la déclaration %start n'est pas valide"
 
-#: src/reader.c:463 src/reader.c:475
+#: src/reader.c:466 src/reader.c:478
 msgid "invalid $ value"
 msgstr "la valeur de symbole $ n'est pas valide"
 
 msgid "invalid $ value"
 msgstr "la valeur de symbole $ n'est pas valide"
 
-#: src/reader.c:497
+#: src/reader.c:500
 msgid "%type declaration has no <typename>"
 msgstr "la déclaration %type n'a pas de <nom_de_type>"
 
 msgid "%type declaration has no <typename>"
 msgstr "la déclaration %type n'a pas de <nom_de_type>"
 
-#: src/reader.c:532
+#: src/reader.c:535
 #, fuzzy
 msgid "invalid %%type declaration due to item: %s"
 msgstr "la déclaration %%type n'est pas valide à cause de l'item: %s"
 
 #, fuzzy
 msgid "invalid %%type declaration due to item: %s"
 msgstr "la déclaration %%type n'est pas valide à cause de l'item: %s"
 
-#: src/reader.c:577
+#: src/reader.c:580
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "redéfinition du niveau de priorité de %s"
 
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "redéfinition du niveau de priorité de %s"
 
-#: src/reader.c:601
+#: src/reader.c:604
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr ""
 "le texte n'est pas valide (%s) - le nombre devrait suivre l'identificateur"
 
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr ""
 "le texte n'est pas valide (%s) - le nombre devrait suivre l'identificateur"
 
-#: src/reader.c:611
+#: src/reader.c:614
 #, c-format
 msgid "unexpected item: %s"
 msgstr "item inattendu: %s"
 
 #, c-format
 msgid "unexpected item: %s"
 msgstr "item inattendu: %s"
 
-#: src/reader.c:676 src/reader.c:1022 src/reader.c:1094
+#: src/reader.c:679 src/reader.c:1031 src/reader.c:1103
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "accolade ouvrante `{' non appariée"
 
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "accolade ouvrante `{' non appariée"
 
-#: src/reader.c:724
+#: src/reader.c:727
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "le paramètre de %expect n'est pas un entier"
 
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "le paramètre de %expect n'est pas un entier"
 
-#: src/reader.c:770
+#: src/reader.c:773
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "item %s non reconnu, un identificateur est attendu"
 
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "item %s non reconnu, un identificateur est attendu"
 
-#: src/reader.c:794
+#: src/reader.c:797
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "chaîne de caractères constante attendue plutôt que %s"
 
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "chaîne de caractères constante attendue plutôt que %s"
 
-#: src/reader.c:893
+#: src/reader.c:896
 #, c-format
 msgid "unrecognized: %s"
 msgstr "non reconnu: %s"
 
 #, c-format
 msgid "unrecognized: %s"
 msgstr "non reconnu: %s"
 
-#: src/reader.c:898
+#: src/reader.c:901
 msgid "no input grammar"
 msgstr "aucune grammaire en entrée"
 
 msgid "no input grammar"
 msgstr "aucune grammaire en entrée"
 
-#: src/reader.c:901
+#: src/reader.c:906
 #, c-format
 msgid "unknown character: %s"
 msgstr "caractère inconnu: %s"
 
 #, c-format
 msgid "unknown character: %s"
 msgstr "caractère inconnu: %s"
 
-#: src/reader.c:992 src/reader.c:1141
+#: src/reader.c:997 src/reader.c:1150
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "$$ de `%s' n'a pas son type déclaré"
 
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "$$ de `%s' n'a pas son type déclaré"
 
-#: src/reader.c:1008 src/reader.c:1157
+#: src/reader.c:1013 src/reader.c:1166
 #, fuzzy, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "$%s cd `%s' n'a pas son type déclaré"
 
 #, fuzzy, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "$%s cd `%s' n'a pas son type déclaré"
 
-#: src/reader.c:1013 src/reader.c:1162
-#, c-format
-msgid "$%s is invalid"
-msgstr "$%s n'est pas valide"
-
-#: src/reader.c:1170
+#: src/reader.c:1183
 #, fuzzy, c-format
 msgid "unterminated %guard clause"
 msgstr "clause %%guard non terminée"
 
 #, fuzzy, c-format
 msgid "unterminated %guard clause"
 msgstr "clause %%guard non terminée"
 
-#: src/reader.c:1329
+#: src/reader.c:1345
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr "règle mal formée: le symbole initial n'est pas suivi de `:'"
 
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr "règle mal formée: le symbole initial n'est pas suivi de `:'"
 
-#: src/reader.c:1336
+#: src/reader.c:1352
 msgid "grammar starts with vertical bar"
 msgstr "la grammaire débute par une barre verticale"
 
 msgid "grammar starts with vertical bar"
 msgstr "la grammaire débute par une barre verticale"
 
-#: src/reader.c:1367
+#: src/reader.c:1383
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "la règle pour %s, qui est un terminal"
 
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "la règle pour %s, qui est un terminal"
 
-#: src/reader.c:1468
+#: src/reader.c:1484
 msgid "two @prec's in a row"
 msgstr "deux @prec de suite"
 
 msgid "two @prec's in a row"
 msgstr "deux @prec de suite"
 
-#: src/reader.c:1478
-#, fuzzy, c-format
-msgid "%guard present but %semantic_parser not specified"
+#: src/reader.c:1492
+#, fuzzy
+msgid "%%guard present but %%semantic_parser not specified"
 msgstr "%%guard est présent mais %%semantic_parser n'est pas spécifié"
 
 msgstr "%%guard est présent mais %%semantic_parser n'est pas spécifié"
 
-#: src/reader.c:1487
+#: src/reader.c:1501
 msgid "two actions at end of one rule"
 msgstr "deux actions à la fin d'une même règle"
 
 msgid "two actions at end of one rule"
 msgstr "deux actions à la fin d'une même règle"
 
-#: src/reader.c:1501
+#: src/reader.c:1515
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "conflit de type (`%s' `%s') pour l'action par défaut"
 
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "conflit de type (`%s' `%s') pour l'action par défaut"
 
-#: src/reader.c:1507
+#: src/reader.c:1521
 msgid "empty rule for typed nonterminal, and no action"
 msgstr "règle vide pour une catégorie typée et aucune action"
 
 msgid "empty rule for typed nonterminal, and no action"
 msgstr "règle vide pour une catégorie typée et aucune action"
 
-#: src/reader.c:1551
+#: src/reader.c:1565
 #, c-format
 msgid "invalid input: %s"
 msgstr "entrée non valide: %s"
 
 #, c-format
 msgid "invalid input: %s"
 msgstr "entrée non valide: %s"
 
-#: src/reader.c:1559
+#: src/reader.c:1573
 #, fuzzy, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "trop de symboles (terminaux et catégories); maximum de %s"
 
 #, fuzzy, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "trop de symboles (terminaux et catégories); maximum de %s"
 
-#: src/reader.c:1562
+#: src/reader.c:1576
 msgid "no rules in the input grammar"
 msgstr "la grammaire n'a pas de règles"
 
 msgid "no rules in the input grammar"
 msgstr "la grammaire n'a pas de règles"
 
-#: src/reader.c:1581
+#: src/reader.c:1596
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr ""
 "le symbole %s est utilisé mais ce n'est pas un terminal et il ne possède pas "
 "de règle"
 
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr ""
 "le symbole %s est utilisé mais ce n'est pas un terminal et il ne possède pas "
 "de règle"
 
-#: src/reader.c:1686
+#: src/reader.c:1701
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "les priorités pour %s et %s entrent en conflit"
 
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "les priorités pour %s et %s entrent en conflit"
 
-#: src/reader.c:1698
+#: src/reader.c:1713
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "les valeurs d'association de %s et %s entrent en conflit"
 
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "les valeurs d'association de %s et %s entrent en conflit"
 
-#: src/reader.c:1749
+#: src/reader.c:1764
 #, fuzzy, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr "les terminaux %s et %s se sont vus assigner le nombre %s"
 
 #, fuzzy, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr "les terminaux %s et %s se sont vus assigner le nombre %s"
 
-#: src/reader.c:1762
+#: src/reader.c:1777
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr "le symbole de départ %s n'est pas défini"
 
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr "le symbole de départ %s n'est pas défini"
 
-#: src/reader.c:1764
+#: src/reader.c:1779
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "le symbole de départ %s est un terminal"
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "le symbole de départ %s est un terminal"
@@ -742,6 +737,9 @@ msgstr "%s: l'option %s est ambig
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: l'option --%s n'admet pas de paramètre\n"
 
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: l'option --%s n'admet pas de paramètre\n"
 
+#~ msgid "$%s is invalid"
+#~ msgstr "$%s n'est pas valide"
+
 #~ msgid "%s: memory exhausted\n"
 #~ msgstr "%s: mémoire épuisée\n"
 
 #~ msgid "%s: memory exhausted\n"
 #~ msgstr "%s: mémoire épuisée\n"
 
index 0e6f9e9f34ede63bd424e6787bef975d374c7c00..05da8ae15fc4c13b995b96a93a9865fceaee1ce6 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU bison 1.28\n"
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU bison 1.28\n"
-"POT-Creation-Date: 2000-10-04 13:59+0200\n"
+"POT-Creation-Date: 2000-10-16 19:27+0200\n"
 "PO-Revision-Date: 1999-09-28 21:10+0900\n"
 "Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n"
 "Language-Team: Japanese <ja@li.org>\n"
 "PO-Revision-Date: 1999-09-28 21:10+0900\n"
 "Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n"
 "Language-Team: Japanese <ja@li.org>\n"
@@ -210,29 +210,29 @@ msgstr "%s: '%s' 
 msgid "too many gotos (max %d)"
 msgstr "%s ¤Î¿ô¤¬Â¿¤¹¤®¤Þ¤¹ (ºÇÂç %d)"
 
 msgid "too many gotos (max %d)"
 msgstr "%s ¤Î¿ô¤¬Â¿¤¹¤®¤Þ¤¹ (ºÇÂç %d)"
 
-#: src/lex.c:84
+#: src/lex.c:82
 msgid "unexpected `/' found and ignored"
 msgstr "ͽ´ü¤·¤Ê¤¤ `/' ¤¬¸«¤Ä¤«¤ê¡¢Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
 
 msgid "unexpected `/' found and ignored"
 msgstr "ͽ´ü¤·¤Ê¤¤ `/' ¤¬¸«¤Ä¤«¤ê¡¢Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
 
-#: src/lex.c:113 src/reader.c:216
+#: src/lex.c:111 src/reader.c:215
 msgid "unterminated comment"
 msgstr "ÊĤ¸¤Æ¤¤¤Ê¤¤¥³¥á¥ó¥È¤Ç¤¹"
 
 msgid "unterminated comment"
 msgstr "ÊĤ¸¤Æ¤¤¤Ê¤¤¥³¥á¥ó¥È¤Ç¤¹"
 
-#: src/lex.c:141
+#: src/lex.c:139
 #, fuzzy
 msgid "unexpected end of file"
 msgstr "ͽ´ü¤·¤Ê¤¤¥Õ¥¡¥¤¥ë¤Î½ªÃ¼¤Ç¤¹"
 
 #, fuzzy
 msgid "unexpected end of file"
 msgstr "ͽ´ü¤·¤Ê¤¤¥Õ¥¡¥¤¥ë¤Î½ªÃ¼¤Ç¤¹"
 
-#: src/lex.c:164
+#: src/lex.c:162
 msgid "unescaped newline in constant"
 msgstr "Äê¿ô¤ÎÃæ¤Ë¥¨¥¹¥±¡¼¥×¤µ¤ì¤Æ¤¤¤Ê¤¤²þ¹Ô¤¬¤¢¤ê¤Þ¤¹"
 
 msgid "unescaped newline in constant"
 msgstr "Äê¿ô¤ÎÃæ¤Ë¥¨¥¹¥±¡¼¥×¤µ¤ì¤Æ¤¤¤Ê¤¤²þ¹Ô¤¬¤¢¤ê¤Þ¤¹"
 
-#: src/lex.c:206
+#: src/lex.c:204
 #, c-format
 msgid "octal value outside range 0...255: `\\%o'"
 msgstr "8 ¿Ê¿ô¤ÎÃͤ¬ 0...255 ¤ÎÈϰϳ°¤Ç¤¹: `\\%o'"
 
 #, c-format
 msgid "octal value outside range 0...255: `\\%o'"
 msgstr "8 ¿Ê¿ô¤ÎÃͤ¬ 0...255 ¤ÎÈϰϳ°¤Ç¤¹: `\\%o'"
 
-#: src/lex.c:231
+#: src/lex.c:229
 #, c-format
 msgid "hexadecimal value above 255: `\\x%x'"
 msgstr "16 ¿Ê¿ô¤ÎÃͤ¬ 255 ¤ò±Û¤¨¤Æ¤¤¤Þ¤¹: `\\x%x'"
 #, c-format
 msgid "hexadecimal value above 255: `\\x%x'"
 msgstr "16 ¿Ê¿ô¤ÎÃͤ¬ 255 ¤ò±Û¤¨¤Æ¤¤¤Þ¤¹: `\\x%x'"
@@ -254,7 +254,7 @@ msgstr "
 msgid "unterminated type name"
 msgstr "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤¥¿¥¤¥×̾¤¬¤¢¤ê¤Þ¤¹"
 
 msgid "unterminated type name"
 msgstr "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤¥¿¥¤¥×̾¤¬¤¢¤ê¤Þ¤¹"
 
-#: src/main.c:123
+#: src/main.c:104
 #, c-format
 msgid "%s: internal error: %s\n"
 msgstr "%s: ÆâÉô¥¨¥é¡¼: %s\n"
 #, c-format
 msgid "%s: internal error: %s\n"
 msgstr "%s: ÆâÉô¥¨¥é¡¼: %s\n"
@@ -356,231 +356,226 @@ msgstr " 
 msgid " on right:"
 msgstr " ±¦ÊÕ:"
 
 msgid " on right:"
 msgstr " ±¦ÊÕ:"
 
-#: src/reader.c:81
+#: src/reader.c:80
 msgid "   Skipping to next \\n"
 msgstr "   ¼¡¤Î \\n ¤Ë¥¹¥­¥Ã¥×"
 
 msgid "   Skipping to next \\n"
 msgstr "   ¼¡¤Î \\n ¤Ë¥¹¥­¥Ã¥×"
 
-#: src/reader.c:83
+#: src/reader.c:82
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   ¼¡¤Î %c ¤Ë¥¹¥­¥Ã¥×"
 
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   ¼¡¤Î %c ¤Ë¥¹¥­¥Ã¥×"
 
-#: src/reader.c:137 src/reader.c:152
+#: src/reader.c:136 src/reader.c:151
 msgid "unterminated string at end of file"
 msgstr "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤Ê¸»úÎ󤬥ե¡¥¤¥ëËöÈø¤Ë¤¢¤ê¤Þ¤¹"
 
 msgid "unterminated string at end of file"
 msgstr "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤Ê¸»úÎ󤬥ե¡¥¤¥ëËöÈø¤Ë¤¢¤ê¤Þ¤¹"
 
-#: src/reader.c:140
+#: src/reader.c:139
 msgid "unterminated string"
 msgstr "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤Ê¸»úÎó"
 
 msgid "unterminated string"
 msgstr "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤Ê¸»úÎó"
 
-#: src/reader.c:269
-#, c-format
-msgid "@%s is invalid"
+#: src/reader.c:271 src/reader.c:1021 src/reader.c:1174
+#, fuzzy, c-format
+msgid "%s is invalid"
 msgstr "@%s ¤Ï̵¸ú¤Ç¤¹"
 
 msgstr "@%s ¤Ï̵¸ú¤Ç¤¹"
 
-#: src/reader.c:318
+#: src/reader.c:321
 msgid "unterminated `%{' definition"
 msgstr "`%{' ÄêµÁ ¤¬ÊĤ¸¤é¤ì¤Æ¤¤¤Þ¤»¤ó"
 
 msgid "unterminated `%{' definition"
 msgstr "`%{' ÄêµÁ ¤¬ÊĤ¸¤é¤ì¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/reader.c:359 src/reader.c:512 src/reader.c:562
+#: src/reader.c:362 src/reader.c:515 src/reader.c:565
 #, c-format
 msgid "Premature EOF after %s"
 msgstr ""
 
 #, c-format
 msgid "Premature EOF after %s"
 msgstr ""
 
-#: src/reader.c:376
+#: src/reader.c:379
 #, c-format
 msgid "symbol `%s' used more than once as a literal string"
 msgstr ""
 
 #, c-format
 msgid "symbol `%s' used more than once as a literal string"
 msgstr ""
 
-#: src/reader.c:379
+#: src/reader.c:382
 #, c-format
 msgid "symbol `%s' given more than one literal string"
 msgstr ""
 
 #, c-format
 msgid "symbol `%s' given more than one literal string"
 msgstr ""
 
-#: src/reader.c:401 src/reader.c:581
+#: src/reader.c:404 src/reader.c:584
 #, c-format
 msgid "symbol %s redefined"
 msgstr "¥·¥ó¥Ü¥ë %s ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
 
 #, c-format
 msgid "symbol %s redefined"
 msgstr "¥·¥ó¥Ü¥ë %s ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
 
-#: src/reader.c:411 src/reader.c:527 src/reader.c:588 src/reader.c:1267
+#: src/reader.c:414 src/reader.c:530 src/reader.c:591 src/reader.c:1280
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "%s ¤Î·¿¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
 
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "%s ¤Î·¿¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
 
-#: src/reader.c:421
+#: src/reader.c:424
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "%2$s Æâ¤Î `%1$s' ¤Ï̵¸ú¤Ç¤¹"
 
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "%2$s Æâ¤Î `%1$s' ¤Ï̵¸ú¤Ç¤¹"
 
-#: src/reader.c:438 src/reader.c:635
+#: src/reader.c:441 src/reader.c:638
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "Ê£¿ô¤Î %start ¤¬Àë¸À¤µ¤ì¤Þ¤·¤¿"
 
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "Ê£¿ô¤Î %start ¤¬Àë¸À¤µ¤ì¤Þ¤·¤¿"
 
-#: src/reader.c:440 src/reader.c:1245
+#: src/reader.c:443 src/reader.c:1258
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "̵¸ú¤Ê %start ¤¬Àë¸À¤µ¤ì¤Þ¤·¤¿"
 
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "̵¸ú¤Ê %start ¤¬Àë¸À¤µ¤ì¤Þ¤·¤¿"
 
-#: src/reader.c:463 src/reader.c:475
+#: src/reader.c:466 src/reader.c:478
 msgid "invalid $ value"
 msgstr "̵¸ú¤Ê $ ¤ÎÃÍ"
 
 msgid "invalid $ value"
 msgstr "̵¸ú¤Ê $ ¤ÎÃÍ"
 
-#: src/reader.c:497
+#: src/reader.c:500
 msgid "%type declaration has no <typename>"
 msgstr "%type Àë¸À¤Ë <¥¿¥¤¥×̾> ¤¬¤¢¤ê¤Þ¤»¤ó"
 
 msgid "%type declaration has no <typename>"
 msgstr "%type Àë¸À¤Ë <¥¿¥¤¥×̾> ¤¬¤¢¤ê¤Þ¤»¤ó"
 
-#: src/reader.c:532
+#: src/reader.c:535
 #, fuzzy
 msgid "invalid %%type declaration due to item: %s"
 msgstr "¥¢¥¤¥Æ¥à¤ËÍ¿¤¨¤é¤ì¤ë¤Ù¤­ %%type Àë¸À¤¬Ìµ¸ú¤Ç¤¹: `%s'"
 
 #, fuzzy
 msgid "invalid %%type declaration due to item: %s"
 msgstr "¥¢¥¤¥Æ¥à¤ËÍ¿¤¨¤é¤ì¤ë¤Ù¤­ %%type Àë¸À¤¬Ìµ¸ú¤Ç¤¹: `%s'"
 
-#: src/reader.c:577
+#: src/reader.c:580
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "%s ¤ËÀè¹Ô¤·¤¿ºÆÄêµÁ¤Ç¤¹"
 
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "%s ¤ËÀè¹Ô¤·¤¿ºÆÄêµÁ¤Ç¤¹"
 
-#: src/reader.c:601
+#: src/reader.c:604
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr "̵¸ú¤Ê¥Æ¥­¥¹¥È (%s) - ¿ôÃͤϼ±Ê̻Ҥθå¤í¤Ë¤¢¤ë¤Ù¤­¤Ç¤¹"
 
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr "̵¸ú¤Ê¥Æ¥­¥¹¥È (%s) - ¿ôÃͤϼ±Ê̻Ҥθå¤í¤Ë¤¢¤ë¤Ù¤­¤Ç¤¹"
 
-#: src/reader.c:611
+#: src/reader.c:614
 #, c-format
 msgid "unexpected item: %s"
 msgstr "ͽ´ü¤»¤Ì¥¢¥¤¥Æ¥à: %s"
 
 #, c-format
 msgid "unexpected item: %s"
 msgstr "ͽ´ü¤»¤Ì¥¢¥¤¥Æ¥à: %s"
 
-#: src/reader.c:676 src/reader.c:1022 src/reader.c:1094
+#: src/reader.c:679 src/reader.c:1031 src/reader.c:1103
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "Âбþ¤Î¤Ê¤¤ `{' ¤Ç¤¹"
 
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "Âбþ¤Î¤Ê¤¤ `{' ¤Ç¤¹"
 
-#: src/reader.c:724
+#: src/reader.c:727
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "%expect ¤Î°ú¿ô¤¬À°¿ôÃͤǤϤ¢¤ê¤Þ¤»¤ó"
 
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "%expect ¤Î°ú¿ô¤¬À°¿ôÃͤǤϤ¢¤ê¤Þ¤»¤ó"
 
-#: src/reader.c:770
+#: src/reader.c:773
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "ǧ¼±¤Ç¤­¤Ê¤¤¥¢¥¤¥Æ¥à %s¡¢¤³¤³¤Ç¤Ï¼±Ê̻Ҥ¬´üÂÔ¤µ¤ì¤Þ¤¹"
 
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "ǧ¼±¤Ç¤­¤Ê¤¤¥¢¥¤¥Æ¥à %s¡¢¤³¤³¤Ç¤Ï¼±Ê̻Ҥ¬´üÂÔ¤µ¤ì¤Þ¤¹"
 
-#: src/reader.c:794
+#: src/reader.c:797
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "¤³¤³¤Ç¤Ï %s ¤Ç¤Ï¤Ê¤¯Ê¸»úÎóÄê¿ô¤¬´üÂÔ¤µ¤ì¤Þ¤¹"
 
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "¤³¤³¤Ç¤Ï %s ¤Ç¤Ï¤Ê¤¯Ê¸»úÎóÄê¿ô¤¬´üÂÔ¤µ¤ì¤Þ¤¹"
 
-#: src/reader.c:893
+#: src/reader.c:896
 #, c-format
 msgid "unrecognized: %s"
 msgstr "ǧ¼±¤Ç¤­¤Ê¤¤: %s"
 
 #, c-format
 msgid "unrecognized: %s"
 msgstr "ǧ¼±¤Ç¤­¤Ê¤¤: %s"
 
-#: src/reader.c:898
+#: src/reader.c:901
 msgid "no input grammar"
 msgstr "ʸˡ¤ÎÆþÎϤ¬Ìµ¤¤"
 
 msgid "no input grammar"
 msgstr "ʸˡ¤ÎÆþÎϤ¬Ìµ¤¤"
 
-#: src/reader.c:901
+#: src/reader.c:906
 #, c-format
 msgid "unknown character: %s"
 msgstr "̤ÃΤÎʸ»ú: %s"
 
 #, c-format
 msgid "unknown character: %s"
 msgstr "̤ÃΤÎʸ»ú: %s"
 
-#: src/reader.c:992 src/reader.c:1141
+#: src/reader.c:997 src/reader.c:1150
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "`%s' ¤Î $$ ¤ËÀë¸À¤Î¤Ê¤¤·¿¤¬¤¢¤ê¤Þ¤¹"
 
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "`%s' ¤Î $$ ¤ËÀë¸À¤Î¤Ê¤¤·¿¤¬¤¢¤ê¤Þ¤¹"
 
-#: src/reader.c:1008 src/reader.c:1157
+#: src/reader.c:1013 src/reader.c:1166
 #, fuzzy, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "`%s' ¤Î $%s ¤ËÀë¸À¤Î¤Ê¤¤·¿¤¬¤¢¤ê¤Þ¤¹"
 
 #, fuzzy, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "`%s' ¤Î $%s ¤ËÀë¸À¤Î¤Ê¤¤·¿¤¬¤¢¤ê¤Þ¤¹"
 
-#: src/reader.c:1013 src/reader.c:1162
-#, c-format
-msgid "$%s is invalid"
-msgstr "$%s ¤Ï̵¸ú¤Ç¤¹"
-
-#: src/reader.c:1170
+#: src/reader.c:1183
 #, fuzzy, c-format
 msgid "unterminated %guard clause"
 msgstr "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤ %%guard Àá¤Ç¤¹"
 
 #, fuzzy, c-format
 msgid "unterminated %guard clause"
 msgstr "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤ %%guard Àá¤Ç¤¹"
 
-#: src/reader.c:1329
+#: src/reader.c:1345
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr "¼Ù°­¤Êµ¬Â§: ½é´ü²½¥·¥ó¥Ü¥ë¤Ë¥³¥í¥ó (:) ¤¬Â³¤¤¤Æ¤¤¤Þ¤»¤ó"
 
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr "¼Ù°­¤Êµ¬Â§: ½é´ü²½¥·¥ó¥Ü¥ë¤Ë¥³¥í¥ó (:) ¤¬Â³¤¤¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/reader.c:1336
+#: src/reader.c:1352
 msgid "grammar starts with vertical bar"
 msgstr "ʸˡ¤Ï½ÄËÀ (|) ¤Ç»Ï¤á¤Þ¤¹"
 
 msgid "grammar starts with vertical bar"
 msgstr "ʸˡ¤Ï½ÄËÀ (|) ¤Ç»Ï¤á¤Þ¤¹"
 
-#: src/reader.c:1367
+#: src/reader.c:1383
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "%s ¤Ëµ¬Â§¤¬Í¿¤¨¤é¤ì¡¢¤½¤ì¤Ï¥È¡¼¥¯¥ó¤È¤Ê¤ê¤Þ¤¹"
 
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "%s ¤Ëµ¬Â§¤¬Í¿¤¨¤é¤ì¡¢¤½¤ì¤Ï¥È¡¼¥¯¥ó¤È¤Ê¤ê¤Þ¤¹"
 
-#: src/reader.c:1468
+#: src/reader.c:1484
 msgid "two @prec's in a row"
 msgstr "@prec ¤Î¤â¤ÎÆó¤Ä¤¬Æ±Îó¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
 
 msgid "two @prec's in a row"
 msgstr "@prec ¤Î¤â¤ÎÆó¤Ä¤¬Æ±Îó¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
 
-#: src/reader.c:1478
-#, fuzzy, c-format
-msgid "%guard present but %semantic_parser not specified"
+#: src/reader.c:1492
+#, fuzzy
+msgid "%%guard present but %%semantic_parser not specified"
 msgstr "%%guard ¤¬¤¢¤ê¤Þ¤¹¤¬ %%semantic_parser ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó"
 
 msgstr "%%guard ¤¬¤¢¤ê¤Þ¤¹¤¬ %%semantic_parser ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/reader.c:1487
+#: src/reader.c:1501
 msgid "two actions at end of one rule"
 msgstr "°ì¤Ä¤Îµ¬Â§¤Î½ª¤ê¤ËÆó¤Ä¤ÎÆ°ºî¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹"
 
 msgid "two actions at end of one rule"
 msgstr "°ì¤Ä¤Îµ¬Â§¤Î½ª¤ê¤ËÆó¤Ä¤ÎÆ°ºî¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹"
 
-#: src/reader.c:1501
+#: src/reader.c:1515
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "½é´ü¾õÂÖ¤ÎÆ°ºî¤Ç¤Ï·¿ (`%s' `%s') ¤¬¾×Æͤ·¤Þ¤¹"
 
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "½é´ü¾õÂÖ¤ÎÆ°ºî¤Ç¤Ï·¿ (`%s' `%s') ¤¬¾×Æͤ·¤Þ¤¹"
 
-#: src/reader.c:1507
+#: src/reader.c:1521
 msgid "empty rule for typed nonterminal, and no action"
 msgstr "¶õ¤Î·¿ÉÕ¤­Èó½ªÃ¼¥¢¥¤¥Æ¥àÍѵ¬Â§¤Ç¤¢¤ê¡¢Æ°ºî¤¬µ¯¤ê¤Þ¤»¤ó"
 
 msgid "empty rule for typed nonterminal, and no action"
 msgstr "¶õ¤Î·¿ÉÕ¤­Èó½ªÃ¼¥¢¥¤¥Æ¥àÍѵ¬Â§¤Ç¤¢¤ê¡¢Æ°ºî¤¬µ¯¤ê¤Þ¤»¤ó"
 
-#: src/reader.c:1551
+#: src/reader.c:1565
 #, c-format
 msgid "invalid input: %s"
 msgstr "̵¸ú¤ÊÆþÎÏ: %s"
 
 #, c-format
 msgid "invalid input: %s"
 msgstr "̵¸ú¤ÊÆþÎÏ: %s"
 
-#: src/reader.c:1559
+#: src/reader.c:1573
 #, fuzzy, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "¥·¥ó¥Ü¥ë¤¬Â¿¤¹¤®¤Þ¤¹ (¥È¡¼¥¯¥ó¤ÈÈó½ªÃ¼¥¢¥¤¥Æ¥à) -- ºÇÂç %s"
 
 #, fuzzy, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "¥·¥ó¥Ü¥ë¤¬Â¿¤¹¤®¤Þ¤¹ (¥È¡¼¥¯¥ó¤ÈÈó½ªÃ¼¥¢¥¤¥Æ¥à) -- ºÇÂç %s"
 
-#: src/reader.c:1562
+#: src/reader.c:1576
 msgid "no rules in the input grammar"
 msgstr "ÆþÎϤ·¤¿Ê¸Ë¡¤Ëµ¬Â§¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
 
 msgid "no rules in the input grammar"
 msgstr "ÆþÎϤ·¤¿Ê¸Ë¡¤Ëµ¬Â§¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/reader.c:1581
+#: src/reader.c:1596
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr ""
 "¥·¥ó¥Ü¥ë %s "
 "¤¬»È¤ï¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¥È¡¼¥¯¥ó¤È¤·¤ÆÄêµÁ¤µ¤ì¤Æ¤ª¤é¤º¡¢µ¬Â§¤ò»ý¤Á¤Þ¤»¤ó"
 
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr ""
 "¥·¥ó¥Ü¥ë %s "
 "¤¬»È¤ï¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¥È¡¼¥¯¥ó¤È¤·¤ÆÄêµÁ¤µ¤ì¤Æ¤ª¤é¤º¡¢µ¬Â§¤ò»ý¤Á¤Þ¤»¤ó"
 
-#: src/reader.c:1686
+#: src/reader.c:1701
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "Àè¹Ô¤·¤Æ¤¤¤ë %s ¤È %s ¤Ç¶¥¹ç¤¬À¸¤¸¤Æ¤¤¤Þ¤¹"
 
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "Àè¹Ô¤·¤Æ¤¤¤ë %s ¤È %s ¤Ç¶¥¹ç¤¬À¸¤¸¤Æ¤¤¤Þ¤¹"
 
-#: src/reader.c:1698
+#: src/reader.c:1713
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "Èó·ë¹çÃÍ %s ¤È %s ¤Ç¶¥¹ç¤¬À¸¤¸¤Æ¤¤¤Þ¤¹"
 
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "Èó·ë¹çÃÍ %s ¤È %s ¤Ç¶¥¹ç¤¬À¸¤¸¤Æ¤¤¤Þ¤¹"
 
-#: src/reader.c:1749
+#: src/reader.c:1764
 #, fuzzy, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr "¥È¡¼¥¯¥ó %s ¤È %s ¤ÎÁÐÊý¤¬ÈÖ¹æ %s ¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤·¤¿"
 
 #, fuzzy, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr "¥È¡¼¥¯¥ó %s ¤È %s ¤ÎÁÐÊý¤¬ÈÖ¹æ %s ¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤·¤¿"
 
-#: src/reader.c:1762
+#: src/reader.c:1777
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr "³«»Ï¥·¥ó¥Ü¥ë %s ¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
 
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr "³«»Ï¥·¥ó¥Ü¥ë %s ¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/reader.c:1764
+#: src/reader.c:1779
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "³«»Ï¥·¥ó¥Ü¥ë %s ¤Ï¥È¡¼¥¯¥ó¤Ç¤¹"
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "³«»Ï¥·¥ó¥Ü¥ë %s ¤Ï¥È¡¼¥¯¥ó¤Ç¤¹"
@@ -740,6 +735,9 @@ msgstr "%s: 
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: ¥ª¥×¥·¥ç¥ó `-W %s' ¤Ï°ú¿ô¤òµö¤·¤Þ¤»¤ó\n"
 
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: ¥ª¥×¥·¥ç¥ó `-W %s' ¤Ï°ú¿ô¤òµö¤·¤Þ¤»¤ó\n"
 
+#~ msgid "$%s is invalid"
+#~ msgstr "$%s ¤Ï̵¸ú¤Ç¤¹"
+
 #~ msgid "%s: memory exhausted\n"
 #~ msgstr "%s: ¥á¥â¥ê¤ò»È¤¤²Ì¤¿¤·¤Þ¤·¤¿\n"
 
 #~ msgid "%s: memory exhausted\n"
 #~ msgstr "%s: ¥á¥â¥ê¤ò»È¤¤²Ì¤¿¤·¤Þ¤·¤¿\n"
 
index c0b735318787cc2f8692d8e943d422a6e210d19a..da9703d72b8c8ed7a1f96dd7eea250928497765c 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: bison 1.25\n"
 msgid ""
 msgstr ""
 "Project-Id-Version: bison 1.25\n"
-"POT-Creation-Date: 2000-10-04 13:59+0200\n"
+"POT-Creation-Date: 2000-10-16 19:27+0200\n"
 "PO-Revision-Date: 1996-08-27 15:34 MET DST\n"
 "Last-Translator: Erick Branderhorst <branderh@debian.org>\n"
 "Language-Team: Dutch <nl@li.org>\n"
 "PO-Revision-Date: 1996-08-27 15:34 MET DST\n"
 "Last-Translator: Erick Branderhorst <branderh@debian.org>\n"
 "Language-Team: Dutch <nl@li.org>\n"
@@ -210,29 +210,29 @@ msgstr "%s: extra argumenten genegeerd na '%s'\n"
 msgid "too many gotos (max %d)"
 msgstr ""
 
 msgid "too many gotos (max %d)"
 msgstr ""
 
-#: src/lex.c:84
+#: src/lex.c:82
 msgid "unexpected `/' found and ignored"
 msgstr "onverwachte `/' gevonden en genegeerd"
 
 msgid "unexpected `/' found and ignored"
 msgstr "onverwachte `/' gevonden en genegeerd"
 
-#: src/lex.c:113 src/reader.c:216
+#: src/lex.c:111 src/reader.c:215
 msgid "unterminated comment"
 msgstr "ongetermineerd commentaar"
 
 msgid "unterminated comment"
 msgstr "ongetermineerd commentaar"
 
-#: src/lex.c:141
+#: src/lex.c:139
 #, fuzzy
 msgid "unexpected end of file"
 msgstr "Onverwacht bestandseinde"
 
 #, fuzzy
 msgid "unexpected end of file"
 msgstr "Onverwacht bestandseinde"
 
-#: src/lex.c:164
+#: src/lex.c:162
 msgid "unescaped newline in constant"
 msgstr "niet geescapete nieuwe regel in constante"
 
 msgid "unescaped newline in constant"
 msgstr "niet geescapete nieuwe regel in constante"
 
-#: src/lex.c:206
+#: src/lex.c:204
 #, c-format
 msgid "octal value outside range 0...255: `\\%o'"
 msgstr "octale waarde buiten domein 0...255: `\\%o'"
 
 #, c-format
 msgid "octal value outside range 0...255: `\\%o'"
 msgstr "octale waarde buiten domein 0...255: `\\%o'"
 
-#: src/lex.c:231
+#: src/lex.c:229
 #, c-format
 msgid "hexadecimal value above 255: `\\x%x'"
 msgstr "hexadecimale waarde boven 255: `\\x%x'"
 #, c-format
 msgid "hexadecimal value above 255: `\\x%x'"
 msgstr "hexadecimale waarde boven 255: `\\x%x'"
@@ -254,7 +254,7 @@ msgstr "niet getermineerd type naam aan het einde van bestand"
 msgid "unterminated type name"
 msgstr "niet getermineerd type naam"
 
 msgid "unterminated type name"
 msgstr "niet getermineerd type naam"
 
-#: src/main.c:123
+#: src/main.c:104
 #, fuzzy, c-format
 msgid "%s: internal error: %s\n"
 msgstr "interne fout, %s\n"
 #, fuzzy, c-format
 msgid "%s: internal error: %s\n"
 msgstr "interne fout, %s\n"
@@ -356,232 +356,227 @@ msgstr " links:"
 msgid " on right:"
 msgstr " rechts:"
 
 msgid " on right:"
 msgstr " rechts:"
 
-#: src/reader.c:81
+#: src/reader.c:80
 msgid "   Skipping to next \\n"
 msgstr "   Verder naar volgende \\n"
 
 msgid "   Skipping to next \\n"
 msgstr "   Verder naar volgende \\n"
 
-#: src/reader.c:83
+#: src/reader.c:82
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   Verder naar volgende %c"
 
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   Verder naar volgende %c"
 
-#: src/reader.c:137 src/reader.c:152
+#: src/reader.c:136 src/reader.c:151
 msgid "unterminated string at end of file"
 msgstr "niet getermineerde string aan einde van bestand"
 
 msgid "unterminated string at end of file"
 msgstr "niet getermineerde string aan einde van bestand"
 
-#: src/reader.c:140
+#: src/reader.c:139
 msgid "unterminated string"
 msgstr "niet getermineerde string"
 
 msgid "unterminated string"
 msgstr "niet getermineerde string"
 
-#: src/reader.c:269
-#, c-format
-msgid "@%s is invalid"
+#: src/reader.c:271 src/reader.c:1021 src/reader.c:1174
+#, fuzzy, c-format
+msgid "%s is invalid"
 msgstr "@%s is onjuist"
 
 msgstr "@%s is onjuist"
 
-#: src/reader.c:318
+#: src/reader.c:321
 msgid "unterminated `%{' definition"
 msgstr "niet getermineerde `%{' definitie"
 
 msgid "unterminated `%{' definition"
 msgstr "niet getermineerde `%{' definitie"
 
-#: src/reader.c:359 src/reader.c:512 src/reader.c:562
+#: src/reader.c:362 src/reader.c:515 src/reader.c:565
 #, c-format
 msgid "Premature EOF after %s"
 msgstr ""
 
 #, c-format
 msgid "Premature EOF after %s"
 msgstr ""
 
-#: src/reader.c:376
+#: src/reader.c:379
 #, c-format
 msgid "symbol `%s' used more than once as a literal string"
 msgstr ""
 
 #, c-format
 msgid "symbol `%s' used more than once as a literal string"
 msgstr ""
 
-#: src/reader.c:379
+#: src/reader.c:382
 #, c-format
 msgid "symbol `%s' given more than one literal string"
 msgstr ""
 
 #, c-format
 msgid "symbol `%s' given more than one literal string"
 msgstr ""
 
-#: src/reader.c:401 src/reader.c:581
+#: src/reader.c:404 src/reader.c:584
 #, c-format
 msgid "symbol %s redefined"
 msgstr "symbool %s opnieuw gedefinieerd"
 
 #, c-format
 msgid "symbol %s redefined"
 msgstr "symbool %s opnieuw gedefinieerd"
 
-#: src/reader.c:411 src/reader.c:527 src/reader.c:588 src/reader.c:1267
+#: src/reader.c:414 src/reader.c:530 src/reader.c:591 src/reader.c:1280
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "type herdeclaratie voor %s"
 
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "type herdeclaratie voor %s"
 
-#: src/reader.c:421
+#: src/reader.c:424
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "`%s' is onjuist in %s"
 
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "`%s' is onjuist in %s"
 
-#: src/reader.c:438 src/reader.c:635
+#: src/reader.c:441 src/reader.c:638
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "meerdere %start declaraties"
 
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "meerdere %start declaraties"
 
-#: src/reader.c:440 src/reader.c:1245
+#: src/reader.c:443 src/reader.c:1258
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "onjuiste %start declaratie"
 
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "onjuiste %start declaratie"
 
-#: src/reader.c:463 src/reader.c:475
+#: src/reader.c:466 src/reader.c:478
 msgid "invalid $ value"
 msgstr "onjuiste $ waarde"
 
 msgid "invalid $ value"
 msgstr "onjuiste $ waarde"
 
-#: src/reader.c:497
+#: src/reader.c:500
 msgid "%type declaration has no <typename>"
 msgstr "%type declaratie heeft geen <typenaam>"
 
 msgid "%type declaration has no <typename>"
 msgstr "%type declaratie heeft geen <typenaam>"
 
-#: src/reader.c:532
+#: src/reader.c:535
 #, fuzzy
 msgid "invalid %%type declaration due to item: %s"
 msgstr "onjuist %%type declaratie door item: `%s'"
 
 #, fuzzy
 msgid "invalid %%type declaration due to item: %s"
 msgstr "onjuist %%type declaratie door item: `%s'"
 
-#: src/reader.c:577
+#: src/reader.c:580
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "herdefinieren voorganger van %s"
 
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "herdefinieren voorganger van %s"
 
-#: src/reader.c:601
+#: src/reader.c:604
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr "onjuiste tekst (%s) - nummer hoort na de identifier"
 
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr "onjuiste tekst (%s) - nummer hoort na de identifier"
 
-#: src/reader.c:611
+#: src/reader.c:614
 #, c-format
 msgid "unexpected item: %s"
 msgstr "onbekend item: %s"
 
 #, c-format
 msgid "unexpected item: %s"
 msgstr "onbekend item: %s"
 
-#: src/reader.c:676 src/reader.c:1022 src/reader.c:1094
+#: src/reader.c:679 src/reader.c:1031 src/reader.c:1103
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "niet overeenkomstige `{'"
 
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "niet overeenkomstige `{'"
 
-#: src/reader.c:724
+#: src/reader.c:727
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "argument van %expect is niet een integer"
 
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "argument van %expect is niet een integer"
 
-#: src/reader.c:770
+#: src/reader.c:773
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "onbekend item %s, verwacht een identifier"
 
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "onbekend item %s, verwacht een identifier"
 
-#: src/reader.c:794
+#: src/reader.c:797
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "verwacht string constante in plaats van %s"
 
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "verwacht string constante in plaats van %s"
 
-#: src/reader.c:893
+#: src/reader.c:896
 #, c-format
 msgid "unrecognized: %s"
 msgstr "onbekend: %s"
 
 #, c-format
 msgid "unrecognized: %s"
 msgstr "onbekend: %s"
 
-#: src/reader.c:898
+#: src/reader.c:901
 msgid "no input grammar"
 msgstr "geen invoer grammatica"
 
 msgid "no input grammar"
 msgstr "geen invoer grammatica"
 
-#: src/reader.c:901
+#: src/reader.c:906
 #, c-format
 msgid "unknown character: %s"
 msgstr "onbekend karakter: %s"
 
 #, c-format
 msgid "unknown character: %s"
 msgstr "onbekend karakter: %s"
 
-#: src/reader.c:992 src/reader.c:1141
+#: src/reader.c:997 src/reader.c:1150
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "$$ van `%s' heeft geen gedeclareerd type"
 
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "$$ van `%s' heeft geen gedeclareerd type"
 
-#: src/reader.c:1008 src/reader.c:1157
+#: src/reader.c:1013 src/reader.c:1166
 #, fuzzy, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "$%s van `%s' heeft geen gedeclareerd type"
 
 #, fuzzy, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "$%s van `%s' heeft geen gedeclareerd type"
 
-#: src/reader.c:1013 src/reader.c:1162
-#, c-format
-msgid "$%s is invalid"
-msgstr "$%s is onjuist"
-
-#: src/reader.c:1170
+#: src/reader.c:1183
 #, fuzzy, c-format
 msgid "unterminated %guard clause"
 msgstr "niet getermineerde %%guard voorwaarde"
 
 #, fuzzy, c-format
 msgid "unterminated %guard clause"
 msgstr "niet getermineerde %%guard voorwaarde"
 
-#: src/reader.c:1329
+#: src/reader.c:1345
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr ""
 "slecht geformuleerde regel: initieel symbool niet gevolgd door dubbele punt"
 
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr ""
 "slecht geformuleerde regel: initieel symbool niet gevolgd door dubbele punt"
 
-#: src/reader.c:1336
+#: src/reader.c:1352
 msgid "grammar starts with vertical bar"
 msgstr "grammatica start met een verticale bar"
 
 msgid "grammar starts with vertical bar"
 msgstr "grammatica start met een verticale bar"
 
-#: src/reader.c:1367
+#: src/reader.c:1383
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "regel geven voor %s, welke een teken is"
 
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "regel geven voor %s, welke een teken is"
 
-#: src/reader.c:1468
+#: src/reader.c:1484
 msgid "two @prec's in a row"
 msgstr "twee @prec's in een regel"
 
 msgid "two @prec's in a row"
 msgstr "twee @prec's in een regel"
 
-#: src/reader.c:1478
-#, fuzzy, c-format
-msgid "%guard present but %semantic_parser not specified"
+#: src/reader.c:1492
+#, fuzzy
+msgid "%%guard present but %%semantic_parser not specified"
 msgstr "%%guard aanwezig maar %%semantic_parser niet gespecificeerd"
 
 msgstr "%%guard aanwezig maar %%semantic_parser niet gespecificeerd"
 
-#: src/reader.c:1487
+#: src/reader.c:1501
 msgid "two actions at end of one rule"
 msgstr "twee akties aan het einde van een regel"
 
 msgid "two actions at end of one rule"
 msgstr "twee akties aan het einde van een regel"
 
-#: src/reader.c:1501
+#: src/reader.c:1515
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "type clash (`%s' `%s') bij standaard aktie"
 
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "type clash (`%s' `%s') bij standaard aktie"
 
-#: src/reader.c:1507
+#: src/reader.c:1521
 msgid "empty rule for typed nonterminal, and no action"
 msgstr "lege regel voor getypte niet terminal, en geen aktie"
 
 msgid "empty rule for typed nonterminal, and no action"
 msgstr "lege regel voor getypte niet terminal, en geen aktie"
 
-#: src/reader.c:1551
+#: src/reader.c:1565
 #, c-format
 msgid "invalid input: %s"
 msgstr "ongeldige invoer: %s"
 
 #, c-format
 msgid "invalid input: %s"
 msgstr "ongeldige invoer: %s"
 
-#: src/reader.c:1559
+#: src/reader.c:1573
 #, fuzzy, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "te veel symbolen (tekens plus nietterminals); maximum %s"
 
 #, fuzzy, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "te veel symbolen (tekens plus nietterminals); maximum %s"
 
-#: src/reader.c:1562
+#: src/reader.c:1576
 msgid "no rules in the input grammar"
 msgstr "geen regels voor invoer grammatica"
 
 msgid "no rules in the input grammar"
 msgstr "geen regels voor invoer grammatica"
 
-#: src/reader.c:1581
+#: src/reader.c:1596
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr ""
 "symbool %s is gebruikt, maar is niet gedefinieerd als een teken en\n"
 "heeft geen regels"
 
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr ""
 "symbool %s is gebruikt, maar is niet gedefinieerd als een teken en\n"
 "heeft geen regels"
 
-#: src/reader.c:1686
+#: src/reader.c:1701
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "conflictuerende precedentein voor %s en %s"
 
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "conflictuerende precedentein voor %s en %s"
 
-#: src/reader.c:1698
+#: src/reader.c:1713
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "conflictuerende associatieve waarden voor %s en %s"
 
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "conflictuerende associatieve waarden voor %s en %s"
 
-#: src/reader.c:1749
+#: src/reader.c:1764
 #, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr ""
 
 #, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr ""
 
-#: src/reader.c:1762
+#: src/reader.c:1777
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr ""
 
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr ""
 
-#: src/reader.c:1764
+#: src/reader.c:1779
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "het start symbool %s is een token"
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "het start symbool %s is een token"
@@ -741,6 +736,9 @@ msgstr "%s: optie `%s' is niet eenduidig\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: optie `--%s' staat geen argument toe\n"
 
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: optie `--%s' staat geen argument toe\n"
 
+#~ msgid "$%s is invalid"
+#~ msgstr "$%s is onjuist"
+
 #~ msgid "%s: memory exhausted\n"
 #~ msgstr "%s: geen geheugen meer beschikbaar\n"
 
 #~ msgid "%s: memory exhausted\n"
 #~ msgstr "%s: geen geheugen meer beschikbaar\n"
 
index 258ad733e2733bad65e06a78c5675a10947f6e85..d339adff7315fdbf4b7c45b16a163045822cdffb 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: bison 1.28a\n"
 msgid ""
 msgstr ""
 "Project-Id-Version: bison 1.28a\n"
-"POT-Creation-Date: 2000-10-04 13:59+0200\n"
+"POT-Creation-Date: 2000-10-16 19:27+0200\n"
 "PO-Revision-Date: 2000-04-12 13:16+04:00\n"
 "Last-Translator: Dmitry S. Sivachenko <dima@Chg.RU>\n"
 "Language-Team: Russian <ru@li.org>\n"
 "PO-Revision-Date: 2000-04-12 13:16+04:00\n"
 "Last-Translator: Dmitry S. Sivachenko <dima@Chg.RU>\n"
 "Language-Team: Russian <ru@li.org>\n"
@@ -231,28 +231,28 @@ msgstr "%s: 
 msgid "too many gotos (max %d)"
 msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ goto (ÍÁËÓÉÍÁÌØÎÏ %d)"
 
 msgid "too many gotos (max %d)"
 msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ goto (ÍÁËÓÉÍÁÌØÎÏ %d)"
 
-#: src/lex.c:84
+#: src/lex.c:82
 msgid "unexpected `/' found and ignored"
 msgstr "×ÓÔÒÅÞÅΠɠÐÒÏÉÇÎÏÒÉÒÏ×ÁΠÎÅÏÖÉÄÁÎÎÙÊ ÓÉÍ×ÏÌ `/'"
 
 msgid "unexpected `/' found and ignored"
 msgstr "×ÓÔÒÅÞÅΠɠÐÒÏÉÇÎÏÒÉÒÏ×ÁΠÎÅÏÖÉÄÁÎÎÙÊ ÓÉÍ×ÏÌ `/'"
 
-#: src/lex.c:113 src/reader.c:216
+#: src/lex.c:111 src/reader.c:215
 msgid "unterminated comment"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ËÏÍÍÅÎÔÁÒÉÊ"
 
 msgid "unterminated comment"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ËÏÍÍÅÎÔÁÒÉÊ"
 
-#: src/lex.c:141
+#: src/lex.c:139
 msgid "unexpected end of file"
 msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅàÆÁÊÌÁ"
 
 msgid "unexpected end of file"
 msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅàÆÁÊÌÁ"
 
-#: src/lex.c:164
+#: src/lex.c:162
 msgid "unescaped newline in constant"
 msgstr "ÎÅÜËÒÁÎÉÒÏ×ÁÎÎÙÊ ÐÅÒÅ×ÏÄ ÓÔÒÏËÉ × ËÏÎÓÔÁÎÔÅ"
 
 msgid "unescaped newline in constant"
 msgstr "ÎÅÜËÒÁÎÉÒÏ×ÁÎÎÙÊ ÐÅÒÅ×ÏÄ ÓÔÒÏËÉ × ËÏÎÓÔÁÎÔÅ"
 
-#: src/lex.c:206
+#: src/lex.c:204
 #, c-format
 msgid "octal value outside range 0...255: `\\%o'"
 msgstr "×ÏÓØÍÅÒÉÞÎÁÑ ×ÅÌÉÞÉÎÁ ÚÁ ÐÒÅÄÅÌÁÍÉ ÄÉÁÐÁÚÏÎÁ 0...255: `\\%o'"
 
 #, c-format
 msgid "octal value outside range 0...255: `\\%o'"
 msgstr "×ÏÓØÍÅÒÉÞÎÁÑ ×ÅÌÉÞÉÎÁ ÚÁ ÐÒÅÄÅÌÁÍÉ ÄÉÁÐÁÚÏÎÁ 0...255: `\\%o'"
 
-#: src/lex.c:231
+#: src/lex.c:229
 #, c-format
 msgid "hexadecimal value above 255: `\\x%x'"
 msgstr "ÛÅÓÔÎÁÄÃÁÔÅÒÉÞÎÁÑ ×ÅÌÉÞÉÎÁ ÐÒÅ×ÙÛÁÅÔ 255: `\\x%x'"
 #, c-format
 msgid "hexadecimal value above 255: `\\x%x'"
 msgstr "ÛÅÓÔÎÁÄÃÁÔÅÒÉÞÎÁÑ ×ÅÌÉÞÉÎÁ ÐÒÅ×ÙÛÁÅÔ 255: `\\x%x'"
@@ -274,7 +274,7 @@ msgstr "
 msgid "unterminated type name"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÉÍÑ ÔÉÐÁ"
 
 msgid "unterminated type name"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÉÍÑ ÔÉÐÁ"
 
-#: src/main.c:123
+#: src/main.c:104
 #, c-format
 msgid "%s: internal error: %s\n"
 msgstr "%s: ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ: %s\n"
 #, c-format
 msgid "%s: internal error: %s\n"
 msgstr "%s: ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ: %s\n"
@@ -376,229 +376,224 @@ msgstr " 
 msgid " on right:"
 msgstr " ÎÁÐÒÁ×Ï:"
 
 msgid " on right:"
 msgstr " ÎÁÐÒÁ×Ï:"
 
-#: src/reader.c:81
+#: src/reader.c:80
 msgid "   Skipping to next \\n"
 msgstr "   ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ \\n"
 
 msgid "   Skipping to next \\n"
 msgstr "   ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ \\n"
 
-#: src/reader.c:83
+#: src/reader.c:82
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ %c"
 
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ %c"
 
-#: src/reader.c:137 src/reader.c:152
+#: src/reader.c:136 src/reader.c:151
 msgid "unterminated string at end of file"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ × ËÏÎÃÅ ÆÁÊÌÁ"
 
 msgid "unterminated string at end of file"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ × ËÏÎÃÅ ÆÁÊÌÁ"
 
-#: src/reader.c:140
+#: src/reader.c:139
 msgid "unterminated string"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ"
 
 msgid "unterminated string"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ"
 
-#: src/reader.c:269
-#, c-format
-msgid "@%s is invalid"
+#: src/reader.c:271 src/reader.c:1021 src/reader.c:1174
+#, fuzzy, c-format
+msgid "%s is invalid"
 msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË @%s"
 
 msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË @%s"
 
-#: src/reader.c:318
+#: src/reader.c:321
 msgid "unterminated `%{' definition"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ `%{'"
 
 msgid "unterminated `%{' definition"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ `%{'"
 
-#: src/reader.c:359 src/reader.c:512 src/reader.c:562
+#: src/reader.c:362 src/reader.c:515 src/reader.c:565
 #, c-format
 msgid "Premature EOF after %s"
 msgstr "ðÒÅÖÄÅ×ÒÅÍÅÎÎÙÊ ËÏÎÅàÆÁÊÌÁ ÐÏÓÌÅ %s"
 
 #, c-format
 msgid "Premature EOF after %s"
 msgstr "ðÒÅÖÄÅ×ÒÅÍÅÎÎÙÊ ËÏÎÅàÆÁÊÌÁ ÐÏÓÌÅ %s"
 
-#: src/reader.c:376
+#: src/reader.c:379
 #, c-format
 msgid "symbol `%s' used more than once as a literal string"
 msgstr ""
 
 #, c-format
 msgid "symbol `%s' used more than once as a literal string"
 msgstr ""
 
-#: src/reader.c:379
+#: src/reader.c:382
 #, c-format
 msgid "symbol `%s' given more than one literal string"
 msgstr ""
 
 #, c-format
 msgid "symbol `%s' given more than one literal string"
 msgstr ""
 
-#: src/reader.c:401 src/reader.c:581
+#: src/reader.c:404 src/reader.c:584
 #, c-format
 msgid "symbol %s redefined"
 msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ %s"
 
 #, c-format
 msgid "symbol %s redefined"
 msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ %s"
 
-#: src/reader.c:411 src/reader.c:527 src/reader.c:588 src/reader.c:1267
+#: src/reader.c:414 src/reader.c:530 src/reader.c:591 src/reader.c:1280
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÉÓÁÎÉÅ ÔÉÐÁ ÄÌÑ %s"
 
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÉÓÁÎÉÅ ÔÉÐÁ ÄÌÑ %s"
 
-#: src/reader.c:421
+#: src/reader.c:424
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "`%s' ÎÅ×ÅÒÎÏ × %s"
 
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "`%s' ÎÅ×ÅÒÎÏ × %s"
 
-#: src/reader.c:438 src/reader.c:635
+#: src/reader.c:441 src/reader.c:638
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %start"
 
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %start"
 
-#: src/reader.c:440 src/reader.c:1245
+#: src/reader.c:443 src/reader.c:1258
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %start"
 
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %start"
 
-#: src/reader.c:463 src/reader.c:475
+#: src/reader.c:466 src/reader.c:478
 msgid "invalid $ value"
 msgstr "ÎÅ×ÅÒÎÏÅ $ ÚÎÁÞÅÎÉÅ"
 
 msgid "invalid $ value"
 msgstr "ÎÅ×ÅÒÎÏÅ $ ÚÎÁÞÅÎÉÅ"
 
-#: src/reader.c:497
+#: src/reader.c:500
 msgid "%type declaration has no <typename>"
 msgstr "ÏÐÉÓÁÎÉÅ %type ÎÅ ÉÍÅÅÔ <ÉÍÑ_ÔÉÐÁ>"
 
 msgid "%type declaration has no <typename>"
 msgstr "ÏÐÉÓÁÎÉÅ %type ÎÅ ÉÍÅÅÔ <ÉÍÑ_ÔÉÐÁ>"
 
-#: src/reader.c:532
+#: src/reader.c:535
 msgid "invalid %%type declaration due to item: %s"
 msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %%type ÉÚ-ÚÁ ÜÌÅÍÅÎÔÁ: %s"
 
 msgid "invalid %%type declaration due to item: %s"
 msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %%type ÉÚ-ÚÁ ÜÌÅÍÅÎÔÁ: %s"
 
-#: src/reader.c:577
+#: src/reader.c:580
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÅ ÐÒÉÏÒÉÔÅÔÁ ÄÌÑ %s"
 
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÅ ÐÒÉÏÒÉÔÅÔÁ ÄÌÑ %s"
 
-#: src/reader.c:601
+#: src/reader.c:604
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr "ÎÅ×ÅÒÎÙÊ ÔÅËÓÔ (%s) - ÞÉÓÌÏ ÄÏÌÖÎÏ ÓÌÅÄÏ×ÁÔØ ÚÁ ÉÄÅÎÔÉÆÉËÁÔÏÒÏÍ"
 
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr "ÎÅ×ÅÒÎÙÊ ÔÅËÓÔ (%s) - ÞÉÓÌÏ ÄÏÌÖÎÏ ÓÌÅÄÏ×ÁÔØ ÚÁ ÉÄÅÎÔÉÆÉËÁÔÏÒÏÍ"
 
-#: src/reader.c:611
+#: src/reader.c:614
 #, c-format
 msgid "unexpected item: %s"
 msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ÜÌÅÍÅÎÔ: %s"
 
 #, c-format
 msgid "unexpected item: %s"
 msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ÜÌÅÍÅÎÔ: %s"
 
-#: src/reader.c:676 src/reader.c:1022 src/reader.c:1094
+#: src/reader.c:679 src/reader.c:1031 src/reader.c:1103
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "ÎÅÐÁÒÎÁÑ `{'"
 
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "ÎÅÐÁÒÎÁÑ `{'"
 
-#: src/reader.c:724
+#: src/reader.c:727
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "ÁÒÇÕÍÅÎÔ %expect ÎÅ Ñ×ÌÑÅÔÓÑ ÃÅÌÙÍ ÞÉÓÌÏÍ"
 
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "ÁÒÇÕÍÅÎÔ %expect ÎÅ Ñ×ÌÑÅÔÓÑ ÃÅÌÙÍ ÞÉÓÌÏÍ"
 
-#: src/reader.c:770
+#: src/reader.c:773
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÜÌÅÍÅÎÔ %s, ÏÖÉÄÁÌÓÑ ÉÄÅÎÔÉÆÉËÁÔÏÒ"
 
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÜÌÅÍÅÎÔ %s, ÏÖÉÄÁÌÓÑ ÉÄÅÎÔÉÆÉËÁÔÏÒ"
 
-#: src/reader.c:794
+#: src/reader.c:797
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "×ÍÅÓÔÏ %s ÏÖÉÄÁÌÁÓØ ÓÔÒÏËÏ×ÁÑ ÐÏÓÔÏÑÎÎÁÑ"
 
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "×ÍÅÓÔÏ %s ÏÖÉÄÁÌÁÓØ ÓÔÒÏËÏ×ÁÑ ÐÏÓÔÏÑÎÎÁÑ"
 
-#: src/reader.c:893
+#: src/reader.c:896
 #, c-format
 msgid "unrecognized: %s"
 msgstr "ÎÅÒÁÓÐÏÚÎÁÎÏ: %s"
 
 #, c-format
 msgid "unrecognized: %s"
 msgstr "ÎÅÒÁÓÐÏÚÎÁÎÏ: %s"
 
-#: src/reader.c:898
+#: src/reader.c:901
 msgid "no input grammar"
 msgstr "ÎÅÔ ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÉ"
 
 msgid "no input grammar"
 msgstr "ÎÅÔ ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÉ"
 
-#: src/reader.c:901
+#: src/reader.c:906
 #, c-format
 msgid "unknown character: %s"
 msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ: %s"
 
 #, c-format
 msgid "unknown character: %s"
 msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ: %s"
 
-#: src/reader.c:992 src/reader.c:1141
+#: src/reader.c:997 src/reader.c:1150
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "$$ × `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
 
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "$$ × `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
 
-#: src/reader.c:1008 src/reader.c:1157
+#: src/reader.c:1013 src/reader.c:1166
 #, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "$%d ÉÚ `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
 
 #, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "$%d ÉÚ `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
 
-#: src/reader.c:1013 src/reader.c:1162
-#, c-format
-msgid "$%s is invalid"
-msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË $%s"
-
-#: src/reader.c:1170
+#: src/reader.c:1183
 #, c-format
 msgid "unterminated %guard clause"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ÏÐÅÒÁÔÏÒ %guard"
 
 #, c-format
 msgid "unterminated %guard clause"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ÏÐÅÒÁÔÏÒ %guard"
 
-#: src/reader.c:1329
+#: src/reader.c:1345
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr "ÎÅ×ÅÒÎÏÅ ÐÒÁ×ÉÌÏ: Ä×ÏÅÔÏÞÉÅ ÎÅ ÓÌÅÄÕÅÔ ÚÁ ÎÁÞÁÌØÎÙÍ ÓÉÍ×ÏÌÏÍ"
 
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr "ÎÅ×ÅÒÎÏÅ ÐÒÁ×ÉÌÏ: Ä×ÏÅÔÏÞÉÅ ÎÅ ÓÌÅÄÕÅÔ ÚÁ ÎÁÞÁÌØÎÙÍ ÓÉÍ×ÏÌÏÍ"
 
-#: src/reader.c:1336
+#: src/reader.c:1352
 msgid "grammar starts with vertical bar"
 msgstr "ÇÒÁÍÍÁÔÉËÁ ÎÁÞÉÎÁÅÔÓÑ Ó ×ÅÒÔÉËÁÌØÎÏÊ ÞÅÒÔÙ"
 
 msgid "grammar starts with vertical bar"
 msgstr "ÇÒÁÍÍÁÔÉËÁ ÎÁÞÉÎÁÅÔÓÑ Ó ×ÅÒÔÉËÁÌØÎÏÊ ÞÅÒÔÙ"
 
-#: src/reader.c:1367
+#: src/reader.c:1383
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "ÐÒÁ×ÉÌÏ ÚÁÄÁÎÏ ÄÌÑ %s, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
 
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "ÐÒÁ×ÉÌÏ ÚÁÄÁÎÏ ÄÌÑ %s, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
 
-#: src/reader.c:1468
+#: src/reader.c:1484
 msgid "two @prec's in a row"
 msgstr "Ä×Á @prec ÐÏÄÒÑÄ"
 
 msgid "two @prec's in a row"
 msgstr "Ä×Á @prec ÐÏÄÒÑÄ"
 
-#: src/reader.c:1478
-#, c-format
-msgid "%guard present but %semantic_parser not specified"
+#: src/reader.c:1492
+#, fuzzy
+msgid "%%guard present but %%semantic_parser not specified"
 msgstr "%guard ÐÒÉÓÕÔÓÔ×ÕÅÔ, Á %semantic_parser ÎÅ ÚÁÄÁÎ"
 
 msgstr "%guard ÐÒÉÓÕÔÓÔ×ÕÅÔ, Á %semantic_parser ÎÅ ÚÁÄÁÎ"
 
-#: src/reader.c:1487
+#: src/reader.c:1501
 msgid "two actions at end of one rule"
 msgstr "Ä×Á ÄÅÊÓÔ×ÉÑ × ËÏÎÃÅ ÏÄÎÏÇÏ ÐÒÁ×ÉÌÁ"
 
 msgid "two actions at end of one rule"
 msgstr "Ä×Á ÄÅÊÓÔ×ÉÑ × ËÏÎÃÅ ÏÄÎÏÇÏ ÐÒÁ×ÉÌÁ"
 
-#: src/reader.c:1501
+#: src/reader.c:1515
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "ËÏÎÆÌÉËÔ ÔÉÐÏ× (`%s' `%s') ÎÁ ÄÅÊÓÔ×ÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ"
 
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "ËÏÎÆÌÉËÔ ÔÉÐÏ× (`%s' `%s') ÎÁ ÄÅÊÓÔ×ÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ"
 
-#: src/reader.c:1507
+#: src/reader.c:1521
 msgid "empty rule for typed nonterminal, and no action"
 msgstr ""
 "ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ"
 
 msgid "empty rule for typed nonterminal, and no action"
 msgstr ""
 "ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ"
 
-#: src/reader.c:1551
+#: src/reader.c:1565
 #, c-format
 msgid "invalid input: %s"
 msgstr "ÎÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ: %s"
 
 #, c-format
 msgid "invalid input: %s"
 msgstr "ÎÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ: %s"
 
-#: src/reader.c:1559
+#: src/reader.c:1573
 #, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ÐÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %d"
 
 #, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ÐÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %d"
 
-#: src/reader.c:1562
+#: src/reader.c:1576
 msgid "no rules in the input grammar"
 msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ"
 
 msgid "no rules in the input grammar"
 msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ"
 
-#: src/reader.c:1581
+#: src/reader.c:1596
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr "ÓÉÍ×ÏÌ %s ÉÓÐÏÌØÚÕÅÔÓÑ, ÎÏ ÎÅ ÏÐÒÅÄÅÌÅΠËÁË ÌÅËÓÅÍÁ É ÎÅ ÉÍÅÅÔ ÐÒÁ×ÉÌ"
 
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr "ÓÉÍ×ÏÌ %s ÉÓÐÏÌØÚÕÅÔÓÑ, ÎÏ ÎÅ ÏÐÒÅÄÅÌÅΠËÁË ÌÅËÓÅÍÁ É ÎÅ ÉÍÅÅÔ ÐÒÁ×ÉÌ"
 
-#: src/reader.c:1686
+#: src/reader.c:1701
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÐÒÉÏÒÉÔÅÔÙ ÄÌÑ %s É %s"
 
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÐÒÉÏÒÉÔÅÔÙ ÄÌÑ %s É %s"
 
-#: src/reader.c:1698
+#: src/reader.c:1713
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÚÎÁÞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s É %s"
 
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÚÎÁÞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s É %s"
 
-#: src/reader.c:1749
+#: src/reader.c:1764
 #, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr "ÏÂÅÉÍ ÌÅËÓÅÍÁÍ %s É %s ÐÒÉÓ×ÏÅΠÎÏÍÅÒ %d"
 
 #, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr "ÏÂÅÉÍ ÌÅËÓÅÍÁÍ %s É %s ÐÒÉÓ×ÏÅΠÎÏÍÅÒ %d"
 
-#: src/reader.c:1762
+#: src/reader.c:1777
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅÏÐÒÅÄÅÌÅÎ"
 
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅÏÐÒÅÄÅÌÅÎ"
 
-#: src/reader.c:1764
+#: src/reader.c:1779
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
@@ -758,6 +753,9 @@ msgstr "%s: 
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: ËÌÀÞ `-W %s' ÄÏÌÖÅΠÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n"
 
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: ËÌÀÞ `-W %s' ÄÏÌÖÅΠÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n"
 
+#~ msgid "$%s is invalid"
+#~ msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË $%s"
+
 #~ msgid "%s: memory exhausted\n"
 #~ msgstr "%s: ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ\n"
 
 #~ msgid "%s: memory exhausted\n"
 #~ msgstr "%s: ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ\n"
 
index bcf8cd66522d5fd0468c06d0c189a09bcd9a4c47..f81e291036c9b0913bd6bb4bf944e74f2d172ffd 100644 (file)
--- a/src/lex.c
+++ b/src/lex.c
@@ -27,9 +27,7 @@
 #include "xalloc.h"
 #include "complain.h"
 #include "gram.h"
 #include "xalloc.h"
 #include "complain.h"
 #include "gram.h"
-
-/* functions from main.c */
-extern char *printable_version PARAMS ((int));
+#include "quote.h"
 
 /* Buffer for storing the current token.  */
 char *token_buffer;
 
 /* Buffer for storing the current token.  */
 char *token_buffer;
@@ -238,8 +236,10 @@ literalchar (char **pp, int *pcode, char term)
        }
       else
        {
        }
       else
        {
+         char buf [] = "c";
+         buf[0] = c;
          complain (_("unknown escape sequence: `\\' followed by `%s'"),
          complain (_("unknown escape sequence: `\\' followed by `%s'"),
-                   printable_version (c));
+                   quote (buf));
          code = '?';
        }
     }                          /* has \ */
          code = '?';
        }
     }                          /* has \ */
index eaa85596258219aedcadfc7ac37ab775ff4a2e4b..d14657a14b32948dd33b7a1ca94ce03f0add4553 100644 (file)
@@ -39,8 +39,6 @@ char *program_name;
 
 extern void berror PARAMS((const char *));
 
 
 extern void berror PARAMS((const char *));
 
-extern char *printable_version PARAMS ((int));
-
 int
 main (int argc, char *argv[])
 {
 int
 main (int argc, char *argv[])
 {
@@ -98,23 +96,6 @@ main (int argc, char *argv[])
   exit (complain_message_count ? 1 : 0);
 }
 \f
   exit (complain_message_count ? 1 : 0);
 }
 \f
-/* Return a string containing a printable version of C:
-   either C itself, or the corresponding \DDD code.  */
-
-char *
-printable_version (int c)
-{
-  static char buf[10];
-  if (c < ' ' || c >= '\177')
-    sprintf (buf, "\\%o", c);
-  else
-    {
-      buf[0] = c;
-      buf[1] = '\0';
-    }
-  return buf;
-}
-
 /* Abort for an internal error denoted by string S.  */
 
 void
 /* Abort for an internal error denoted by string S.  */
 
 void
index 4309cf879999a6382b8ccb265176954543d5ac98..7c368621cc1985697caef4ba7e2a06125951ea47 100644 (file)
@@ -31,8 +31,7 @@
 #include "output.h"
 #include "reader.h"
 #include "conflicts.h"
 #include "output.h"
 #include "reader.h"
 #include "conflicts.h"
-
-extern char *printable_version PARAMS ((int));
+#include "quote.h"
 
 /* Number of slots allocated (but not necessarily used yet) in `rline'  */
 static int rline_allocated;
 
 /* Number of slots allocated (but not necessarily used yet) in `rline'  */
 static int rline_allocated;
@@ -266,7 +265,11 @@ copy_at (FILE *fin, FILE *fout, int stack_offset)
       locations_flag = 1;
     }
   else
       locations_flag = 1;
     }
   else
-    complain (_("@%s is invalid"), printable_version (c));
+    {
+      char buf[] = "@c";
+      buf[1] = c;
+      complain (_("%s is invalid"), quote (buf));
+    }
 }
 \f
 /*-------------------------------------------------------------------.
 }
 \f
 /*-------------------------------------------------------------------.
@@ -702,7 +705,7 @@ static void
 parse_expect_decl (void)
 {
   int c;
 parse_expect_decl (void)
 {
   int c;
-  int count;
+  size_t count;
   char buffer[20];
 
   c = getc (finput);
   char buffer[20];
 
   c = getc (finput);
@@ -898,7 +901,9 @@ read_declarations (void)
        fatal (_("no input grammar"));
       else
        {
        fatal (_("no input grammar"));
       else
        {
-         complain (_("unknown character: %s"), printable_version (c));
+         char buf[] = "c";
+         buf[0] = c;
+         complain (_("unknown character: %s"), quote (buf));
          skip_to_char ('%');
        }
     }
          skip_to_char ('%');
        }
     }
@@ -1010,7 +1015,11 @@ copy_action (symbol_list * rule, int stack_offset)
                  continue;
                }
              else
                  continue;
                }
              else
-               complain (_("$%s is invalid"), printable_version (c));
+               {
+                 char buf[] = "$c";
+                 buf[1] = c;
+                 complain (_("%s is invalid"), quote (buf));
+               }
 
              break;
 
 
              break;
 
@@ -1159,7 +1168,11 @@ copy_guard (symbol_list * rule, int stack_offset)
              continue;
            }
          else
              continue;
            }
          else
-           complain (_("$%s is invalid"), printable_version (c));
+           {
+             char buf[] = "$c";
+             buf[1] = c;
+             complain (_("%s is invalid"), quote (buf));
+           }
          break;
 
        case '@':
          break;
 
        case '@':
@@ -1296,9 +1309,11 @@ readgram (void)
   symbol_list *p1;
   bucket *bp;
 
   symbol_list *p1;
   bucket *bp;
 
-  symbol_list *crule;          /* points to first symbol_list of current rule.  */
-  /* its symbol is the lhs of the rule.   */
-  symbol_list *crule1;         /* points to the symbol_list preceding crule.  */
+  /* Points to first symbol_list of current rule. its symbol is the
+     lhs of the rule.  */
+  symbol_list *crule;
+  /* Points to the symbol_list preceding crule.  */
+  symbol_list *crule1;
 
   p1 = NULL;
 
 
   p1 = NULL;
 
@@ -1309,7 +1324,8 @@ readgram (void)
       if (t == IDENTIFIER || t == BAR)
        {
          int action_flag = 0;
       if (t == IDENTIFIER || t == BAR)
        {
          int action_flag = 0;
-         int rulelength = 0;   /* number of symbols in rhs of this rule so far  */
+         /* Number of symbols in rhs of this rule so far */
+         int rulelength = 0;
          int xactions = 0;     /* JF for error checking */
          bucket *first_rhs = 0;
 
          int xactions = 0;     /* JF for error checking */
          bucket *first_rhs = 0;
 
@@ -1473,9 +1489,7 @@ readgram (void)
          if (t == GUARD)
            {
              if (!semantic_parser)
          if (t == GUARD)
            {
              if (!semantic_parser)
-               complain ("%s",
-                         _
-                         ("%guard present but %semantic_parser not specified"));
+               complain (_("%%guard present but %%semantic_parser not specified"));
 
              copy_guard (crule, rulelength);
              t = lex ();
 
              copy_guard (crule, rulelength);
              t = lex ();
@@ -1561,7 +1575,8 @@ readgram (void)
   if (nrules == 0)
     fatal (_("no rules in the input grammar"));
 
   if (nrules == 0)
     fatal (_("no rules in the input grammar"));
 
-  if (typed == 0               /* JF put out same default YYSTYPE as YACC does */
+  /* JF put out same default YYSTYPE as YACC does */
+  if (typed == 0
       && !value_components_used)
     {
       /* We used to use `unsigned long' as YYSTYPE on MSDOS,
       && !value_components_used)
     {
       /* We used to use `unsigned long' as YYSTYPE on MSDOS,
@@ -1579,7 +1594,7 @@ readgram (void)
       {
        complain (_
                  ("symbol %s is used, but is not defined as a token and has no rules"),
       {
        complain (_
                  ("symbol %s is used, but is not defined as a token and has no rules"),
-bp->tag);
+                 bp->tag);
        bp->class = nterm_sym;
        bp->value = nvars++;
       }
        bp->class = nterm_sym;
        bp->value = nvars++;
       }
index 02c2e75773ee292c6b299f0f22b5b960de0b572f..0f1070ad8c66bf7c1ca9fe00ae0baeee3a8fb8ab 100644 (file)
 
 void RTC PARAMS ((unsigned *, int));
 #endif /* !WARSHALL_H_ */
 
 void RTC PARAMS ((unsigned *, int));
 #endif /* !WARSHALL_H_ */
+/* Generate transitive closure of a matrix,
+   Copyright (C) 1984, 1989, 2000 Free Software Foundation, Inc.
+
+   This file is part of Bison, the GNU Compiler Compiler.
+
+   Bison is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   Bison is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with Bison; see the file COPYING.  If not, write to
+   the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef WARSHALL_H_
+# define WARSHALL_H_
+
+void RTC PARAMS ((unsigned *, int));
+#endif /* !WARSHALL_H_ */
index 94839aeb7e46008ffeef766a9105e0eadfe6a463..6fecd6a24569355cfd162f0db163484edd6cf38b 100644 (file)
@@ -24,3 +24,29 @@ exp: '(' exp ')' | NUM ;
 AT_CHECK([bison -v duplicate.y -o duplicate.c], 0, ignore, ignore)
 
 AT_CLEANUP(duplicate.*)
 AT_CHECK([bison -v duplicate.y -o duplicate.c], 0, ignore, ignore)
 
 AT_CLEANUP(duplicate.*)
+#                                                        -*- Autoconf -*-
+
+cat <<EOF
+
+Regression tests.
+
+EOF
+
+AT_SETUP(Duplicate string)
+
+AT_DATA([duplicate.y],
+[[/* `Bison -v' used to dump core when two tokens are defined with the same
+   string, as LE and GE below. */
+
+%token NUM
+%token LE "<="
+%token GE "<="
+
+%%
+exp: '(' exp ')' | NUM ;
+%%
+]])
+
+AT_CHECK([bison -v duplicate.y -o duplicate.c], 0, ignore, ignore)
+
+AT_CLEANUP(duplicate.*)