+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.
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:
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
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)
--- /dev/null
+/* 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
--- /dev/null
+/* 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 */
--- /dev/null
+/* 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);
+}
--- /dev/null
+/* prototypes for quote.c */
+
+char const *quote_n (int n, char const *name);
+char const *quote (char const *name);
--- /dev/null
+/* 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, ':');
+}
--- /dev/null
+/* 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));
## 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 \
+mbstate_t.m4 \
+prereq.m4 \
progtest.m4 \
realloc.m4 \
warning.m4
--- /dev/null
+#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
+])
--- /dev/null
+# 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])
--- /dev/null
+#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
+])
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"
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"
-#: src/lex.c:113 src/reader.c:216
+#: src/lex.c:111 src/reader.c:215
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?
-#: src/lex.c:164
+#: src/lex.c:162
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«"
-#: 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«"
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"
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"
-#: src/reader.c:83
+#: src/reader.c:82
#, 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"
-#: src/reader.c:140
+#: src/reader.c:139
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"
-#: src/reader.c:318
+#: src/reader.c:321
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 ""
-#: src/reader.c:376
+#: src/reader.c:379
#, 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 ""
-#: 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"
-#: 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"
-#: src/reader.c:421
+#: src/reader.c:424
#, 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"
-#: 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"
-#: src/reader.c:463 src/reader.c:475
+#: src/reader.c:466 src/reader.c:478
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>"
-#: src/reader.c:532
+#: src/reader.c:535
#, 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"
-#: 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"
-#: src/reader.c:611
+#: src/reader.c:614
#, 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"
-#: 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"
-#: 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"
-#: 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"
-#: src/reader.c:893
+#: src/reader.c:896
#, c-format
msgid "unrecognized: %s"
msgstr "unbekannt: %s"
-#: src/reader.c:898
+#: src/reader.c:901
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"
-#: 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"
-#: 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"
-#: 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"
-#: 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"
-#: src/reader.c:1336
+#: src/reader.c:1352
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"
-#: src/reader.c:1468
+#: src/reader.c:1484
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"
-#: src/reader.c:1487
+#: src/reader.c:1501
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"
-#: 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"
-#: src/reader.c:1551
+#: src/reader.c:1565
#, 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"
-#: src/reader.c:1562
+#: src/reader.c:1576
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"
-#: 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"
-#: 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"
-#: 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"
-#: src/reader.c:1762
+#: src/reader.c:1777
#, 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"
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 ""
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"
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"
-#: src/lex.c:113 src/reader.c:216
+#: src/lex.c:111 src/reader.c:215
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?
-#: src/lex.c:164
+#: src/lex.c:162
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'"
-#: 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'"
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"
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"
-#: src/reader.c:83
+#: src/reader.c:82
#, 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"
-#: src/reader.c:140
+#: src/reader.c:139
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"
-#: src/reader.c:318
+#: src/reader.c:321
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 ""
-#: src/reader.c:376
+#: src/reader.c:379
#, 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 ""
-#: 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"
-#: 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"
-#: src/reader.c:421
+#: src/reader.c:424
#, 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"
-#: 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"
-#: src/reader.c:463 src/reader.c:475
+#: src/reader.c:466 src/reader.c:478
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>"
-#: 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'"
-#: src/reader.c:577
+#: src/reader.c:580
#, c-format
msgid "redefining precedence of %s"
msgstr "redefinición de la precedencia de %s"
# 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 ""
# 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
-#: 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"
-#: 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"
# - 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"
-#: 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"
-#: src/reader.c:893
+#: src/reader.c:896
#, 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"
-#: src/reader.c:901
+#: src/reader.c:906
#, 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"
-#: 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"
-#: 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
#
-#: src/reader.c:1170
+#: src/reader.c:1183
#, 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 :"
-#: src/reader.c:1336
+#: src/reader.c:1352
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"
-#: 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
-#: 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"
-#: src/reader.c:1487
+#: src/reader.c:1501
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"
-#: 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"
-#: src/reader.c:1551
+#: src/reader.c:1565
#, 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"
-#: 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
#
-#: 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"
-#: 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"
-#: 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"
-#: 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"
-#: 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"
-#: 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"
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 ""
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"
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 `/'"
-#: src/lex.c:113 src/reader.c:216
+#: src/lex.c:111 src/reader.c:215
msgid "unterminated comment"
msgstr "lõpetamata kommentaar"
-#: src/lex.c:141
+#: src/lex.c:139
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"
-#: 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'"
-#: 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'"
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"
msgid " on right:"
msgstr " paremal:"
-#: src/reader.c:81
+#: src/reader.c:80
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"
-#: 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"
-#: src/reader.c:140
+#: src/reader.c:139
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"
-#: src/reader.c:318
+#: src/reader.c:321
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"
-#: src/reader.c:376
+#: src/reader.c:379
#, 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 ""
-#: 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"
-#: 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"
-#: src/reader.c:421
+#: src/reader.c:424
#, 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"
-#: 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"
-#: src/reader.c:463 src/reader.c:475
+#: src/reader.c:466 src/reader.c:478
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>"
-#: src/reader.c:532
+#: src/reader.c:535
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"
-#: 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"
-#: src/reader.c:611
+#: src/reader.c:614
#, 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 `{'"
-#: 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"
-#: src/reader.c:770
+#: src/reader.c:773
#, 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"
-#: src/reader.c:893
+#: src/reader.c:896
#, c-format
msgid "unrecognized: %s"
msgstr "tundmatu: %s"
-#: src/reader.c:898
+#: src/reader.c:901
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"
-#: 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"
-#: 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"
-#: 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"
-#: 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"
-#: src/reader.c:1336
+#: src/reader.c:1352
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"
-#: src/reader.c:1468
+#: src/reader.c:1484
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"
-#: src/reader.c:1487
+#: src/reader.c:1501
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')"
-#: 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"
-#: src/reader.c:1551
+#: src/reader.c:1565
#, 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"
-#: src/reader.c:1562
+#: src/reader.c:1576
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"
-#: src/reader.c:1686
+#: src/reader.c:1701
#, 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"
-#: 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"
-#: src/reader.c:1762
+#: src/reader.c:1777
#, 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"
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 ""
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"
msgid "too many gotos (max %d)"
msgstr ""
-#: src/lex.c:84
+#: src/lex.c:82
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"
-#: src/lex.c:141
+#: src/lex.c:139
#, 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"
-#: 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"
-#: 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"
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"
msgid " on right:"
msgstr " à droite:"
-#: src/reader.c:81
+#: src/reader.c:80
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"
-#: 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"
-#: src/reader.c:140
+#: src/reader.c:139
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"
-#: 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"
-#: 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 ""
-#: src/reader.c:376
+#: src/reader.c:379
#, 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 ""
-#: 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"
-#: 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"
-#: src/reader.c:421
+#: src/reader.c:424
#, 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"
-#: 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"
-#: 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"
-#: 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>"
-#: 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"
-#: src/reader.c:577
+#: src/reader.c:580
#, 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"
-#: src/reader.c:611
+#: src/reader.c:614
#, 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"
-#: 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"
-#: 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"
-#: 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"
-#: src/reader.c:893
+#: src/reader.c:896
#, 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"
-#: src/reader.c:901
+#: src/reader.c:906
#, 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é"
-#: 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é"
-#: 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"
-#: 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 `:'"
-#: src/reader.c:1336
+#: src/reader.c:1352
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"
-#: src/reader.c:1468
+#: src/reader.c:1484
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é"
-#: 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"
-#: 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"
-#: 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"
-#: src/reader.c:1551
+#: src/reader.c:1565
#, 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"
-#: src/reader.c:1562
+#: src/reader.c:1576
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"
-#: 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"
-#: 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"
-#: 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"
-#: 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"
-#: 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"
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 ""
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"
msgid "too many gotos (max %d)"
msgstr "%s ¤Î¿ô¤¬Â¿¤¹¤®¤Þ¤¹ (ºÇÂç %d)"
-#: src/lex.c:84
+#: src/lex.c:82
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 "ÊĤ¸¤Æ¤¤¤Ê¤¤¥³¥á¥ó¥È¤Ç¤¹"
-#: src/lex.c:141
+#: src/lex.c:139
#, fuzzy
msgid "unexpected end of file"
msgstr "ͽ´ü¤·¤Ê¤¤¥Õ¥¡¥¤¥ë¤Î½ªÃ¼¤Ç¤¹"
-#: src/lex.c:164
+#: src/lex.c:162
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'"
-#: src/lex.c:231
+#: src/lex.c:229
#, c-format
msgid "hexadecimal value above 255: `\\x%x'"
msgstr "16 ¿Ê¿ô¤ÎÃͤ¬ 255 ¤ò±Û¤¨¤Æ¤¤¤Þ¤¹: `\\x%x'"
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"
msgid " on right:"
msgstr " ±¦ÊÕ:"
-#: src/reader.c:81
+#: src/reader.c:80
msgid " Skipping to next \\n"
msgstr " ¼¡¤Î \\n ¤Ë¥¹¥¥Ã¥×"
-#: src/reader.c:83
+#: src/reader.c:82
#, 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 "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤Ê¸»úÎ󤬥ե¡¥¤¥ëËöÈø¤Ë¤¢¤ê¤Þ¤¹"
-#: src/reader.c:140
+#: src/reader.c:139
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 ¤Ï̵¸ú¤Ç¤¹"
-#: src/reader.c:318
+#: src/reader.c:321
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 ""
-#: src/reader.c:376
+#: src/reader.c:379
#, 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 ""
-#: src/reader.c:401 src/reader.c:581
+#: src/reader.c:404 src/reader.c:584
#, 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 ¤Î·¿¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
-#: src/reader.c:421
+#: src/reader.c:424
#, 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 ¤¬Àë¸À¤µ¤ì¤Þ¤·¤¿"
-#: 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 ¤¬Àë¸À¤µ¤ì¤Þ¤·¤¿"
-#: src/reader.c:463 src/reader.c:475
+#: src/reader.c:466 src/reader.c:478
msgid "invalid $ value"
msgstr "̵¸ú¤Ê $ ¤ÎÃÍ"
-#: src/reader.c:497
+#: src/reader.c:500
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'"
-#: src/reader.c:577
+#: src/reader.c:580
#, 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) - ¿ôÃͤϼ±Ê̻Ҥθå¤í¤Ë¤¢¤ë¤Ù¤¤Ç¤¹"
-#: src/reader.c:611
+#: src/reader.c:614
#, 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 "Âбþ¤Î¤Ê¤¤ `{' ¤Ç¤¹"
-#: src/reader.c:724
+#: src/reader.c:727
#, 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¡¢¤³¤³¤Ç¤Ï¼±Ê̻Ҥ¬´üÂÔ¤µ¤ì¤Þ¤¹"
-#: src/reader.c:794
+#: src/reader.c:797
#, 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"
-#: src/reader.c:898
+#: src/reader.c:901
msgid "no input grammar"
msgstr "ʸˡ¤ÎÆþÎϤ¬Ìµ¤¤"
-#: src/reader.c:901
+#: src/reader.c:906
#, 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' ¤Î $$ ¤ËÀë¸À¤Î¤Ê¤¤·¿¤¬¤¢¤ê¤Þ¤¹"
-#: 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 ¤ËÀë¸À¤Î¤Ê¤¤·¿¤¬¤¢¤ê¤Þ¤¹"
-#: 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 Àá¤Ç¤¹"
-#: src/reader.c:1329
+#: src/reader.c:1345
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 "ʸˡ¤Ï½ÄËÀ (|) ¤Ç»Ï¤á¤Þ¤¹"
-#: src/reader.c:1367
+#: src/reader.c:1383
#, 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 ¤Î¤â¤ÎÆó¤Ä¤¬Æ±Îó¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
-#: 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 ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: src/reader.c:1487
+#: src/reader.c:1501
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') ¤¬¾×Æͤ·¤Þ¤¹"
-#: src/reader.c:1507
+#: src/reader.c:1521
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"
-#: src/reader.c:1559
+#: src/reader.c:1573
#, 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 "ÆþÎϤ·¤¿Ê¸Ë¡¤Ëµ¬Â§¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: 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 "
"¤¬»È¤ï¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¥È¡¼¥¯¥ó¤È¤·¤ÆÄêµÁ¤µ¤ì¤Æ¤ª¤é¤º¡¢µ¬Â§¤ò»ý¤Á¤Þ¤»¤ó"
-#: src/reader.c:1686
+#: src/reader.c:1701
#, 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 ¤Ç¶¥¹ç¤¬À¸¤¸¤Æ¤¤¤Þ¤¹"
-#: src/reader.c:1749
+#: src/reader.c:1764
#, 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 ¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: src/reader.c:1764
+#: src/reader.c:1779
#, c-format
msgid "the start symbol %s is a token"
msgstr "³«»Ï¥·¥ó¥Ü¥ë %s ¤Ï¥È¡¼¥¯¥ó¤Ç¤¹"
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 ""
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"
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"
-#: src/lex.c:113 src/reader.c:216
+#: src/lex.c:111 src/reader.c:215
msgid "unterminated comment"
msgstr "ongetermineerd commentaar"
-#: src/lex.c:141
+#: src/lex.c:139
#, 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"
-#: 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'"
-#: src/lex.c:231
+#: src/lex.c:229
#, c-format
msgid "hexadecimal value above 255: `\\x%x'"
msgstr "hexadecimale waarde boven 255: `\\x%x'"
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"
msgid " on right:"
msgstr " rechts:"
-#: src/reader.c:81
+#: src/reader.c:80
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"
-#: 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"
-#: src/reader.c:140
+#: src/reader.c:139
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"
-#: src/reader.c:318
+#: src/reader.c:321
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 ""
-#: src/reader.c:376
+#: src/reader.c:379
#, 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 ""
-#: 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"
-#: 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"
-#: src/reader.c:421
+#: src/reader.c:424
#, 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"
-#: 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"
-#: src/reader.c:463 src/reader.c:475
+#: src/reader.c:466 src/reader.c:478
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>"
-#: src/reader.c:532
+#: src/reader.c:535
#, 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"
-#: 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"
-#: src/reader.c:611
+#: src/reader.c:614
#, 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 `{'"
-#: 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"
-#: src/reader.c:770
+#: src/reader.c:773
#, 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"
-#: src/reader.c:893
+#: src/reader.c:896
#, c-format
msgid "unrecognized: %s"
msgstr "onbekend: %s"
-#: src/reader.c:898
+#: src/reader.c:901
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"
-#: 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"
-#: 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"
-#: 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"
-#: 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"
-#: src/reader.c:1336
+#: src/reader.c:1352
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"
-#: src/reader.c:1468
+#: src/reader.c:1484
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"
-#: 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"
-#: 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"
-#: 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"
-#: src/reader.c:1551
+#: src/reader.c:1565
#, 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"
-#: src/reader.c:1562
+#: src/reader.c:1576
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"
-#: src/reader.c:1686
+#: src/reader.c:1701
#, 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"
-#: src/reader.c:1749
+#: src/reader.c:1764
#, 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 ""
-#: 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"
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 ""
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"
msgid "too many gotos (max %d)"
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ goto (ÍÁËÓÉÍÁÌØÎÏ %d)"
-#: src/lex.c:84
+#: src/lex.c:82
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 "ÎÅÚÁËÏÎÞÅÎÎÙÊ ËÏÍÍÅÎÔÁÒÉÊ"
-#: src/lex.c:141
+#: src/lex.c:139
msgid "unexpected end of file"
msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅÃ ÆÁÊÌÁ"
-#: src/lex.c:164
+#: src/lex.c:162
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'"
-#: src/lex.c:231
+#: src/lex.c:229
#, c-format
msgid "hexadecimal value above 255: `\\x%x'"
msgstr "ÛÅÓÔÎÁÄÃÁÔÅÒÉÞÎÁÑ ×ÅÌÉÞÉÎÁ ÐÒÅ×ÙÛÁÅÔ 255: `\\x%x'"
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"
msgid " on right:"
msgstr " ÎÁÐÒÁ×Ï:"
-#: src/reader.c:81
+#: src/reader.c:80
msgid " Skipping to next \\n"
msgstr " ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ \\n"
-#: src/reader.c:83
+#: src/reader.c:82
#, 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 "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ × ËÏÎÃÅ ÆÁÊÌÁ"
-#: src/reader.c:140
+#: src/reader.c:139
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"
-#: src/reader.c:318
+#: src/reader.c:321
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"
-#: src/reader.c:376
+#: src/reader.c:379
#, 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 ""
-#: src/reader.c:401 src/reader.c:581
+#: src/reader.c:404 src/reader.c:584
#, 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"
-#: src/reader.c:421
+#: src/reader.c:424
#, 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"
-#: 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"
-#: src/reader.c:463 src/reader.c:475
+#: src/reader.c:466 src/reader.c:478
msgid "invalid $ value"
msgstr "ÎÅ×ÅÒÎÏÅ $ ÚÎÁÞÅÎÉÅ"
-#: src/reader.c:497
+#: src/reader.c:500
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"
-#: src/reader.c:577
+#: src/reader.c:580
#, 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) - ÞÉÓÌÏ ÄÏÌÖÎÏ ÓÌÅÄÏ×ÁÔØ ÚÁ ÉÄÅÎÔÉÆÉËÁÔÏÒÏÍ"
-#: src/reader.c:611
+#: src/reader.c:614
#, 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 "ÎÅÐÁÒÎÁÑ `{'"
-#: src/reader.c:724
+#: src/reader.c:727
#, 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, ÏÖÉÄÁÌÓÑ ÉÄÅÎÔÉÆÉËÁÔÏÒ"
-#: src/reader.c:794
+#: src/reader.c:797
#, 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"
-#: src/reader.c:898
+#: src/reader.c:901
msgid "no input grammar"
msgstr "ÎÅÔ ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÉ"
-#: src/reader.c:901
+#: src/reader.c:906
#, 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' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
-#: 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' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
-#: 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"
-#: src/reader.c:1329
+#: src/reader.c:1345
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 "ÇÒÁÍÍÁÔÉËÁ ÎÁÞÉÎÁÅÔÓÑ Ó ×ÅÒÔÉËÁÌØÎÏÊ ÞÅÒÔÙ"
-#: src/reader.c:1367
+#: src/reader.c:1383
#, 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 ÐÏÄÒÑÄ"
-#: 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 ÎÅ ÚÁÄÁÎ"
-#: src/reader.c:1487
+#: src/reader.c:1501
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') ÎÁ ÄÅÊÓÔ×ÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ"
-#: src/reader.c:1507
+#: src/reader.c:1521
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"
-#: src/reader.c:1559
+#: src/reader.c:1573
#, 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 "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ"
-#: 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 ÉÓÐÏÌØÚÕÅÔÓÑ, ÎÏ ÎÅ ÏÐÒÅÄÅÌÅÎ ËÁË ÌÅËÓÅÍÁ É ÎÅ ÉÍÅÅÔ ÐÒÁ×ÉÌ"
-#: src/reader.c:1686
+#: src/reader.c:1701
#, 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"
-#: src/reader.c:1749
+#: src/reader.c:1764
#, 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 ÎÅÏÐÒÅÄÅÌÅÎ"
-#: src/reader.c:1764
+#: src/reader.c:1779
#, c-format
msgid "the start symbol %s is a token"
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
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"
#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;
}
else
{
+ char buf [] = "c";
+ buf[0] = c;
complain (_("unknown escape sequence: `\\' followed by `%s'"),
- printable_version (c));
+ quote (buf));
code = '?';
}
} /* has \ */
extern void berror PARAMS((const char *));
-extern char *printable_version PARAMS ((int));
-
int
main (int argc, char *argv[])
{
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
#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;
locations_flag = 1;
}
else
- complain (_("@%s is invalid"), printable_version (c));
+ {
+ char buf[] = "@c";
+ buf[1] = c;
+ complain (_("%s is invalid"), quote (buf));
+ }
}
\f
/*-------------------------------------------------------------------.
parse_expect_decl (void)
{
int c;
- int count;
+ size_t count;
char buffer[20];
c = getc (finput);
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 ('%');
}
}
continue;
}
else
- complain (_("$%s is invalid"), printable_version (c));
+ {
+ char buf[] = "$c";
+ buf[1] = c;
+ complain (_("%s is invalid"), quote (buf));
+ }
break;
continue;
}
else
- complain (_("$%s is invalid"), printable_version (c));
+ {
+ char buf[] = "$c";
+ buf[1] = c;
+ complain (_("%s is invalid"), quote (buf));
+ }
break;
case '@':
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;
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;
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 ();
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,
{
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++;
}
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_ */
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.*)