mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
* 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:
12
ChangeLog
12
ChangeLog
@@ -1,3 +1,15 @@
|
||||
2000-10-16 Akim Demaille <akim@epita.fr>
|
||||
|
||||
* lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
|
||||
* m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
|
||||
New files, from Fileutils 4.0.27.
|
||||
* src/main.c (printable_version): Remove.
|
||||
* src/lex.c, src/reader.c: Use `quote'.
|
||||
|
||||
2000-10-04 Akim Demaille <akim@epita.fr>
|
||||
|
||||
* lib/error.c, lib/error.h: New files, needed by xmalloc.c.
|
||||
|
||||
2000-10-04 Akim Demaille <akim@epita.fr>
|
||||
|
||||
* doc/bison.texinfo: Various typos spotted by Neil Booth.
|
||||
|
||||
16
THANKS
16
THANKS
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
261
lib/error.c
Normal 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
156
lib/error.h
Normal 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
25
lib/quote.c
Normal 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
4
lib/quote.h
Normal 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
616
lib/quotearg.c
Normal 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
110
lib/quotearg.h
Normal 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));
|
||||
@@ -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
23
m4/c-bs-a.m4
Normal 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
29
m4/mbstate_t.m4
Normal 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
14
m4/prereq.m4
Normal 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
126
po/de.po
@@ -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
126
po/es.po
@@ -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
126
po/et.po
@@ -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
126
po/fr.po
@@ -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
126
po/ja.po
@@ -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
126
po/nl.po
@@ -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
126
po/ru.po
@@ -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"
|
||||
|
||||
|
||||
@@ -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 \ */
|
||||
|
||||
19
src/main.c
19
src/main.c
@@ -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
|
||||
|
||||
47
src/reader.c
47
src/reader.c
@@ -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++;
|
||||
}
|
||||
|
||||
@@ -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_ */
|
||||
|
||||
@@ -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.*)
|
||||
|
||||
Reference in New Issue
Block a user