* 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'.


* lib/error.c, lib/error.h: New files, needed by xmalloc.c.
This commit is contained in:
Akim Demaille
2000-10-16 17:28:41 +00:00
parent 14ded68250
commit ff4a34be27
26 changed files with 1795 additions and 489 deletions

View File

@@ -1,3 +1,15 @@
2000-10-16 Akim Demaille <akim@epita.fr>
* lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
* m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
New files, from Fileutils 4.0.27.
* src/main.c (printable_version): Remove.
* src/lex.c, src/reader.c: Use `quote'.
2000-10-04 Akim Demaille <akim@epita.fr>
* lib/error.c, lib/error.h: New files, needed by xmalloc.c.
2000-10-04 Akim Demaille <akim@epita.fr>
* doc/bison.texinfo: Various typos spotted by Neil Booth.

16
THANKS
View File

@@ -14,3 +14,19 @@ thank them! Please, help us keeping this list up to date.
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:

View File

@@ -66,6 +66,7 @@ AC_FUNC_ALLOCA
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

View File

@@ -6,8 +6,11 @@ noinst_LIBRARIES = libbison.a
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)

261
lib/error.c Normal file
View File

@@ -0,0 +1,261 @@
/* Error handler for noninteractive utilities
Copyright (C) 1990-2000 Free Software Foundation, Inc.
This file is part of the GNU C Library. Its master source is NOT part of
the C library, however. The master source lives in /gd/gnu/lib.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* Written by David MacKenzie <djm@gnu.ai.mit.edu>. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h>
#if HAVE_VPRINTF || HAVE_DOPRNT || _LIBC
# if __STDC__
# include <stdarg.h>
# define VA_START(args, lastarg) va_start(args, lastarg)
# else
# include <varargs.h>
# define VA_START(args, lastarg) va_start(args)
# endif
#else
# define va_alist a1, a2, a3, a4, a5, a6, a7, a8
# define va_dcl char *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8;
#endif
#if STDC_HEADERS || _LIBC
# include <stdlib.h>
# include <string.h>
#else
void exit ();
#endif
#include "error.h"
#ifndef _
# define _(String) String
#endif
/* If NULL, error will flush stdout, then print on stderr the program
name, a colon and a space. Otherwise, error will call this
function without parameters instead. */
void (*error_print_progname) (
#if __STDC__ - 0
void
#endif
);
/* This variable is incremented each time `error' is called. */
unsigned int error_message_count;
#ifdef _LIBC
/* In the GNU C library, there is a predefined variable for this. */
# define program_name program_invocation_name
# include <errno.h>
/* In GNU libc we want do not want to use the common name `error' directly.
Instead make it a weak alias. */
# define error __error
# define error_at_line __error_at_line
#else /* not _LIBC */
/* The calling program should define program_name and set it to the
name of the executing program. */
extern char *program_name;
# ifdef HAVE_STRERROR_R
# define __strerror_r strerror_r
# else
# if HAVE_STRERROR
# ifndef strerror /* On some systems, strerror is a macro */
char *strerror ();
# endif
# else
static char *
private_strerror (errnum)
int errnum;
{
extern char *sys_errlist[];
extern int sys_nerr;
if (errnum > 0 && errnum <= sys_nerr)
return _(sys_errlist[errnum]);
return _("Unknown system error");
}
# define strerror private_strerror
# endif /* HAVE_STRERROR */
# endif /* HAVE_STRERROR_R */
#endif /* not _LIBC */
/* Print the program name and error message MESSAGE, which is a printf-style
format string with optional args.
If ERRNUM is nonzero, print its corresponding system error message.
Exit with status STATUS if it is nonzero. */
/* VARARGS */
void
#if defined VA_START && __STDC__
error (int status, int errnum, const char *message, ...)
#else
error (status, errnum, message, va_alist)
int status;
int errnum;
char *message;
va_dcl
#endif
{
#ifdef VA_START
va_list args;
#endif
if (error_print_progname)
(*error_print_progname) ();
else
{
fflush (stdout);
fprintf (stderr, "%s: ", program_name);
}
#ifdef VA_START
VA_START (args, message);
# if HAVE_VPRINTF || _LIBC
vfprintf (stderr, message, args);
# else
_doprnt (message, args, stderr);
# endif
va_end (args);
#else
fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
#endif
++error_message_count;
if (errnum)
{
#if defined HAVE_STRERROR_R || _LIBC
char errbuf[1024];
# if HAVE_WORKING_STRERROR_R || _LIBC
fprintf (stderr, ": %s", __strerror_r (errnum, errbuf, sizeof errbuf));
# else
/* Don't use __strerror_r's return value because on some systems
(at least DEC UNIX 4.0[A-D]) strerror_r returns `int'. */
__strerror_r (errnum, errbuf, sizeof errbuf);
fprintf (stderr, ": %s", errbuf);
# endif
#else
fprintf (stderr, ": %s", strerror (errnum));
#endif
}
putc ('\n', stderr);
fflush (stderr);
if (status)
exit (status);
}
/* 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

156
lib/error.h Normal file
View File

@@ -0,0 +1,156 @@
/* Declaration for error-reporting function
Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@prep.ai.mit.edu.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifndef _ERROR_H
#define _ERROR_H 1
#ifndef __attribute__
/* This feature is available in gcc versions 2.5 and later. */
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
# define __attribute__(Spec) /* empty */
# endif
/* The __-protected variants of `format' and `printf' attributes
are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
# define __format__ format
# define __printf__ printf
# endif
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if defined (__STDC__) && __STDC__
/* Print a message with `fprintf (stderr, FORMAT, ...)';
if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
If STATUS is nonzero, terminate the program with `exit (STATUS)'. */
extern void error (int status, int errnum, const char *format, ...)
__attribute__ ((__format__ (__printf__, 3, 4)));
extern void error_at_line (int status, int errnum, const char *fname,
unsigned int lineno, const char *format, ...)
__attribute__ ((__format__ (__printf__, 5, 6)));
/* If NULL, error will flush stdout, then print on stderr the program
name, a colon and a space. Otherwise, error will call this
function without parameters instead. */
extern void (*error_print_progname) (void);
#else
void error ();
void error_at_line ();
extern void (*error_print_progname) ();
#endif
/* This variable is incremented each time `error' is called. */
extern unsigned int error_message_count;
/* Sometimes we want to have at most one error per line. This
variable controls whether this mode is selected or not. */
extern int error_one_per_line;
#ifdef __cplusplus
}
#endif
#endif /* error.h */
/* Declaration for error-reporting function
Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@prep.ai.mit.edu.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifndef _ERROR_H
#define _ERROR_H 1
#ifndef __attribute__
/* This feature is available in gcc versions 2.5 and later. */
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
# define __attribute__(Spec) /* empty */
# endif
/* The __-protected variants of `format' and `printf' attributes
are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
# define __format__ format
# define __printf__ printf
# endif
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if defined (__STDC__) && __STDC__
/* Print a message with `fprintf (stderr, FORMAT, ...)';
if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
If STATUS is nonzero, terminate the program with `exit (STATUS)'. */
extern void error (int status, int errnum, const char *format, ...)
__attribute__ ((__format__ (__printf__, 3, 4)));
extern void error_at_line (int status, int errnum, const char *fname,
unsigned int lineno, const char *format, ...)
__attribute__ ((__format__ (__printf__, 5, 6)));
/* If NULL, error will flush stdout, then print on stderr the program
name, a colon and a space. Otherwise, error will call this
function without parameters instead. */
extern void (*error_print_progname) (void);
#else
void error ();
void error_at_line ();
extern void (*error_print_progname) ();
#endif
/* This variable is incremented each time `error' is called. */
extern unsigned int error_message_count;
/* Sometimes we want to have at most one error per line. This
variable controls whether this mode is selected or not. */
extern int error_one_per_line;
#ifdef __cplusplus
}
#endif
#endif /* error.h */

