Compare commits

...
29 Commits
Author SHA1 Message Date
Akim Demaille 36791b5576 Version 1.30h. 2001-12-18 09:46:36 +00:00
Akim Demaille dba44a1367 Update. 2001-12-18 09:42:58 +00:00
Akim Demaille d4593e87be Some host fail on `assert (!"foo")', which expands to
((!"foo") ? (void)0 : __assert("!"foo."", __FILE__, __LINE__))
Reported by Nelson Beebee.
* src/output.c, src/vcg.c: Replace `assert (!"it succeeded")' with
`#define it_succeeded 0' and `assert (it_succeeded)'.
2001-12-18 09:33:23 +00:00
Paul Eggert 6b1ec1fb33 * src/bison.simple (YYSTD): New macro.
(YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE, YYFPRINTF, YYSTDERR): Use
it to simplify macros, and fix some C++ porting problems reported
by Hans Aberg.
2001-12-17 23:51:46 +00:00
Paul Eggert bfb74f79b8 (YYSTD): New macro.
(YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE, YYFPRINTF, YYSTDERR): Use it to
simplify macros, and fix some C++ porting problems reported by Hans Aberg.
2001-12-17 23:50:16 +00:00
Paul Eggert c520f816b1 * src/output.c (output): Define YYDEBUG to 0 if it is not defined
and if we are not debugging.  POSIX requires this.
* NEWS, doc/bison.texinfo, doc/bison.1, doc/bison.rnh: Document this.

* src/output.c (output_gram, output_rule_data): Do not assume that
the user defines YYDEBUG to a properly parenthesized expression.
2001-12-17 18:49:14 +00:00
Paul Eggert cc6ed5f7f1 Define YYDEBUG to 0 if it is not defined and if we are not debugging.
POSIX requires this.
2001-12-17 18:48:43 +00:00
Paul Eggert ac28f67c0b (output): Define YYDEBUG to 0 if it is not defined and if we are not
debugging.  POSIX requires this.

(output_gram, output_rule_data): Do not assume that
the user defines YYDEBUG to a properly parenthesized expression.
2001-12-17 18:45:59 +00:00
Akim Demaille f30e1ab65c * src/nullable.c (set_nullable): Useless rules must be skipped,
otherwise, since we range over their symbols, we might look at a
nonterminal which no longer ``exists'', i.e., it is not counted in
`nvars', hence we overflow our arrays.
2001-12-15 16:22:13 +00:00
Akim Demaille 52e9776027 * src/reader.c (copy_action): When --yacc, don't append a `;'
to the user action: let it fail if lacking.
Suggested by Aharon Robbins and Tom Tromey.
2001-12-15 11:07:56 +00:00
Akim Demaille 21292982fe Regen. 2001-12-15 10:59:00 +00:00
Akim Demaille 9f0938ad32 Bump to 1.30h. 2001-12-13 12:07:48 +00:00
Akim Demaille cb948818d0 . 2001-12-13 11:18:19 +00:00
Akim Demaille c0760f18e0 Version 1.30g. 2001-12-13 11:14:19 +00:00
Akim Demaille c884affb0b Update. 2001-12-13 11:06:18 +00:00
Akim Demaille f7e7f57941 The computation of nullable is broken: it doesn't handle empty
RHS's properly.
* tests/torture.at (GNU AWK Grammar): New.
* tests/sets.at (Nullable): New.
* src/nullable.c (set_nullable): Instead of blindly looping over
`ritems', loop over the rules, and then over their rhs's.
Work around Autotest bugs.
* src/warshall.c (bitmatrix_print): Don't use `+--+' as table
frame, because Autotest understand lines starting with a `+' as
traces from the shell.  Then, they are not processed properly.
Admittedly an Autotest bug, but we don't have time to wait for
Autotest to catch up.
* tests/regression.at (Broken Closure): Adjust to the new table
frames.
Move to...
* tests/sets.at: here.
2001-12-13 10:59:37 +00:00
Paul Eggert d1210d1d6e Document YYPRINTF, YYSTDERR. 2001-12-13 02:45:14 +00:00
Paul Eggert d5c2eff246 * src/bison.simple (YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE):
Do not infringe on the global user namespace when using C++.
	(YYFPRINTF, YYSTDERR): New macros, needed for the above.
	All uses of `fprintf' and `stderr' changed.

	* src/output.c (output): Do not output "#include <stdio.h>"; that
	is bison.simple's job.  stdio.h should be included only if
	necessary, to avoid infringing on the user name space when
	possible.