25
lib/quote.c Normal file
View File

@@ -0,0 +1,25 @@
/* Written by Paul Eggert <eggert@twinsun.com> */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <sys/types.h>
#include <quotearg.h>
#include <quote.h>
/* Return an unambiguous printable representated, allocated in slot N,
for NAME, suitable for diagnostics. */
char const *
quote_n (int n, char const *name)
{
return quotearg_n_style (n, locale_quoting_style, name);
}
/* Return an unambiguous printable representation of NAME, suitable
for diagnostics. */
char const *
quote (char const *name)
{
return quote_n (0, name);
}

4
lib/quote.h Normal file
View File

@@ -0,0 +1,4 @@
/* prototypes for quote.c */
char const *quote_n (int n, char const *name);
char const *quote (char const *name);

616
lib/quotearg.c Normal file
View File

@@ -0,0 +1,616 @@
/* quotearg.c - quote arguments for output
Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Paul Eggert <eggert@twinsun.com> */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <sys/types.h>
#include <quotearg.h>
#include <xalloc.h>
#include <ctype.h>
#if ENABLE_NLS
# include <libintl.h>
# define _(text) gettext (text)
#else
# define _(text) text
#endif
#define N_(text) text
#if HAVE_LIMITS_H
# include <limits.h>
#endif
#ifndef CHAR_BIT
# define CHAR_BIT 8
#endif
#ifndef UCHAR_MAX
# define UCHAR_MAX ((unsigned char) -1)
#endif
#if HAVE_C_BACKSLASH_A
# define ALERT_CHAR '\a'
#else
# define ALERT_CHAR '\7'
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#if HAVE_STRING_H
# include <string.h>
#endif
#if HAVE_WCHAR_H
# include <wchar.h>
#endif
#if HAVE_MBRTOWC
size_t mbrtowc ();
# ifdef mbstate_t
# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
# define mbsinit(ps) 1
# endif
#else
/* Disable multibyte processing entirely. Since MB_CUR_MAX is 1, the
other macros are defined only for documentation and to satisfy C
syntax. */
# undef MB_CUR_MAX
# define MB_CUR_MAX 1
# define mbrtowc(pwc, s, n, ps) ((*(pwc) = *(s)) != 0)
# define mbsinit(ps) 1
# define iswprint(wc) ISPRINT ((unsigned char) (wc))
#endif
#ifndef iswprint
# if HAVE_WCTYPE_H
# include <wctype.h>
# endif
# if !defined iswprint && !HAVE_ISWPRINT
# define iswprint(wc) 1
# endif
#endif
#define INT_BITS (sizeof (int) * CHAR_BIT)
#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
# define IN_CTYPE_DOMAIN(c) 1
#else
# define IN_CTYPE_DOMAIN(c) isascii(c)
#endif
/* Undefine to protect against the definition in wctype.h of solaris2.6. */
#undef ISPRINT
#define ISPRINT(c) (IN_CTYPE_DOMAIN (c) && isprint (c))
struct quoting_options
{
/* Basic quoting style. */
enum quoting_style style;
/* Quote the characters indicated by this bit vector even if the
quoting style would not normally require them to be quoted. */
int quote_these_too[(UCHAR_MAX / INT_BITS) + 1];
};
/* Names of quoting styles. */
char const *const quoting_style_args[] =
{
"literal",
"shell",
"shell-always",
"c",
"escape",
"locale",
"clocale",
0
};
/* Correspondences to quoting style names. */
enum quoting_style const quoting_style_vals[] =
{
literal_quoting_style,
shell_quoting_style,
shell_always_quoting_style,
c_quoting_style,
escape_quoting_style,
locale_quoting_style,
clocale_quoting_style
};
/* The default quoting options. */
static struct quoting_options default_quoting_options;
/* Allocate a new set of quoting options, with contents initially identical
to O if O is not null, or to the default if O is null.
It is the caller's responsibility to free the result. */
struct quoting_options *
clone_quoting_options (struct quoting_options *o)
{
struct quoting_options *p
= (struct quoting_options *) xmalloc (sizeof (struct quoting_options));
*p = *(o ? o : &default_quoting_options);
return p;
}
/* Get the value of O's quoting style. If O is null, use the default. */
enum quoting_style
get_quoting_style (struct quoting_options *o)
{
return (o ? o : &default_quoting_options)->style;
}
/* In O (or in the default if O is null),
set the value of the quoting style to S. */
void
set_quoting_style (struct quoting_options *o, enum quoting_style s)
{
(o ? o : &default_quoting_options)->style = s;
}
/* In O (or in the default if O is null),
set the value of the quoting options for character C to I.
Return the old value. Currently, the only values defined for I are
0 (the default) and 1 (which means to quote the character even if
it would not otherwise be quoted). */
int
set_char_quoting (struct quoting_options *o, char c, int i)
{
unsigned char uc = c;
int *p = (o ? o : &default_quoting_options)->quote_these_too + uc / INT_BITS;
int shift = uc % INT_BITS;
int r = (*p >> shift) & 1;
*p ^= ((i & 1) ^ r) << shift;
return r;
}
/* MSGID approximates a quotation mark. Return its translation if it
has one; otherwise, return either it or "\"", depending on S. */
static char const *
gettext_quote (char const *msgid, enum quoting_style s)
{
char const *translation = _(msgid);
if (translation == msgid && s == clocale_quoting_style)
translation = "\"";
return translation;
}
/* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of
argument ARG (of size ARGSIZE), using QUOTING_STYLE and the
non-quoting-style part of O to control quoting.
Terminate the output with a null character, and return the written
size of the output, not counting the terminating null.
If BUFFERSIZE is too small to store the output string, return the
value that would have been returned had BUFFERSIZE been large enough.
If ARGSIZE is -1, use the string length of the argument for ARGSIZE.
This function acts like quotearg_buffer (BUFFER, BUFFERSIZE, ARG,
ARGSIZE, O), except it uses QUOTING_STYLE instead of the quoting
style specified by O, and O may not be null. */
static size_t
quotearg_buffer_restyled (char *buffer, size_t buffersize,
char const *arg, size_t argsize,
enum quoting_style quoting_style,
struct quoting_options const *o)
{
size_t i;
size_t len = 0;
char const *quote_string = 0;
size_t quote_string_len = 0;
int backslash_escapes = 0;
int unibyte_locale = MB_CUR_MAX == 1;
#define STORE(c) \
do \
{ \
if (len < buffersize) \
buffer[len] = (c); \
len++; \
} \
while (0)
switch (quoting_style)
{
case c_quoting_style:
STORE ('"');
backslash_escapes = 1;
quote_string = "\"";
quote_string_len = 1;
break;
case escape_quoting_style:
backslash_escapes = 1;
break;
case locale_quoting_style:
case clocale_quoting_style:
{
/* Get translations for open and closing quotation marks.
The message catalog should translate "`" to a left
quotation mark suitable for the locale, and similarly for
"'". If the catalog has no translation,
locale_quoting_style quotes `like this', and
clocale_quoting_style quotes "like this".
For example, an American English Unicode locale should
translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
MARK). A British English Unicode locale should instead
translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. */
char const *left = gettext_quote (N_("`"), quoting_style);
char const *right = gettext_quote (N_("'"), quoting_style);
for (quote_string = left; *quote_string; quote_string++)
STORE (*quote_string);
backslash_escapes = 1;
quote_string = right;
quote_string_len = strlen (quote_string);
}
break;
case shell_always_quoting_style:
STORE ('\'');
quote_string = "'";
quote_string_len = 1;
break;
default:
break;
}
for (i = 0; ! (argsize == (size_t) -1 ? arg[i] == '\0' : i == argsize); i++)
{
unsigned char c;
unsigned char esc;
if (backslash_escapes
&& quote_string_len
&& i + quote_string_len <= argsize
&& memcmp (arg + i, quote_string, quote_string_len) == 0)
STORE ('\\');
c = arg[i];
switch (c)
{
case '?':
switch (quoting_style)
{
case shell_quoting_style:
goto use_shell_always_quoting_style;
case c_quoting_style:
if (i + 2 < argsize && arg[i + 1] == '?')
switch (arg[i + 2])
{
case '!': case '\'':
case '(': case ')': case '-': case '/':
case '<': case '=': case '>':
/* Escape the second '?' in what would otherwise be
a trigraph. */
i += 2;
c = arg[i + 2];
STORE ('?');
STORE ('\\');
STORE ('?');
break;
}
break;
default:
break;
}
break;
case ALERT_CHAR: esc = 'a'; goto c_escape;
case '\b': esc = 'b'; goto c_escape;
case '\f': esc = 'f'; goto c_escape;
case '\n': esc = 'n'; goto c_and_shell_escape;
case '\r': esc = 'r'; goto c_and_shell_escape;
case '\t': esc = 't'; goto c_and_shell_escape;
case '\v': esc = 'v'; goto c_escape;
case '\\': esc = c; goto c_and_shell_escape;
c_and_shell_escape:
if (quoting_style == shell_quoting_style)
goto use_shell_always_quoting_style;
c_escape:
if (backslash_escapes)
{
c = esc;
goto store_escape;
}
break;
case '#': case '~':
if (i != 0)
break;
/* Fall through. */
case ' ':
case '!': /* special in bash */
case '"': case '$': case '&':
case '(': case ')': case '*': case ';':
case '<': case '>': case '[':
case '^': /* special in old /bin/sh, e.g. SunOS 4.1.4 */
case '`': case '|':
/* A shell special character. In theory, '$' and '`' could
be the first bytes of multibyte characters, which means
we should check them with mbrtowc, but in practice this
doesn't happen so it's not worth worrying about. */
if (quoting_style == shell_quoting_style)
goto use_shell_always_quoting_style;
break;
case '\'':
switch (quoting_style)
{
case shell_quoting_style:
goto use_shell_always_quoting_style;
case shell_always_quoting_style:
STORE ('\'');
STORE ('\\');
STORE ('\'');
break;
default:
break;
}
break;
case '%': case '+': case ',': case '-': case '.': case '/':
case '0': case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9': case ':': case '=':
case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
case 'Y': case 'Z': case ']': case '_': case 'a': case 'b':
case 'c': case 'd': case 'e': case 'f': case 'g': case 'h':
case 'i': case 'j': case 'k': case 'l': case 'm': case 'n':
case 'o': case 'p': case 'q': case 'r': case 's': case 't':
case 'u': case 'v': case 'w': case 'x': case 'y': case 'z':
case '{': case '}':
/* These characters don't cause problems, no matter what the
quoting style is. They cannot start multibyte sequences. */
break;
default:
/* If we have a multibyte sequence, copy it until we reach
its end, find an error, or come back to the initial shift
state. For C-like styles, if the sequence has
unprintable characters, escape the whole sequence, since
we can't easily escape single characters within it. */
{
/* Length of multibyte sequence found so far. */
size_t m;
int printable;
if (unibyte_locale)
{
m = 1;
printable = ISPRINT (c);
}
else
{
mbstate_t mbstate;
memset (&mbstate, 0, sizeof mbstate);
m = 0;
printable = 1;
if (argsize == (size_t) -1)
argsize = strlen (arg);
do
{
wchar_t w;
size_t bytes = mbrtowc (&w, &arg[i + m],
argsize - (i + m), &mbstate);
if (bytes == 0)
break;
else if (bytes == (size_t) -1)
{
printable = 0;
break;
}
else if (bytes == (size_t) -2)
{
printable = 0;
while (i + m < argsize && arg[i + m])
m++;
break;
}
else
{
if (! iswprint (w))
printable = 0;
m += bytes;
}
}
while (! mbsinit (&mbstate));
}
if (1 < m || (backslash_escapes && ! printable))
{
/* Output a multibyte sequence, or an escaped
unprintable unibyte character. */
size_t ilim = i + m;
for (;;)
{
if (backslash_escapes && ! printable)
{
STORE ('\\');
STORE ('0' + (c >> 6));
STORE ('0' + ((c >> 3) & 7));
c = '0' + (c & 7);
}
if (ilim <= i + 1)
break;
STORE (c);
c = arg[++i];
}
goto store_c;
}
}
}
if (! (backslash_escapes
&& o->quote_these_too[c / INT_BITS] & (1 << (c % INT_BITS))))
goto store_c;
store_escape:
STORE ('\\');
store_c:
STORE (c);
}
if (quote_string)
for (; *quote_string; quote_string++)
STORE (*quote_string);
if (len < buffersize)
buffer[len] = '\0';
return len;
use_shell_always_quoting_style:
return quotearg_buffer_restyled (buffer, buffersize, arg, argsize,
shell_always_quoting_style, o);
}
/* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of
argument ARG (of size ARGSIZE), using O to control quoting.
If O is null, use the default.
Terminate the output with a null character, and return the written
size of the output, not counting the terminating null.
If BUFFERSIZE is too small to store the output string, return the
value that would have been returned had BUFFERSIZE been large enough.
If ARGSIZE is -1, use the string length of the argument for ARGSIZE. */
size_t
quotearg_buffer (char *buffer, size_t buffersize,
char const *arg, size_t argsize,
struct quoting_options const *o)
{
struct quoting_options const *p = o ? o : &default_quoting_options;
return quotearg_buffer_restyled (buffer, buffersize, arg, argsize,
p->style, p);
}
/* Use storage slot N to return a quoted version of the string ARG.
OPTIONS specifies the quoting options.
The returned value points to static storage that can be
reused by the next call to this function with the same value of N.
N must be nonnegative. N is deliberately declared with type "int"
to allow for future extensions (using negative values). */
static char *
quotearg_n_options (int n, char const *arg,
struct quoting_options const *options)
{
/* Preallocate a slot 0 buffer, so that the caller can always quote
one small component of a "memory exhausted" message in slot 0. */
static char slot0[256];
static unsigned int nslots = 1;
struct slotvec
{
size_t size;
char *val;
};
static struct slotvec slotvec0 = {sizeof slot0, slot0};
static struct slotvec *slotvec = &slotvec0;
if (nslots <= n)
{
int n1 = n + 1;
size_t s = n1 * sizeof (struct slotvec);
if (! (0 < n1 && n1 == s / sizeof (struct slotvec)))
abort ();
if (slotvec == &slotvec0)
{
slotvec = (struct slotvec *) xmalloc (sizeof (struct slotvec));
*slotvec = slotvec0;
}
slotvec = (struct slotvec *) xrealloc (slotvec, s);
memset (slotvec + nslots, 0, (n1 - nslots) * sizeof (struct slotvec));
nslots = n;
}
{
size_t size = slotvec[n].size;
char *val = slotvec[n].val;
size_t qsize = quotearg_buffer (val, size, arg, (size_t) -1, options);
if (size <= qsize)
{
slotvec[n].size = size = qsize + 1;
slotvec[n].val = val = xrealloc (val == slot0 ? 0 : val, size);
quotearg_buffer (val, size, arg, (size_t) -1, options);
}
return val;
}
}
char *
quotearg_n (unsigned int n, char const *arg)
{
return quotearg_n_options (n, arg, &default_quoting_options);
}
char *
quotearg (char const *arg)
{
return quotearg_n (0, arg);
}
char *
quotearg_n_style (unsigned int n, enum quoting_style s, char const *arg)
{
struct quoting_options o;
o.style = s;
memset (o.quote_these_too, 0, sizeof o.quote_these_too);
return quotearg_n_options (n, arg, &o);
}
char *
quotearg_style (enum quoting_style s, char const *arg)
{
return quotearg_n_style (0, s, arg);
}
char *
quotearg_char (char const *arg, char ch)
{
struct quoting_options options;
options = default_quoting_options;
set_char_quoting (&options, ch, 1);
return quotearg_n_options (0, arg, &options);
}
char *
quotearg_colon (char const *arg)
{
return quotearg_char (arg, ':');
}

110
lib/quotearg.h Normal file
View File

@@ -0,0 +1,110 @@
/* quotearg.h - quote arguments for output
Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Paul Eggert <eggert@twinsun.com> */
/* Basic quoting styles. */
enum quoting_style
{
literal_quoting_style, /* --quoting-style=literal */
shell_quoting_style, /* --quoting-style=shell */
shell_always_quoting_style, /* --quoting-style=shell-always */
c_quoting_style, /* --quoting-style=c */
escape_quoting_style, /* --quoting-style=escape */
locale_quoting_style, /* --quoting-style=locale */
clocale_quoting_style /* --quoting-style=clocale */
};
/* For now, --quoting-style=literal is the default, but this may change. */
#ifndef DEFAULT_QUOTING_STYLE
# define DEFAULT_QUOTING_STYLE literal_quoting_style
#endif
/* Names of quoting styles and their corresponding values. */
extern char const *const quoting_style_args[];
extern enum quoting_style const quoting_style_vals[];
struct quoting_options;
#ifndef PARAMS
# if defined PROTOTYPES || defined __STDC__
# define PARAMS(Args) Args
# else
# define PARAMS(Args) ()
# endif
#endif
/* The functions listed below set and use a hidden variable
that contains the default quoting style options. */
/* Allocate a new set of quoting options, with contents initially identical
to O if O is not null, or to the default if O is null.
It is the caller's responsibility to free the result. */
struct quoting_options *clone_quoting_options
PARAMS ((struct quoting_options *o));
/* Get the value of O's quoting style. If O is null, use the default. */
enum quoting_style get_quoting_style PARAMS ((struct quoting_options *o));
/* In O (or in the default if O is null),
set the value of the quoting style to S. */
void set_quoting_style PARAMS ((struct quoting_options *o,
enum quoting_style s));
/* In O (or in the default if O is null),
set the value of the quoting options for character C to I.
Return the old value. Currently, the only values defined for I are
0 (the default) and 1 (which means to quote the character even if
it would not otherwise be quoted). */
int set_char_quoting PARAMS ((struct quoting_options *o, char c, int i));
/* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of
argument ARG (of size ARGSIZE), using O to control quoting.
If O is null, use the default.
Terminate the output with a null character, and return the written
size of the output, not counting the terminating null.
If BUFFERSIZE is too small to store the output string, return the
value that would have been returned had BUFFERSIZE been large enough.
If ARGSIZE is -1, use the string length of the argument for ARGSIZE. */
size_t quotearg_buffer PARAMS ((char *buffer, size_t buffersize,
char const *arg, size_t argsize,
struct quoting_options const *o));
/* Use storage slot N to return a quoted version of the string ARG.
Use the default quoting options.
The returned value points to static storage that can be
reused by the next call to this function with the same value of N.
N must be nonnegative. */
char *quotearg_n PARAMS ((unsigned int n, char const *arg));
/* Equivalent to quotearg_n (0, ARG). */
char *quotearg PARAMS ((char const *arg));
/* Use style S and storage slot N to return a quoted version of the string ARG.
This is like quotearg_n (N, ARG), except that it uses S with no other
options to specify the quoting method. */
char *quotearg_n_style PARAMS ((unsigned int n, enum quoting_style s,
char const *arg));
/* Equivalent to quotearg_n_style (0, S, ARG). */
char *quotearg_style PARAMS ((enum quoting_style s, char const *arg));
/* Like quotearg (ARG), except also quote any instances of CH. */
char *quotearg_char PARAMS ((char const *arg, char ch));
/* Equivalent to quotearg_char (ARG, ':'). */
char *quotearg_colon PARAMS ((char const *arg));