2001-12-13 02:22:05 +00:00
Paul Eggert b59b91bb6e (output): Do not output "#include <stdio.h>"; that is bison.simple's
job.  stdio.h should be included only if necessary, to avoid
infringing on the user name space when possible.
2001-12-13 02:21:12 +00:00
Paul Eggert 63e75f2e38 (YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE):
Do not infringe on the global user namespace when using C++.
(YYFPRINTF, YYSTDERR): New macros, needed for the above.
All uses of `fprintf' and `stderr' changed.
2001-12-13 02:20:28 +00:00
Akim Demaille 69dc1147ba * src/complain.h, src/complain.c: Remove error_one_per_line, rely
on that of lib/error.c.
2001-12-12 15:21:59 +00:00
Akim Demaille 3d9d5d34ff Regen. 2001-12-12 15:19:25 +00:00
Akim Demaille 701d80ffa0 Regen. 2001-12-12 12:01:09 +00:00
Akim Demaille 88f06d2beb Some hosts don't like `/' in includes.
* src/system.h: Include libgettext.h without qualifying the path.
* src/Makefile.am (INCLUDES): Add $(top_srcdir)/intl, remove
$(top_srcdir).
2001-12-12 11:55:56 +00:00
Akim Demaille daa938e7f0 Regen. 2001-12-12 11:55:29 +00:00
Akim Demaille ed45e93ed8 Bison dumps core on bash.y.
Reported by Pascal Bart.
* src/warshall.c (bitmatrix_print): New.
(TC): Use it.
When performing a transitive closure R(i, j) && R(j, k) => R(i,	k),
j must be the outer loop.
* tests/regression.at (Broken Closure): New.
2001-12-10 08:43:38 +00:00
Akim Demaille 74d757ab92 Fix an es.po problem. 2001-12-06 14:24:41 +00:00
Akim Demaille 4be25f1591 Version 1.30g. 2001-12-05 15:24:53 +00:00
Akim Demaille b7008317cf . 2001-12-05 12:01:24 +00:00
38 changed files with 1392 additions and 707 deletions
+102
View File
@@ -1,3 +1,105 @@
2001-12-18 Akim Demaille <[email protected]>
Version 1.30h.
2001-12-18 Akim Demaille <[email protected]>
Some host fail on `assert (!"foo")', which expands to
((!"foo") ? (void)0 : __assert("!"foo."", __FILE__, __LINE__))
Reported by Nelson Beebee.
* src/output.c, src/vcg.c: Replace `assert (!"it succeeded")' with
`#define it_succeeded 0' and `assert (it_succeeded)'.
2001-12-17 Paul Eggert <[email protected]>
* src/bison.simple (YYSTD): New macro.
(YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE, YYFPRINTF, YYSTDERR): Use
it to simplify macros, and fix some C++ porting problems reported
by Hans Aberg.
* src/output.c (output): Define YYDEBUG to 0 if it is not defined
and if we are not debugging. POSIX requires this.
* NEWS, doc/bison.texinfo, doc/bison.1, doc/bison.rnh: Document this.
* src/output.c (output_gram, output_rule_data): Do not assume that
the user defines YYDEBUG to a properly parenthesized expression.
2001-12-15 Akim Demaille <[email protected]>
* src/nullable.c (set_nullable): Useless rules must be skipped,
otherwise, since we range over their symbols, we might look at a
nonterminal which no longer ``exists'', i.e., it is not counted in
`nvars', hence we overflow our arrays.
2001-12-15 Akim Demaille <[email protected]>
* src/reader.c (copy_action): When --yacc, don't append a `;'
to the user action: let it fail if lacking.
Suggested by Aharon Robbins and Tom Tromey.
2001-12-13 Akim Demaille <[email protected]>
Version 1.30g.
2001-12-13 Akim Demaille <[email protected]>
The computation of nullable is broken: it doesn't handle empty
RHS's properly.
* tests/torture.at (GNU AWK Grammar): New.
* tests/sets.at (Nullable): New.
* src/nullable.c (set_nullable): Instead of blindly looping over
`ritems', loop over the rules, and then over their rhs's.
Work around Autotest bugs.
* src/warshall.c (bitmatrix_print): Don't use `+--+' as table
frame, because Autotest understand lines starting with a `+' as
traces from the shell. Then, they are not processed properly.
Admittedly an Autotest bug, but we don't have time to wait for
Autotest to catch up.
* tests/regression.at (Broken Closure): Adjust to the new table
frames.
Move to...
* tests/sets.at: here.
2001-12-12 Paul Eggert <[email protected]>
* src/bison.simple (YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE):
Do not infringe on the global user namespace when using C++.
(YYFPRINTF, YYSTDERR): New macros, needed for the above.
All uses of `fprintf' and `stderr' changed.
* src/output.c (output): Do not output "#include <stdio.h>"; that
is bison.simple's job. stdio.h should be included only if
necessary, to avoid infringing on the user name space when
possible.
2001-12-12 Akim Demaille <[email protected]>
* src/complain.h, src/complain.c: Remove error_one_per_line, rely
on that of lib/error.c.
2001-12-12 Akim Demaille <[email protected]>
Some hosts don't like `/' in includes.
* src/system.h: Include libgettext.h without qualifying the path.
* src/Makefile.am (INCLUDES): Add $(top_srcdir)/intl, remove
$(top_srcdir).
2001-12-10 Akim Demaille <[email protected]>
Bison dumps core on bash.y.
Reported by Pascal Bart.
* src/warshall.c (bitmatrix_print): New.
(TC): Use it.
When performing a transitive closure R(i, j) && R(j, k) => R(i, k),
j must be the outer loop.
* tests/regression.at (Broken Closure): New.
2001-12-05 Akim Demaille <[email protected]>
Version 1.30f.
+17
View File
@@ -1,6 +1,23 @@
Bison News
----------
Changes in version 1.30h:
* When the generated parser lacks debugging code, YYDEBUG is now 0
(as POSIX requires) instead of being undefined.
* User Actions
Bison has always permitted actions such as { $$ = $1 }: it adds the
ending semicolon. Now if in Yacc compatibility mode, the semicolon
is no longer output: one has to write { $$ = $1; }.
Changes in version 1.30g:
* Bug fixes
* Better C++ compliance
The output parsers try to respect C++ namespaces.
Changes in version 1.30f:
* Reduced Grammars
+3
View File
@@ -2,6 +2,7 @@ Bison was originally written by Robert Corbett. It would not be what
it is today without the invaluable help of these people:
Airy Andre [email protected]
Aharon Robbins [email protected]
Akim Demaille [email protected]
Albert Chin-A-Young [email protected]
Alexander Belopolsky [email protected]
@@ -18,6 +19,7 @@ Keith Browne [email protected]
Laurent Mascherpa [email protected]
Marc Autret [email protected]
Neil Booth [email protected]
Nelson H. F. Beebe [email protected]
Noah Friedman [email protected]
Pascal Bart [email protected]
Paul Eggert [email protected]
@@ -28,6 +30,7 @@ Richard Stallman [email protected]
Robert Anisko [email protected]
Shura [email protected]
Tom Lane [email protected]
Tom Tromey [email protected]
Wolfram Wagner [email protected]
Wwp [email protected]
+49 -44
View File
@@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
timestamp='2001-11-26'
timestamp='2001-12-13'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -135,23 +135,21 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# object file format. This provides both forward
# compatibility and a consistent mechanism for selecting the
# object file format.
# Determine the machine/vendor (is the vendor relevant).
case "${UNAME_MACHINE}" in
amiga) machine=m68k-unknown ;;
arm32) machine=arm-unknown ;;
atari*) machine=m68k-atari ;;
sun3*) machine=m68k-sun ;;
mac68k) machine=m68k-apple ;;
macppc) machine=powerpc-apple ;;
hp3[0-9][05]) machine=m68k-hp ;;
ibmrt|romp-ibm) machine=romp-ibm ;;
sparc*) machine=`uname -p`-unknown ;;
*) machine=${UNAME_MACHINE}-unknown ;;
#
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
UNAME_MACHINE_ARCH=`(uname -p) 2>/dev/null` || \
UNAME_MACHINE_ARCH=unknown
case "${UNAME_MACHINE_ARCH}" in
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
# to ELF recently, or will in the future.
case "${UNAME_MACHINE}" in
i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
case "${UNAME_MACHINE_ARCH}" in
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep __ELF__ >/dev/null
@@ -736,6 +734,9 @@ EOF
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit 0 ;;
x86:Interix*:3*)
echo i386-pc-interix3
exit 0 ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
@@ -767,10 +768,21 @@ EOF
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
mips:Linux:*:*)
case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in
big) echo mips-unknown-linux-gnu && exit 0 ;;
little) echo mipsel-unknown-linux-gnu && exit 0 ;;
esac
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
CPU=mipsel
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
CPU=mips
#else
CPU=
#endif
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
rm -f $dummy.c
test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
;;
ppc:Linux:*:*)
echo powerpc-unknown-linux-gnu
@@ -843,32 +855,25 @@ EOF
esac
# Determine whether the default compiler is a.out or elf
eval $set_cc_for_build
cat >$dummy.c <<EOF
#include <features.h>
#ifdef __cplusplus
#include <stdio.h> /* for printf() prototype */
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
#endif
#ifdef __ELF__
# ifdef __GLIBC__
# if __GLIBC__ >= 2
printf ("%s-pc-linux-gnu\n", argv[1]);
# else
printf ("%s-pc-linux-gnulibc1\n", argv[1]);
# endif
# else
printf ("%s-pc-linux-gnulibc1\n", argv[1]);
# endif
#else
printf ("%s-pc-linux-gnuaout\n", argv[1]);
#endif
return 0;
}
sed 's/^ //' << EOF >$dummy.c
#include <features.h>
#ifdef __ELF__
# ifdef __GLIBC__
# if __GLIBC__ >= 2
LIBC=gnu
# else
LIBC=gnulibc1
# endif
# else
LIBC=gnulibc1
# endif
#else
LIBC=gnuaout
#endif
EOF
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
rm -f $dummy.c
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
;;
i*86:DYNIX/ptx:4*:*)
+14 -1
View File
@@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
timestamp='2001-12-03'
timestamp='2001-12-10'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -419,6 +419,14 @@ case $basic_machine in
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
basic_machine=mips-dec
;;
decsystem10* | dec10*)
basic_machine=pdp10-dec
os=-tops10
;;
decsystem20* | dec20*)
basic_machine=pdp10-dec
os=-tops20
;;
delta | 3300 | motorola-3300 | motorola-delta \
| 3300-motorola | delta-motorola)
basic_machine=m68k-motorola
@@ -882,6 +890,10 @@ case $basic_machine in
tx39el)
basic_machine=mipstx39el-unknown
;;
toad1)
basic_machine=pdp10-xkl
os=-tops20
;;
tower | tower-32)
basic_machine=m68k-ncr
;;
@@ -1210,6 +1222,7 @@ case $basic_machine in
arm*-semi)
os=-aout
;;
# This must come before the *-dec entry.
pdp10-*)
os=-tops20
;;
+1 -1
View File
@@ -1 +1 @@
1.30d
1.30g
Vendored
+10 -10
View File
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.52g for GNU Bison 1.30f.
# Generated by GNU Autoconf 2.52g for GNU Bison 1.30h.
#
# Report bugs to <[email protected]>.
#
@@ -332,8 +332,8 @@ mandir='${prefix}/man'
# Identity of this package.
PACKAGE_NAME='GNU Bison'
PACKAGE_TARNAME='bison'
PACKAGE_VERSION='1.30f'
PACKAGE_STRING='GNU Bison 1.30f'
PACKAGE_VERSION='1.30h'
PACKAGE_STRING='GNU Bison 1.30h'
PACKAGE_BUGREPORT='[email protected]'
ac_prev=
@@ -760,7 +760,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures GNU Bison 1.30f to adapt to many kinds of systems.
\`configure' configures GNU Bison 1.30h to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -826,7 +826,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of GNU Bison 1.30f:";;
short | recursive ) echo "Configuration of GNU Bison 1.30h:";;
esac
cat <<\_ACEOF
@@ -921,7 +921,7 @@ fi
test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
GNU Bison configure 1.30f
GNU Bison configure 1.30h
generated by GNU Autoconf 2.52g
Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
@@ -936,7 +936,7 @@ cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by GNU Bison $as_me 1.30f, which was
It was created by GNU Bison $as_me 1.30h, which was
generated by GNU Autoconf 2.52g. Invocation command line was
$ $0 $@
@@ -1470,7 +1470,7 @@ fi
# Define the identity of the package.
PACKAGE=bison
VERSION=1.30f
VERSION=1.30h
cat >>confdefs.h <<_ACEOF
#define PACKAGE "$PACKAGE"
@@ -9149,7 +9149,7 @@ _ASBOX
} >&5
cat >&5 <<_CSEOF
This file was extended by GNU Bison $as_me 1.30f, which was
This file was extended by GNU Bison $as_me 1.30h, which was
generated by GNU Autoconf 2.52g. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -9211,7 +9211,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
GNU Bison config.status 1.30f
GNU Bison config.status 1.30h
configured by $0, generated by GNU Autoconf 2.52g,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+2 -2
View File
@@ -20,10 +20,10 @@
# We need a recent Autoconf to run a recent Autotest.
AC_PREREQ(2.52g)
AC_INIT([GNU Bison], [1.30f], [[email protected]])
AC_INIT([GNU Bison], [1.30h], [[email protected]])
AC_CONFIG_AUX_DIR(config)
AM_INIT_AUTOMAKE([bison], [1.30f])
AM_INIT_AUTOMAKE([bison], [1.30h])
AM_CONFIG_HEADER(config.h:config.hin)
# Initialize the test suite.
+2 -2
View File
@@ -262,9 +262,9 @@ and so on.
.ns
.TP
.B \-\-debug
Output a definition of the macro
In the parser file, define the macro
.B YYDEBUG
into the parser file,
to 1 if it is not already defined,
so that the debugging facilities are compiled.
.TP
.B \-v
+2 -1
View File
@@ -56,7 +56,8 @@ foo_tab.c.
.indent -1
2 /DEBUG
.skip
Output a definition of the macro YYDEBUG into the parser file,
In the parser file,
define the macro YYDEBUG to 1 if it is not already defined,
so that the debugging facilities are compiled.
.skip
.indent -1
+27 -18
View File
@@ -706,9 +706,10 @@ In some cases the Bison parser file includes system headers, and in
those cases your code should respect the identifiers reserved by those
headers. On some non-@sc{gnu} hosts, @code{<alloca.h>},
@code{<stddef.h>}, and @code{<stdlib.h>} are included as needed to
declare memory allocators and related types. On all hosts,
@code{<stdio.h>} is included if you define @code{YYDEBUG}
(@pxref{Debugging, ,Debugging Your Parser}).
declare memory allocators and related types. In the same situation,
C++ parsers may include @code{<cstddef>} and @code{<cstdlib>} instead.
Other system headers may be included if you define @code{YYDEBUG} to a
nonzero value (@pxref{Debugging, ,Debugging Your Parser}).
@node Stages
@section Stages in Using Bison
@@ -3234,9 +3235,9 @@ directives:
@table @code
@item %debug
Output a definition of the macro @code{YYDEBUG} into the parser file, so
that the debugging facilities are compiled. @xref{Debugging, ,Debugging
Your Parser}.
In the parser file, define the macro @code{YYDEBUG} to 1 if it is not
already defined, so that the debugging facilities are compiled.
@xref{Debugging, ,Debugging Your Parser}.
@item %defines
Write an extra output file containing macro definitions for the token
@@ -4924,15 +4925,23 @@ If a Bison grammar compiles properly but doesn't do what you want when it
runs, the @code{yydebug} parser-trace feature can help you figure out why.
To enable compilation of trace facilities, you must define the macro
@code{YYDEBUG} when you compile the parser. You could use
@samp{-DYYDEBUG=1} as a compiler option or you could put @samp{#define
YYDEBUG 1} in the C declarations section of the grammar file
(@pxref{C Declarations, ,The C Declarations Section}). Alternatively, use the @samp{-t} option when
you run Bison (@pxref{Invocation, ,Invoking Bison}). We always define @code{YYDEBUG} so that
debugging is always possible.
@code{YYDEBUG} to a nonzero value when you compile the parser. You
could use @samp{-DYYDEBUG=1} as a compiler option or you could put
@samp{#define YYDEBUG 1} in the C declarations section of the grammar
file (@pxref{C Declarations, ,The C Declarations Section}).
Alternatively, use the @samp{-t} option when you run Bison
(@pxref{Invocation, ,Invoking Bison}) or the @code{%debug} declaration
(@pxref{Decl Summary, ,Bison Declaration Summary}). We suggest that
you always define @code{YYDEBUG} so that debugging is always possible.
The trace facility uses @code{stderr}, so you must add @w{@code{#include
<stdio.h>}} to the C declarations section unless it is already there.
The trace facility outputs messages with macro calls of the form
@code{YYFPRINTF (YYSTDERR, @var{format}, @var{args})} where
@var{format} and @var{args} are the usual @code{printf} format and
arguments. If you define @code{YYDEBUG} to a nonzero value but do not
define @code{YYFPRINTF}, @code{<stdio.h>} is automatically included
and the macros are defined to @code{fprintf} and @code{stderr}. In
the same situation, C++ parsers include @code{<cstdio.h>} instead, and
use @code{std::fprintf} and @code{std::stderr}.
Once you have compiled the program with trace facilities, the way to
request a trace is to store a nonzero value in the variable @code{yydebug}.
@@ -5011,7 +5020,7 @@ Here @var{infile} is the grammar file name, which usually ends in
@samp{.y}. The parser file's name is made by replacing the @samp{.y}
with @samp{.tab.c}. Thus, the @samp{bison foo.y} filename yields
@file{foo.tab.c}, and the @samp{bison hack/foo.y} filename yields
@file{hack/foo.tab.c}. It's is also possible, in case you are writting
@file{hack/foo.tab.c}. It's is also possible, in case you are writing
C++ code instead of C in your grammar file, to name it @file{foo.ypp}
or @file{foo.y++}. Then, the output files will take an extention like
the given one as input (repectively @file{foo.tab.cpp} and @file{foo.tab.c++}).
@@ -5093,9 +5102,9 @@ you are developing Bison.
@item -t
@itemx --debug
Output a definition of the macro @code{YYDEBUG} into the parser file, so
that the debugging facilities are compiled. @xref{Debugging, ,Debugging
Your Parser}.
In the parser file, define the macro @code{YYDEBUG} to 1 if it is not
already defined, so that the debugging facilities are compiled.
@xref{Debugging, ,Debugging Your Parser}.
@item --locations
Pretend that @code{%locations} was specified. @xref{Decl Summary}.
+4 -4
View File
@@ -1,4 +1,4 @@
@set UPDATED 30 November 2001
@set UPDATED-MONTH November 2001
@set EDITION 1.30f
@set VERSION 1.30f
@set UPDATED 18 December 2001
@set UPDATED-MONTH December 2001
@set EDITION 1.30h
@set VERSION 1.30h
+25 -25
View File
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: bison 1.25\n"
"POT-Creation-Date: 2001-12-05 12:47+0100\n"
"POT-Creation-Date: 2001-12-18 10:35+0100\n"
"PO-Revision-Date: 1996-10-10 17:54 MET DST\n"
"Last-Translator: Ulrich Drepper <[email protected]>\n"
"Language-Team: German <[email protected]>\n"
@@ -18,7 +18,7 @@ msgstr ""
msgid "too many states (max %d)"
msgstr ""
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
#: lib/error.c:128 lib/error.c:156 src/complain.c:99
msgid "Unknown system error"
msgstr ""
@@ -220,7 +220,7 @@ msgstr "%s: keine Grammatik-Datei angegeben\n"
msgid "%s: extra arguments ignored after `%s'\n"
msgstr "%s: zusätzliche Argumente nach »%s« werden ignoriert\n"
#: src/lalr.c:255
#: src/lalr.c:256
#, c-format
msgid "too many gotos (max %d)"
msgstr ""
@@ -280,7 +280,7 @@ msgstr ""
msgid "`%s' requires an argument"
msgstr "%s: die Option »%s« erfordert ein Argument\n"
#: src/output.c:949
#: src/output.c:951
#, fuzzy, c-format
msgid "maximum table size (%d) exceeded"
msgstr "maximale Tabellengröße (%s) überschritten"
@@ -457,7 +457,7 @@ msgstr ""
msgid "symbol %s redefined"
msgstr "Symbol %s noch einmal definiert"
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1292
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1298
#, c-format
msgid "type redeclaration for %s"
msgstr "erneute Deklaration des Typs für %s"
@@ -472,7 +472,7 @@ msgstr "
msgid "multiple %s declarations"
msgstr "mehr als eine %start Deklaration"
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1270
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1276
#, fuzzy, c-format
msgid "invalid %s declaration"
msgstr "ungültige %start Deklaration"
@@ -501,7 +501,7 @@ msgstr "unzul
msgid "unexpected item: %s"
msgstr "unerwartetes Symbol: %s"
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1181
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1187
#, fuzzy, c-format
msgid "unmatched %s"
msgstr "»{« hat kein Gegenstück"
@@ -535,91 +535,91 @@ msgstr "keine Eingabe-Grammatik"
msgid "unknown character: %s"
msgstr "unbekanntes Zeichen: %s"
#: src/reader.c:1204
#: src/reader.c:1210
#, fuzzy, c-format
msgid "unterminated %guard clause"
msgstr "unbeendeter %%guard Fall"
#: src/reader.c:1357
#: src/reader.c:1363
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:1364
#: src/reader.c:1370
msgid "grammar starts with vertical bar"
msgstr "Grammatik fängt mit einem vertikalen Strich (»|«) an"
#: src/reader.c:1392
#: src/reader.c:1398
#, 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:1492
#: src/reader.c:1498
msgid "two @prec's in a row"
msgstr "zwei @prec Anweisungen nacheinander"
#: src/reader.c:1500
#: src/reader.c:1506
#, c-format
msgid "%%guard present but %%semantic_parser not specified"
msgstr ""
"%%guard Anweisung vorhanden, jedoch wird %%semantic_parser nicht angegeben"
#: src/reader.c:1509
#: src/reader.c:1515
msgid "two actions at end of one rule"
msgstr "Zwei Aktionen am Ende einer Regel"
#: src/reader.c:1523
#: src/reader.c:1529
#, c-format
msgid "type clash (`%s' `%s') on default action"
msgstr "Typkonflikt (»%s« »%s«) bei Default Aktion"
#: src/reader.c:1529
#: src/reader.c:1535
msgid "empty rule for typed nonterminal, and no action"
msgstr "leere Regel für Nicht-Terminal vmit Typ und keine Aktion"
#: src/reader.c:1573
#: src/reader.c:1579
#, c-format
msgid "invalid input: %s"
msgstr "ungültige Eingabe: %s"
#: src/reader.c:1581
#: src/reader.c:1587
#, 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:1584
#: src/reader.c:1590
msgid "no rules in the input grammar"
msgstr "Eingabegrammatik enthält keine Regeln"
#: src/reader.c:1608
#: src/reader.c:1614
#, 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:1743
#: src/reader.c:1749
#, 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:1796
#: src/reader.c:1802
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "Vorrangwertigkeiten für %s und %s widersprechen sich"
#: src/reader.c:1808
#: src/reader.c:1814
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "assoc Werte für %s nd %s widersprechen sich"
#: src/reader.c:1847
#: src/reader.c:1853
#, c-format
msgid "the start symbol %s is undefined"
msgstr "das Startsymbol %s ist undefiniert"
#: src/reader.c:1849
#: src/reader.c:1855
#, c-format
msgid "the start symbol %s is a token"
msgstr "das Startsymbol %s ist ein Token"
+25 -25
View File
@@ -30,7 +30,7 @@
msgid ""
msgstr ""
"Project-Id-Version: GNU bison 1.25\n"
"POT-Creation-Date: 2001-12-05 12:47+0100\n"
"POT-Creation-Date: 2001-12-18 10:35+0100\n"
"PO-Revision-Date: 1998-09-21 10:19+0200\n"
"Last-Translator: Nicolás García-Pedrajas <[email protected]>\n"
"Language-Team: Spanish <[email protected]>\n"
@@ -43,7 +43,7 @@ msgstr ""
msgid "too many states (max %d)"
msgstr ""
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
#: lib/error.c:128 lib/error.c:156 src/complain.c:99
msgid "Unknown system error"
msgstr ""
@@ -281,7 +281,7 @@ msgstr "%s: no se ha especificado ning
msgid "%s: extra arguments ignored after `%s'\n"
msgstr "%s: los argumentos extra después de '%s' no se tendrán en cuenta\n"
#: src/lalr.c:255
#: src/lalr.c:256
#, c-format
msgid "too many gotos (max %d)"
msgstr ""
@@ -348,7 +348,7 @@ msgstr "%s: la opci
# en inglés era así, pero quizás en español sea mejor como dices
# ngp
#
#: src/output.c:949
#: src/output.c:951
#, fuzzy, c-format
msgid "maximum table size (%d) exceeded"
msgstr "excedido el tamaño máximo de la tabla (%s)"
@@ -524,7 +524,7 @@ msgstr ""
msgid "symbol %s redefined"
msgstr "redefinido el símbolo %s"
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1292
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1298
#, c-format
msgid "type redeclaration for %s"
msgstr "redeclaración del tipo de %s"
@@ -539,7 +539,7 @@ msgstr "`%s' no es v
msgid "multiple %s declarations"
msgstr "múltiples declaraciones de %start"
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1270
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1276
#, fuzzy, c-format
msgid "invalid %s declaration"
msgstr "declaración de %start no válida"
@@ -578,7 +578,7 @@ msgid "unexpected item: %s"
msgstr "ítem inesperado: %s"
# Cambio el orden y el sexo. Ahora está "en español". sv
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1181
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1187
#, fuzzy, c-format
msgid "unmatched %s"
msgstr "`{' desemparejada"
@@ -622,93 +622,93 @@ msgstr "car
# 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:1204
#: src/reader.c:1210
#, fuzzy, c-format
msgid "unterminated %guard clause"
msgstr "cláusula %%guard sin terminar"
#: src/reader.c:1357
#: src/reader.c:1363
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:1364
#: src/reader.c:1370
msgid "grammar starts with vertical bar"
msgstr "la gramática comienza con una barra vertical"
#: src/reader.c:1392
#: src/reader.c:1398
#, 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:1492
#: src/reader.c:1498
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:1500
#: src/reader.c:1506
#, c-format
msgid "%%guard present but %%semantic_parser not specified"
msgstr "%%guard presente pero %%semantic_parser está sin especificar"
#: src/reader.c:1509
#: src/reader.c:1515
msgid "two actions at end of one rule"
msgstr "dos acciones al final de una regla"
#: src/reader.c:1523
#: src/reader.c:1529
#, 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:1529
#: src/reader.c:1535
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:1573
#: src/reader.c:1579
#, c-format
msgid "invalid input: %s"
msgstr "entrada no válida: %s"
#: src/reader.c:1581
#: src/reader.c:1587
#, 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:1584
#: src/reader.c:1590
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:1608
#: src/reader.c:1614
#, 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:1743
#: src/reader.c:1749
#, 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:1796
#: src/reader.c:1802
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "precedencias en conflicto entre %s y %s"
#: src/reader.c:1808
#: src/reader.c:1814
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "conflicto de valores assoc para %s y %s"
#: src/reader.c:1847
#: src/reader.c:1853
#, c-format
msgid "the start symbol %s is undefined"
msgstr "el símbolo de inicio (axioma) %s no está definido"
#: src/reader.c:1849
#: src/reader.c:1855
#, c-format
msgid "the start symbol %s is a token"
msgstr "el símbolo de inicio (axioma) %s es un terminal"
+36 -66
View File
@@ -4,9 +4,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: bison 1.30e\n"
"POT-Creation-Date: 2001-12-05 12:47+0100\n"
"PO-Revision-Date: 2001-11-26 22:45+0200\n"
"Project-Id-Version: bison 1.30f\n"
"POT-Creation-Date: 2001-12-18 10:35+0100\n"
"PO-Revision-Date: 2001-12-05 20:35+0200\n"
"Last-Translator: Toomas Soome <[email protected]>\n"
"Language-Team: Estonian <[email protected]>\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
msgid "too many states (max %d)"
msgstr "liiga palju olekuid (maks %d)"
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
#: lib/error.c:128 lib/error.c:156 src/complain.c:99
msgid "Unknown system error"
msgstr "Tundmatu süsteemi viga"
@@ -245,7 +245,7 @@ msgstr "%s: puudub grammatikafail\n"
msgid "%s: extra arguments ignored after `%s'\n"
msgstr "%s: ignoreerin lisaargumente peale `%s'\n"
#: src/lalr.c:255
#: src/lalr.c:256
#, c-format
msgid "too many gotos (max %d)"
msgstr "liiga palju gotosid (maks %d)"
@@ -303,7 +303,7 @@ msgstr "`%s' ei toeta argumente: %s"
msgid "`%s' requires an argument"
msgstr "võti `%s' nõuab argumenti"
#: src/output.c:949
#: src/output.c:951
#, c-format
msgid "maximum table size (%d) exceeded"
msgstr "ületati maksimaalset tabelisuurust (%d)"
@@ -465,7 +465,7 @@ msgstr "s
msgid "symbol %s redefined"
msgstr "sümbol %s on uuesti defineeritud"
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1292
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1298
#, c-format
msgid "type redeclaration for %s"
msgstr "%s tüübi uuesti deklareerimine"
@@ -480,7 +480,7 @@ msgstr "`%s' ei ole %s sees lubatud"
msgid "multiple %s declarations"
msgstr "korduvad %s deklaratsioonid"
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1270
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1276
#, c-format
msgid "invalid %s declaration"
msgstr "vigane %s deklaratsioon"
@@ -509,7 +509,7 @@ msgstr "vigane tekst (%s) - number peab olema peale identifikaatorit"
msgid "unexpected item: %s"
msgstr "ootamatu element: %s"
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1181
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1187
#, c-format
msgid "unmatched %s"
msgstr "puudub %s"
@@ -543,88 +543,88 @@ msgstr "sisendgrammatikat pole"
msgid "unknown character: %s"
msgstr "tundmatu sümbol: %s"
#: src/reader.c:1204
#: src/reader.c:1210
#, c-format
msgid "unterminated %guard clause"
msgstr "lõpetamata %guard klausel"
#: src/reader.c:1357
#: src/reader.c:1363
msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "vigaselt formeeritud reegel: algsümbolile ei järgne koolonit"
#: src/reader.c:1364
#: src/reader.c:1370
msgid "grammar starts with vertical bar"
msgstr "grammatika algab püstkriipsuga"
#: src/reader.c:1392
#: src/reader.c:1398
#, 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:1492
#: src/reader.c:1498
msgid "two @prec's in a row"
msgstr "kaks @prec ühel real"
#: src/reader.c:1500
#: src/reader.c:1506
#, c-format
msgid "%%guard present but %%semantic_parser not specified"
msgstr "%%guard on määratud, aga %%semantic_parser ei ole"
#: src/reader.c:1509
#: src/reader.c:1515
msgid "two actions at end of one rule"
msgstr "kaks tegevust ühe reegli lõpus"
#: src/reader.c:1523
#: src/reader.c:1529
#, c-format
msgid "type clash (`%s' `%s') on default action"
msgstr "vaikimisi tegevuse tüübikonflikt (`%s' `%s')"
#: src/reader.c:1529
#: src/reader.c:1535
msgid "empty rule for typed nonterminal, and no action"
msgstr "tüübiga mitteterminalil on tühi reegel ja puudub tegevus"
#: src/reader.c:1573
#: src/reader.c:1579
#, c-format
msgid "invalid input: %s"
msgstr "vigane sisend: %s"
#: src/reader.c:1581
#: src/reader.c:1587
#, 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:1584
#: src/reader.c:1590
msgid "no rules in the input grammar"
msgstr "sisendgrammatikas pole reegleid"
#: src/reader.c:1608
#: src/reader.c:1614
#, 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:1743
#: src/reader.c:1749
#, 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:1796
#: src/reader.c:1802
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "%s ja %s omavad konfliktseid prioriteete"
#: src/reader.c:1808
#: src/reader.c:1814
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "%s ja %s omavad konfliktseid assotsiatiivseid väärtuseid"
#: src/reader.c:1847
#: src/reader.c:1853
#, c-format
msgid "the start symbol %s is undefined"
msgstr "stardisümbol %s ei ole defineeritud"
#: src/reader.c:1849
#: src/reader.c:1855
#, c-format
msgid "the start symbol %s is a token"
msgstr "stardisümbol %s on märk"
@@ -642,26 +642,29 @@ msgid "Useless rules:"
msgstr "Kasutamata reeglid:"
#: src/reduce.c:503
#, fuzzy, c-format
#, c-format
msgid "%d rule never reduced\n"
msgid_plural "%d rules never reduced\n"
msgstr[0] "%d reeglit ei redutseeritud\n"
msgstr[0] "%d reegel ei redutseeru\n"
msgstr[1] "%d reeglit ei redutseeru\n"
#: src/reduce.c:511
#, fuzzy, c-format
#, c-format
msgid "%d useless nonterminal"
msgid_plural "%d useless nonterminals"
msgstr[0] "%d kasutamata mitteterminali%s"
msgstr[0] "%d kasutamata mitteterminal"
msgstr[1] "%d kasutamata mitteterminali"
#: src/reduce.c:517
msgid " and "
msgstr " ja "
#: src/reduce.c:520
#, fuzzy, c-format
#, c-format
msgid "%d useless rule"
msgid_plural "%d useless rules"
msgstr[0] "%d kasutamata reeglit%s"
msgstr[0] "%d kasutamata reegel"
msgstr[1] "%d kasutamata reeglit"
#: src/reduce.c:551
#, c-format
@@ -754,36 +757,3 @@ msgstr "`"
#: lib/quotearg.c:275
msgid "'"
msgstr "'"
#~ msgid "%s: internal error: %s\n"
#~ msgstr "%s: sisemine viga: %s\n"
#~ msgid ""
#~ "Variables\n"
#~ "---------\n"
#~ "\n"
#~ msgstr ""
#~ "Muutujad\n"
#~ "--------\n"
#~ "\n"
#~ msgid "Value Sprec Sassoc Tag\n"
#~ msgstr "Value Sprec Sassoc Tag\n"
#~ msgid ""
#~ "Rules\n"
#~ "-----\n"
#~ "\n"
#~ msgstr ""
#~ "Reeglid\n"
#~ "-------\n"
#~ "\n"
#~ msgid ""
#~ "Rules interpreted\n"
#~ "-----------------\n"
#~ "\n"
#~ msgstr ""
#~ "Interpreteeritud reeglid\n"
#~ "------------------------\n"
#~ "\n"
+36 -33
View File
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: GNU bison 1.30e\n"
"POT-Creation-Date: 2001-12-05 12:47+0100\n"
"PO-Revision-Date: 2001-11-27 08:00-0500\n"
"Project-Id-Version: GNU bison 1.30f\n"
"POT-Creation-Date: 2001-12-18 10:35+0100\n"
"PO-Revision-Date: 2001-12-05 13:00-0500\n"
"Last-Translator: Michel Robitaille <[email protected]>\n"
"Language-Team: French <[email protected]>\n"
"MIME-Version: 1.0\n"
@@ -19,7 +19,7 @@ msgstr ""
msgid "too many states (max %d)"
msgstr "nombre trop grand d'états (max %d)"
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
#: lib/error.c:128 lib/error.c:156 src/complain.c:99
msgid "Unknown system error"
msgstr "Erreur système inconnue"
@@ -248,7 +248,7 @@ msgstr "%s: grammaire manquante\n"
msgid "%s: extra arguments ignored after `%s'\n"
msgstr "%s: arguments supplémentaires ignorés après `%s'\n"
#: src/lalr.c:255
#: src/lalr.c:256
#, c-format
msgid "too many gotos (max %d)"
msgstr "nombre trop grand de \"goto\" (Max %d)"
@@ -306,7 +306,7 @@ msgstr "`%s' ne supporte aucun argument: %s"
msgid "`%s' requires an argument"
msgstr "`%s': requiert un argument"
#: src/output.c:949
#: src/output.c:951
#, c-format
msgid "maximum table size (%d) exceeded"
msgstr "taille maximale de la table (%d) dépassée"
@@ -468,7 +468,7 @@ msgstr "symbole `%s' pr
msgid "symbol %s redefined"
msgstr "symbole %s redéfini"
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1292
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1298
#, c-format
msgid "type redeclaration for %s"
msgstr "redéclaration du type de %s"
@@ -483,7 +483,7 @@ msgstr "`%s' n'est pas valide dans %s"
msgid "multiple %s declarations"
msgstr "multiples déclarations %s"
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1270
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1276
#, c-format
msgid "invalid %s declaration"
msgstr "la déclaration %s n'est pas valide"
@@ -513,7 +513,7 @@ msgstr ""
msgid "unexpected item: %s"
msgstr "item inattendu: %s"
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1181
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1187
#, c-format
msgid "unmatched %s"
msgstr "non appariement de %s"
@@ -547,88 +547,88 @@ msgstr "aucune grammaire en entr
msgid "unknown character: %s"
msgstr "caractère inconnu: %s"
#: src/reader.c:1204
#: src/reader.c:1210
#, c-format
msgid "unterminated %guard clause"
msgstr "clause %guard non terminée"
#: src/reader.c:1357
#: src/reader.c:1363
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:1364
#: src/reader.c:1370
msgid "grammar starts with vertical bar"
msgstr "la grammaire débute par une barre verticale"
#: src/reader.c:1392
#: src/reader.c:1398
#, c-format
msgid "rule given for %s, which is a token"
msgstr "la règle pour %s, qui est un terminal"
#: src/reader.c:1492
#: src/reader.c:1498
msgid "two @prec's in a row"
msgstr "deux @prec de suite"
#: src/reader.c:1500
#: src/reader.c:1506
#, c-format
msgid "%%guard present but %%semantic_parser not specified"
msgstr "%%guard est présent mais %%semantic_parser n'est pas spécifié"
#: src/reader.c:1509
#: src/reader.c:1515
msgid "two actions at end of one rule"
msgstr "deux actions à la fin d'une même règle"
#: src/reader.c:1523
#: src/reader.c:1529
#, 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:1529
#: src/reader.c:1535
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:1573
#: src/reader.c:1579
#, c-format
msgid "invalid input: %s"
msgstr "entrée non valide: %s"
#: src/reader.c:1581
#: src/reader.c:1587
#, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "trop de symboles (jeton plus non terminaux); maximum %d"
#: src/reader.c:1584
#: src/reader.c:1590
msgid "no rules in the input grammar"
msgstr "la grammaire n'a pas de règles"
#: src/reader.c:1608
#: src/reader.c:1614
#, 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:1743
#: src/reader.c:1749
#, c-format
msgid "tokens %s and %s both assigned number %d"
msgstr "les jetons %s et %s se sont vus assigner le nombre %d"
#: src/reader.c:1796
#: src/reader.c:1802
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "les priorités pour %s et %s entrent en conflit"
#: src/reader.c:1808
#: src/reader.c:1814
#, 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:1847
#: src/reader.c:1853
#, c-format
msgid "the start symbol %s is undefined"
msgstr "le symbole de départ %s n'est pas défini"
#: src/reader.c:1849
#: src/reader.c:1855
#, c-format
msgid "the start symbol %s is a token"
msgstr "le symbole de départ %s est un terminal"
@@ -646,26 +646,29 @@ msgid "Useless rules:"
msgstr "Règles inutiles:"
#: src/reduce.c:503
#, fuzzy, c-format
#, c-format
msgid "%d rule never reduced\n"
msgid_plural "%d rules never reduced\n"
msgstr[0] "%d règles jamais réduites\n"
msgstr[0] "%d règle qui n'a jamais été réduite\n"
msgstr[1] "%d règles qui n'ont jamais été réduites\n"
#: src/reduce.c:511
#, fuzzy, c-format
#, c-format
msgid "%d useless nonterminal"
msgid_plural "%d useless nonterminals"
msgstr[0] "%d catégories non productives%s"
msgstr[0] "%d nonterminal inutilisable"
msgstr[1] "%d nonterminals inutilisables"
#: src/reduce.c:517
msgid " and "
msgstr " et "
#: src/reduce.c:520
#, fuzzy, c-format
#, c-format
msgid "%d useless rule"
msgid_plural "%d useless rules"
msgstr[0] "%d règle(s) non productive(s)%s"
msgstr[0] "%d règle inutilisable"
msgstr[1] "%d règles inutilisables"
#: src/reduce.c:551
#, c-format
+142 -148
View File
@@ -1,12 +1,12 @@
# Japanese message for GNU bison 1.28
# Copyright (C) 1999 Free Software Foundation, Inc.
# Daisuke Yamashita <[email protected]>, 1999.
# Japanese message for GNU bison 1.30f
# Copyright (C) 2001 Free Software Foundation, Inc.
# Daisuke Yamashita <[email protected]>, 2001.
#
msgid ""
msgstr ""
"Project-Id-Version: GNU bison 1.28\n"
"POT-Creation-Date: 2001-12-05 12:47+0100\n"
"PO-Revision-Date: 1999-09-28 21:10+0900\n"
"Project-Id-Version: GNU bison 1.30f\n"
"POT-Creation-Date: 2001-12-18 10:35+0100\n"
"PO-Revision-Date: 2001-12-10 15:59+0900\n"
"Last-Translator: Daisuke Yamashita <[email protected]>\n"
"Language-Team: Japanese <[email protected]>\n"
"MIME-Version: 1.0\n"
@@ -14,22 +14,21 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: src/LR0.c:189
#, fuzzy, c-format
#, c-format
msgid "too many states (max %d)"
msgstr "%s の数が多すぎます (最大 %d)"
msgstr "状態が多すぎます (最大 %d)"
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
#: lib/error.c:128 lib/error.c:156 src/complain.c:99
msgid "Unknown system error"
msgstr ""
msgstr "不明なシステムエラー"
#: src/complain.c:150
msgid "warning: "
msgstr ""
msgstr "警告: "
#: src/complain.c:238
#, fuzzy
msgid "fatal error: "
msgstr "%s: 致命的エラー: "
msgstr "致命的エラー: "
#: src/conflicts.c:44
#, c-format
@@ -49,26 +48,25 @@ msgid "an error"
msgstr "エラー"
#: src/conflicts.c:302
#, fuzzy, c-format
#, c-format
msgid "%d shift/reduce conflict"
msgid_plural "%d shift/reduce conflicts"
msgstr[0] " %d シフト/還元衝突"
msgstr[0] "%d シフト/還元衝突"
#: src/conflicts.c:309
#, fuzzy
msgid "and"
msgstr " および"
msgstr "および"
#: src/conflicts.c:315
#, fuzzy, c-format
#, c-format
msgid "%d reduce/reduce conflict"
msgid_plural "%d reduce/reduce conflicts"
msgstr[0] " %d 還元/還元衝突"
msgstr[0] "%d 還元/還元衝突"
#: src/conflicts.c:340
#, fuzzy, c-format
#, c-format
msgid "State %d contains "
msgstr "状態 %d が含むのは"
msgstr "状態 %d が含むのは "
#. If invoked with `--yacc', use the output format specified by
#. POSIX.
@@ -89,13 +87,13 @@ msgstr " %d
#: src/conflicts.c:398 src/reduce.c:508
#, c-format
msgid "%s contains "
msgstr "%s は"
msgstr "%s の中身は"
#: src/conflicts.c:405
#, fuzzy, c-format
#, c-format
msgid "expected %d shift/reduce conflict\n"
msgid_plural "expected %d shift/reduce conflicts\n"
msgstr[0] " %d シフト/還元衝突"
msgstr[0] "本来 %d 個のシフト/還元衝突であるはずです\n"
#: src/conflicts.c:457 src/conflicts.c:534
#, c-format
@@ -124,28 +122,30 @@ msgstr " $default\t
#: src/files.c:144
#, c-format
msgid "cannot open file `%s'"
msgstr ""
msgstr "ファイル `%s' を開けません"
#: src/files.c:163
msgid "cannot close file"
msgstr ""
msgstr "ファイルを閉じることができません"
#. Some efforts were made to ease the translators' task, please
#. continue.
#: src/getargs.c:84
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
msgstr ""
msgstr "GNU bison は LALR(1) 文法の構文解析器を生成します。\n"
#: src/getargs.c:88
#, c-format
msgid "Usage: %s [OPTION]... FILE\n"
msgstr ""
msgstr "使い方: %s [オプション]... ファイル\n"
#: src/getargs.c:92
msgid ""
"If a long option shows an argument as mandatory, then it is mandatory\n"
"for the equivalent short option also. Similarly for optional arguments.\n"
msgstr ""
"ロングオプションで必須の引数が示されていれば、同じ意味のショートオプション\n"
"でも同様に必須の引数となります。必須でない選択的引数でも同様です。\n"
#: src/getargs.c:98
msgid ""
@@ -154,6 +154,10 @@ msgid ""
" -V, --version output version information and exit\n"
" -y, --yacc emulate POSIX yacc\n"
msgstr ""
"操作モード:\n"
" -h, --help この使い方を表示して終了する\n"
" -V, --version バージョン情報を表示して終了する\n"
" -y, --yacc POSIX yacc をエミュレイトする\n"
#: src/getargs.c:105
msgid ""
@@ -166,6 +170,14 @@ msgid ""
" -n, --no-parser generate the tables only\n"
" -k, --token-table include a table of token names\n"
msgstr ""
"構文解析器:\n"
" -S, --skeleton=FILE 利用するスケルトンを指定する\n"
" -t, --debug 構文解析のデバッグ用の手段\n"
" --locations 計算結果位置を有効にする\n"
" -p, --name-prefix=PREFIX PREFIX を外部シンボルとして先頭に挿入する\n"
" -l, --no-lines `#line' ディレクティブを生成しない\n"
" -n, --no-parser テーブルのみを生成する\n"
" -k, --token-table トークン名のテーブルを含める\n"
#: src/getargs.c:117
msgid ""
@@ -177,38 +189,50 @@ msgid ""
" -g, --graph also produce a VCG description of the "
"automaton\n"
msgstr ""
"出力:\n"
" -d, --defines ヘッダファイルも作成する\n"
" -v, --verbose オートマトンの解説も作成する\n"
" -b, --file-prefix=PREFIX 出力ファイルの PREFIX(接頭辞) を指定する\n"
" -o, --output=FILE 出力先を FILE とする\n"
" -g, --graph オートマトンの VCG 記述子も作成する\n"
#: src/getargs.c:127
msgid "Report bugs to <[email protected]>.\n"
msgstr ""
msgstr "バグレポートは <[email protected]> まで。\n"
#. Some efforts were made to ease the translators' task, please
#. continue.
#: src/getargs.c:141
#, c-format
msgid "bison (GNU Bison) %s"
msgstr ""
msgstr "bison (GNU Bison) %s"
#: src/getargs.c:146
msgid ""
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
msgstr ""
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
#: src/getargs.c:150
msgid ""
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
msgstr ""
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
"[参考訳 -- 法的効力は英文が適用されます]\n"
"これはフリーソフトウェアです -- 複製についての条件はソースを見ましょう。\n"
"一切の保証はありません -- 商業性や目的適合性についての保証すらありません。\n"
#: src/getargs.c:215 src/lex.c:694
#, c-format
msgid "`%s' is no longer supported"
msgstr ""
msgstr "`%s' は最早サポートされません"
#: src/getargs.c:239
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr ""
msgstr "`%s --help' で詳細情報を参照してください\n"
#: src/getargs.c:246
#, c-format
@@ -216,14 +240,14 @@ msgid "%s: no grammar file given\n"
msgstr "%s: 文法ファイルが指定されていません\n"
#: src/getargs.c:250
#, fuzzy, c-format
#, c-format
msgid "%s: extra arguments ignored after `%s'\n"
msgstr "%s: '%s' より後ろの余分な引数は無視されました\n"
msgstr "%s: `%s' 後ろの余分な引数は無視されました\n"
#: src/lalr.c:255
#, fuzzy, c-format
#: src/lalr.c:256
#, c-format
msgid "too many gotos (max %d)"
msgstr "%s の数が多すぎます (最大 %d)"
msgstr "goto の数が多すぎます (最大 %d)"
#: src/lex.c:76
msgid "unexpected `/' found and ignored"
@@ -234,7 +258,6 @@ msgid "unterminated comment"
msgstr "閉じていないコメントです"
#: src/lex.c:137
#, fuzzy
msgid "unexpected end of file"
msgstr "予期しないファイルの終端です"
@@ -272,17 +295,17 @@ msgstr "ʣ
#: src/lex.c:667
#, c-format
msgid "`%s' supports no argument: %s"
msgstr ""
msgstr "`%s' は引数を受け付けません: %s"
#: src/lex.c:683
#, fuzzy, c-format
#, c-format
msgid "`%s' requires an argument"
msgstr "%s: オプション `%s' は引数を要求します\n"
msgstr "`%s' オプションは引数を要求します"
#: src/output.c:949
#, fuzzy, c-format
#: src/output.c:951
#, c-format
msgid "maximum table size (%d) exceeded"
msgstr "最大テーブルサイズ (%s) を超えました"
msgstr "最大テーブルサイズ (%d) を超えました"
#: src/print.c:39
#, c-format
@@ -323,51 +346,36 @@ msgid " %-4s\tgo to state %d\n"
msgstr " %-4s\t状態 %d へ\n"
#: src/print.c:180
#, fuzzy, c-format
#, c-format
msgid "state %d"
msgstr ""
"\n"
"\n"
"状態 %d\n"
"\n"
msgstr "状態 %d"
#. rule # : LHS -> RHS
#: src/print.c:211
#, fuzzy
msgid "Grammar"
msgstr ""
"\n"
"文法\n"
msgstr "文法"
#: src/print.c:212
msgid "Number, Line, Rule"
msgstr ""
msgstr "番号, 行, 規則"
#: src/print.c:217
#, fuzzy, c-format
#, c-format
msgid " %3d %3d %s ->"
msgstr "規則 %-4d %s ->"
msgstr " %3d %3d %s ->"
#: src/print.c:224
msgid "empty"
msgstr ""
msgstr ""
#. TERMINAL (type #) : rule #s terminal is on RHS
#: src/print.c:231
#, fuzzy
msgid "Terminals, with rules where they appear"
msgstr ""
"\n"
"終端トークン、およびそこに現れた規則\n"
"\n"
msgstr "出現位置の規則による終端"
#: src/print.c:256
#, fuzzy
msgid "Nonterminals, with rules where they appear"
msgstr ""
"\n"
"非終端トークン、およびそこに現れた規則\n"
"\n"
msgstr "出現位置の規則による非終端"
#: src/print.c:282
msgid " on left:"
@@ -383,18 +391,18 @@ msgstr "
#. obstack_sgrow (node_obstack, "\n");
#.
#: src/print_graph.c:146
#, fuzzy, c-format
#, c-format
msgid "%-4s\terror (nonassociative)"
msgstr " %-4s\tエラー (非結合)\n"
msgstr "%-4s\tエラー (非結合)"
#.
#. if (obstack_object_size (node_obstack) > node_output_size)
#. obstack_sgrow (node_obstack, "\n");
#.
#: src/print_graph.c:161
#, fuzzy, c-format
#, c-format
msgid "$default\treduce using rule %d (%s)"
msgstr " $default\t規則 %d を利用して還元 (%s)\n"
msgstr "$default\t規則 %d を利用して還元 (%s)"
#: src/reader.c:89
msgid " Skipping to next \\n"
@@ -407,7 +415,7 @@ msgstr "
#: src/reader.c:142 src/reader.c:154
msgid "invalid $ value"
msgstr "無効な $ の値"
msgstr "不適切な $ の値"
#: src/reader.c:180 src/reader.c:195
msgid "unterminated string at end of file"
@@ -418,9 +426,9 @@ msgid "unterminated string"
msgstr "閉じられていない文字列"
#: src/reader.c:336 src/reader.c:400
#, fuzzy, c-format
#, c-format
msgid "%s is invalid"
msgstr "@%s は無効です"
msgstr "%s は不適切です"
#: src/reader.c:376
#, c-format
@@ -428,9 +436,9 @@ msgid "$$ of `%s' has no declared type"
msgstr "`%s' の $$ に宣言のない型があります"
#: src/reader.c:393
#, fuzzy, c-format
#, c-format
msgid "$%d of `%s' has no declared type"
msgstr "`%s' $%s に宣言のない型があります"
msgstr "$%d 個`%s' が宣言された型を持っていません"
#: src/reader.c:447
msgid "unterminated `%{' definition"
@@ -439,24 +447,24 @@ msgstr "`%{'
#: src/reader.c:492 src/reader.c:607 src/reader.c:657
#, c-format
msgid "Premature EOF after %s"
msgstr ""
msgstr "%s の後ろに早くも EOF があります"
#: src/reader.c:509
#, c-format
msgid "symbol `%s' used more than once as a literal string"
msgstr ""
msgstr "シンボル `%s' はリテラル文字列として複数回使われました"
#: src/reader.c:512
#, c-format
msgid "symbol `%s' given more than one literal string"
msgstr ""
msgstr "シンボル `%s' は複数のリテラル文字列が与えられました"
#: src/reader.c:533 src/reader.c:676
#, c-format
msgid "symbol %s redefined"
msgstr "シンボル %s が再定義されました"
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1292
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1298
#, c-format
msgid "type redeclaration for %s"
msgstr "%s の型が再定義されました"
@@ -464,26 +472,26 @@ msgstr "%s
#: src/reader.c:552
#, c-format
msgid "`%s' is invalid in %s"
msgstr "%2$s 内の `%1$s' は無効です"
msgstr "`%s' は %s 内では不適切です"
#: src/reader.c:570 src/reader.c:735
#, fuzzy, c-format
#, c-format
msgid "multiple %s declarations"
msgstr "複数の %start が宣言されました"
msgstr "%s が複数個宣言されました"
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1270
#, fuzzy, c-format
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1276
#, c-format
msgid "invalid %s declaration"
msgstr "無効な %start が宣言されました"
msgstr "%s の宣言が不適切です"
#: src/reader.c:592
msgid "%type declaration has no <typename>"
msgstr "%type 宣言に <タイプ名> がありません"
#: src/reader.c:627
#, fuzzy, c-format
#, c-format
msgid "invalid %%type declaration due to item: %s"
msgstr "アイテムに与えられるべき %%type 宣言が無効です: `%s'"
msgstr "アイテムの為の %%type 宣言が不適切です: %s"
#: src/reader.c:672
#, c-format
@@ -493,22 +501,22 @@ msgstr "%s
#: src/reader.c:695
#, c-format
msgid "invalid text (%s) - number should be after identifier"
msgstr "無効なテキスト (%s) - 数値は識別子の後ろにあるべきです"
msgstr "不適切なテキスト (%s) - 数値は識別子の後ろにあるべきです"
#: src/reader.c:705
#, c-format
msgid "unexpected item: %s"
msgstr "予期せぬアイテム: %s"
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1181
#, fuzzy, c-format
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1187
#, c-format
msgid "unmatched %s"
msgstr "対応のない `{' です"
msgstr "対応のない %s です"
#: src/reader.c:810
#, fuzzy, c-format
#, c-format
msgid "argument of %%expect is not an integer"
msgstr "%expect の引数が整数値ではありません"
msgstr "%%expect の引数が整数値ではありません"
#: src/reader.c:856
#, c-format
@@ -534,138 +542,125 @@ msgstr "ʸˡ
msgid "unknown character: %s"
msgstr "未知の文字: %s"
#: src/reader.c:1204
#, fuzzy, c-format
#: src/reader.c:1210
#, c-format
msgid "unterminated %guard clause"
msgstr "閉じられていない %%guard 節です"
msgstr "%guard 節が閉じられていません"
#: src/reader.c:1357
#: src/reader.c:1363
msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "邪悪な規則: 初期化シンボルにコロン (:) が続いていません"
#: src/reader.c:1364
#: src/reader.c:1370
msgid "grammar starts with vertical bar"
msgstr "文法は縦棒 (|) で始めます"
#: src/reader.c:1392
#: src/reader.c:1398
#, c-format
msgid "rule given for %s, which is a token"
msgstr "%s に規則が与えられ、それはトークンとなります"
#: src/reader.c:1492
#: src/reader.c:1498
msgid "two @prec's in a row"
msgstr "@prec のもの二つが同列になっています"
#: src/reader.c:1500
#: src/reader.c:1506
#, c-format
msgid "%%guard present but %%semantic_parser not specified"
msgstr "%%guard がありますが %%semantic_parser が指定されていません"
#: src/reader.c:1509
#: src/reader.c:1515
msgid "two actions at end of one rule"
msgstr "一つの規則の終りに二つの動作を指定しています"
#: src/reader.c:1523
#: src/reader.c:1529
#, c-format
msgid "type clash (`%s' `%s') on default action"
msgstr "初期状態の動作では型 (`%s' `%s') が衝突します"
#: src/reader.c:1529
#: src/reader.c:1535
msgid "empty rule for typed nonterminal, and no action"
msgstr "空の型付き非終端アイテム用規則であり、動作が起りません"
#: src/reader.c:1573
#: src/reader.c:1579
#, c-format
msgid "invalid input: %s"
msgstr "無効な入力: %s"
msgstr "不適切な入力: %s"
#: src/reader.c:1581
#, fuzzy, c-format
#: src/reader.c:1587
#, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "シンボルが多すぎます (トークン非終端アイテム) -- 最大 %s"
msgstr "シンボルが多すぎます (トークン + 非終端アイテム) -- 最大 %d"
#: src/reader.c:1584
#: src/reader.c:1590
msgid "no rules in the input grammar"
msgstr "入力した文法に規則が定義されていません"
#: src/reader.c:1608
#: src/reader.c:1614
#, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr ""
"シンボル %s が使われていますが、トークンとして定義されておらず、規則を持ちま"
"せん"
#: src/reader.c:1743
#, fuzzy, c-format
#: src/reader.c:1749
#, c-format
msgid "tokens %s and %s both assigned number %d"
msgstr "トークン %s と %s の双方が番号 %s に割り当てられました"
msgstr "トークン %s と %s の双方が番号 %d に割り当てられました"
#: src/reader.c:1796
#: src/reader.c:1802
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "先行している %s と %s で競合が生じています"
#: src/reader.c:1808
#: src/reader.c:1814
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "非結合値 %s と %s で競合が生じています"
#: src/reader.c:1847
#: src/reader.c:1853
#, c-format
msgid "the start symbol %s is undefined"
msgstr "開始シンボル %s は定義されていません"
#: src/reader.c:1849
#: src/reader.c:1855
#, c-format
msgid "the start symbol %s is a token"
msgstr "開始シンボル %s はトークンです"
#: src/reduce.c:409
#, fuzzy
msgid "Useless nonterminals:"
msgstr ""
"不使用非終端子:\n"
"\n"
msgstr "無意味な非終端子:"
#: src/reduce.c:422
#, fuzzy
msgid "Terminals which are not used:"
msgstr ""
"\n"
"\n"
"利用されない終端子:\n"
"\n"
msgstr "利用されない終端子:"
#: src/reduce.c:433
#, fuzzy
msgid "Useless rules:"
msgstr ""
"\n"
"\n"
"不使用規則:\n"
"\n"
msgstr "無意味な規則:"
#: src/reduce.c:503
#, fuzzy, c-format
#, c-format
msgid "%d rule never reduced\n"
msgid_plural "%d rules never reduced\n"
msgstr[0] "%d 個の規則は決して還元されません\n"
#: src/reduce.c:511
#, fuzzy, c-format
#, c-format
msgid "%d useless nonterminal"
msgid_plural "%d useless nonterminals"
msgstr[0] "%d 個の不使用非終端子%.0s"
msgstr[0] "%d 個の無意味な非終端子"
#: src/reduce.c:517
msgid " and "
msgstr "および"
#: src/reduce.c:520
#, fuzzy, c-format
#, c-format
msgid "%d useless rule"
msgid_plural "%d useless rules"
msgstr[0] "%d 個の不使用規則%.0s"
msgstr[0] "%d 個の無意味な規則"
#: src/reduce.c:551
#, c-format
@@ -713,7 +708,7 @@ msgstr "%s:
#: lib/getopt.c:804
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: 無効なオプション -- %c\n"
msgstr "%s: 不適切なオプション -- %c\n"
#. 1003.2 specifies the format of this message.
#: lib/getopt.c:834 lib/getopt.c:964
@@ -734,9 +729,8 @@ msgstr "%s:
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
#. before exiting when memory is exhausted. Goes through gettext.
#: lib/obstack.c:494 lib/obstack.c:497 lib/xmalloc.c:66
#, fuzzy
msgid "memory exhausted"
msgstr "%s: メモリを使い果たしました\n"
msgstr "メモリを使い果たしました"
#. Get translations for open and closing quotation marks.
#.
@@ -754,11 +748,11 @@ msgstr "%s:
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
#: lib/quotearg.c:274
msgid "`"
msgstr ""
msgstr "`"
#: lib/quotearg.c:275
msgid "'"
msgstr ""
msgstr "'"
#~ msgid ""
#~ "\n"
@@ -887,10 +881,10 @@ msgstr ""
#~ msgstr "対応のない右ブレース (`}') です"
#~ msgid "$%s is invalid"
#~ msgstr "$%s は無効です"
#~ msgstr "$%s は不適切です"
#~ msgid "invalid @-construct"
#~ msgstr "無効な @-コンストラクトです"
#~ msgstr "不適切な @-コンストラクトです"
#~ msgid "ill-formed %type declaration"
#~ msgstr "邪悪な %type 宣言です"
+25 -25
View File
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: bison 1.25\n"
"POT-Creation-Date: 2001-12-05 12:47+0100\n"
"POT-Creation-Date: 2001-12-18 10:35+0100\n"
"PO-Revision-Date: 1996-08-27 15:34 MET DST\n"
"Last-Translator: Erick Branderhorst <[email protected]>\n"
"Language-Team: Dutch <[email protected]>\n"
@@ -18,7 +18,7 @@ msgstr ""
msgid "too many states (max %d)"
msgstr ""
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
#: lib/error.c:128 lib/error.c:156 src/complain.c:99
msgid "Unknown system error"
msgstr ""
@@ -220,7 +220,7 @@ msgstr "%s: geen grammatica bestand gegeven\n"
msgid "%s: extra arguments ignored after `%s'\n"
msgstr "%s: extra argumenten genegeerd na '%s'\n"
#: src/lalr.c:255
#: src/lalr.c:256
#, c-format
msgid "too many gotos (max %d)"
msgstr ""
@@ -279,7 +279,7 @@ msgstr ""
msgid "`%s' requires an argument"
msgstr "%s: optie `%s' vereist een argument\n"
#: src/output.c:949
#: src/output.c:951
#, fuzzy, c-format
msgid "maximum table size (%d) exceeded"
msgstr "maximale tabel grootte (%s) overschreden"
@@ -458,7 +458,7 @@ msgstr ""
msgid "symbol %s redefined"
msgstr "symbool %s opnieuw gedefinieerd"
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1292
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1298
#, c-format
msgid "type redeclaration for %s"
msgstr "type herdeclaratie voor %s"
@@ -473,7 +473,7 @@ msgstr "`%s' is onjuist in %s"
msgid "multiple %s declarations"
msgstr "meerdere %start declaraties"
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1270
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1276
#, fuzzy, c-format
msgid "invalid %s declaration"
msgstr "onjuiste %start declaratie"
@@ -502,7 +502,7 @@ msgstr "onjuiste tekst (%s) - nummer hoort na de identifier"
msgid "unexpected item: %s"
msgstr "onbekend item: %s"
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1181
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1187
#, fuzzy, c-format
msgid "unmatched %s"
msgstr "niet overeenkomstige `{'"
@@ -536,89 +536,89 @@ msgstr "geen invoer grammatica"
msgid "unknown character: %s"
msgstr "onbekend karakter: %s"
#: src/reader.c:1204
#: src/reader.c:1210
#, fuzzy, c-format
msgid "unterminated %guard clause"
msgstr "niet getermineerde %%guard voorwaarde"
#: src/reader.c:1357
#: src/reader.c:1363
msgid "ill-formed rule: initial symbol not followed by colon"
msgstr ""
"slecht geformuleerde regel: initieel symbool niet gevolgd door dubbele punt"
#: src/reader.c:1364
#: src/reader.c:1370
msgid "grammar starts with vertical bar"
msgstr "grammatica start met een verticale bar"
#: src/reader.c:1392
#: src/reader.c:1398
#, c-format
msgid "rule given for %s, which is a token"
msgstr "regel geven voor %s, welke een teken is"
#: src/reader.c:1492
#: src/reader.c:1498
msgid "two @prec's in a row"
msgstr "twee @prec's in een regel"
#: src/reader.c:1500
#: src/reader.c:1506
#, c-format
msgid "%%guard present but %%semantic_parser not specified"
msgstr "%%guard aanwezig maar %%semantic_parser niet gespecificeerd"
#: src/reader.c:1509
#: src/reader.c:1515
msgid "two actions at end of one rule"
msgstr "twee akties aan het einde van een regel"
#: src/reader.c:1523
#: src/reader.c:1529
#, c-format
msgid "type clash (`%s' `%s') on default action"
msgstr "type clash (`%s' `%s') bij standaard aktie"
#: src/reader.c:1529
#: src/reader.c:1535
msgid "empty rule for typed nonterminal, and no action"
msgstr "lege regel voor getypte niet terminal, en geen aktie"
#: src/reader.c:1573
#: src/reader.c:1579
#, c-format
msgid "invalid input: %s"
msgstr "ongeldige invoer: %s"
#: src/reader.c:1581
#: src/reader.c:1587
#, fuzzy, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "te veel symbolen (tekens plus nietterminals); maximum %s"
#: src/reader.c:1584
#: src/reader.c:1590
msgid "no rules in the input grammar"
msgstr "geen regels voor invoer grammatica"
#: src/reader.c:1608
#: src/reader.c:1614
#, 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:1743
#: src/reader.c:1749
#, c-format
msgid "tokens %s and %s both assigned number %d"
msgstr ""
#: src/reader.c:1796
#: src/reader.c:1802
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "conflictuerende precedentein voor %s en %s"
#: src/reader.c:1808
#: src/reader.c:1814
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "conflictuerende associatieve waarden voor %s en %s"
#: src/reader.c:1847
#: src/reader.c:1853
#, c-format
msgid "the start symbol %s is undefined"
msgstr ""
#: src/reader.c:1849
#: src/reader.c:1855
#, c-format
msgid "the start symbol %s is a token"
msgstr "het start symbool %s is een token"
+25 -25
View File
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: bison 1.29\n"
"POT-Creation-Date: 2001-12-05 12:47+0100\n"
"POT-Creation-Date: 2001-12-18 10:35+0100\n"
"PO-Revision-Date: 2001-09-09 13:49+04:00\n"
"Last-Translator: Dmitry S. Sivachenko <[email protected]>\n"
"Language-Team: Russian <[email protected]>\n"
@@ -18,7 +18,7 @@ msgstr ""
msgid "too many states (max %d)"
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÏÓÔÏÑÎÉÊ (ÍÁËÓÉÍÁÌØÎÏ %d)"
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
#: lib/error.c:128 lib/error.c:156 src/complain.c:99
msgid "Unknown system error"
msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÓÉÓÔÅÍÎÁÑ ÏÛÉÂËÁ"
@@ -249,7 +249,7 @@ msgstr "%s:
msgid "%s: extra arguments ignored after `%s'\n"
msgstr "%s: ÌÉÛÎÉÅ ÁÒÇÕÍÅÎÔÙ ÐÏÓÌÅ `%s' ÉÇÎÏÒÉÒÏ×ÁÎÙ\n"
#: src/lalr.c:255
#: src/lalr.c:256
#, c-format
msgid "too many gotos (max %d)"
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ goto (ÍÁËÓÉÍÁÌØÎÏ %d)"
@@ -307,7 +307,7 @@ msgstr ""
msgid "`%s' requires an argument"
msgstr "%s: ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ\n"
#: src/output.c:949
#: src/output.c:951
#, c-format
msgid "maximum table size (%d) exceeded"
msgstr "ÐÒÅ×ÙÛÅÎ ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ (%d)"
@@ -469,7 +469,7 @@ msgstr ""
msgid "symbol %s redefined"
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ %s"
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1292
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1298
#, c-format
msgid "type redeclaration for %s"
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÉÓÁÎÉÅ ÔÉÐÁ ÄÌÑ %s"
@@ -484,7 +484,7 @@ msgstr "`%s'
msgid "multiple %s declarations"
msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %s"
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1270
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1276
#, c-format
msgid "invalid %s declaration"
msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %s"
@@ -513,7 +513,7 @@ msgstr "
msgid "unexpected item: %s"
msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ÜÌÅÍÅÎÔ: %s"
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1181
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1187
#, c-format
msgid "unmatched %s"
msgstr "ÎÅÐÁÒÎÁÑ %s"
@@ -547,87 +547,87 @@ msgstr "
msgid "unknown character: %s"
msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ: %s"
#: src/reader.c:1204
#: src/reader.c:1210
#, c-format
msgid "unterminated %guard clause"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ÏÐÅÒÁÔÏÒ %guard"
#: src/reader.c:1357
#: src/reader.c:1363
msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "ÎÅ×ÅÒÎÏÅ ÐÒÁ×ÉÌÏ: Ä×ÏÅÔÏÞÉÅ ÎÅ ÓÌÅÄÕÅÔ ÚÁ ÎÁÞÁÌØÎÙÍ ÓÉÍ×ÏÌÏÍ"
#: src/reader.c:1364
#: src/reader.c:1370
msgid "grammar starts with vertical bar"
msgstr "ÇÒÁÍÍÁÔÉËÁ ÎÁÞÉÎÁÅÔÓÑ Ó ×ÅÒÔÉËÁÌØÎÏÊ ÞÅÒÔÙ"
#: src/reader.c:1392
#: src/reader.c:1398
#, c-format
msgid "rule given for %s, which is a token"
msgstr "ÐÒÁ×ÉÌÏ ÚÁÄÁÎÏ ÄÌÑ %s, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
#: src/reader.c:1492
#: src/reader.c:1498
msgid "two @prec's in a row"
msgstr "Ä×Á @prec ÐÏÄÒÑÄ"
#: src/reader.c:1500
#: src/reader.c:1506
#, c-format
msgid "%%guard present but %%semantic_parser not specified"
msgstr "%%guard ÐÒÉÓÕÔÓÔ×ÕÅÔ, Á %%semantic_parser ÎÅ ÚÁÄÁÎ"
#: src/reader.c:1509
#: src/reader.c:1515
msgid "two actions at end of one rule"
msgstr "Ä×Á ÄÅÊÓÔ×ÉÑ × ËÏÎÃÅ ÏÄÎÏÇÏ ÐÒÁ×ÉÌÁ"
#: src/reader.c:1523
#: src/reader.c:1529
#, c-format
msgid "type clash (`%s' `%s') on default action"
msgstr "ËÏÎÆÌÉËÔ ÔÉÐÏ× (`%s' `%s') ÎÁ ÄÅÊÓÔ×ÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ"
#: src/reader.c:1529
#: src/reader.c:1535
msgid "empty rule for typed nonterminal, and no action"
msgstr ""
"ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ"
#: src/reader.c:1573
#: src/reader.c:1579
#, c-format
msgid "invalid input: %s"
msgstr "ÎÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ: %s"
#: src/reader.c:1581
#: src/reader.c:1587
#, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ÐÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %d"
#: src/reader.c:1584
#: src/reader.c:1590
msgid "no rules in the input grammar"
msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ"
#: src/reader.c:1608
#: src/reader.c:1614
#, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "ÓÉÍ×ÏÌ %s ÉÓÐÏÌØÚÕÅÔÓÑ, ÎÏ ÎÅ ÏÐÒÅÄÅÌÅÎ ËÁË ÌÅËÓÅÍÁ É ÎÅ ÉÍÅÅÔ ÐÒÁ×ÉÌ"
#: src/reader.c:1743
#: src/reader.c:1749
#, c-format
msgid "tokens %s and %s both assigned number %d"
msgstr "ÏÂÅÉÍ ÌÅËÓÅÍÁÍ %s É %s ÐÒÉÓ×ÏÅÎ ÎÏÍÅÒ %d"
#: src/reader.c:1796
#: src/reader.c:1802
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÐÒÉÏÒÉÔÅÔÙ ÄÌÑ %s É %s"
#: src/reader.c:1808
#: src/reader.c:1814
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÚÎÁÞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s É %s"
#: src/reader.c:1847
#: src/reader.c:1853
#, c-format
msgid "the start symbol %s is undefined"
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅÏÐÒÅÄÅÌÅÎ"
#: src/reader.c:1849
#: src/reader.c:1855
#, c-format
msgid "the start symbol %s is a token"
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
+36 -69
View File
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: bison 1.30e\n"
"POT-Creation-Date: 2001-12-05 12:47+0100\n"
"PO-Revision-Date: 2001-11-27 11:16+0100\n"
"Project-Id-Version: bison 1.30f\n"
"POT-Creation-Date: 2001-12-18 10:35+0100\n"
"PO-Revision-Date: 2001-12-06 22:33+0100\n"
"Last-Translator: Göran Uddeborg <[email protected]>\n"
"Language-Team: Swedish <[email protected]>\n"
"MIME-Version: 1.0\n"
@@ -20,7 +20,7 @@ msgstr ""
msgid "too many states (max %d)"
msgstr "för många tillstånd (max %d)"
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
#: lib/error.c:128 lib/error.c:156 src/complain.c:99
msgid "Unknown system error"
msgstr "Okänt systemfel"
@@ -251,7 +251,7 @@ msgstr "%s: ingen grammatikfil angiven\n"
msgid "%s: extra arguments ignored after `%s'\n"
msgstr "%s: extra argument ignorerade efter \"%s\"\n"
#: src/lalr.c:255
#: src/lalr.c:256
#, c-format
msgid "too many gotos (max %d)"
msgstr "för många goto (max %d)"
@@ -309,7 +309,7 @@ msgstr "\"%s\" st
msgid "`%s' requires an argument"
msgstr "\"%s\" behöver ett argument"
#: src/output.c:949
#: src/output.c:951
#, c-format
msgid "maximum table size (%d) exceeded"
msgstr "maximal tabellstorlek (%d) överskriden"
@@ -471,7 +471,7 @@ msgstr "symbolen \"%s\" har f
msgid "symbol %s redefined"
msgstr "symbolen %s omdefinierad"
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1292
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1298
#, c-format
msgid "type redeclaration for %s"
msgstr "typen omdeklarerad för %s"
@@ -486,7 +486,7 @@ msgstr "\"%s\"
msgid "multiple %s declarations"
msgstr "flera %s-deklarationer"
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1270
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1276
#, c-format
msgid "invalid %s declaration"
msgstr "felaktig %s-deklaration"
@@ -515,7 +515,7 @@ msgstr "felaktig text (%s) - tal skulle f
msgid "unexpected item: %s"
msgstr "oväntat objekt: %s"
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1181
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1187
#, c-format
msgid "unmatched %s"
msgstr "ensam %s"
@@ -549,88 +549,88 @@ msgstr "ingen ingrammatik"
msgid "unknown character: %s"
msgstr "okänt tecken: %s"
#: src/reader.c:1204
#: src/reader.c:1210
#, c-format
msgid "unterminated %guard clause"
msgstr "oavlutad %guard-sats"
#: src/reader.c:1357
#: src/reader.c:1363
msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "felskriven regel: första symbolen följs inte av ett kolon"
#: src/reader.c:1364
#: src/reader.c:1370
msgid "grammar starts with vertical bar"
msgstr "grammatiken startar med ett vertikalt streck"
#: src/reader.c:1392
#: src/reader.c:1398
#, c-format
msgid "rule given for %s, which is a token"
msgstr "regel given för %s, som är ett element"
#: src/reader.c:1492
#: src/reader.c:1498
msgid "two @prec's in a row"
msgstr "två @prec i rad"
#: src/reader.c:1500
#: src/reader.c:1506
#, c-format
msgid "%%guard present but %%semantic_parser not specified"
msgstr "%%guard finns men %%semantic_parser är inte angiven"
#: src/reader.c:1509
#: src/reader.c:1515
msgid "two actions at end of one rule"
msgstr "två åtgärder vid slutet av en regel"
#: src/reader.c:1523
#: src/reader.c:1529
#, c-format
msgid "type clash (`%s' `%s') on default action"
msgstr "typkonflikt (\"%s\" \"%s\") för standardåtgärd"
#: src/reader.c:1529
#: src/reader.c:1535
msgid "empty rule for typed nonterminal, and no action"
msgstr "tom regel för typad icketerminal, och ingen åtgärd"
#: src/reader.c:1573
#: src/reader.c:1579
#, c-format
msgid "invalid input: %s"
msgstr "felaktig indata: %s"
#: src/reader.c:1581
#: src/reader.c:1587
#, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "för många symboler (element plus icketerminaler); max %d"
#: src/reader.c:1584
#: src/reader.c:1590
msgid "no rules in the input grammar"
msgstr "inga regler i ingrammatiken"
#: src/reader.c:1608
#: src/reader.c:1614
#, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr ""
"symbolen %s används, men är inte definierad som ett element och har inga "
"regler"
#: src/reader.c:1743
#: src/reader.c:1749
#, c-format
msgid "tokens %s and %s both assigned number %d"
msgstr "elementen %s och %s har båda fått nummer %d"
#: src/reader.c:1796
#: src/reader.c:1802
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "motstridiga precedenser mellan %s och %s"
#: src/reader.c:1808
#: src/reader.c:1814
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "motstridiga assoc-värden mellan %s och %s"
#: src/reader.c:1847
#: src/reader.c:1853
#, c-format
msgid "the start symbol %s is undefined"
msgstr "startsymbolen %s är odefinierad"
#: src/reader.c:1849
#: src/reader.c:1855
#, c-format
msgid "the start symbol %s is a token"
msgstr "startsymbolen %s är ett element"
@@ -648,29 +648,29 @@ msgid "Useless rules:"
msgstr "Oanvändbara regler:"
#: src/reduce.c:503
#, fuzzy, c-format
#, c-format
msgid "%d rule never reduced\n"
msgid_plural "%d rules never reduced\n"
msgstr[0] "%d regler reduceras aldrig\n"
msgstr[0] "%d regel reduceras aldrig\n"
msgstr[1] "%d regler reduceras aldrig\n"
# Jag har anmält att det är fel att anta att "s" är en universell pluraländelse.
# Jag föreslog också att de använder ngettext istället.
# "Vad göras skall är redan gjort."
#: src/reduce.c:511
#, fuzzy, c-format
#, c-format
msgid "%d useless nonterminal"
msgid_plural "%d useless nonterminals"
msgstr[0] "%d oanvändbara icketerminaler%.0s"
msgstr[0] "%d oanvändbar icketerminal"
msgstr[1] "%d oanvändbara icketerminaler"
#: src/reduce.c:517
msgid " and "
msgstr " och "
#: src/reduce.c:520
#, fuzzy, c-format
#, c-format
msgid "%d useless rule"
msgid_plural "%d useless rules"
msgstr[0] "%d oanvändbara regler%.0s"
msgstr[0] "%d oanvändbar regel"
msgstr[1] "%d oanvändbara regler"
#: src/reduce.c:551
#, c-format
@@ -766,36 +766,3 @@ msgstr "\""
#: lib/quotearg.c:275
msgid "'"
msgstr "\""
#~ msgid "%s: internal error: %s\n"
#~ msgstr "%s: internt fel: %s\n"
#~ msgid ""
#~ "Variables\n"
#~ "---------\n"
#~ "\n"
#~ msgstr ""
#~ "Variabler\n"
#~ "---------\n"
#~ "\n"
#~ msgid "Value Sprec Sassoc Tag\n"
#~ msgstr "Värde Sprec Sassoc Tagg\n"
#~ msgid ""
#~ "Rules\n"
#~ "-----\n"
#~ "\n"
#~ msgstr ""
#~ "Regler\n"
#~ "------\n"
#~ "\n"
#~ msgid ""
#~ "Rules interpreted\n"
#~ "-----------------\n"
#~ "\n"
#~ msgstr ""
#~ "Tolkade regler\n"
#~ "--------------\n"
#~ "\n"
+39 -69
View File
@@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: bison 1.30e\n"
"POT-Creation-Date: 2001-12-05 12:47+0100\n"
"PO-Revision-Date: 2001-11-27 11:37GMT+2\n"
"Last-Translator: Altuð Bayram <[email protected]>\n"
"Project-Id-Version: bison 1.30f\n"
"POT-Creation-Date: 2001-12-18 10:35+0100\n"
"PO-Revision-Date: 2001-12-06 12:09+300\n"
"Last-Translator: Altug Bayram <[email protected]>\n"
"Language-Team: Turkish <[email protected]>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-9\n"
@@ -19,7 +19,7 @@ msgstr ""
msgid "too many states (max %d)"
msgstr "çok fazla durum (en fazla %d)"
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
#: lib/error.c:128 lib/error.c:156 src/complain.c:99
msgid "Unknown system error"
msgstr "Bilinmeyen sistem hatasý"
@@ -82,7 +82,7 @@ msgstr "
#: src/conflicts.c:389
#, c-format
msgid " %d shift/reduce"
msgstr " %d öteleme/indirgeme"
msgstr " %d shift/reduce"
#: src/conflicts.c:393
#, c-format
@@ -197,7 +197,7 @@ msgid ""
" -g, --graph also produce a VCG description of the "
"automaton\n"
msgstr ""
"Output:\n"
"Çýktý:\n"
" -d, --defines bir baþlýk dosyasý da üretir\n"
" -v, --verbose otomatýn bir açýklamasýný da üretir\n"
" -b, --file-prefix=PREFIX çýktý dosyalarý için bir ÖNEK belirtir\n"
@@ -253,7 +253,7 @@ msgstr "%s: gramer dosyas
msgid "%s: extra arguments ignored after `%s'\n"
msgstr "%s: '%s' den sonraki argümanlar yoksayýldý\n"
#: src/lalr.c:255
#: src/lalr.c:256
#, c-format
msgid "too many gotos (max %d)"
msgstr "gotos çok fazla (en fazla %d)"
@@ -311,7 +311,7 @@ msgstr "`%s' arg
msgid "`%s' requires an argument"
msgstr "`%s' bir argüman gerektirir"
#: src/output.c:949
#: src/output.c:951
#, c-format
msgid "maximum table size (%d) exceeded"
msgstr "en büyük tablo uzunluðu (%d) aþýldý"
@@ -447,7 +447,7 @@ msgstr "`%s''in $$'
#: src/reader.c:393
#, c-format
msgid "$%d of `%s' has no declared type"
msgstr "`%d''in $%s'i bildirilmiþ tip deðil"
msgstr "`%2$s''in %1$d'i bildirilmiþ tip deðil"
#: src/reader.c:447
msgid "unterminated `%{' definition"
@@ -473,7 +473,7 @@ msgstr "simge `%s' bir harfiyen uyumlu dizgi gibi birden fazla verilmi
msgid "symbol %s redefined"
msgstr "%s simgesi yeniden tanýmlandý"
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1292
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1298
#, c-format
msgid "type redeclaration for %s"
msgstr "%s için yeniden tip bildirimi"
@@ -488,7 +488,7 @@ msgstr "`%s' %s i
msgid "multiple %s declarations"
msgstr "çoklu %s bildirimleri"
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1270
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1276
#, c-format
msgid "invalid %s declaration"
msgstr "geçersiz %s bildirimi"
@@ -517,7 +517,7 @@ msgstr "ge
msgid "unexpected item: %s"
msgstr "beklenmeyen öðe: %s"
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1181
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1187
#, c-format
msgid "unmatched %s"
msgstr "eþlenemeyen %s"
@@ -551,88 +551,88 @@ msgstr "girdi grameri yok"
msgid "unknown character: %s"
msgstr "bilinmeyen karakter: %s"
#: src/reader.c:1204
#: src/reader.c:1210
#, c-format
msgid "unterminated %guard clause"
msgstr "sonlandýrýlmamýþ %guard yantümcesi"
#: src/reader.c:1357
#: src/reader.c:1363
msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "kötü-biçemli kural: baþlangýç simgesini takip eden \":\" yok"
#: src/reader.c:1364
#: src/reader.c:1370
msgid "grammar starts with vertical bar"
msgstr "gramer düþey çubuk ile baþlýyor"
#: src/reader.c:1392
#: src/reader.c:1398
#, c-format
msgid "rule given for %s, which is a token"
msgstr "bir andaç olan %s için verilen kural"
#: src/reader.c:1492
#: src/reader.c:1498
msgid "two @prec's in a row"
msgstr "bir satýrda iki @prec"
#: src/reader.c:1500
#: src/reader.c:1506
#, c-format
msgid "%%guard present but %%semantic_parser not specified"
msgstr "%%guard sunulmuþ fakat %%semantic_parser belirlenmemiþ"
#: src/reader.c:1509
#: src/reader.c:1515
msgid "two actions at end of one rule"
msgstr "bir kuralýn sonunda iki eylem"
#: src/reader.c:1523
#: src/reader.c:1529
#, c-format
msgid "type clash (`%s' `%s') on default action"
msgstr "öntanýmlý eylem üzerinde (`%s' `%s') tip çatýþmasý"
#: src/reader.c:1529
#: src/reader.c:1535
msgid "empty rule for typed nonterminal, and no action"
msgstr ""
"Tipli deðiþken simge için boþ kural tanýmlanmýþ, ve eylem belirtilmemiþ"
#: src/reader.c:1573
#: src/reader.c:1579
#, c-format
msgid "invalid input: %s"
msgstr "geçersiz girdi: %s"
#: src/reader.c:1581
#: src/reader.c:1587
#, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "çok fazla simge var (andaçlar ve deðiþken simgeler); en fazla %d"
#: src/reader.c:1584
#: src/reader.c:1590
msgid "no rules in the input grammar"
msgstr "girdi grameri içinde kurallar yok"
#: src/reader.c:1608
#: src/reader.c:1614
#, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr ""
"simge %s kullanýldý, fakat bir andaç olarak tanýmlanmadý ve kurallarý yok"
#: src/reader.c:1743
#: src/reader.c:1749
#, c-format
msgid "tokens %s and %s both assigned number %d"
msgstr "%s ve %s andaçlarýnýn her ikisi %d sayýsýna atandý"
#: src/reader.c:1796
#: src/reader.c:1802
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "%s ve %s için çeliþen öncelikler"
#: src/reader.c:1808
#: src/reader.c:1814
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "%s ve %s için çeliþen birleþmeli deðerler"
#: src/reader.c:1847
#: src/reader.c:1853
#, c-format
msgid "the start symbol %s is undefined"
msgstr "baþlangýç simgesi %s tanýmlanmadý"
#: src/reader.c:1849
#: src/reader.c:1855
#, c-format
msgid "the start symbol %s is a token"
msgstr "baþlangýç simgesi %s bir andaçtýr"
@@ -650,26 +650,29 @@ msgid "Useless rules:"
msgstr "Yararsýz kurallar:"
#: src/reduce.c:503
#, fuzzy, c-format
#, c-format
msgid "%d rule never reduced\n"
msgid_plural "%d rules never reduced\n"
msgstr[0] "%d kural asla indirgenmedi\n"
msgstr[1] "%d kural asla indirgenmedi\n"
#: src/reduce.c:511
#, fuzzy, c-format
#, c-format
msgid "%d useless nonterminal"
msgid_plural "%d useless nonterminals"
msgstr[0] "%d yararsýz deðiþken simge%s"
msgstr[0] "%d yararsýz deðiþken simge"
msgstr[1] "%d yararsýz deðiþken simge%s"
#: src/reduce.c:517
msgid " and "
msgstr " ve "
#: src/reduce.c:520
#, fuzzy, c-format
#, c-format
msgid "%d useless rule"
msgid_plural "%d useless rules"
msgstr[0] "%d yararsýz kural%s"
msgstr[0] "%d yararsýz kural"
msgstr[1] "%d yararsýz kural%s"
#: src/reduce.c:551
#, c-format
@@ -762,36 +765,3 @@ msgstr "`"
#: lib/quotearg.c:275
msgid "'"
msgstr "'"
#~ msgid "%s: internal error: %s\n"
#~ msgstr "%s: iç hata: %s\n"
#~ msgid ""
#~ "Variables\n"
#~ "---------\n"
#~ "\n"
#~ msgstr ""
#~ "Deðiþkenler\n"
#~ "-----------\n"
#~ "\n"
#~ msgid "Value Sprec Sassoc Tag\n"
#~ msgstr "Deðer Söncel Sbirleþ Etiket\n"
#~ msgid ""
#~ "Rules\n"
#~ "-----\n"
#~ "\n"
#~ msgstr ""
#~ "Kurallar\n"
#~ "--------\n"
#~ "\n"
#~ msgid ""
#~ "Rules interpreted\n"
#~ "-----------------\n"
#~ "\n"
#~ msgstr ""
#~ "Kurallar yorumlandý\n"
#~ "-------------------\n"
#~ "\n"
+2 -2
View File
@@ -28,8 +28,8 @@ CFLAGS = @CFLAGS@ $(WARNING_CFLAGS)
# config.h in build/.
INCLUDES = -I$(top_builddir)/intl \
-I$(top_builddir) \
-I$(top_srcdir)/lib \
-I$(top_srcdir)
-I$(top_srcdir)/intl \
-I$(top_srcdir)/lib
LDADD = $(INTLLIBS) ../lib/libbison.a
+2 -2
View File
@@ -115,8 +115,8 @@ CFLAGS = @CFLAGS@ $(WARNING_CFLAGS)
# config.h in build/.
INCLUDES = -I$(top_builddir)/intl \
-I$(top_builddir) \
-I$(top_srcdir)/lib \
-I$(top_srcdir)
-I$(top_srcdir)/intl \
-I$(top_srcdir)/lib
LDADD = $(INTLLIBS) ../lib/libbison.a
+66 -36
View File
@@ -1,7 +1,7 @@
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line
/* Skeleton output parser for bison,
Copyright 1984, 1989, 1990, 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 1984, 1989, 1990, 2000, 2001 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
@@ -32,21 +32,27 @@
infringing on user name space. This should be done even for local
variables, as they might otherwise be expanded by user macros.
There are some unavoidable exceptions within include files to
define necessary C library symbols; they are noted "INFRINGES ON
define necessary library symbols; they are noted "INFRINGES ON
USER NAME SPACE" below. */
#ifdef __cplusplus
# define YYSTD(x) std::x
#else
# define YYSTD(x) x
#endif
#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
/* The parser invokes alloca or malloc; define the necessary symbols. */
# if YYSTACK_USE_ALLOCA
# define YYSTACK_ALLOC alloca
# define YYSIZE_T size_t
# define YYSIZE_T YYSTD (size_t)
# else
# ifndef YYSTACK_USE_ALLOCA
# if defined (alloca) || defined (_ALLOCA_H)
# define YYSTACK_ALLOC alloca
# define YYSIZE_T size_t
# define YYSIZE_T YYSTD (size_t)
# else
# if defined (__GNUC__) || defined (_AIX) || defined (__hpux)
# define YYSTACK_ALLOC __builtin_alloca
@@ -58,7 +64,7 @@
# if defined (__sgi) || defined (__sparc__) || defined (__sparc) || defined (__sun)
# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
# define YYSTACK_ALLOC alloca
# define YYSIZE_T size_t
# define YYSIZE_T YYSTD (size_t)
# endif
# endif
# endif
@@ -69,12 +75,17 @@
/* Pacify GCC's `empty if-body' warning. */
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
# else
# define YYSTACK_ALLOC malloc
# define YYSTACK_FREE(Ptr) free (Ptr)
# if defined (__STDC__) || defined (__cplusplus)
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# ifdef __cplusplus
# include <cstdlib> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T std::size_t
# else
# ifdef __STDC__
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# endif
# endif
# define YYSTACK_ALLOC YYSTD (malloc)
# define YYSTACK_FREE YYSTD (free)
# endif
/* A type that is properly aligned for any stack member. */
@@ -128,9 +139,16 @@ union yyalloc
#if ! defined (YYSIZE_T) && defined (size_t)
# define YYSIZE_T size_t
#endif
#if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus))
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
#if ! defined (YYSIZE_T)
# ifdef __cplusplus
# include <cstddef> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T std::size_t
# else
# ifdef __STDC__
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# endif
# endif
#endif
#if ! defined (YYSIZE_T)
# define YYSIZE_T unsigned int
@@ -206,11 +224,21 @@ while (0)
/* Enable debugging if requested. */
#if YYDEBUG
# include <stdio.h>
# ifndef YYFPRINTF
# ifdef __cplusplus
# include <cstdio.h> /* INFRINGES ON USER NAME SPACE */
# else
# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
# endif
# define YYFPRINTF YYSTD (fprintf)
# define YYSTDERR YYSTD (stderr)
# endif
# define YYDPRINTF(Args) \
do { \
if (yydebug) \
fprintf Args; \
YYFPRINTF Args; \
} while (0)
/* Nonzero means print parse trace. [The following comment makes no
sense to me. Could someone clarify it? --akim] Since this is
@@ -443,7 +471,7 @@ yyparse (YYPARSE_PARAM_ARG)
rule. */
int yylen;
YYDPRINTF ((stderr, "Starting parse\n"));
YYDPRINTF ((YYSTDERR, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
@@ -539,14 +567,14 @@ yyparse (YYPARSE_PARAM_ARG)
yylsp = yyls + yysize - 1;
#endif
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
YYDPRINTF ((YYSTDERR, "Stack size increased to %lu\n",
(unsigned long int) yystacksize));
if (yyssp >= yyss + yystacksize - 1)
YYABORT;
}
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
YYDPRINTF ((YYSTDERR, "Entering state %d\n", yystate));
goto yybackup;
@@ -573,7 +601,7 @@ yybackup:
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
YYDPRINTF ((YYSTDERR, "Reading a token: "));
yychar = YYLEX;
}
@@ -584,7 +612,7 @@ yybackup:
yychar1 = 0;
yychar = YYEOF; /* Don't call YYLEX any more */
YYDPRINTF ((stderr, "Now at end of input.\n"));
YYDPRINTF ((YYSTDERR, "Now at end of input.\n"));
}
else
{
@@ -595,13 +623,14 @@ yybackup:
which are defined only if `YYDEBUG' is set. */
if (yydebug)
{
fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
YYFPRINTF (YYSTDERR, "Next token is %d (%s",
yychar, yytname[yychar1]);
/* Give the individual parser a way to print the precise
meaning of a token, for further debugging info. */
# ifdef YYPRINT
YYPRINT (stderr, yychar, yylval);
YYPRINT (YYSTDERR, yychar, yylval);
# endif
fprintf (stderr, ")\n");
YYFPRINTF (YYSTDERR, ")\n");
}
#endif
}
@@ -633,7 +662,8 @@ yybackup:
YYACCEPT;
/* Shift the lookahead token. */
YYDPRINTF ((stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]));
YYDPRINTF ((YYSTDERR, "Shifting token %d (%s), ",
yychar, yytname[yychar1]));
/* Discard the token being shifted unless it is eof. */
if (yychar != YYEOF)
@@ -694,13 +724,13 @@ yyreduce:
{
int yyi;
fprintf (stderr, "Reducing via rule %d (line %d), ",
yyn, yyrline[yyn]);
YYFPRINTF (YYSTDERR, "Reducing via rule %d (line %d), ",
yyn, yyrline[yyn]);
/* Print the symbols being reduced, and their result. */
for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
fprintf (stderr, "%s ", yytname[yyrhs[yyi]]);
fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
YYFPRINTF (YYSTDERR, "%s ", yytname[yyrhs[yyi]]);
YYFPRINTF (YYSTDERR, " -> %s\n", yytname[yyr1[yyn]]);
}
#endif
%% actions /* The action file replaces this line. */
@@ -716,10 +746,10 @@ yyreduce:
if (yydebug)
{
short *yyssp1 = yyss - 1;
fprintf (stderr, "state stack now");
YYFPRINTF (YYSTDERR, "state stack now");
while (yyssp1 != yyssp)
fprintf (stderr, " %d", *++yyssp1);
fprintf (stderr, "\n");
YYFPRINTF (YYSTDERR, " %d", *++yyssp1);
YYFPRINTF (YYSTDERR, "\n");
}
#endif
@@ -815,7 +845,7 @@ yyerrlab1:
/* return failure if at end of input */
if (yychar == YYEOF)
YYABORT;
YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
YYDPRINTF ((YYSTDERR, "Discarding token %d (%s).\n",
yychar, yytname[yychar1]));
yychar = YYEMPTY;
}
@@ -861,10 +891,10 @@ yyerrpop:
if (yydebug)
{
short *yyssp1 = yyss - 1;
fprintf (stderr, "Error: state stack now");
YYFPRINTF (YYSTDERR, "Error: state stack now");
while (yyssp1 != yyssp)
fprintf (stderr, " %d", *++yyssp1);
fprintf (stderr, "\n");
YYFPRINTF (YYSTDERR, " %d", *++yyssp1);
YYFPRINTF (YYSTDERR, "\n");
}
#endif
@@ -894,7 +924,7 @@ yyerrhandle:
if (yyn == YYFINAL)
YYACCEPT;
YYDPRINTF ((stderr, "Shifting error token, "));
YYDPRINTF ((YYSTDERR, "Shifting error token, "));
*++yyvsp = yylval;
#if YYLSP_NEEDED
+3 -3
View File
@@ -41,6 +41,9 @@
void exit ();
#endif
/* To get error_one_per_line. */
#include "error.h"
#include "complain.h"
#ifndef HAVE_DECL_STRERROR_R
@@ -106,9 +109,6 @@ unsigned int warn_message_count;
/* This variable is incremented each time `complain' is called. */
unsigned int complain_message_count;
/* 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;
/*--------------------------------.
| Report a warning, and proceed. |
-4
View File
@@ -56,10 +56,6 @@ extern unsigned int warn_message_count;
/* This variable is incremented each time `complain' is called. */
extern unsigned int complain_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
+18 -16
View File
@@ -247,16 +247,17 @@ set_goto_map (void)
ngotos = 0;
for (sp = first_shift; sp; sp = sp->next)
for (i = sp->nshifts - 1; i >= 0 && SHIFT_IS_GOTO (sp, i); --i)
{
symbol = state_table[sp->shifts[i]].accessing_symbol;
if (sp->nshifts)
for (i = sp->nshifts - 1; i >= 0 && SHIFT_IS_GOTO (sp, i); --i)
{
symbol = state_table[sp->shifts[i]].accessing_symbol;
if (ngotos == MAXSHORT)
fatal (_("too many gotos (max %d)"), MAXSHORT);
if (ngotos == MAXSHORT)
fatal (_("too many gotos (max %d)"), MAXSHORT);
ngotos++;
goto_map[symbol]++;
}
ngotos++;
goto_map[symbol]++;
}
k = 0;
for (i = ntokens; i < nsyms; i++)
@@ -277,15 +278,16 @@ set_goto_map (void)
for (sp = first_shift; sp; sp = sp->next)
{
state1 = sp->number;
for (i = sp->nshifts - 1; i >= 0 && SHIFT_IS_GOTO (sp, i); --i)
{
state2 = sp->shifts[i];
symbol = state_table[state2].accessing_symbol;
if (sp->nshifts)
for (i = sp->nshifts - 1; i >= 0 && SHIFT_IS_GOTO (sp, i); --i)
{
state2 = sp->shifts[i];
symbol = state_table[state2].accessing_symbol;
k = temp_map[symbol]++;
from_state[k] = state1;
to_state[k] = state2;
}
k = temp_map[symbol]++;
from_state[k] = state1;
to_state[k] = state2;
}
}
XFREE (temp_map + ntokens);
+43 -45
View File
@@ -46,70 +46,68 @@ nullable_print (FILE *out)
void
set_nullable (void)
{
short *r;
int ruleno;
short *s1;
short *s2;
shorts *p;
short *squeue;
short *rcount;
shorts **rsets;
shorts *relts;
short *squeue = XCALLOC (short, nvars);
short *rcount = XCALLOC (short, nrules + 1);
/* RITEM contains all the rules, including useless productions.
Hence we must allocate room for useless nonterminals too. */
shorts **rsets = XCALLOC (shorts *, nvars) - ntokens;
/* This is said to be more elements than we actually use.
Supposedly nitems - nrules is enough. But why take the risk? */
shorts *relts = XCALLOC (shorts, nitems + nvars + 1);
if (trace_flag)
fprintf (stderr, "Entering set_nullable\n");
nullable = XCALLOC (char, nvars) - ntokens;
squeue = XCALLOC (short, nvars);
s1 = s2 = squeue;
rcount = XCALLOC (short, nrules + 1);
/* RITEM contains all the rules, including useless productions.
Hence we must allocate room for useless nonterminals too. */
rsets = XCALLOC (shorts *, nvars + nuseless_nonterminals) - ntokens;
/* This is said to be more elements than we actually use.
Supposedly nitems - nrules is enough.
But why take the risk? */
relts = XCALLOC (shorts, nitems + nvars + nuseless_nonterminals + 1);
p = relts;
for (r = ritem; *r; ++r)
{
/* Walk RITEM to find (i), if there are any tokens in the
RHS, and (ii), to find RULENO. */
int ruleno;
int any_tokens = 0;
short *r1;
for (r1 = r; *r1 > 0; ++r1)
if (ISTOKEN (*r1))
any_tokens = 1;
ruleno = -*r1;
/* Examine the RHS of the rule. */
if (!any_tokens)
for (/* Nothing. */; *r > 0; ++r)
for (ruleno = 1; ruleno < nrules + 1; ++ruleno)
if (rule_table[ruleno].useful)
{
if (ritem[rule_table[ruleno].rhs] > 0)
{
rcount[ruleno]++;
p->next = rsets[*r];
p->value = ruleno;
rsets[*r] = p;
p++;
}
/* This rule has a non empty RHS. */
short *r;
int any_tokens = 0;
for (r = ritem + rule_table[ruleno].rhs; *r > 0; ++r)
if (ISTOKEN (*r))
any_tokens = 1;
/* Examine its LHS. */
if (rule_table[ruleno].useful && !nullable[rule_table[ruleno].lhs])
{
nullable[rule_table[ruleno].lhs] = 1;
*s2++ = rule_table[ruleno].lhs;
}
}
/* This rule has only nonterminals: schedule it for the second
pass. */
if (!any_tokens)
for (r = ritem + rule_table[ruleno].rhs; *r > 0; ++r)
{
rcount[ruleno]++;
p->next = rsets[*r];
p->value = ruleno;
rsets[*r] = p;
p++;
}
}
else
{
/* This rule has an empty RHS. */
assert (ritem[rule_table[ruleno].rhs] == -ruleno);
if (rule_table[ruleno].useful && !nullable[rule_table[ruleno].lhs])
{
nullable[rule_table[ruleno].lhs] = 1;
*s2++ = rule_table[ruleno].lhs;
}
}
}
while (s1 < s2)
for (p = rsets[*s1++]; p; p = p->next)
{
int ruleno = p->value;
ruleno = p->value;
if (--rcount[ruleno] == 0)
if (rule_table[ruleno].useful && !nullable[rule_table[ruleno].lhs])
{
+11 -13
View File
@@ -1,5 +1,7 @@
/* Output the generated parsing program for bison,
Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001 Free Software
Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
@@ -314,7 +316,7 @@ output_gram (void)
yyprhs and yyrhs are needed only for yydebug. */
/* With the no_parser option, all tables are generated */
if (!semantic_parser && !no_parser_flag)
obstack_sgrow (&table_obstack, "\n#if YYDEBUG != 0\n");
obstack_sgrow (&table_obstack, "\n#if YYDEBUG\n");
{
int i;
@@ -370,7 +372,7 @@ output_rule_data (void)
short *short_tab = NULL;
obstack_sgrow (&table_obstack, "\n\
#if YYDEBUG != 0\n");
#if YYDEBUG\n");
{
short *values = XCALLOC (short, nrules + 1);
@@ -398,7 +400,7 @@ output_rule_data (void)
/* Output the table of symbol names. */
if (!token_table_flag && !no_parser_flag)
obstack_sgrow (&table_obstack,
"\n#if YYDEBUG != 0 || defined YYERROR_VERBOSE\n\n");
"\n#if (YYDEBUG) || defined YYERROR_VERBOSE\n\n");
obstack_sgrow (&table_obstack, "\
/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */\n");
obstack_sgrow (&table_obstack,
@@ -976,8 +978,8 @@ pack_vector (int vector)
return j;
}
}
assert (!"pack_vector");
#define pack_vector_succeeded 0
assert (pack_vector_succeeded);
return 0;
}
@@ -1266,20 +1268,16 @@ output (void)
obstack_grow (&table_obstack, obstack_finish (&attrs_obstack), size);
}
reader_output_yylsp (&table_obstack);
if (debug_flag)
obstack_sgrow (&table_obstack, "\
obstack_fgrow1 (&table_obstack, "\
#ifndef YYDEBUG\n\
# define YYDEBUG 1\n\
# define YYDEBUG %d\n\
#endif\n\
\n");
\n", debug_flag);
if (semantic_parser)
obstack_fgrow1 (&table_obstack, "#include %s\n",
quotearg_style (c_quoting_style, attrsfile));
if (!no_parser_flag)
obstack_sgrow (&table_obstack, "#include <stdio.h>\n\n");
LIST_FREE (core, first_state);
output_defines ();
output_token_translations ();
+7 -1
View File
@@ -1125,7 +1125,13 @@ copy_action (symbol_list *rule, int stack_offset)
}
}
obstack_sgrow (&action_obstack, ";\n break;}");
/* As a Bison extension, add the ending semicolon. Since some Yacc
don't do that, help people using bison as a Yacc finding their
missing semicolons. */
if (yacc_flag)
obstack_sgrow (&action_obstack, "}\n break;");
else
obstack_sgrow (&action_obstack, ";\n break;}");
}
/*-------------------------------------------------------------------.
+1 -1
View File
@@ -149,7 +149,7 @@ size_t strnlen PARAMS ((const char *s, size_t maxlen));
# define setlocale(Category, Locale)
#endif
#include "intl/libgettext.h"
#include "libgettext.h"
#define _(Msgid) gettext (Msgid)
#define N_(Msgid) (Msgid)
+24 -12
View File
@@ -242,7 +242,8 @@ get_color_str (enum color_e c)
case orchid: return "orchid";
case black: return "black";
default:
assert (!"Not a default color.");
#define A_known_default_color 0
assert (A_known_default_color);
}
return NULL;
}
@@ -256,7 +257,8 @@ get_textmode_str (enum textmode_e t)
case left_justify: return "left_justify";
case right_justify: return "right_justify";
default:
assert (!"Not a text mode.");
#define A_known_text_mode 0
assert (A_known_text_mode);
}
return NULL;
}
@@ -271,7 +273,8 @@ get_shape_str (enum shape_e s)
case ellipse: return "ellipse";
case triangle: return "triangle";
default:
assert (!"Not a shape.");
#define A_known_shape 0
assert (A_known_shape);
}
return NULL;
}
@@ -296,7 +299,8 @@ get_layoutalgorithm_str (enum layoutalgorithm_e l)
case dfs: return "dfs";
case tree: return "tree";
default:
assert (!"Not a layout algorithm.");
#define A_known_layout_algorithm 0
assert (A_known_layout_algorithm);
}
return NULL;
}
@@ -309,7 +313,8 @@ get_decision_str (enum decision_e d)
case no: return "no";
case yes: return "yes";
default:
assert (!"Either yes nor no.");
#define Either_yes_nor_no 0
assert (Either_yes_nor_no);
}
return NULL;
}
@@ -324,7 +329,8 @@ get_orientation_str (enum orientation_e o)
case left_to_right: return "left_to_right";
case right_to_left: return "right_to_left";
default:
assert (!"Not an orientation.");
#define A_knownn_orientation 0
assert (A_knownn_orientation);
}
return NULL;
}
@@ -338,7 +344,8 @@ get_node_alignement_str (enum alignement_e a)
case top: return "top";
case bottom: return "bottom";
default:
assert (!"Not an alignement.");
#define A_known_alignement 0
assert (A_known_alignement);
}
return NULL;
}
@@ -351,7 +358,8 @@ get_arrow_mode_str (enum arrow_mode_e a)
case fixed: return "fixed";
case free_a: return "free";
default:
assert (!"Not an arrow mode.");
#define A_known_arrow_mode 0
assert (A_known_arrow_mode);
}
return NULL;
}
@@ -366,7 +374,8 @@ get_crossing_type_str (enum crossing_type_e c)
case barymedian: return "barymedian";
case medianbary: return "medianbary";
default:
assert (!"Not a crossing type.");
#define A_known_crossing_type 0
assert (A_known_crossing_type);
}
return NULL;
}
@@ -382,7 +391,8 @@ get_view_str (enum view_e v)
case fcfish: return "fcfish";
case fpfish: return "fpfish";
default:
assert (!"Not a view.");
#define A_known_view 0
assert (A_known_view);
}
return NULL;
}
@@ -397,7 +407,8 @@ get_linestyle_str (enum linestyle_e l)
case dotted: return "dotted";
case invisible: return "invisible";
default:
assert (!"Not a line style.");
#define A_known_line_style 0
assert (A_known_line_style);
}
return NULL;
}
@@ -411,7 +422,8 @@ get_arrowstyle_str (enum arrowstyle_e a)
case line: return "line";
case none: return "none";
default:
assert (!"Not an arrow style.");
#define A_known_arrow_style 0
assert (A_known_arrow_style);
}
return NULL;
}
+57 -2
View File
@@ -20,6 +20,7 @@
#include "system.h"
#include "getargs.h"
#include "warshall.h"
/*-------------------------------------------------------------.
@@ -27,6 +28,51 @@
| transive closure of what was given. |
`-------------------------------------------------------------*/
static void
bitmatrix_print (const char *title, unsigned *matrix, size_t size)
{
size_t i, j;
size_t rowsize = WORDSIZE (size) * sizeof (unsigned);
#define ROW(Num) ((unsigned *) ((char *) matrix + ((Num) * rowsize)))
/* Title. */
fprintf (stderr, "%s BEGIN\n", title);
/* Column numbers. */
fputs (" ", stderr);
for (i = 0; i < size; ++i)
putc (i / 10 ? '0' + i / 10 : ' ', stderr);
putc ('\n', stderr);
fputs (" ", stderr);
for (i = 0; i < size; ++i)
fprintf (stderr, "%d", i % 10);
putc ('\n', stderr);
/* Bar. */
fputs (" .", stderr);
for (i = 0; i < size; ++i)
putc ('-', stderr);
fputs (".\n", stderr);
/* Contents. */
for (i = 0; i < size; ++i)
{
fprintf (stderr, "%2d|", i);
for (j = 0; j < size; ++j)
fputs (BITISSET (ROW (i), j) ? "1" : " ", stderr);
fputs ("|\n", stderr);
}
/* Bar. */
fputs (" `", stderr);
for (i = 0; i < size; ++i)
putc ('-', stderr);
fputs ("'\n", stderr);
/* End title. */
fprintf (stderr, "%s END\n\n", title);
}
#define R(Num) (unsigned *) ((char *) R + ((Num) * rowsize))
static void
@@ -35,12 +81,21 @@ TC (unsigned *R, int n)
int rowsize = WORDSIZE (n) * sizeof (unsigned);
int i, j, k;
if (trace_flag)
bitmatrix_print ("TC: Input", R, n);
/* R (J, I) && R (I, K) => R (J, K).
I *must* be the outter loop. */
for (i = 0; i < n; ++i)
for (j = 0; j < n; ++j)
if (BITISSET (R (i), j))
for (k = 0; k < rowsize; ++k)
if (BITISSET (R (j), i))
for (k = 0; k < n; ++k)
if (BITISSET (R (i), k))
SETBIT (R (j), k);
if (trace_flag)
bitmatrix_print ("TC: Output", R, n);
}
+1 -1
View File
@@ -25,7 +25,7 @@ MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE)
TESTSUITE_AT = \
testsuite.at \
output.at reduce.at calc.at torture.at regression.at
output.at sets.at reduce.at calc.at torture.at regression.at
TESTSUITE = $(srcdir)/testsuite
AUTOTEST = $(AUTOM4TE) --language=autotest
+1 -1
View File
@@ -108,7 +108,7 @@ MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE)
TESTSUITE_AT = \
testsuite.at \
output.at reduce.at calc.at torture.at regression.at
output.at sets.at reduce.at calc.at torture.at regression.at
TESTSUITE = $(srcdir)/testsuite
+193
View File
@@ -0,0 +1,193 @@
# Exercising Bison Grammar Sets. -*- Autotest -*-
# Copyright 2001 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.
AT_BANNER([[Grammar Sets (Firsts etc.).]])
## ---------- ##
## Nullable. ##
## ---------- ##
AT_SETUP([Nullable])
# At some point, nullable had been smoking grass, and managed to say:
#
# Entering set_nullable
# NULLABLE
# 'e': yes
# (null): no
# ...
AT_DATA([[input.y]],
[[%%
e: 'e' | /* Nothing */;
]])
AT_CHECK([[bison --trace input.y]], [], [],
[[RITEM
'e' (rule 1)
(rule 2)
DERIVES
e derives
1: 'e' (rule 1)
2: (rule 2)
Entering set_nullable
NULLABLE
e: yes
TC: Input BEGIN
@&t@
0
.-.
0| |
`-'
TC: Input END
TC: Output BEGIN
@&t@
0
.-.
0| |
`-'
TC: Output END
FIRSTS
e firsts
4 (e)
FDERIVES
e derives
1: 'e'
2:
Processing state 0 (reached by $)
Closure: input
Closure: output
0: . 'e' (rule 1)
2: . (rule 2)
Entering new_itemsets, state = 0
Entering append_states, state = 0
Entering get_state, state = 0, symbol = 3 ('e')
Entering new_state, state = 0, symbol = 3 ('e')
Exiting get_state => 1
Processing state 1 (reached by 'e')
Closure: input
1: . (rule 1)
Closure: output
1: . (rule 1)
Entering new_itemsets, state = 1
Entering append_states, state = 1
transpose: input
0: @&t@
transpose: output
0: @&t@
]])
AT_CLEANUP
## ---------------- ##
## Broken Closure. ##
## ---------------- ##
# TC was once broken during a massive `simplification' of the code.
# It resulted in bison dumping core on the following grammar (the
# computation of FIRSTS uses TC). It managed to produce a pretty
# exotic closure:
#
# TC: Input
#
# 01234567
# +--------+
# 0| 1 |
# 1| 1 |
# 2| 1 |
# 3| 1 |
# 4| 1 |
# 5| 1 |
# 6| 1|
# 7| |
# +--------+
#
# TC: Output
#
# 01234567
# +--------+
# 0| 1 |
# 1| 111 |
# 2| 111 |
# 3| 1111 |
# 4| 111 1 |
# 5| 111 1 |
# 6| 111 1|
# 7| 111 |
# +--------+
#
# instead of that below.
AT_SETUP([Broken Closure])
AT_DATA([input.y],
[[%%
a: b
b: c
c: d
d: e
e: f
f: g
g: h
h: 'h'
]])
AT_CHECK([bison --trace input.y 2>&1 |
sed -n '/^TC: Output BEGIN/,/^TC: Output END/p'],
[0],
[[TC: Output BEGIN
@&t@
01234567
.--------.
0| 1111111|
1| 111111|
2| 11111|
3| 1111|
4| 111|
5| 11|
6| 1|
7| |
`--------'
TC: Output END
]])
AT_CLEANUP
+1
View File
@@ -26,6 +26,7 @@ AT_INIT
AT_TESTED([bison])
m4_include([output.at])
m4_include([sets.at])
m4_include([reduce.at])
m4_include([calc.at])
m4_include([torture.at])
+340
View File
@@ -114,3 +114,343 @@ AT_CHECK([input 900], 0, [], [ignore])
AT_CHECK([input 10000], 1, [], [ignore])
AT_CLEANUP
## ----------------- ##
## GNU AWK Grammar. ##
## ----------------- ##
AT_SETUP([GNU AWK Grammar])
# We have been careful to strip all the actions excepts the
# mid-rule actions. We rely on %expect to check that there are
# indeed 65 SR conflicts.
#
# Bison was once wrong, due to an incorrect computation of nullable.
# It reported 485 SR conflicts!
AT_DATA([[input.y]],
[[%expect 65
%token FUNC_CALL NAME REGEXP
%token ERROR
%token YNUMBER YSTRING
%token RELOP APPEND_OP
%token ASSIGNOP MATCHOP NEWLINE CONCAT_OP
%token LEX_BEGIN LEX_END LEX_IF LEX_ELSE LEX_RETURN LEX_DELETE
%token LEX_WHILE LEX_DO LEX_FOR LEX_BREAK LEX_CONTINUE
%token LEX_PRINT LEX_PRINTF LEX_NEXT LEX_EXIT LEX_FUNCTION
%token LEX_GETLINE LEX_NEXTFILE
%token LEX_IN
%token LEX_AND LEX_OR INCREMENT DECREMENT
%token LEX_BUILTIN LEX_LENGTH
/* Lowest to highest */
%right ASSIGNOP
%right '?' ':'
%left LEX_OR
%left LEX_AND
%left LEX_GETLINE
%nonassoc LEX_IN
%left FUNC_CALL LEX_BUILTIN LEX_LENGTH
%nonassoc ','
%nonassoc MATCHOP
%nonassoc RELOP '<' '>' '|' APPEND_OP TWOWAYIO
%left CONCAT_OP
%left YSTRING YNUMBER
%left '+' '-'
%left '*' '/' '%'
%right '!' UNARY
%right '^'
%left INCREMENT DECREMENT
%left '$'
%left '(' ')'
%%
start
: opt_nls program opt_nls
;
program
: rule
| program rule
| error
| program error
| /* empty */
;
rule
: LEX_BEGIN {} action
| LEX_END {} action
| LEX_BEGIN statement_term
| LEX_END statement_term
| pattern action
| action
| pattern statement_term
| function_prologue function_body
;
func_name
: NAME
| FUNC_CALL
| lex_builtin
;
lex_builtin
: LEX_BUILTIN
| LEX_LENGTH
;
function_prologue
: LEX_FUNCTION {} func_name '(' opt_param_list r_paren opt_nls
;
function_body
: l_brace statements r_brace opt_semi opt_nls
| l_brace r_brace opt_semi opt_nls
;
pattern
: exp
| exp ',' exp
;
regexp
/*
* In this rule, want_regexp tells yylex that the next thing
* is a regexp so it should read up to the closing slash.
*/
: '/' {} REGEXP '/'
;
action
: l_brace statements r_brace opt_semi opt_nls
| l_brace r_brace opt_semi opt_nls
;
statements
: statement
| statements statement
| error
| statements error
;
statement_term
: nls
| semi opt_nls
;
statement
: semi opt_nls
| l_brace r_brace
| l_brace statements r_brace
| if_statement
| LEX_WHILE '(' exp r_paren opt_nls statement
| LEX_DO opt_nls statement LEX_WHILE '(' exp r_paren opt_nls
| LEX_FOR '(' NAME LEX_IN NAME r_paren opt_nls statement
| LEX_FOR '(' opt_exp semi opt_nls exp semi opt_nls opt_exp r_paren opt_nls statement
| LEX_FOR '(' opt_exp semi opt_nls semi opt_nls opt_exp r_paren opt_nls statement
| LEX_BREAK statement_term
| LEX_CONTINUE statement_term
| print '(' expression_list r_paren output_redir statement_term
| print opt_rexpression_list output_redir statement_term
| LEX_NEXT statement_term
| LEX_NEXTFILE statement_term
| LEX_EXIT opt_exp statement_term
| LEX_RETURN {} opt_exp statement_term
| LEX_DELETE NAME '[' expression_list ']' statement_term
| LEX_DELETE NAME statement_term
| exp statement_term
;
print
: LEX_PRINT
| LEX_PRINTF
;
if_statement
: LEX_IF '(' exp r_paren opt_nls statement
| LEX_IF '(' exp r_paren opt_nls statement
LEX_ELSE opt_nls statement
;
nls
: NEWLINE
| nls NEWLINE
;
opt_nls
: /* empty */
| nls
;
input_redir
: /* empty */
| '<' simp_exp
;
output_redir
: /* empty */
| '>' exp
| APPEND_OP exp
| '|' exp
| TWOWAYIO exp
;
opt_param_list
: /* empty */
| param_list
;
param_list
: NAME
| param_list comma NAME
| error
| param_list error
| param_list comma error
;
/* optional expression, as in for loop */
opt_exp
: /* empty */
| exp
;
opt_rexpression_list
: /* empty */
| rexpression_list
;
rexpression_list
: rexp
| rexpression_list comma rexp
| error
| rexpression_list error
| rexpression_list error rexp
| rexpression_list comma error
;
opt_expression_list
: /* empty */
| expression_list
;
expression_list
: exp
| expression_list comma exp
| error
| expression_list error
| expression_list error exp
| expression_list comma error
;
/* Expressions, not including the comma operator. */
exp : variable ASSIGNOP {} exp
| '(' expression_list r_paren LEX_IN NAME
| exp '|' LEX_GETLINE opt_variable
| exp TWOWAYIO LEX_GETLINE opt_variable
| LEX_GETLINE opt_variable input_redir
| exp LEX_AND exp
| exp LEX_OR exp
| exp MATCHOP exp
| regexp
| '!' regexp %prec UNARY
| exp LEX_IN NAME
| exp RELOP exp
| exp '<' exp
| exp '>' exp
| exp '?' exp ':' exp
| simp_exp
| exp simp_exp %prec CONCAT_OP
;
rexp
: variable ASSIGNOP {} rexp
| rexp LEX_AND rexp
| rexp LEX_OR rexp
| LEX_GETLINE opt_variable input_redir
| regexp
| '!' regexp %prec UNARY
| rexp MATCHOP rexp
| rexp LEX_IN NAME
| rexp RELOP rexp
| rexp '?' rexp ':' rexp
| simp_exp
| rexp simp_exp %prec CONCAT_OP
;
simp_exp
: non_post_simp_exp
/* Binary operators in order of decreasing precedence. */
| simp_exp '^' simp_exp
| simp_exp '*' simp_exp
| simp_exp '/' simp_exp
| simp_exp '%' simp_exp
| simp_exp '+' simp_exp
| simp_exp '-' simp_exp
| variable INCREMENT
| variable DECREMENT
;
non_post_simp_exp
: '!' simp_exp %prec UNARY
| '(' exp r_paren
| LEX_BUILTIN
'(' opt_expression_list r_paren
| LEX_LENGTH '(' opt_expression_list r_paren
| LEX_LENGTH
| FUNC_CALL '(' opt_expression_list r_paren
| variable
| INCREMENT variable
| DECREMENT variable
| YNUMBER
| YSTRING
| '-' simp_exp %prec UNARY
| '+' simp_exp %prec UNARY
;
opt_variable
: /* empty */
| variable
;
variable
: NAME
| NAME '[' expression_list ']'
| '$' non_post_simp_exp
;
l_brace
: '{' opt_nls
;
r_brace
: '}' opt_nls
;
r_paren
: ')'
;
opt_semi
: /* empty */
| semi
;
semi
: ';'
;
comma : ',' opt_nls
;
%%
]])
# Pass plenty of options, to exercise plenty of code, even if we
# don't actually check the output. But SEGV is watching us, and
# so might do dmalloc.
AT_CHECK([[bison --verbose --defines input.y]])
AT_CLEANUP