View File

@@ -1,11 +1,14 @@
## 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

23
m4/c-bs-a.m4 Normal file
View File

@@ -0,0 +1,23 @@
#serial 3
dnl From Paul Eggert.
AC_DEFUN(AC_C_BACKSLASH_A,
[
AC_CACHE_CHECK([whether backslash-a works in strings], ac_cv_c_backslash_a,
[AC_TRY_COMPILE([],
[
#if '\a' == 'a'
syntax error;
#endif
char buf['\a' == 'a' ? -1 : 1];
buf[0] = '\a';
return buf[0] != "\a"[0];
],
ac_cv_c_backslash_a=yes,
ac_cv_c_backslash_a=no)])
if test $ac_cv_c_backslash_a = yes; then
AC_DEFINE(HAVE_C_BACKSLASH_A, 1,
[Define if backslash-a works in C strings.])
fi
])

29
m4/mbstate_t.m4 Normal file
View File

@@ -0,0 +1,29 @@
# serial 8
# From Paul Eggert.
# BeOS 5 has <wchar.h> but does not define mbstate_t,
# so you can't declare an object of that type.
# Check for this incompatibility with Standard C.
# Include stdlib.h first, because otherwise this test would fail on Linux
# (at least glibc-2.1.3) because the "_XOPEN_SOURCE 500" definition elicits
# a syntax error in wchar.h due to the use of undefined __int32_t.
AC_DEFUN(AC_MBSTATE_T,
[
AC_CHECK_HEADERS(stdlib.h)
AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t,
[AC_TRY_COMPILE([
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#include <wchar.h>],
[mbstate_t x; return sizeof x;],
ac_cv_type_mbstate_t=yes,
ac_cv_type_mbstate_t=no)])
if test $ac_cv_type_mbstate_t = no; then
AC_DEFINE(mbstate_t, int,
[Define to a type if <wchar.h> does not define.])
fi])

14
m4/prereq.m4 Normal file
View File

@@ -0,0 +1,14 @@
#serial 1
dnl These are the prerequisite macros for files in the lib/
dnl directories of Bison.
AC_DEFUN([jm_PREREQ_QUOTEARG],
[
AC_CHECK_FUNCS(isascii iswprint mbrtowc)
AC_CHECK_HEADERS(limits.h stdlib.h string.h wchar.h wctype.h)
AC_HEADER_STDC
AC_C_BACKSLASH_A
AC_MBSTATE_T
AM_C_PROTOTYPES
])

126
po/de.po
View File

@@ -5,7 +5,7 @@
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"
@@ -204,30 +204,30 @@ msgstr "%s: zus
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«"
@@ -249,7 +249,7 @@ msgstr "unerwarteter Typname am Ende der Datei"
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"
@@ -351,234 +351,229 @@ msgstr " auf der linken Seite:"
msgid " on right:"
msgstr " auf der rechten Seite:"
#: src/reader.c:81
#: src/reader.c:80
msgid " Skipping to next \\n"
msgstr " Überspringe Zeichen bis zum nächsten \\n"
#: 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"
@@ -738,6 +733,9 @@ msgstr "%s: die Option
msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: die Option »--%s« erlaubt kein Argument\n"
#~ msgid "$%s is invalid"
#~ msgstr "$%s ist unzulässig"
#~ msgid "%s: memory exhausted\n"
#~ msgstr "%s: Hauptspeicher erschöpft\n"

126
po/es.po
View File

@@ -30,7 +30,7 @@
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"
@@ -264,30 +264,30 @@ msgid "too many gotos (max %d)"
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'"
@@ -310,7 +310,7 @@ msgstr "nombre de tipo sin terminar al final del fichero"
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"
@@ -421,86 +421,86 @@ msgstr " en la izquierda:"
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"
@@ -509,7 +509,7 @@ msgstr "redefinici
# de "to must" y aquí se emplea en su forma condicional. Por eso, he
# cambiado `debe' por `debería' - cll
# ahí me has pillado en un olvido del inglés - ngp
#: src/reader.c:601
#: src/reader.c:604
#, c-format
msgid "invalid text (%s) - number should be after identifier"
msgstr ""
@@ -519,18 +519,18 @@ msgstr ""
# otras, como `inesperado'. Cualquiera es correcta, por supuesto y, en
# este caso, la segunda me parece más apropiada - cll
# ok - ngp
#: 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"
@@ -541,136 +541,131 @@ 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"
@@ -866,6 +861,9 @@ msgstr "%s: la opci
msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: la opción `--%s' no admite ningún argumento\n"
#~ msgid "$%s is invalid"
#~ msgstr "$%s no es válida"
#~ msgid "%s: memory exhausted\n"
#~ msgstr "%s: memoria agotada\n"

126
po/et.po
View File

@@ -5,7 +5,7 @@
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"
@@ -229,28 +229,28 @@ msgstr "%s: ignoreerin lisaargumente peale `%s'\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'"
@@ -272,7 +272,7 @@ msgstr "l
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"
@@ -374,230 +374,225 @@ msgstr " vasakul:"
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"
@@ -757,6 +752,9 @@ msgstr "%s: v
msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: võti `-W %s' ei luba argumenti\n"
#~ msgid "$%s is invalid"
#~ msgstr "$%s on vigane"
#~ msgid "%s: memory exhausted\n"
#~ msgstr "%s: mälu on otsas\n"

126
po/fr.po
View File

@@ -5,7 +5,7 @@
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"
@@ -211,29 +211,29 @@ msgstr "%s: param
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"
@@ -255,7 +255,7 @@ msgstr "le nom de type ne se termine pas avant la fin de fichier"
msgid "unterminated type name"
msgstr "le nom de type ne se termine pas"
#: src/main.c:123
#: src/main.c:104
#, fuzzy, c-format
msgid "%s: internal error: %s\n"
msgstr "erreur interne, %s\n"
@@ -357,232 +357,227 @@ msgstr "
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"
@@ -742,6 +737,9 @@ msgstr "%s: l'option %s est ambig
msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: l'option --%s n'admet pas de paramètre\n"
#~ msgid "$%s is invalid"
#~ msgstr "$%s n'est pas valide"
#~ msgid "%s: memory exhausted\n"
#~ msgstr "%s: mémoire épuisée\n"

126
po/ja.po
View File

@@ -5,7 +5,7 @@
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"
@@ -210,29 +210,29 @@ msgstr "%s: '%s'
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'"
@@ -254,7 +254,7 @@ msgstr "
msgid "unterminated type name"
msgstr "閉じられていないタイプ名があります"
#: src/main.c:123
#: src/main.c:104
#, c-format
msgid "%s: internal error: %s\n"
msgstr "%s: 内部エラー: %s\n"
@@ -356,231 +356,226 @@ msgstr "
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 はトークンです"
@@ -740,6 +735,9 @@ 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"

126
po/nl.po
View File

@@ -5,7 +5,7 @@
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"
@@ -210,29 +210,29 @@ msgstr "%s: extra argumenten genegeerd na '%s'\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'"
@@ -254,7 +254,7 @@ msgstr "niet getermineerd type naam aan het einde van bestand"
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"
@@ -356,232 +356,227 @@ msgstr " links:"
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"
@@ -741,6 +736,9 @@ msgstr "%s: optie `%s' is niet eenduidig\n"
msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: optie `--%s' staat geen argument toe\n"
#~ msgid "$%s is invalid"
#~ msgstr "$%s is onjuist"
#~ msgid "%s: memory exhausted\n"
#~ msgstr "%s: geen geheugen meer beschikbaar\n"

126
po/ru.po
View File

@@ -5,7 +5,7 @@
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"
@@ -231,28 +231,28 @@ msgstr "%s:
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'"
@@ -274,7 +274,7 @@ msgstr "
msgid "unterminated type name"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÉÍÑ ÔÉÐÁ"
#: src/main.c:123
#: src/main.c:104
#, c-format
msgid "%s: internal error: %s\n"
msgstr "%s: ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ: %s\n"
@@ -376,229 +376,224 @@ msgstr "
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 Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
@@ -758,6 +753,9 @@ 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"

View File

@@ -27,9 +27,7 @@
#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;
@@ -238,8 +236,10 @@ literalchar (char **pp, int *pcode, char term)
}
else
{
char buf [] = "c";
buf[0] = c;
complain (_("unknown escape sequence: `\\' followed by `%s'"),
printable_version (c));
quote (buf));
code = '?';
}
} /* has \ */

View File

@@ -39,8 +39,6 @@ char *program_name;
extern void berror PARAMS((const char *));
extern char *printable_version PARAMS ((int));
int
main (int argc, char *argv[])
{
@@ -98,23 +96,6 @@ main (int argc, char *argv[])
exit (complain_message_count ? 1 : 0);
}
/* 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

View File

@@ -31,8 +31,7 @@
#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;
@@ -266,7 +265,11 @@ copy_at (FILE *fin, FILE *fout, int stack_offset)
locations_flag = 1;
}
else
complain (_("@%s is invalid"), printable_version (c));
{
char buf[] = "@c";
buf[1] = c;
complain (_("%s is invalid"), quote (buf));
}
}
/*-------------------------------------------------------------------.
@@ -702,7 +705,7 @@ static void
parse_expect_decl (void)
{
int c;
int count;
size_t count;
char buffer[20];
c = getc (finput);
@@ -898,7 +901,9 @@ read_declarations (void)
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 ('%');
}
}
@@ -1010,7 +1015,11 @@ copy_action (symbol_list * rule, int stack_offset)
continue;
}
else
complain (_("$%s is invalid"), printable_version (c));
{
char buf[] = "$c";
buf[1] = c;
complain (_("%s is invalid"), quote (buf));
}
break;
@@ -1159,7 +1168,11 @@ copy_guard (symbol_list * rule, int stack_offset)
continue;
}
else
complain (_("$%s is invalid"), printable_version (c));
{
char buf[] = "$c";
buf[1] = c;
complain (_("%s is invalid"), quote (buf));
}
break;
case '@':
@@ -1296,9 +1309,11 @@ readgram (void)
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;
@@ -1309,7 +1324,8 @@ readgram (void)
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;
@@ -1473,9 +1489,7 @@ readgram (void)
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 ();
@@ -1561,7 +1575,8 @@ readgram (void)
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,
@@ -1579,7 +1594,7 @@ readgram (void)
{
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++;
}

View File

@@ -23,3 +23,28 @@
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_ */

View File

@@ -24,3 +24,29 @@ exp: '(' exp ')' | NUM ;
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.*)