mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-08-11 19:55:15 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1e883de90c | ||
|
|
efcff8cd5c | ||
|
|
3e85a00236 | ||
|
|
f85c981ac1 | ||
|
|
5cb10dae3c | ||
|
|
26e1ca45ba | ||
|
|
8888e43b2c | ||
|
|
d9ca2df2aa | ||
|
|
e8def3ff6e | ||
|
|
76e734e5ed | ||
|
|
b8b4a730a0 | ||
|
|
b9d2d2a881 | ||
|
|
78986eff74 | ||
|
|
1393a78454 | ||
|
|
de11686376 | ||
|
|
badfc69c26 | ||
|
|
fb28699f95 | ||
|
|
6b307af66c | ||
|
|
dad56b10d3 | ||
|
|
5f1ff7cd74 | ||
|
|
b6cac93afa | ||
|
|
86d5a1ed5c | ||
|
|
97e9ee3ad5 | ||
|
|
d81e5db73f | ||
|
|
029806c785 |
@@ -1,3 +1,140 @@
|
|||||||
|
2001-11-14 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
Version 1.30c.
|
||||||
|
|
||||||
|
2001-11-14 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* tests/calc.at, tests/output.at, tests/regression.at,
|
||||||
|
* tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
|
||||||
|
now the tests are run in private dirs, therefore AC_CLEANUP and
|
||||||
|
family can be simplified to 0-ary.
|
||||||
|
* tests/atlocal.in: Now that we run `elsewhere' than in tests/,
|
||||||
|
use abs. path to find config.h.
|
||||||
|
|
||||||
|
2001-11-14 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
|
||||||
|
stderr, there can be way too much random noise.
|
||||||
|
Instead pass -Werror to GCC and rely on the exit status.
|
||||||
|
Reported by Wolfram Wagner.
|
||||||
|
|
||||||
|
2001-11-14 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
|
||||||
|
defined only if yyoverflow is defined, to avoid `warning: unused
|
||||||
|
variable `yyvs1''.
|
||||||
|
Reported by The Test Suite.
|
||||||
|
|
||||||
|
2001-11-14 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/print.c: Include reduce.h.
|
||||||
|
Reported by Hans Aberg.
|
||||||
|
|
||||||
|
2001-11-14 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
|
||||||
|
Revert a previous patch: these are really const.
|
||||||
|
* src/conflicts.c (conflict_report): Additional useless pair of
|
||||||
|
braces to pacify GCC's warnings for `if () if () {} else {}'.
|
||||||
|
* src/lex.c (parse_percent_token): Replace equal_offset with
|
||||||
|
arg_offset.
|
||||||
|
arg is const.
|
||||||
|
Be sure to strdup `arg' when used, since there is no reason for
|
||||||
|
token_buffer not to change.
|
||||||
|
|
||||||
|
2001-11-14 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
|
||||||
|
definition.
|
||||||
|
* src/main.c (main): Use them.
|
||||||
|
Suggested by Hans Aberg.
|
||||||
|
|
||||||
|
2001-11-12 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
Version 1.30b.
|
||||||
|
|
||||||
|
* src/system.h (ngettext): Now that we use ngettext, be sure to
|
||||||
|
provide a default definition when NLS are not used that takes care
|
||||||
|
of the cardinality.
|
||||||
|
|
||||||
|
2001-11-12 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* doc/bison.texinfo: Use `$' as shell prompt, not `%'.
|
||||||
|
Use @kbd to denote user input.
|
||||||
|
(Language and Grammar): ANSIfy the example.
|
||||||
|
Adjust its layout for info/notinfo.
|
||||||
|
(Location Tracking Calc): Output error messages to stderr.
|
||||||
|
Output locations in a more GNUtically correct way.
|
||||||
|
Fix a couple of Englishos.
|
||||||
|
Adjust @group/@end group pairs.
|
||||||
|
|
||||||
|
2001-11-12 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
%expext was not functioning at all.
|
||||||
|
|
||||||
|
* src/conflicts.c (expected_conflicts): Set to -1.
|
||||||
|
(conflict_report): Use ngettext.
|
||||||
|
(conflicts_print): Check %expect and make its violation an error.
|
||||||
|
* doc/bison.texinfo (Expect Decl): Adjust.
|
||||||
|
* configure.in (AM_GNU_GETTEXT): Ask for ngettext.
|
||||||
|
* tests/regression.at (%expect not enough, %expect right)
|
||||||
|
(%expect too much): New.
|
||||||
|
|
||||||
|
2001-11-12 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* tests/regression.at (Conflicts): Rename as...
|
||||||
|
(Unresolved SR Conflicts): this.
|
||||||
|
(Solved SR Conflicts): New.
|
||||||
|
|
||||||
|
2001-11-12 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/reduce.c (print_results): Rename as...
|
||||||
|
(reduce_output): This.
|
||||||
|
Output to OUT, passed as argument, instead of output_obstack.
|
||||||
|
(dump_grammar): Likewise.
|
||||||
|
(reduce_free): New.
|
||||||
|
Also free V1.
|
||||||
|
(reduce_grammar): No longer call reduce_output, since...
|
||||||
|
* src/print.c (print_results): do it.
|
||||||
|
* src/main.c (main): Call reduce_free;
|
||||||
|
|
||||||
|
2001-11-12 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/conflicts.c (print_reductions): Accept OUT as argument.
|
||||||
|
Output to it, not to output_obstack.
|
||||||
|
* src/print.c (print_actions): Adjust.
|
||||||
|
|
||||||
|
2001-11-12 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
|
||||||
|
the result instead of using...
|
||||||
|
(src_total, rrc_total, src_count, rrc_count): Remove.
|
||||||
|
(any_conflicts): Remove.
|
||||||
|
(print_conflicts): Split into...
|
||||||
|
(conflicts_print, conflicts_output): New.
|
||||||
|
* src/conflicts.h: Adjust.
|
||||||
|
* src/main.c (main): Invoke both conflicts_output and conflicts_print.
|
||||||
|
* src/print.c (print_grammar): Issue `\n' between to rule outputs.
|
||||||
|
* tests/regression.at (Conflicts): New.
|
||||||
|
Reported by Tom Lane.
|
||||||
|
|
||||||
|
2001-11-12 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* tests/regression.at (Invalid input): Remove, duplicate with
|
||||||
|
``Invalid input: 1''.
|
||||||
|
|
||||||
|
2001-11-12 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* tests/torture.at (AT_DATA_STACK_TORTURE)
|
||||||
|
(Exploding the Stack Size with Alloca)
|
||||||
|
(Exploding the Stack Size with Malloc): New.
|
||||||
|
|
||||||
|
2001-11-12 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/bison.simple (YYSTACK_REALLOC): New.
|
||||||
|
(yyparse) [!yyoverflow]: Use it and free the old stack.
|
||||||
|
Reported by Per Allansson.
|
||||||
|
|
||||||
2001-11-05 Akim Demaille <[email protected]>
|
2001-11-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
Version 1.30a.
|
Version 1.30a.
|
||||||
|
|||||||
+1
-1
@@ -84,8 +84,8 @@ INTLBISON = @INTLBISON@
|
|||||||
INTLLIBS = @INTLLIBS@
|
INTLLIBS = @INTLLIBS@
|
||||||
INTLOBJS = @INTLOBJS@
|
INTLOBJS = @INTLOBJS@
|
||||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||||
|
LIB = @LIB@
|
||||||
LIBICONV = @LIBICONV@
|
LIBICONV = @LIBICONV@
|
||||||
LIBOBJS = @LIBOBJS@
|
|
||||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||||
MSGFMT = @MSGFMT@
|
MSGFMT = @MSGFMT@
|
||||||
PACKAGE = @PACKAGE@
|
PACKAGE = @PACKAGE@
|
||||||
|
|||||||
@@ -1,7 +1,28 @@
|
|||||||
Bison News
|
Bison News
|
||||||
----------
|
----------
|
||||||
|
|
||||||
Changes in version 1.30a:
|
Changes in version 1.30c:
|
||||||
|
|
||||||
|
* Fixed a few warnings.
|
||||||
|
|
||||||
|
* Some portability issues.
|
||||||
|
|
||||||
|
Changes in version 1.30b:
|
||||||
|
|
||||||
|
* Fixed parser memory leaks.
|
||||||
|
When the generated parser was using malloc to extend its stacks, the
|
||||||
|
previous allocations were not freed.
|
||||||
|
|
||||||
|
* Fixed verbose output file.
|
||||||
|
Some newlines were missing.
|
||||||
|
Some conflicts in state descriptions were missing.
|
||||||
|
|
||||||
|
* Fixed conflict report.
|
||||||
|
Option -v was needed to get the result.
|
||||||
|
|
||||||
|
* %expect
|
||||||
|
Was not used.
|
||||||
|
Mismatches are errors, not warnings.
|
||||||
|
|
||||||
* Fixed incorrect processing of some invalid input.
|
* Fixed incorrect processing of some invalid input.
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Bison was originally written by Robert Corbett. It would not be what
|
|||||||
it is today without the invaluable help of these people:
|
it is today without the invaluable help of these people:
|
||||||
|
|
||||||
Airy Andre [email protected]
|
Airy Andre [email protected]
|
||||||
Akim Demaille akim@epita.fr
|
Akim Demaille akim@freefriends.org
|
||||||
Albert Chin-A-Young [email protected]
|
Albert Chin-A-Young [email protected]
|
||||||
Alexander Belopolsky [email protected]
|
Alexander Belopolsky [email protected]
|
||||||
Daniel Hagerty [email protected]
|
Daniel Hagerty [email protected]
|
||||||
@@ -20,10 +20,13 @@ Neil Booth [email protected]
|
|||||||
Noah Friedman [email protected]
|
Noah Friedman [email protected]
|
||||||
Pascal Bart [email protected]
|
Pascal Bart [email protected]
|
||||||
Paul Eggert [email protected]
|
Paul Eggert [email protected]
|
||||||
|
Per Allansson [email protected]
|
||||||
Piotr Gackiewicz [email protected]
|
Piotr Gackiewicz [email protected]
|
||||||
Richard Stallman [email protected]
|
Richard Stallman [email protected]
|
||||||
Robert Anisko [email protected]
|
Robert Anisko [email protected]
|
||||||
Shura [email protected]
|
Shura [email protected]
|
||||||
|
Tom Lane [email protected]
|
||||||
|
Wolfram Wagner [email protected]
|
||||||
Wwp [email protected]
|
Wwp [email protected]
|
||||||
|
|
||||||
Many people are not named here because we lost track of them. We
|
Many people are not named here because we lost track of them. We
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
# aclocal.m4t generated automatically by aclocal 1.5a -*- Autoconf -*-
|
# aclocal.m4 generated automatically by aclocal 1.5a -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright 1996, 1997, 1998, 1999, 2000, 2001
|
# Copyright 1996, 1997, 1998, 1999, 2000, 2001
|
||||||
# Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
|
|||||||
+1
-1
@@ -84,8 +84,8 @@ INTLBISON = @INTLBISON@
|
|||||||
INTLLIBS = @INTLLIBS@
|
INTLLIBS = @INTLLIBS@
|
||||||
INTLOBJS = @INTLOBJS@
|
INTLOBJS = @INTLOBJS@
|
||||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||||
|
LIB = @LIB@
|
||||||
LIBICONV = @LIBICONV@
|
LIBICONV = @LIBICONV@
|
||||||
LIBOBJS = @LIBOBJS@
|
|
||||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||||
MSGFMT = @MSGFMT@
|
MSGFMT = @MSGFMT@
|
||||||
PACKAGE = @PACKAGE@
|
PACKAGE = @PACKAGE@
|
||||||
|
|||||||
Vendored
+2
-2
@@ -3,7 +3,7 @@
|
|||||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||||
# Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
|
|
||||||
timestamp='2001-10-05'
|
timestamp='2001-11-08'
|
||||||
|
|
||||||
# This file is free software; you can redistribute it and/or modify it
|
# 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
|
# under the terms of the GNU General Public License as published by
|
||||||
@@ -947,7 +947,7 @@ EOF
|
|||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
M68*:*:R3V[567]*:*)
|
M68*:*:R3V[567]*:*)
|
||||||
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
|
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
|
||||||
3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
|
3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
|
||||||
OS_REL=''
|
OS_REL=''
|
||||||
test -r /etc/.relid \
|
test -r /etc/.relid \
|
||||||
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
|
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
|
||||||
|
|||||||
Vendored
+12
-8
@@ -3,7 +3,7 @@
|
|||||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||||
# Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
|
|
||||||
timestamp='2001-10-05'
|
timestamp='2001-11-08'
|
||||||
|
|
||||||
# This file is (in principle) common to ALL GNU software.
|
# This file is (in principle) common to ALL GNU software.
|
||||||
# The presence of a machine in this file suggests that SOME GNU software
|
# The presence of a machine in this file suggests that SOME GNU software
|
||||||
@@ -245,14 +245,13 @@ case $basic_machine in
|
|||||||
| pdp10 | pdp11 | pj | pjl \
|
| pdp10 | pdp11 | pj | pjl \
|
||||||
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
|
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
|
||||||
| pyramid \
|
| pyramid \
|
||||||
| s390 | s390x \
|
|
||||||
| sh | sh[34] | sh[34]eb | shbe | shle \
|
| sh | sh[34] | sh[34]eb | shbe | shle \
|
||||||
| sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \
|
| sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \
|
||||||
| stormy16 | strongarm \
|
| strongarm \
|
||||||
| tahoe | thumb | tic80 | tron \
|
| tahoe | thumb | tic80 | tron \
|
||||||
| v850 \
|
| v850 \
|
||||||
| we32k \
|
| we32k \
|
||||||
| x86 | xscale \
|
| x86 | xscale | xstormy16 \
|
||||||
| z8k)
|
| z8k)
|
||||||
basic_machine=$basic_machine-unknown
|
basic_machine=$basic_machine-unknown
|
||||||
;;
|
;;
|
||||||
@@ -304,14 +303,13 @@ case $basic_machine in
|
|||||||
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
|
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
|
||||||
| pyramid-* \
|
| pyramid-* \
|
||||||
| romp-* | rs6000-* \
|
| romp-* | rs6000-* \
|
||||||
| s390-* | s390x-* \
|
|
||||||
| sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \
|
| sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \
|
||||||
| sparc-* | sparc64-* | sparc86x-* | sparclite-* \
|
| sparc-* | sparc64-* | sparc86x-* | sparclite-* \
|
||||||
| sparcv9-* | sparcv9b-* | stormy16-* | strongarm-* | sv1-* \
|
| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* \
|
||||||
| t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
|
| t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
|
||||||
| v850-* | vax-* \
|
| v850-* | vax-* \
|
||||||
| we32k-* \
|
| we32k-* \
|
||||||
| x86-* | x86_64-* | xmp-* | xps100-* | xscale-* \
|
| x86-* | x86_64-* | xmp-* | xps100-* | xscale-* | xstormy16-* \
|
||||||
| ymp-* \
|
| ymp-* \
|
||||||
| z8k-*)
|
| z8k-*)
|
||||||
;;
|
;;
|
||||||
@@ -786,6 +784,12 @@ case $basic_machine in
|
|||||||
rtpc | rtpc-*)
|
rtpc | rtpc-*)
|
||||||
basic_machine=romp-ibm
|
basic_machine=romp-ibm
|
||||||
;;
|
;;
|
||||||
|
s390 | s390-*)
|
||||||
|
basic_machine=s390-ibm
|
||||||
|
;;
|
||||||
|
s390x | s390x-*)
|
||||||
|
basic_machine=s390x-ibm
|
||||||
|
;;
|
||||||
sa29200)
|
sa29200)
|
||||||
basic_machine=a29k-amd
|
basic_machine=a29k-amd
|
||||||
os=-udi
|
os=-udi
|
||||||
@@ -1070,7 +1074,7 @@ case $os in
|
|||||||
| -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
|
| -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
|
||||||
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||||
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
||||||
| -os2* | -vos*)
|
| -os2* | -vos* | -palmos* | -uclinux*)
|
||||||
# Remember, each alternative MUST END IN *, to match a version number.
|
# Remember, each alternative MUST END IN *, to match a version number.
|
||||||
;;
|
;;
|
||||||
-qnx*)
|
-qnx*)
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
1.30
|
1.30b
|
||||||
|
|||||||
+5
-5
@@ -18,10 +18,10 @@
|
|||||||
# We need a recent Autoconf to run a recent Autotest.
|
# We need a recent Autoconf to run a recent Autotest.
|
||||||
AC_PREREQ(2.52e)
|
AC_PREREQ(2.52e)
|
||||||
|
|
||||||
AC_INIT([GNU Bison], [1.30a], [[email protected]])
|
AC_INIT([GNU Bison], [1.30c], [[email protected]])
|
||||||
AC_CONFIG_AUX_DIR(config)
|
AC_CONFIG_AUX_DIR(config)
|
||||||
|
|
||||||
AM_INIT_AUTOMAKE([bison], [1.30a])
|
AM_INIT_AUTOMAKE([bison], [1.30c])
|
||||||
AM_CONFIG_HEADER(config.h:config.hin)
|
AM_CONFIG_HEADER(config.h:config.hin)
|
||||||
|
|
||||||
# Initialize the test suite.
|
# Initialize the test suite.
|
||||||
@@ -90,12 +90,12 @@ jm_PREREQ_ERROR
|
|||||||
AM_WITH_DMALLOC
|
AM_WITH_DMALLOC
|
||||||
|
|
||||||
ALL_LINGUAS="de es et fr ja nl tr ru"
|
ALL_LINGUAS="de es et fr ja nl tr ru"
|
||||||
AM_GNU_GETTEXT
|
AM_GNU_GETTEXT(, need-ngettext)
|
||||||
|
|
||||||
# This is necessary so that .o files in LIBOBJS are also built via
|
# This is necessary so that .o files in LIBOBJS are also built via
|
||||||
# the ANSI2KNR-filtering rules.
|
# the ANSI2KNR-filtering rules.
|
||||||
LIBOBJS=`echo $LIBOBJS|sed 's/\.o /\$U.o /g;s/\.o$/\$U.o/'`
|
LIB@&t@OBJS=`echo $LIB@&t@OBJS|sed 's/\.o /\$U.o /g;s/\.o$/\$U.o/'`
|
||||||
AC_SUBST(LIBOBJS)
|
AC_SUBST(LIB@&t@OBJS)
|
||||||
|
|
||||||
AC_OUTPUT([Makefile
|
AC_OUTPUT([Makefile
|
||||||
config/Makefile
|
config/Makefile
|
||||||
|
|||||||
+1
-1
@@ -84,8 +84,8 @@ INTLBISON = @INTLBISON@
|
|||||||
INTLLIBS = @INTLLIBS@
|
INTLLIBS = @INTLLIBS@
|
||||||
INTLOBJS = @INTLOBJS@
|
INTLOBJS = @INTLOBJS@
|
||||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||||
|
LIB = @LIB@
|
||||||
LIBICONV = @LIBICONV@
|
LIBICONV = @LIBICONV@
|
||||||
LIBOBJS = @LIBOBJS@
|
|
||||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||||
MSGFMT = @MSGFMT@
|
MSGFMT = @MSGFMT@
|
||||||
PACKAGE = @PACKAGE@
|
PACKAGE = @PACKAGE@
|
||||||
|
|||||||
+106
-106
@@ -31,115 +31,115 @@ instead of in the original English.
|
|||||||
|
|
||||||
Indirect:
|
Indirect:
|
||||||
bison.info-1: 1313
|
bison.info-1: 1313
|
||||||
bison.info-2: 50689
|
bison.info-2: 50632
|
||||||
bison.info-3: 100579
|
bison.info-3: 100395
|
||||||
bison.info-4: 147579
|
bison.info-4: 147417
|
||||||
bison.info-5: 197449
|
bison.info-5: 197287
|
||||||
|
|
||||||
Tag Table:
|
Tag Table:
|
||||||
(Indirect)
|
(Indirect)
|
||||||
Node: Top1313
|
Node: Top1313
|
||||||
Node: Introduction8967
|
Node: Introduction8968
|
||||||
Node: Conditions10242
|
Node: Conditions10243
|
||||||
Node: Copying11706
|
Node: Copying11707
|
||||||
Node: Concepts30909
|
Node: Concepts30910
|
||||||
Node: Language and Grammar31988
|
Node: Language and Grammar31989
|
||||||
Node: Grammar in Bison37004
|
Node: Grammar in Bison36947
|
||||||
Node: Semantic Values38928
|
Node: Semantic Values38871
|
||||||
Node: Semantic Actions41029
|
Node: Semantic Actions40972
|
||||||
Node: Locations Overview42218
|
Node: Locations Overview42161
|
||||||
Node: Bison Parser43665
|
Node: Bison Parser43608
|
||||||
Node: Stages45977
|
Node: Stages45920
|
||||||
Node: Grammar Layout47260
|
Node: Grammar Layout47203
|
||||||
Node: Examples48517
|
Node: Examples48460
|
||||||
Node: RPN Calc49715
|
Node: RPN Calc49658
|
||||||
Node: Rpcalc Decls50689
|
Node: Rpcalc Decls50632
|
||||||
Node: Rpcalc Rules52276
|
Node: Rpcalc Rules52219
|
||||||
Node: Rpcalc Input54076
|
Node: Rpcalc Input54019
|
||||||
Node: Rpcalc Line55537
|
Node: Rpcalc Line55480
|
||||||
Node: Rpcalc Expr56652
|
Node: Rpcalc Expr56595
|
||||||
Node: Rpcalc Lexer58597
|
Node: Rpcalc Lexer58540
|
||||||
Node: Rpcalc Main61169
|
Node: Rpcalc Main61112
|
||||||
Node: Rpcalc Error61567
|
Node: Rpcalc Error61510
|
||||||
Node: Rpcalc Gen62575
|
Node: Rpcalc Gen62518
|
||||||
Node: Rpcalc Compile63724
|
Node: Rpcalc Compile63667
|
||||||
Node: Infix Calc64599
|
Node: Infix Calc64542
|
||||||
Node: Simple Error Recovery67306
|
Node: Simple Error Recovery67249
|
||||||
Node: Location Tracking Calc69195
|
Node: Location Tracking Calc69138
|
||||||
Node: Ltcalc Decls69925
|
Node: Ltcalc Decls69820
|
||||||
Node: Ltcalc Rules70834
|
Node: Ltcalc Rules70713
|
||||||
Node: Ltcalc Lexer72895
|
Node: Ltcalc Lexer72723
|
||||||
Node: Multi-function Calc75233
|
Node: Multi-function Calc75049
|
||||||
Node: Mfcalc Decl76800
|
Node: Mfcalc Decl76616
|
||||||
Node: Mfcalc Rules78823
|
Node: Mfcalc Rules78639
|
||||||
Node: Mfcalc Symtab80203
|
Node: Mfcalc Symtab80019
|
||||||
Node: Exercises86576
|
Node: Exercises86392
|
||||||
Node: Grammar File87082
|
Node: Grammar File86898
|
||||||
Node: Grammar Outline87930
|
Node: Grammar Outline87746
|
||||||
Node: C Declarations88664
|
Node: C Declarations88480
|
||||||
Node: Bison Declarations89244
|
Node: Bison Declarations89060
|
||||||
Node: Grammar Rules89656
|
Node: Grammar Rules89472
|
||||||
Node: C Code90116
|
Node: C Code89932
|
||||||
Node: Symbols91046
|
Node: Symbols90862
|
||||||
Node: Rules96127
|
Node: Rules95943
|
||||||
Node: Recursion97766
|
Node: Recursion97582
|
||||||
Node: Semantics99485
|
Node: Semantics99301
|
||||||
Node: Value Type100579
|
Node: Value Type100395
|
||||||
Node: Multiple Types101251
|
Node: Multiple Types101067
|
||||||
Node: Actions102268
|
Node: Actions102084
|
||||||
Node: Action Types105053
|
Node: Action Types104869
|
||||||
Node: Mid-Rule Actions106356
|
Node: Mid-Rule Actions106172
|
||||||
Node: Locations111926
|
Node: Locations111742
|
||||||
Node: Location Type112574
|
Node: Location Type112390
|
||||||
Node: Actions and Locations113132
|
Node: Actions and Locations112948
|
||||||
Node: Location Default Action115288
|
Node: Location Default Action115104
|
||||||
Node: Declarations116751
|
Node: Declarations116567
|
||||||
Node: Token Decl118070
|
Node: Token Decl117886
|
||||||
Node: Precedence Decl120083
|
Node: Precedence Decl119899
|
||||||
Node: Union Decl121634
|
Node: Union Decl121450
|
||||||
Node: Type Decl122478
|
Node: Type Decl122294
|
||||||
Node: Expect Decl123384
|
Node: Expect Decl123200
|
||||||
Node: Start Decl124930
|
Node: Start Decl124768
|
||||||
Node: Pure Decl125308
|
Node: Pure Decl125146
|
||||||
Node: Decl Summary126985
|
Node: Decl Summary126823
|
||||||
Node: Multiple Parsers133113
|
Node: Multiple Parsers132951
|
||||||
Node: Interface134607
|
Node: Interface134445
|
||||||
Node: Parser Function135479
|
Node: Parser Function135317
|
||||||
Node: Lexical136314
|
Node: Lexical136152
|
||||||
Node: Calling Convention137720
|
Node: Calling Convention137558
|
||||||
Node: Token Values140491
|
Node: Token Values140329
|
||||||
Node: Token Positions141640
|
Node: Token Positions141478
|
||||||
Node: Pure Calling142525
|
Node: Pure Calling142363
|
||||||
Node: Error Reporting145457
|
Node: Error Reporting145295
|
||||||
Node: Action Features147579
|
Node: Action Features147417
|
||||||
Node: Algorithm150874
|
Node: Algorithm150712
|
||||||
Node: Look-Ahead153167
|
Node: Look-Ahead153005
|
||||||
Node: Shift/Reduce155299
|
Node: Shift/Reduce155137
|
||||||
Node: Precedence158211
|
Node: Precedence158049
|
||||||
Node: Why Precedence158862
|
Node: Why Precedence158700
|
||||||
Node: Using Precedence160727
|
Node: Using Precedence160565
|
||||||
Node: Precedence Examples161695
|
Node: Precedence Examples161533
|
||||||
Node: How Precedence162396
|
Node: How Precedence162234
|
||||||
Node: Contextual Precedence163545
|
Node: Contextual Precedence163383
|
||||||
Node: Parser States165336
|
Node: Parser States165174
|
||||||
Node: Reduce/Reduce166579
|
Node: Reduce/Reduce166417
|
||||||
Node: Mystery Conflicts170140
|
Node: Mystery Conflicts169978
|
||||||
Node: Stack Overflow173526
|
Node: Stack Overflow173364
|
||||||
Node: Error Recovery174899
|
Node: Error Recovery174737
|
||||||
Node: Context Dependency180035
|
Node: Context Dependency179873
|
||||||
Node: Semantic Tokens180883
|
Node: Semantic Tokens180721
|
||||||
Node: Lexical Tie-ins183900
|
Node: Lexical Tie-ins183738
|
||||||
Node: Tie-in Recovery185448
|
Node: Tie-in Recovery185286
|
||||||
Node: Debugging187620
|
Node: Debugging187458
|
||||||
Node: Invocation190921
|
Node: Invocation190759
|
||||||
Node: Bison Options192173
|
Node: Bison Options192011
|
||||||
Node: Environment Variables195723
|
Node: Environment Variables195561
|
||||||
Node: Option Cross Key196571
|
Node: Option Cross Key196409
|
||||||
Node: VMS Invocation197449
|
Node: VMS Invocation197287
|
||||||
Node: Table of Symbols198233
|
Node: Table of Symbols198071
|
||||||
Node: Glossary206201
|
Node: Glossary206039
|
||||||
Node: Copying This Manual212505
|
Node: Copying This Manual212343
|
||||||
Node: GNU Free Documentation License212714
|
Node: GNU Free Documentation License212552
|
||||||
Node: Index232579
|
Node: Index232417
|
||||||
|
|
||||||
End Tag Table
|
End Tag Table
|
||||||
|
|||||||
+6
-7
@@ -34,7 +34,7 @@ File: bison.info, Node: Top, Next: Introduction, Up: (dir)
|
|||||||
Bison
|
Bison
|
||||||
*****
|
*****
|
||||||
|
|
||||||
This manual documents version 1.30a of Bison, updated 5 November
|
This manual documents version 1.30c of Bison, updated 12 November
|
||||||
2001.
|
2001.
|
||||||
|
|
||||||
* Menu:
|
* Menu:
|
||||||
@@ -238,7 +238,7 @@ Bison in detail.
|
|||||||
it Yacc-compatible. Wilfred Hansen of Carnegie Mellon University added
|
it Yacc-compatible. Wilfred Hansen of Carnegie Mellon University added
|
||||||
multi-character string literals and other features.
|
multi-character string literals and other features.
|
||||||
|
|
||||||
This edition corresponds to version 1.30a of Bison.
|
This edition corresponds to version 1.30c of Bison.
|
||||||
|
|
||||||
|
|
||||||
File: bison.info, Node: Conditions, Next: Copying, Prev: Introduction, Up: Top
|
File: bison.info, Node: Conditions, Next: Copying, Prev: Introduction, Up: Top
|
||||||
@@ -709,12 +709,11 @@ matter of lexicography, not grammar.)
|
|||||||
Here is a simple C function subdivided into tokens:
|
Here is a simple C function subdivided into tokens:
|
||||||
|
|
||||||
int /* keyword `int' */
|
int /* keyword `int' */
|
||||||
square (x) /* identifier, open-paren, */
|
square (int x) /* identifier, open-paren, identifier,
|
||||||
/* identifier, close-paren */
|
identifier, close-paren */
|
||||||
int x; /* keyword `int', identifier, semicolon */
|
|
||||||
{ /* open-brace */
|
{ /* open-brace */
|
||||||
return x * x; /* keyword `return', identifier, */
|
return x * x; /* keyword `return', identifier, asterisk,
|
||||||
/* asterisk, identifier, semicolon */
|
identifier, semicolon */
|
||||||
} /* close-brace */
|
} /* close-brace */
|
||||||
|
|
||||||
The syntactic groupings of C include the expression, the statement,
|
The syntactic groupings of C include the expression, the statement,
|
||||||
|
|||||||
+43
-47
@@ -385,21 +385,21 @@ Compiling the Parser File
|
|||||||
Here is how to compile and run the parser file:
|
Here is how to compile and run the parser file:
|
||||||
|
|
||||||
# List files in current directory.
|
# List files in current directory.
|
||||||
% ls
|
$ ls
|
||||||
rpcalc.tab.c rpcalc.y
|
rpcalc.tab.c rpcalc.y
|
||||||
|
|
||||||
# Compile the Bison parser.
|
# Compile the Bison parser.
|
||||||
# `-lm' tells compiler to search math library for `pow'.
|
# `-lm' tells compiler to search math library for `pow'.
|
||||||
% cc rpcalc.tab.c -lm -o rpcalc
|
$ cc rpcalc.tab.c -lm -o rpcalc
|
||||||
|
|
||||||
# List files again.
|
# List files again.
|
||||||
% ls
|
$ ls
|
||||||
rpcalc rpcalc.tab.c rpcalc.y
|
rpcalc rpcalc.tab.c rpcalc.y
|
||||||
|
|
||||||
The file `rpcalc' now contains the executable code. Here is an
|
The file `rpcalc' now contains the executable code. Here is an
|
||||||
example session using `rpcalc'.
|
example session using `rpcalc'.
|
||||||
|
|
||||||
% rpcalc
|
$ rpcalc
|
||||||
4 9 +
|
4 9 +
|
||||||
13
|
13
|
||||||
3 7 + 3 4 5 *+-
|
3 7 + 3 4 5 *+-
|
||||||
@@ -411,7 +411,7 @@ example session using `rpcalc'.
|
|||||||
3 4 ^ Exponentiation
|
3 4 ^ Exponentiation
|
||||||
81
|
81
|
||||||
^D End-of-file indicator
|
^D End-of-file indicator
|
||||||
%
|
$
|
||||||
|
|
||||||
|
|
||||||
File: bison.info, Node: Infix Calc, Next: Simple Error Recovery, Prev: RPN Calc, Up: Examples
|
File: bison.info, Node: Infix Calc, Next: Simple Error Recovery, Prev: RPN Calc, Up: Examples
|
||||||
@@ -485,7 +485,7 @@ Precedence.
|
|||||||
|
|
||||||
Here is a sample run of `calc.y':
|
Here is a sample run of `calc.y':
|
||||||
|
|
||||||
% calc
|
$ calc
|
||||||
4 + 4.5 - (34/(8*3+-3))
|
4 + 4.5 - (34/(8*3+-3))
|
||||||
6.880952381
|
6.880952381
|
||||||
-56 + 2
|
-56 + 2
|
||||||
@@ -539,12 +539,10 @@ Location Tracking Calculator: `ltcalc'
|
|||||||
======================================
|
======================================
|
||||||
|
|
||||||
This example extends the infix notation calculator with location
|
This example extends the infix notation calculator with location
|
||||||
tracking. This feature will be used to improve error reporting, and
|
tracking. This feature will be used to improve the error messages. For
|
||||||
provide better error messages.
|
the sake of clarity, this example is a simple integer calculator, since
|
||||||
|
most of the work needed to use locations will be done in the lexical
|
||||||
For the sake of clarity, we will switch for this example to an
|
analyser.
|
||||||
integer calculator, since most of the work needed to use locations will
|
|
||||||
be done in the lexical analyser.
|
|
||||||
|
|
||||||
* Menu:
|
* Menu:
|
||||||
|
|
||||||
@@ -558,8 +556,8 @@ File: bison.info, Node: Ltcalc Decls, Next: Ltcalc Rules, Up: Location Tracki
|
|||||||
Declarations for `ltcalc'
|
Declarations for `ltcalc'
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
The C and Bison declarations for the location tracking calculator
|
The C and Bison declarations for the location tracking calculator are
|
||||||
are the same as the declarations for the infix notation calculator.
|
the same as the declarations for the infix notation calculator.
|
||||||
|
|
||||||
/* Location tracking calculator. */
|
/* Location tracking calculator. */
|
||||||
|
|
||||||
@@ -578,11 +576,11 @@ are the same as the declarations for the infix notation calculator.
|
|||||||
|
|
||||||
%% /* Grammar follows */
|
%% /* Grammar follows */
|
||||||
|
|
||||||
In the code above, there are no declarations specific to locations.
|
Note there are no declarations specific to locations. Defining a data
|
||||||
Defining a data type for storing locations is not needed: we will use
|
type for storing locations is not needed: we will use the type provided
|
||||||
the type provided by default (*note Data Types of Locations: Location
|
by default (*note Data Types of Locations: Location Type.), which is a
|
||||||
Type.), which is a four member structure with the following integer
|
four member structure with the following integer fields: `first_line',
|
||||||
fields: `first_line', `first_column', `last_line' and `last_column'.
|
`first_column', `last_line' and `last_column'.
|
||||||
|
|
||||||
|
|
||||||
File: bison.info, Node: Ltcalc Rules, Next: Ltcalc Lexer, Prev: Ltcalc Decls, Up: Location Tracking Calc
|
File: bison.info, Node: Ltcalc Rules, Next: Ltcalc Lexer, Prev: Ltcalc Decls, Up: Location Tracking Calc
|
||||||
@@ -590,10 +588,10 @@ File: bison.info, Node: Ltcalc Rules, Next: Ltcalc Lexer, Prev: Ltcalc Decls,
|
|||||||
Grammar Rules for `ltcalc'
|
Grammar Rules for `ltcalc'
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
Whether you choose to handle locations or not has no effect on the
|
Whether handling locations or not has no effect on the syntax of your
|
||||||
syntax of your language. Therefore, grammar rules for this example
|
language. Therefore, grammar rules for this example will be very close
|
||||||
will be very close to those of the previous example: we will only
|
to those of the previous example: we will only modify them to benefit
|
||||||
modify them to benefit from the new informations we will have.
|
from the new information.
|
||||||
|
|
||||||
Here, we will use locations to report divisions by zero, and locate
|
Here, we will use locations to report divisions by zero, and locate
|
||||||
the wrong expressions or subexpressions.
|
the wrong expressions or subexpressions.
|
||||||
@@ -617,9 +615,9 @@ the wrong expressions or subexpressions.
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$$ = 1;
|
$$ = 1;
|
||||||
printf("Division by zero, l%d,c%d-l%d,c%d",
|
fprintf (stderr, "%d.%d-%d.%d: division by zero",
|
||||||
@3.first_line, @3.first_column,
|
@3.first_line, @3.first_column,
|
||||||
@3.last_line, @3.last_column);
|
@3.last_line, @3.last_column);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
| '-' exp %preg NEG { $$ = -$2; }
|
| '-' exp %preg NEG { $$ = -$2; }
|
||||||
@@ -630,14 +628,12 @@ the wrong expressions or subexpressions.
|
|||||||
using the pseudo-variables `@N' for rule components, and the
|
using the pseudo-variables `@N' for rule components, and the
|
||||||
pseudo-variable `@$' for groupings.
|
pseudo-variable `@$' for groupings.
|
||||||
|
|
||||||
In this example, we never assign a value to `@$', because the output
|
We don't need to assign a value to `@$': the output parser does it
|
||||||
parser can do this automatically. By default, before executing the C
|
automatically. By default, before executing the C code of each action,
|
||||||
code of each action, `@$' is set to range from the beginning of `@1' to
|
`@$' is set to range from the beginning of `@1' to the end of `@N', for
|
||||||
the end of `@N', for a rule with N components.
|
a rule with N components. This behavior can be redefined (*note
|
||||||
|
Default Action for Locations: Location Default Action.), and for very
|
||||||
Of course, this behavior can be redefined (*note Default Action for
|
specific rules, `@$' can be computed by hand.
|
||||||
Locations: Location Default Action.), and for very specific rules, `@$'
|
|
||||||
can be computed by hand.
|
|
||||||
|
|
||||||
|
|
||||||
File: bison.info, Node: Ltcalc Lexer, Prev: Ltcalc Rules, Up: Location Tracking Calc
|
File: bison.info, Node: Ltcalc Lexer, Prev: Ltcalc Rules, Up: Location Tracking Calc
|
||||||
@@ -647,10 +643,10 @@ The `ltcalc' Lexical Analyzer.
|
|||||||
|
|
||||||
Until now, we relied on Bison's defaults to enable location
|
Until now, we relied on Bison's defaults to enable location
|
||||||
tracking. The next step is to rewrite the lexical analyser, and make it
|
tracking. The next step is to rewrite the lexical analyser, and make it
|
||||||
able to feed the parser with locations of tokens, as he already does
|
able to feed the parser with the token locations, as it already does for
|
||||||
for semantic values.
|
semantic values.
|
||||||
|
|
||||||
To do so, we must take into account every single character of the
|
To this end, we must take into account every single character of the
|
||||||
input text, to avoid the computed locations of being fuzzy or wrong:
|
input text, to avoid the computed locations of being fuzzy or wrong:
|
||||||
|
|
||||||
int
|
int
|
||||||
@@ -695,14 +691,14 @@ input text, to avoid the computed locations of being fuzzy or wrong:
|
|||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
Basically, the lexical analyzer does the same processing as before:
|
Basically, the lexical analyzer performs the same processing as
|
||||||
it skips blanks and tabs, and reads numbers or single-character tokens.
|
before: it skips blanks and tabs, and reads numbers or single-character
|
||||||
In addition to this, it updates the `yylloc' global variable (of type
|
tokens. In addition, it updates `yylloc', the global variable (of type
|
||||||
`YYLTYPE'), where the location of tokens is stored.
|
`YYLTYPE') containing the token's location.
|
||||||
|
|
||||||
Now, each time this function returns a token, the parser has it's
|
Now, each time this function returns a token, the parser has its
|
||||||
number as well as it's semantic value, and it's position in the text.
|
number as well as its semantic value, and its location in the text. The
|
||||||
The last needed change is to initialize `yylloc', for example in the
|
last needed change is to initialize `yylloc', for example in the
|
||||||
controlling function:
|
controlling function:
|
||||||
|
|
||||||
int
|
int
|
||||||
@@ -715,7 +711,7 @@ controlling function:
|
|||||||
|
|
||||||
Remember that computing locations is not a matter of syntax. Every
|
Remember that computing locations is not a matter of syntax. Every
|
||||||
character must be associated to a location update, whether it is in
|
character must be associated to a location update, whether it is in
|
||||||
valid input, in comments, in literal strings, and so on...
|
valid input, in comments, in literal strings, and so on.
|
||||||
|
|
||||||
|
|
||||||
File: bison.info, Node: Multi-function Calc, Next: Exercises, Prev: Location Tracking Calc, Up: Examples
|
File: bison.info, Node: Multi-function Calc, Next: Exercises, Prev: Location Tracking Calc, Up: Examples
|
||||||
@@ -741,7 +737,7 @@ At the same time, we will add memory to the calculator, by allowing you
|
|||||||
to create named variables, store values in them, and use them later.
|
to create named variables, store values in them, and use them later.
|
||||||
Here is a sample session with the multi-function calculator:
|
Here is a sample session with the multi-function calculator:
|
||||||
|
|
||||||
% mfcalc
|
$ mfcalc
|
||||||
pi = 3.141592653589
|
pi = 3.141592653589
|
||||||
3.1415926536
|
3.1415926536
|
||||||
sin(pi)
|
sin(pi)
|
||||||
@@ -754,7 +750,7 @@ Here is a sample session with the multi-function calculator:
|
|||||||
0.8329091229
|
0.8329091229
|
||||||
exp(ln(beta1))
|
exp(ln(beta1))
|
||||||
2.3000000000
|
2.3000000000
|
||||||
%
|
$
|
||||||
|
|
||||||
Note that multiple assignment and nested function calls are
|
Note that multiple assignment and nested function calls are
|
||||||
permitted.
|
permitted.
|
||||||
|
|||||||
+9
-8
@@ -623,19 +623,20 @@ Suppressing Conflict Warnings
|
|||||||
|
|
||||||
Bison normally warns if there are any conflicts in the grammar
|
Bison normally warns if there are any conflicts in the grammar
|
||||||
(*note Shift/Reduce Conflicts: Shift/Reduce.), but most real grammars
|
(*note Shift/Reduce Conflicts: Shift/Reduce.), but most real grammars
|
||||||
have harmless shift/reduce conflicts which are resolved in a
|
have harmless shift/reduce conflicts which are resolved in a predictable
|
||||||
predictable way and would be difficult to eliminate. It is desirable
|
way and would be difficult to eliminate. It is desirable to suppress
|
||||||
to suppress the warning about these conflicts unless the number of
|
the warning about these conflicts unless the number of conflicts
|
||||||
conflicts changes. You can do this with the `%expect' declaration.
|
changes. You can do this with the `%expect' declaration.
|
||||||
|
|
||||||
The declaration looks like this:
|
The declaration looks like this:
|
||||||
|
|
||||||
%expect N
|
%expect N
|
||||||
|
|
||||||
Here N is a decimal integer. The declaration says there should be no
|
Here N is a decimal integer. The declaration says there should be
|
||||||
warning if there are N shift/reduce conflicts and no reduce/reduce
|
no warning if there are N shift/reduce conflicts and no reduce/reduce
|
||||||
conflicts. The usual warning is given if there are either more or fewer
|
conflicts. An error, instead of the usual warning, is given if there
|
||||||
conflicts, or if there are any reduce/reduce conflicts.
|
are either more or fewer conflicts, or if there are any reduce/reduce
|
||||||
|
conflicts.
|
||||||
|
|
||||||
In general, using `%expect' involves these steps:
|
In general, using `%expect' involves these steps:
|
||||||
|
|
||||||
|
|||||||
+98
-86
@@ -447,16 +447,26 @@ lexicography, not grammar.)
|
|||||||
|
|
||||||
Here is a simple C function subdivided into tokens:
|
Here is a simple C function subdivided into tokens:
|
||||||
|
|
||||||
|
@ifinfo
|
||||||
@example
|
@example
|
||||||
int /* @r{keyword `int'} */
|
int /* @r{keyword `int'} */
|
||||||
square (x) /* @r{identifier, open-paren,} */
|
square (int x) /* @r{identifier, open-paren, identifier,}
|
||||||
/* @r{identifier, close-paren} */
|
@r{identifier, close-paren} */
|
||||||
int x; /* @r{keyword `int', identifier, semicolon} */
|
|
||||||
@{ /* @r{open-brace} */
|
@{ /* @r{open-brace} */
|
||||||
return x * x; /* @r{keyword `return', identifier,} */
|
return x * x; /* @r{keyword `return', identifier, asterisk,
|
||||||
/* @r{asterisk, identifier, semicolon} */
|
identifier, semicolon} */
|
||||||
@} /* @r{close-brace} */
|
@} /* @r{close-brace} */
|
||||||
@end example
|
@end example
|
||||||
|
@end ifinfo
|
||||||
|
@ifnotinfo
|
||||||
|
@example
|
||||||
|
int /* @r{keyword `int'} */
|
||||||
|
square (int x) /* @r{identifier, open-paren, identifier, identifier, close-paren} */
|
||||||
|
@{ /* @r{open-brace} */
|
||||||
|
return x * x; /* @r{keyword `return', identifier, asterisk, identifier, semicolon} */
|
||||||
|
@} /* @r{close-brace} */
|
||||||
|
@end example
|
||||||
|
@end ifnotinfo
|
||||||
|
|
||||||
The syntactic groupings of C include the expression, the statement, the
|
The syntactic groupings of C include the expression, the statement, the
|
||||||
declaration, and the function definition. These are represented in the
|
declaration, and the function definition. These are represented in the
|
||||||
@@ -1204,19 +1214,19 @@ Here is how to compile and run the parser file:
|
|||||||
@example
|
@example
|
||||||
@group
|
@group
|
||||||
# @r{List files in current directory.}
|
# @r{List files in current directory.}
|
||||||
% ls
|
$ @kbd{ls}
|
||||||
rpcalc.tab.c rpcalc.y
|
rpcalc.tab.c rpcalc.y
|
||||||
@end group
|
@end group
|
||||||
|
|
||||||
@group
|
@group
|
||||||
# @r{Compile the Bison parser.}
|
# @r{Compile the Bison parser.}
|
||||||
# @r{@samp{-lm} tells compiler to search math library for @code{pow}.}
|
# @r{@samp{-lm} tells compiler to search math library for @code{pow}.}
|
||||||
% cc rpcalc.tab.c -lm -o rpcalc
|
$ @kbd{cc rpcalc.tab.c -lm -o rpcalc}
|
||||||
@end group
|
@end group
|
||||||
|
|
||||||
@group
|
@group
|
||||||
# @r{List files again.}
|
# @r{List files again.}
|
||||||
% ls
|
$ @kbd{ls}
|
||||||
rpcalc rpcalc.tab.c rpcalc.y
|
rpcalc rpcalc.tab.c rpcalc.y
|
||||||
@end group
|
@end group
|
||||||
@end example
|
@end example
|
||||||
@@ -1225,19 +1235,19 @@ The file @file{rpcalc} now contains the executable code. Here is an
|
|||||||
example session using @code{rpcalc}.
|
example session using @code{rpcalc}.
|
||||||
|
|
||||||
@example
|
@example
|
||||||
% rpcalc
|
$ @kbd{rpcalc}
|
||||||
4 9 +
|
@kbd{4 9 +}
|
||||||
13
|
13
|
||||||
3 7 + 3 4 5 *+-
|
@kbd{3 7 + 3 4 5 *+-}
|
||||||
-13
|
-13
|
||||||
3 7 + 3 4 5 * + - n @r{Note the unary minus, @samp{n}}
|
@kbd{3 7 + 3 4 5 * + - n} @r{Note the unary minus, @samp{n}}
|
||||||
13
|
13
|
||||||
5 6 / 4 n +
|
@kbd{5 6 / 4 n +}
|
||||||
-3.166666667
|
-3.166666667
|
||||||
3 4 ^ @r{Exponentiation}
|
@kbd{3 4 ^} @r{Exponentiation}
|
||||||
81
|
81
|
||||||
^D @r{End-of-file indicator}
|
@kbd{^D} @r{End-of-file indicator}
|
||||||
%
|
$
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@node Infix Calc
|
@node Infix Calc
|
||||||
@@ -1317,12 +1327,12 @@ Here is a sample run of @file{calc.y}:
|
|||||||
|
|
||||||
@need 500
|
@need 500
|
||||||
@example
|
@example
|
||||||
% calc
|
$ @kbd{calc}
|
||||||
4 + 4.5 - (34/(8*3+-3))
|
@kbd{4 + 4.5 - (34/(8*3+-3))}
|
||||||
6.880952381
|
6.880952381
|
||||||
-56 + 2
|
@kbd{-56 + 2}
|
||||||
-54
|
-54
|
||||||
3 ^ 2
|
@kbd{3 ^ 2}
|
||||||
9
|
9
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@@ -1374,13 +1384,11 @@ Bison programs.
|
|||||||
@cindex @code{ltcalc}
|
@cindex @code{ltcalc}
|
||||||
@cindex calculator, location tracking
|
@cindex calculator, location tracking
|
||||||
|
|
||||||
This example extends the infix notation calculator with location tracking.
|
This example extends the infix notation calculator with location
|
||||||
This feature will be used to improve error reporting, and provide better
|
tracking. This feature will be used to improve the error messages. For
|
||||||
error messages.
|
the sake of clarity, this example is a simple integer calculator, since
|
||||||
|
most of the work needed to use locations will be done in the lexical
|
||||||
For the sake of clarity, we will switch for this example to an integer
|
analyser.
|
||||||
calculator, since most of the work needed to use locations will be done
|
|
||||||
in the lexical analyser.
|
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Decls: Ltcalc Decls. Bison and C declarations for ltcalc.
|
* Decls: Ltcalc Decls. Bison and C declarations for ltcalc.
|
||||||
@@ -1391,8 +1399,8 @@ in the lexical analyser.
|
|||||||
@node Ltcalc Decls
|
@node Ltcalc Decls
|
||||||
@subsection Declarations for @code{ltcalc}
|
@subsection Declarations for @code{ltcalc}
|
||||||
|
|
||||||
The C and Bison declarations for the location tracking calculator are the same
|
The C and Bison declarations for the location tracking calculator are
|
||||||
as the declarations for the infix notation calculator.
|
the same as the declarations for the infix notation calculator.
|
||||||
|
|
||||||
@example
|
@example
|
||||||
/* Location tracking calculator. */
|
/* Location tracking calculator. */
|
||||||
@@ -1413,22 +1421,24 @@ as the declarations for the infix notation calculator.
|
|||||||
%% /* Grammar follows */
|
%% /* Grammar follows */
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
In the code above, there are no declarations specific to locations. Defining
|
@noindent
|
||||||
a data type for storing locations is not needed: we will use the type provided
|
Note there are no declarations specific to locations. Defining a data
|
||||||
by default (@pxref{Location Type, ,Data Types of Locations}), which is a four
|
type for storing locations is not needed: we will use the type provided
|
||||||
member structure with the following integer fields: @code{first_line},
|
by default (@pxref{Location Type, ,Data Types of Locations}), which is a
|
||||||
@code{first_column}, @code{last_line} and @code{last_column}.
|
four member structure with the following integer fields:
|
||||||
|
@code{first_line}, @code{first_column}, @code{last_line} and
|
||||||
|
@code{last_column}.
|
||||||
|
|
||||||
@node Ltcalc Rules
|
@node Ltcalc Rules
|
||||||
@subsection Grammar Rules for @code{ltcalc}
|
@subsection Grammar Rules for @code{ltcalc}
|
||||||
|
|
||||||
Whether you choose to handle locations or not has no effect on the syntax of
|
Whether handling locations or not has no effect on the syntax of your
|
||||||
your language. Therefore, grammar rules for this example will be very close to
|
language. Therefore, grammar rules for this example will be very close
|
||||||
those of the previous example: we will only modify them to benefit from the new
|
to those of the previous example: we will only modify them to benefit
|
||||||
informations we will have.
|
from the new information.
|
||||||
|
|
||||||
Here, we will use locations to report divisions by zero, and locate the wrong
|
Here, we will use locations to report divisions by zero, and locate the
|
||||||
expressions or subexpressions.
|
wrong expressions or subexpressions.
|
||||||
|
|
||||||
@example
|
@example
|
||||||
@group
|
@group
|
||||||
@@ -1449,17 +1459,17 @@ exp : NUM @{ $$ = $1; @}
|
|||||||
| exp '-' exp @{ $$ = $1 - $3; @}
|
| exp '-' exp @{ $$ = $1 - $3; @}
|
||||||
| exp '*' exp @{ $$ = $1 * $3; @}
|
| exp '*' exp @{ $$ = $1 * $3; @}
|
||||||
@end group
|
@end group
|
||||||
| exp '/' exp
|
|
||||||
@group
|
@group
|
||||||
|
| exp '/' exp
|
||||||
@{
|
@{
|
||||||
if ($3)
|
if ($3)
|
||||||
$$ = $1 / $3;
|
$$ = $1 / $3;
|
||||||
else
|
else
|
||||||
@{
|
@{
|
||||||
$$ = 1;
|
$$ = 1;
|
||||||
printf("Division by zero, l%d,c%d-l%d,c%d",
|
fprintf (stderr, "%d.%d-%d.%d: division by zero",
|
||||||
@@3.first_line, @@3.first_column,
|
@@3.first_line, @@3.first_column,
|
||||||
@@3.last_line, @@3.last_column);
|
@@3.last_line, @@3.last_column);
|
||||||
@}
|
@}
|
||||||
@}
|
@}
|
||||||
@end group
|
@end group
|
||||||
@@ -1474,25 +1484,24 @@ This code shows how to reach locations inside of semantic actions, by
|
|||||||
using the pseudo-variables @code{@@@var{n}} for rule components, and the
|
using the pseudo-variables @code{@@@var{n}} for rule components, and the
|
||||||
pseudo-variable @code{@@$} for groupings.
|
pseudo-variable @code{@@$} for groupings.
|
||||||
|
|
||||||
In this example, we never assign a value to @code{@@$}, because the
|
We don't need to assign a value to @code{@@$}: the output parser does it
|
||||||
output parser can do this automatically. By default, before executing
|
automatically. By default, before executing the C code of each action,
|
||||||
the C code of each action, @code{@@$} is set to range from the beginning
|
@code{@@$} is set to range from the beginning of @code{@@1} to the end
|
||||||
of @code{@@1} to the end of @code{@@@var{n}}, for a rule with @var{n}
|
of @code{@@@var{n}}, for a rule with @var{n} components. This behavior
|
||||||
components.
|
can be redefined (@pxref{Location Default Action, , Default Action for
|
||||||
|
Locations}), and for very specific rules, @code{@@$} can be computed by
|
||||||
Of course, this behavior can be redefined (@pxref{Location Default
|
hand.
|
||||||
Action, , Default Action for Locations}), and for very specific rules,
|
|
||||||
@code{@@$} can be computed by hand.
|
|
||||||
|
|
||||||
@node Ltcalc Lexer
|
@node Ltcalc Lexer
|
||||||
@subsection The @code{ltcalc} Lexical Analyzer.
|
@subsection The @code{ltcalc} Lexical Analyzer.
|
||||||
|
|
||||||
Until now, we relied on Bison's defaults to enable location tracking. The next
|
Until now, we relied on Bison's defaults to enable location
|
||||||
step is to rewrite the lexical analyser, and make it able to feed the parser
|
tracking. The next step is to rewrite the lexical analyser, and make it
|
||||||
with locations of tokens, as he already does for semantic values.
|
able to feed the parser with the token locations, as it already does for
|
||||||
|
semantic values.
|
||||||
|
|
||||||
To do so, we must take into account every single character of the input text,
|
To this end, we must take into account every single character of the
|
||||||
to avoid the computed locations of being fuzzy or wrong:
|
input text, to avoid the computed locations of being fuzzy or wrong:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
@group
|
@group
|
||||||
@@ -1542,17 +1551,18 @@ yylex (void)
|
|||||||
@}
|
@}
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
Basically, the lexical analyzer does the same processing as before: it skips
|
Basically, the lexical analyzer performs the same processing as before:
|
||||||
blanks and tabs, and reads numbers or single-character tokens. In addition
|
it skips blanks and tabs, and reads numbers or single-character tokens.
|
||||||
to this, it updates the @code{yylloc} global variable (of type @code{YYLTYPE}),
|
In addition, it updates @code{yylloc}, the global variable (of type
|
||||||
where the location of tokens is stored.
|
@code{YYLTYPE}) containing the token's location.
|
||||||
|
|
||||||
Now, each time this function returns a token, the parser has it's number as
|
Now, each time this function returns a token, the parser has its number
|
||||||
well as it's semantic value, and it's position in the text. The last needed
|
as well as its semantic value, and its location in the text. The last
|
||||||
change is to initialize @code{yylloc}, for example in the controlling
|
needed change is to initialize @code{yylloc}, for example in the
|
||||||
function:
|
controlling function:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
|
@group
|
||||||
int
|
int
|
||||||
main (void)
|
main (void)
|
||||||
@{
|
@{
|
||||||
@@ -1560,11 +1570,12 @@ main (void)
|
|||||||
yylloc.first_column = yylloc.last_column = 0;
|
yylloc.first_column = yylloc.last_column = 0;
|
||||||
return yyparse ();
|
return yyparse ();
|
||||||
@}
|
@}
|
||||||
|
@end group
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
Remember that computing locations is not a matter of syntax. Every character
|
Remember that computing locations is not a matter of syntax. Every
|
||||||
must be associated to a location update, whether it is in valid input, in
|
character must be associated to a location update, whether it is in
|
||||||
comments, in literal strings, and so on...
|
valid input, in comments, in literal strings, and so on.
|
||||||
|
|
||||||
@node Multi-function Calc
|
@node Multi-function Calc
|
||||||
@section Multi-Function Calculator: @code{mfcalc}
|
@section Multi-Function Calculator: @code{mfcalc}
|
||||||
@@ -1594,20 +1605,20 @@ to create named variables, store values in them, and use them later.
|
|||||||
Here is a sample session with the multi-function calculator:
|
Here is a sample session with the multi-function calculator:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
% mfcalc
|
$ @kbd{mfcalc}
|
||||||
pi = 3.141592653589
|
@kbd{pi = 3.141592653589}
|
||||||
3.1415926536
|
3.1415926536
|
||||||
sin(pi)
|
@kbd{sin(pi)}
|
||||||
0.0000000000
|
0.0000000000
|
||||||
alpha = beta1 = 2.3
|
@kbd{alpha = beta1 = 2.3}
|
||||||
2.3000000000
|
2.3000000000
|
||||||
alpha
|
@kbd{alpha}
|
||||||
2.3000000000
|
2.3000000000
|
||||||
ln(alpha)
|
@kbd{ln(alpha)}
|
||||||
0.8329091229
|
0.8329091229
|
||||||
exp(ln(beta1))
|
@kbd{exp(ln(beta1))}
|
||||||
2.3000000000
|
2.3000000000
|
||||||
%
|
$
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
Note that multiple assignment and nested function calls are permitted.
|
Note that multiple assignment and nested function calls are permitted.
|
||||||
@@ -3070,11 +3081,11 @@ terminal symbol. All kinds of token declarations allow
|
|||||||
@findex %expect
|
@findex %expect
|
||||||
|
|
||||||
Bison normally warns if there are any conflicts in the grammar
|
Bison normally warns if there are any conflicts in the grammar
|
||||||
(@pxref{Shift/Reduce, ,Shift/Reduce Conflicts}), but most real grammars have harmless shift/reduce
|
(@pxref{Shift/Reduce, ,Shift/Reduce Conflicts}), but most real grammars
|
||||||
conflicts which are resolved in a predictable way and would be difficult to
|
have harmless shift/reduce conflicts which are resolved in a predictable
|
||||||
eliminate. It is desirable to suppress the warning about these conflicts
|
way and would be difficult to eliminate. It is desirable to suppress
|
||||||
unless the number of conflicts changes. You can do this with the
|
the warning about these conflicts unless the number of conflicts
|
||||||
@code{%expect} declaration.
|
changes. You can do this with the @code{%expect} declaration.
|
||||||
|
|
||||||
The declaration looks like this:
|
The declaration looks like this:
|
||||||
|
|
||||||
@@ -3082,10 +3093,11 @@ The declaration looks like this:
|
|||||||
%expect @var{n}
|
%expect @var{n}
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
Here @var{n} is a decimal integer. The declaration says there should be no
|
Here @var{n} is a decimal integer. The declaration says there should be
|
||||||
warning if there are @var{n} shift/reduce conflicts and no reduce/reduce
|
no warning if there are @var{n} shift/reduce conflicts and no
|
||||||
conflicts. The usual warning is given if there are either more or fewer
|
reduce/reduce conflicts. An error, instead of the usual warning, is
|
||||||
conflicts, or if there are any reduce/reduce conflicts.
|
given if there are either more or fewer conflicts, or if there are any
|
||||||
|
reduce/reduce conflicts.
|
||||||
|
|
||||||
In general, using @code{%expect} involves these steps:
|
In general, using @code{%expect} involves these steps:
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -1,4 +1,4 @@
|
|||||||
@set UPDATED 5 November 2001
|
@set UPDATED 12 November 2001
|
||||||
@set UPDATED-MONTH November 2001
|
@set UPDATED-MONTH November 2001
|
||||||
@set EDITION 1.30a
|
@set EDITION 1.30c
|
||||||
@set VERSION 1.30a
|
@set VERSION 1.30c
|
||||||
|
|||||||
+3
-3
@@ -1,4 +1,4 @@
|
|||||||
@set UPDATED 5 November 2001
|
@set UPDATED 12 November 2001
|
||||||
@set UPDATED-MONTH November 2001
|
@set UPDATED-MONTH November 2001
|
||||||
@set EDITION 1.30a
|
@set EDITION 1.30c
|
||||||
@set VERSION 1.30a
|
@set VERSION 1.30c
|
||||||
|
|||||||
+1
-1
@@ -84,8 +84,8 @@ INTLBISON = @INTLBISON@
|
|||||||
INTLLIBS = @INTLLIBS@
|
INTLLIBS = @INTLLIBS@
|
||||||
INTLOBJS = @INTLOBJS@
|
INTLOBJS = @INTLOBJS@
|
||||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||||
|
LIB = @LIB@
|
||||||
LIBICONV = @LIBICONV@
|
LIBICONV = @LIBICONV@
|
||||||
LIBOBJS = @LIBOBJS@
|
|
||||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||||
MSGFMT = @MSGFMT@
|
MSGFMT = @MSGFMT@
|
||||||
PACKAGE = @PACKAGE@
|
PACKAGE = @PACKAGE@
|
||||||
|
|||||||
+1
-1
@@ -84,8 +84,8 @@ INTLBISON = @INTLBISON@
|
|||||||
INTLLIBS = @INTLLIBS@
|
INTLLIBS = @INTLLIBS@
|
||||||
INTLOBJS = @INTLOBJS@
|
INTLOBJS = @INTLOBJS@
|
||||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||||
|
LIB = @LIB@
|
||||||
LIBICONV = @LIBICONV@
|
LIBICONV = @LIBICONV@
|
||||||
LIBOBJS = @LIBOBJS@
|
|
||||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||||
MSGFMT = @MSGFMT@
|
MSGFMT = @MSGFMT@
|
||||||
PACKAGE = @PACKAGE@
|
PACKAGE = @PACKAGE@
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bison 1.25\n"
|
"Project-Id-Version: bison 1.25\n"
|
||||||
"POT-Creation-Date: 2001-11-05 11:08+0100\n"
|
"POT-Creation-Date: 2001-11-14 15:59+0100\n"
|
||||||
"PO-Revision-Date: 1996-10-10 17:54 MET DST\n"
|
"PO-Revision-Date: 1996-10-10 17:54 MET DST\n"
|
||||||
"Last-Translator: Ulrich Drepper <[email protected]>\n"
|
"Last-Translator: Ulrich Drepper <[email protected]>\n"
|
||||||
"Language-Team: German <[email protected]>\n"
|
"Language-Team: German <[email protected]>\n"
|
||||||
@@ -31,77 +31,78 @@ msgstr ""
|
|||||||
msgid "fatal error: "
|
msgid "fatal error: "
|
||||||
msgstr "fataler Fehler: %s\n"
|
msgstr "fataler Fehler: %s\n"
|
||||||
|
|
||||||
#: src/conflicts.c:48
|
#: src/conflicts.c:45
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||||
msgstr "Konflikt in Zustand %d zwischen Regel %d and Token %s wurde %s.\n"
|
msgstr "Konflikt in Zustand %d zwischen Regel %d and Token %s wurde %s.\n"
|
||||||
|
|
||||||
#: src/conflicts.c:114 src/conflicts.c:137
|
#: src/conflicts.c:111 src/conflicts.c:134
|
||||||
msgid "reduce"
|
msgid "reduce"
|
||||||
msgstr "durch Reduzierung gelöst"
|
msgstr "durch Reduzierung gelöst"
|
||||||
|
|
||||||
#: src/conflicts.c:120 src/conflicts.c:133
|
#: src/conflicts.c:117 src/conflicts.c:130
|
||||||
msgid "shift"
|
msgid "shift"
|
||||||
msgstr "durch Schieben gelöst"
|
msgstr "durch Schieben gelöst"
|
||||||
|
|
||||||
#: src/conflicts.c:141
|
#: src/conflicts.c:138
|
||||||
msgid "an error"
|
msgid "an error"
|
||||||
msgstr "als Fehler betrachtet"
|
msgstr "als Fehler betrachtet"
|
||||||
|
|
||||||
#: src/conflicts.c:421
|
#: src/conflicts.c:411
|
||||||
msgid " 1 shift/reduce conflict"
|
#, fuzzy, c-format
|
||||||
msgstr " 1 Schiebe/Reduziere Konflikt"
|
msgid "%d shift/reduce conflict"
|
||||||
|
msgid_plural "%d shift/reduce conflicts"
|
||||||
|
msgstr[0] " %d Schiebe/Reduziere Konflikte"
|
||||||
|
|
||||||
#: src/conflicts.c:426
|
#: src/conflicts.c:418
|
||||||
#, c-format
|
#, fuzzy
|
||||||
msgid " %d shift/reduce conflicts"
|
msgid "and"
|
||||||
msgstr " %d Schiebe/Reduziere Konflikte"
|
|
||||||
|
|
||||||
#: src/conflicts.c:432
|
|
||||||
msgid " and"
|
|
||||||
msgstr " und"
|
msgstr " und"
|
||||||
|
|
||||||
#: src/conflicts.c:438
|
#: src/conflicts.c:424
|
||||||
msgid " 1 reduce/reduce conflict"
|
#, fuzzy, c-format
|
||||||
msgstr " 1 Reduziere/Reduziere Konflikt"
|
msgid "%d reduce/reduce conflict"
|
||||||
|
msgid_plural "%d reduce/reduce conflicts"
|
||||||
|
msgstr[0] " %d Reduziere/Reduziere Konflikte"
|
||||||
|
|
||||||
#: src/conflicts.c:443
|
#: src/conflicts.c:448
|
||||||
#, c-format
|
#, fuzzy, c-format
|
||||||
msgid " %d reduce/reduce conflicts"
|
msgid "State %d contains "
|
||||||
msgstr " %d Reduziere/Reduziere Konflikte"
|
|
||||||
|
|
||||||
#: src/conflicts.c:480
|
|
||||||
#, c-format
|
|
||||||
msgid "State %d contains"
|
|
||||||
msgstr "Zustand %d enthält"
|
msgstr "Zustand %d enthält"
|
||||||
|
|
||||||
#. If invoked with `--yacc', use the output format specified by
|
#. If invoked with `--yacc', use the output format specified by
|
||||||
#. POSIX.
|
#. POSIX.
|
||||||
#: src/conflicts.c:491
|
#: src/conflicts.c:482
|
||||||
msgid "conflicts: "
|
msgid "conflicts: "
|
||||||
msgstr "Konflikte: "
|
msgstr "Konflikte: "
|
||||||
|
|
||||||
#: src/conflicts.c:493
|
#: src/conflicts.c:484
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d shift/reduce"
|
msgid " %d shift/reduce"
|
||||||
msgstr " %d Schiebe/Reduziere"
|
msgstr " %d Schiebe/Reduziere"
|
||||||
|
|
||||||
#: src/conflicts.c:497
|
#: src/conflicts.c:488
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d reduce/reduce"
|
msgid " %d reduce/reduce"
|
||||||
msgstr " %d Reduziere/Reduziere"
|
msgstr " %d Reduziere/Reduziere"
|
||||||
|
|
||||||
#: src/conflicts.c:502
|
#: src/conflicts.c:493 src/reduce.c:497
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s contains"
|
msgid "%s contains "
|
||||||
msgstr "%s enthält"
|
msgstr "%s enthält "
|
||||||
|
|
||||||
#: src/conflicts.c:588 src/conflicts.c:709
|
#: src/conflicts.c:502
|
||||||
|
#, fuzzy, c-format
|
||||||
|
msgid "expected %d shift/reduce conflict"
|
||||||
|
msgid_plural "expected %d shift/reduce conflicts"
|
||||||
|
msgstr[0] " %d Schiebe/Reduziere Konflikte"
|
||||||
|
|
||||||
|
#: src/conflicts.c:589 src/conflicts.c:709
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||||
msgstr " %-4s\t[reduziere mit Regel %d (%s)]\n"
|
msgstr " %-4s\t[reduziere mit Regel %d (%s)]\n"
|
||||||
|
|
||||||
#: src/conflicts.c:600 src/print.c:171
|
#: src/conflicts.c:600 src/print.c:172
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" $default\treduce using rule %d (%s)\n"
|
" $default\treduce using rule %d (%s)\n"
|
||||||
@@ -115,7 +116,7 @@ msgstr ""
|
|||||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||||
msgstr " %-4s\treduziere mit Tegel %d (%s)\n"
|
msgstr " %-4s\treduziere mit Tegel %d (%s)\n"
|
||||||
|
|
||||||
#: src/conflicts.c:730
|
#: src/conflicts.c:729
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $default\treduce using rule %d (%s)\n"
|
msgid " $default\treduce using rule %d (%s)\n"
|
||||||
msgstr " $default\treduziere mit Regel %d (%s)\n"
|
msgstr " $default\treduziere mit Regel %d (%s)\n"
|
||||||
@@ -208,7 +209,7 @@ msgid ""
|
|||||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/getargs.c:215 src/lex.c:693
|
#: src/getargs.c:215 src/lex.c:694
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is no longer supported"
|
msgid "`%s' is no longer supported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -278,17 +279,17 @@ msgstr "unerwarteter Typname"
|
|||||||
msgid "use \"...\" for multi-character literal tokens"
|
msgid "use \"...\" for multi-character literal tokens"
|
||||||
msgstr "für Literal mit mehreren Zeichen bitte \"...\" verwenden"
|
msgstr "für Literal mit mehreren Zeichen bitte \"...\" verwenden"
|
||||||
|
|
||||||
#: src/lex.c:666
|
#: src/lex.c:667
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' supports no argument: %s"
|
msgid "`%s' supports no argument: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/lex.c:682
|
#: src/lex.c:683
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "`%s' requires an argument"
|
msgid "`%s' requires an argument"
|
||||||
msgstr "%s: die Option »%s« erfordert ein Argument\n"
|
msgstr "%s: die Option »%s« erfordert ein Argument\n"
|
||||||
|
|
||||||
#: src/main.c:125
|
#: src/main.c:128
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%s: internal error: %s\n"
|
msgid "%s: internal error: %s\n"
|
||||||
msgstr "interner Fehler, %s\n"
|
msgstr "interner Fehler, %s\n"
|
||||||
@@ -302,45 +303,45 @@ msgstr "F
|
|||||||
msgid "maximum table size (%d) exceeded"
|
msgid "maximum table size (%d) exceeded"
|
||||||
msgstr "maximale Tabellengröße (%s) überschritten"
|
msgstr "maximale Tabellengröße (%s) überschritten"
|
||||||
|
|
||||||
#: src/print.c:37
|
#: src/print.c:38
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " type %d is %s\n"
|
msgid " type %d is %s\n"
|
||||||
msgstr " Typ %d ist %s\n"
|
msgstr " Typ %d ist %s\n"
|
||||||
|
|
||||||
#: src/print.c:85
|
#: src/print.c:86
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " (rule %d)"
|
msgid " (rule %d)"
|
||||||
msgstr " (Regel %d)"
|
msgstr " (Regel %d)"
|
||||||
|
|
||||||
#: src/print.c:111
|
#: src/print.c:112
|
||||||
msgid " $default\taccept\n"
|
msgid " $default\taccept\n"
|
||||||
msgstr " $default\takzeptiere\n"
|
msgstr " $default\takzeptiere\n"
|
||||||
|
|
||||||
#: src/print.c:113
|
#: src/print.c:114
|
||||||
msgid " NO ACTIONS\n"
|
msgid " NO ACTIONS\n"
|
||||||
msgstr " KEINE AKTIONEN\n"
|
msgstr " KEINE AKTIONEN\n"
|
||||||
|
|
||||||
#: src/print.c:132
|
#: src/print.c:133
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $ \tgo to state %d\n"
|
msgid " $ \tgo to state %d\n"
|
||||||
msgstr " $ \tgehe zu Zustand %d über\n"
|
msgstr " $ \tgehe zu Zustand %d über\n"
|
||||||
|
|
||||||
#: src/print.c:135
|
#: src/print.c:136
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tshift, and go to state %d\n"
|
msgid " %-4s\tshift, and go to state %d\n"
|
||||||
msgstr " %-4s\tSchiebe und gehe zu Zustand %d über\n"
|
msgstr " %-4s\tSchiebe und gehe zu Zustand %d über\n"
|
||||||
|
|
||||||
#: src/print.c:159
|
#: src/print.c:160
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\terror (nonassociative)\n"
|
msgid " %-4s\terror (nonassociative)\n"
|
||||||
msgstr " %-4s\tFehler (nicht assoziativ)\n"
|
msgstr " %-4s\tFehler (nicht assoziativ)\n"
|
||||||
|
|
||||||
#: src/print.c:187
|
#: src/print.c:188
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tgo to state %d\n"
|
msgid " %-4s\tgo to state %d\n"
|
||||||
msgstr " %-4s\tgehe zu Zustand %d über\n"
|
msgstr " %-4s\tgehe zu Zustand %d über\n"
|
||||||
|
|
||||||
#: src/print.c:199
|
#: src/print.c:200
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "state %d"
|
msgid "state %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -350,24 +351,24 @@ msgstr ""
|
|||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#. rule # : LHS -> RHS
|
#. rule # : LHS -> RHS
|
||||||
#: src/print.c:229
|
#: src/print.c:230
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Grammar"
|
msgid "Grammar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"\n"
|
"\n"
|
||||||
"Grammatik\n"
|
"Grammatik\n"
|
||||||
|
|
||||||
#: src/print.c:234
|
#: src/print.c:235
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule %-4d %s ->"
|
msgid "rule %-4d %s ->"
|
||||||
msgstr "Regel %-4d %s ->"
|
msgstr "Regel %-4d %s ->"
|
||||||
|
|
||||||
#: src/print.c:240
|
#: src/print.c:241
|
||||||
msgid "empty"
|
msgid "empty"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. TERMINAL (type #) : rule #s terminal is on RHS
|
#. TERMINAL (type #) : rule #s terminal is on RHS
|
||||||
#: src/print.c:244
|
#: src/print.c:246
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Terminals, with rules where they appear"
|
msgid "Terminals, with rules where they appear"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -375,7 +376,7 @@ msgstr ""
|
|||||||
"Terminale und die Regeln un denen sie verwendet werden\n"
|
"Terminale und die Regeln un denen sie verwendet werden\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/print.c:268
|
#: src/print.c:270
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Nonterminals, with rules where they appear"
|
msgid "Nonterminals, with rules where they appear"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -383,11 +384,11 @@ msgstr ""
|
|||||||
"Nicht-Terminal und die Regeln in denen sie verwendet werden\n"
|
"Nicht-Terminal und die Regeln in denen sie verwendet werden\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/print.c:294
|
#: src/print.c:296
|
||||||
msgid " on left:"
|
msgid " on left:"
|
||||||
msgstr " auf der linken Seite:"
|
msgstr " auf der linken Seite:"
|
||||||
|
|
||||||
#: src/print.c:309
|
#: src/print.c:311
|
||||||
msgid " on right:"
|
msgid " on right:"
|
||||||
msgstr " auf der rechten Seite:"
|
msgstr " auf der rechten Seite:"
|
||||||
|
|
||||||
@@ -628,14 +629,14 @@ msgstr "das Startsymbol %s ist undefiniert"
|
|||||||
msgid "the start symbol %s is a token"
|
msgid "the start symbol %s is a token"
|
||||||
msgstr "das Startsymbol %s ist ein Token"
|
msgstr "das Startsymbol %s ist ein Token"
|
||||||
|
|
||||||
#: src/reduce.c:401
|
#: src/reduce.c:405
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Useless nonterminals:"
|
msgid "Useless nonterminals:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Nutzlose Nicht-Terminale:\n"
|
"Nutzlose Nicht-Terminale:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:416
|
#: src/reduce.c:419
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Terminals which are not used:"
|
msgid "Terminals which are not used:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -644,7 +645,7 @@ msgstr ""
|
|||||||
"Nicht genutzte Terminale:\n"
|
"Nicht genutzte Terminale:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:427
|
#: src/reduce.c:430
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Useless rules:"
|
msgid "Useless rules:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -653,7 +654,7 @@ msgstr ""
|
|||||||
"Ungenutzte Regeln:\n"
|
"Ungenutzte Regeln:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:456
|
#: src/reduce.c:458
|
||||||
msgid ""
|
msgid ""
|
||||||
"Variables\n"
|
"Variables\n"
|
||||||
"---------\n"
|
"---------\n"
|
||||||
@@ -663,7 +664,7 @@ msgstr ""
|
|||||||
"---------\n"
|
"---------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:458
|
#: src/reduce.c:459
|
||||||
msgid "Value Sprec Sassoc Tag\n"
|
msgid "Value Sprec Sassoc Tag\n"
|
||||||
msgstr "Wert Sprec Sassoc Tag\n"
|
msgstr "Wert Sprec Sassoc Tag\n"
|
||||||
|
|
||||||
@@ -677,7 +678,7 @@ msgstr ""
|
|||||||
"------\n"
|
"------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:474
|
#: src/reduce.c:473
|
||||||
msgid ""
|
msgid ""
|
||||||
"Rules interpreted\n"
|
"Rules interpreted\n"
|
||||||
"-----------------\n"
|
"-----------------\n"
|
||||||
@@ -687,36 +688,31 @@ msgstr ""
|
|||||||
"----------------------\n"
|
"----------------------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:491
|
#: src/reduce.c:495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d rules never reduced\n"
|
msgid "%d rules never reduced\n"
|
||||||
msgstr "%d wurde niemals reduziert\n"
|
msgstr "%d wurde niemals reduziert\n"
|
||||||
|
|
||||||
#: src/reduce.c:493
|
#: src/reduce.c:501
|
||||||
#, c-format
|
|
||||||
msgid "%s contains "
|
|
||||||
msgstr "%s enthält "
|
|
||||||
|
|
||||||
#: src/reduce.c:497
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless nonterminal%s"
|
msgid "%d useless nonterminal%s"
|
||||||
msgstr "%d ungenutzte Nicht-Terminal"
|
msgstr "%d ungenutzte Nicht-Terminal"
|
||||||
|
|
||||||
#: src/reduce.c:502
|
#: src/reduce.c:506
|
||||||
msgid " and "
|
msgid " and "
|
||||||
msgstr " und "
|
msgstr " und "
|
||||||
|
|
||||||
#: src/reduce.c:506
|
#: src/reduce.c:510
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless rule%s"
|
msgid "%d useless rule%s"
|
||||||
msgstr "%d ungenutzte Regel"
|
msgstr "%d ungenutzte Regel"
|
||||||
|
|
||||||
#: src/reduce.c:539
|
#: src/reduce.c:540
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "es lassen sich keine Sätze vom Startsymbol %s ableiten"
|
msgstr "es lassen sich keine Sätze vom Startsymbol %s ableiten"
|
||||||
|
|
||||||
#: src/reduce.c:552
|
#: src/reduce.c:553
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
||||||
@@ -812,6 +808,15 @@ msgstr ""
|
|||||||
msgid "'"
|
msgid "'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#~ msgid " 1 shift/reduce conflict"
|
||||||
|
#~ msgstr " 1 Schiebe/Reduziere Konflikt"
|
||||||
|
|
||||||
|
#~ msgid " 1 reduce/reduce conflict"
|
||||||
|
#~ msgstr " 1 Reduziere/Reduziere Konflikt"
|
||||||
|
|
||||||
|
#~ msgid "%s contains"
|
||||||
|
#~ msgstr "%s enthält"
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n"
|
#~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n"
|
||||||
#~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n"
|
#~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n"
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: GNU bison 1.25\n"
|
"Project-Id-Version: GNU bison 1.25\n"
|
||||||
"POT-Creation-Date: 2001-11-05 11:08+0100\n"
|
"POT-Creation-Date: 2001-11-14 15:59+0100\n"
|
||||||
"PO-Revision-Date: 1998-09-21 10:19+0200\n"
|
"PO-Revision-Date: 1998-09-21 10:19+0200\n"
|
||||||
"Last-Translator: Nicolás García-Pedrajas <[email protected]>\n"
|
"Last-Translator: Nicolás García-Pedrajas <[email protected]>\n"
|
||||||
"Language-Team: Spanish <[email protected]>\n"
|
"Language-Team: Spanish <[email protected]>\n"
|
||||||
@@ -63,55 +63,50 @@ msgstr ""
|
|||||||
msgid "fatal error: "
|
msgid "fatal error: "
|
||||||
msgstr "error grave: %s\n"
|
msgstr "error grave: %s\n"
|
||||||
|
|
||||||
#: src/conflicts.c:48
|
#: src/conflicts.c:45
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"El conflicto en el estado %s entre la regla %d y el terminal %s se resuelve "
|
"El conflicto en el estado %s entre la regla %d y el terminal %s se resuelve "
|
||||||
"como %s.\n"
|
"como %s.\n"
|
||||||
|
|
||||||
#: src/conflicts.c:114 src/conflicts.c:137
|
#: src/conflicts.c:111 src/conflicts.c:134
|
||||||
msgid "reduce"
|
msgid "reduce"
|
||||||
msgstr "reduce"
|
msgstr "reduce"
|
||||||
|
|
||||||
#: src/conflicts.c:120 src/conflicts.c:133
|
#: src/conflicts.c:117 src/conflicts.c:130
|
||||||
msgid "shift"
|
msgid "shift"
|
||||||
msgstr "desplaza"
|
msgstr "desplaza"
|
||||||
|
|
||||||
#: src/conflicts.c:141
|
#: src/conflicts.c:138
|
||||||
msgid "an error"
|
msgid "an error"
|
||||||
msgstr "un error"
|
msgstr "un error"
|
||||||
|
|
||||||
#: src/conflicts.c:421
|
#: src/conflicts.c:411
|
||||||
msgid " 1 shift/reduce conflict"
|
#, fuzzy, c-format
|
||||||
msgstr " 1 conflicto desplazamiento/reducción"
|
msgid "%d shift/reduce conflict"
|
||||||
|
msgid_plural "%d shift/reduce conflicts"
|
||||||
|
msgstr[0] " %d conflictos desplazamiento/reducción"
|
||||||
|
|
||||||
#: src/conflicts.c:426
|
#: src/conflicts.c:418
|
||||||
#, c-format
|
#, fuzzy
|
||||||
msgid " %d shift/reduce conflicts"
|
msgid "and"
|
||||||
msgstr " %d conflictos desplazamiento/reducción"
|
|
||||||
|
|
||||||
#: src/conflicts.c:432
|
|
||||||
msgid " and"
|
|
||||||
msgstr " y"
|
msgstr " y"
|
||||||
|
|
||||||
#: src/conflicts.c:438
|
#: src/conflicts.c:424
|
||||||
msgid " 1 reduce/reduce conflict"
|
#, fuzzy, c-format
|
||||||
msgstr " 1 conflicto reducción/reducción"
|
msgid "%d reduce/reduce conflict"
|
||||||
|
msgid_plural "%d reduce/reduce conflicts"
|
||||||
|
msgstr[0] " %d conflictos reducción/reducción"
|
||||||
|
|
||||||
#: src/conflicts.c:443
|
#: src/conflicts.c:448
|
||||||
#, c-format
|
#, fuzzy, c-format
|
||||||
msgid " %d reduce/reduce conflicts"
|
msgid "State %d contains "
|
||||||
msgstr " %d conflictos reducción/reducción"
|
|
||||||
|
|
||||||
#: src/conflicts.c:480
|
|
||||||
#, c-format
|
|
||||||
msgid "State %d contains"
|
|
||||||
msgstr "El estado %d contiene"
|
msgstr "El estado %d contiene"
|
||||||
|
|
||||||
#. If invoked with `--yacc', use the output format specified by
|
#. If invoked with `--yacc', use the output format specified by
|
||||||
#. POSIX.
|
#. POSIX.
|
||||||
#: src/conflicts.c:491
|
#: src/conflicts.c:482
|
||||||
msgid "conflicts: "
|
msgid "conflicts: "
|
||||||
msgstr "conflictos: "
|
msgstr "conflictos: "
|
||||||
|
|
||||||
@@ -127,7 +122,7 @@ msgstr "conflictos: "
|
|||||||
# ok
|
# ok
|
||||||
# ngp
|
# ngp
|
||||||
#
|
#
|
||||||
#: src/conflicts.c:493
|
#: src/conflicts.c:484
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d shift/reduce"
|
msgid " %d shift/reduce"
|
||||||
msgstr " %d desplazamiento(s)/reducción(ones)"
|
msgstr " %d desplazamiento(s)/reducción(ones)"
|
||||||
@@ -144,22 +139,28 @@ msgstr " %d desplazamiento(s)/reducci
|
|||||||
#
|
#
|
||||||
# ok
|
# ok
|
||||||
# ngp
|
# ngp
|
||||||
#: src/conflicts.c:497
|
#: src/conflicts.c:488
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d reduce/reduce"
|
msgid " %d reduce/reduce"
|
||||||
msgstr " %d reducción(ones)/reducción(ones)"
|
msgstr " %d reducción(ones)/reducción(ones)"
|
||||||
|
|
||||||
#: src/conflicts.c:502
|
#: src/conflicts.c:493 src/reduce.c:497
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s contains"
|
msgid "%s contains "
|
||||||
msgstr "%s contiene"
|
msgstr "%s contiene "
|
||||||
|
|
||||||
#: src/conflicts.c:588 src/conflicts.c:709
|
#: src/conflicts.c:502
|
||||||
|
#, fuzzy, c-format
|
||||||
|
msgid "expected %d shift/reduce conflict"
|
||||||
|
msgid_plural "expected %d shift/reduce conflicts"
|
||||||
|
msgstr[0] " %d conflictos desplazamiento/reducción"
|
||||||
|
|
||||||
|
#: src/conflicts.c:589 src/conflicts.c:709
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||||
msgstr " %-4s\t[reduce usando la regla %d (%s)]\n"
|
msgstr " %-4s\t[reduce usando la regla %d (%s)]\n"
|
||||||
|
|
||||||
#: src/conflicts.c:600 src/print.c:171
|
#: src/conflicts.c:600 src/print.c:172
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" $default\treduce using rule %d (%s)\n"
|
" $default\treduce using rule %d (%s)\n"
|
||||||
@@ -173,7 +174,7 @@ msgstr ""
|
|||||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||||
msgstr " %-4s\treduce usando la regla %d (%s)\n"
|
msgstr " %-4s\treduce usando la regla %d (%s)\n"
|
||||||
|
|
||||||
#: src/conflicts.c:730
|
#: src/conflicts.c:729
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $default\treduce using rule %d (%s)\n"
|
msgid " $default\treduce using rule %d (%s)\n"
|
||||||
msgstr " $default\treduce usando la regla %d (%s)\n"
|
msgstr " $default\treduce usando la regla %d (%s)\n"
|
||||||
@@ -271,7 +272,7 @@ msgid ""
|
|||||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/getargs.c:215 src/lex.c:693
|
#: src/getargs.c:215 src/lex.c:694
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is no longer supported"
|
msgid "`%s' is no longer supported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -346,17 +347,17 @@ msgstr "nombre de tipo sin terminar"
|
|||||||
msgid "use \"...\" for multi-character literal tokens"
|
msgid "use \"...\" for multi-character literal tokens"
|
||||||
msgstr "use \"...\" para terminales literales multicarácter"
|
msgstr "use \"...\" para terminales literales multicarácter"
|
||||||
|
|
||||||
#: src/lex.c:666
|
#: src/lex.c:667
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' supports no argument: %s"
|
msgid "`%s' supports no argument: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/lex.c:682
|
#: src/lex.c:683
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "`%s' requires an argument"
|
msgid "`%s' requires an argument"
|
||||||
msgstr "%s: la opción `%s' requiere un argumento\n"
|
msgstr "%s: la opción `%s' requiere un argumento\n"
|
||||||
|
|
||||||
#: src/main.c:125
|
#: src/main.c:128
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%s: internal error: %s\n"
|
msgid "%s: internal error: %s\n"
|
||||||
msgstr "error interno, %s\n"
|
msgstr "error interno, %s\n"
|
||||||
@@ -375,45 +376,45 @@ msgstr "Entrando set_nullable"
|
|||||||
msgid "maximum table size (%d) exceeded"
|
msgid "maximum table size (%d) exceeded"
|
||||||
msgstr "excedido el tamaño máximo de la tabla (%s)"
|
msgstr "excedido el tamaño máximo de la tabla (%s)"
|
||||||
|
|
||||||
#: src/print.c:37
|
#: src/print.c:38
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " type %d is %s\n"
|
msgid " type %d is %s\n"
|
||||||
msgstr " el tipo %d es %s\n"
|
msgstr " el tipo %d es %s\n"
|
||||||
|
|
||||||
#: src/print.c:85
|
#: src/print.c:86
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " (rule %d)"
|
msgid " (rule %d)"
|
||||||
msgstr " (regla %d)"
|
msgstr " (regla %d)"
|
||||||
|
|
||||||
#: src/print.c:111
|
#: src/print.c:112
|
||||||
msgid " $default\taccept\n"
|
msgid " $default\taccept\n"
|
||||||
msgstr " $default\taceptar\n"
|
msgstr " $default\taceptar\n"
|
||||||
|
|
||||||
#: src/print.c:113
|
#: src/print.c:114
|
||||||
msgid " NO ACTIONS\n"
|
msgid " NO ACTIONS\n"
|
||||||
msgstr " SIN ACCIONES\n"
|
msgstr " SIN ACCIONES\n"
|
||||||
|
|
||||||
#: src/print.c:132
|
#: src/print.c:133
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $ \tgo to state %d\n"
|
msgid " $ \tgo to state %d\n"
|
||||||
msgstr " $ \tir al estado %d\n"
|
msgstr " $ \tir al estado %d\n"
|
||||||
|
|
||||||
#: src/print.c:135
|
#: src/print.c:136
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tshift, and go to state %d\n"
|
msgid " %-4s\tshift, and go to state %d\n"
|
||||||
msgstr " %-4s\tdesplazar e ir al estado %d\n"
|
msgstr " %-4s\tdesplazar e ir al estado %d\n"
|
||||||
|
|
||||||
#: src/print.c:159
|
#: src/print.c:160
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\terror (nonassociative)\n"
|
msgid " %-4s\terror (nonassociative)\n"
|
||||||
msgstr " %-4s\terror (no asociativo)\n"
|
msgstr " %-4s\terror (no asociativo)\n"
|
||||||
|
|
||||||
#: src/print.c:187
|
#: src/print.c:188
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tgo to state %d\n"
|
msgid " %-4s\tgo to state %d\n"
|
||||||
msgstr " %-4s\tir al estado %d\n"
|
msgstr " %-4s\tir al estado %d\n"
|
||||||
|
|
||||||
#: src/print.c:199
|
#: src/print.c:200
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "state %d"
|
msgid "state %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -423,24 +424,24 @@ msgstr ""
|
|||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#. rule # : LHS -> RHS
|
#. rule # : LHS -> RHS
|
||||||
#: src/print.c:229
|
#: src/print.c:230
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Grammar"
|
msgid "Grammar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"\n"
|
"\n"
|
||||||
"Gramática\n"
|
"Gramática\n"
|
||||||
|
|
||||||
#: src/print.c:234
|
#: src/print.c:235
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule %-4d %s ->"
|
msgid "rule %-4d %s ->"
|
||||||
msgstr "regla %-4d %s ->"
|
msgstr "regla %-4d %s ->"
|
||||||
|
|
||||||
#: src/print.c:240
|
#: src/print.c:241
|
||||||
msgid "empty"
|
msgid "empty"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. TERMINAL (type #) : rule #s terminal is on RHS
|
#. TERMINAL (type #) : rule #s terminal is on RHS
|
||||||
#: src/print.c:244
|
#: src/print.c:246
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Terminals, with rules where they appear"
|
msgid "Terminals, with rules where they appear"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -448,18 +449,18 @@ msgstr ""
|
|||||||
"Terminales con las reglas donde aparecen\n"
|
"Terminales con las reglas donde aparecen\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/print.c:268
|
#: src/print.c:270
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Nonterminals, with rules where they appear"
|
msgid "Nonterminals, with rules where they appear"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"\n"
|
"\n"
|
||||||
"No terminales con las reglas donde aparecen\n"
|
"No terminales con las reglas donde aparecen\n"
|
||||||
|
|
||||||
#: src/print.c:294
|
#: src/print.c:296
|
||||||
msgid " on left:"
|
msgid " on left:"
|
||||||
msgstr " en la izquierda:"
|
msgstr " en la izquierda:"
|
||||||
|
|
||||||
#: src/print.c:309
|
#: src/print.c:311
|
||||||
msgid " on right:"
|
msgid " on right:"
|
||||||
msgstr " en la derecha:"
|
msgstr " en la derecha:"
|
||||||
|
|
||||||
@@ -722,14 +723,14 @@ msgstr "el s
|
|||||||
msgid "the start symbol %s is a token"
|
msgid "the start symbol %s is a token"
|
||||||
msgstr "el símbolo de inicio (axioma) %s es un terminal"
|
msgstr "el símbolo de inicio (axioma) %s es un terminal"
|
||||||
|
|
||||||
#: src/reduce.c:401
|
#: src/reduce.c:405
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Useless nonterminals:"
|
msgid "Useless nonterminals:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"No terminales sin uso:\n"
|
"No terminales sin uso:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:416
|
#: src/reduce.c:419
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Terminals which are not used:"
|
msgid "Terminals which are not used:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -738,7 +739,7 @@ msgstr ""
|
|||||||
"Terminales que no se usan:\n"
|
"Terminales que no se usan:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:427
|
#: src/reduce.c:430
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Useless rules:"
|
msgid "Useless rules:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -747,7 +748,7 @@ msgstr ""
|
|||||||
"Reglas sin uso:\n"
|
"Reglas sin uso:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:456
|
#: src/reduce.c:458
|
||||||
msgid ""
|
msgid ""
|
||||||
"Variables\n"
|
"Variables\n"
|
||||||
"---------\n"
|
"---------\n"
|
||||||
@@ -757,7 +758,7 @@ msgstr ""
|
|||||||
"---------\n"
|
"---------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:458
|
#: src/reduce.c:459
|
||||||
msgid "Value Sprec Sassoc Tag\n"
|
msgid "Value Sprec Sassoc Tag\n"
|
||||||
msgstr "Valor Sprec Sasoc Tag\n"
|
msgstr "Valor Sprec Sasoc Tag\n"
|
||||||
|
|
||||||
@@ -771,7 +772,7 @@ msgstr ""
|
|||||||
"------\n"
|
"------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:474
|
#: src/reduce.c:473
|
||||||
msgid ""
|
msgid ""
|
||||||
"Rules interpreted\n"
|
"Rules interpreted\n"
|
||||||
"-----------------\n"
|
"-----------------\n"
|
||||||
@@ -781,31 +782,26 @@ msgstr ""
|
|||||||
"--------------------\n"
|
"--------------------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:491
|
#: src/reduce.c:495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d rules never reduced\n"
|
msgid "%d rules never reduced\n"
|
||||||
msgstr "%d reglas que nunca se han reducido\n"
|
msgstr "%d reglas que nunca se han reducido\n"
|
||||||
|
|
||||||
#: src/reduce.c:493
|
#: src/reduce.c:501
|
||||||
#, c-format
|
|
||||||
msgid "%s contains "
|
|
||||||
msgstr "%s contiene "
|
|
||||||
|
|
||||||
#: src/reduce.c:497
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless nonterminal%s"
|
msgid "%d useless nonterminal%s"
|
||||||
msgstr "%d no terminales %s sin uso"
|
msgstr "%d no terminales %s sin uso"
|
||||||
|
|
||||||
#: src/reduce.c:502
|
#: src/reduce.c:506
|
||||||
msgid " and "
|
msgid " and "
|
||||||
msgstr " y "
|
msgstr " y "
|
||||||
|
|
||||||
#: src/reduce.c:506
|
#: src/reduce.c:510
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless rule%s"
|
msgid "%d useless rule%s"
|
||||||
msgstr "%d regla%s sin uso"
|
msgstr "%d regla%s sin uso"
|
||||||
|
|
||||||
#: src/reduce.c:539
|
#: src/reduce.c:540
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "El símbolo de inicio (axioma) %s no deriva ninguna sentencia"
|
msgstr "El símbolo de inicio (axioma) %s no deriva ninguna sentencia"
|
||||||
@@ -822,7 +818,7 @@ msgstr "El s
|
|||||||
# Te recomiendo `la reducción de %s' en vez de seguir el estilo inglés y
|
# Te recomiendo `la reducción de %s' en vez de seguir el estilo inglés y
|
||||||
# usar participios - cll
|
# usar participios - cll
|
||||||
# un error lo tiene cualquiera - ngp
|
# un error lo tiene cualquiera - ngp
|
||||||
#: src/reduce.c:552
|
#: src/reduce.c:553
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
||||||
@@ -993,6 +989,15 @@ msgstr ""
|
|||||||
#~ "\n"
|
#~ "\n"
|
||||||
#~ "%s deriva\n"
|
#~ "%s deriva\n"
|
||||||
|
|
||||||
|
#~ msgid " 1 shift/reduce conflict"
|
||||||
|
#~ msgstr " 1 conflicto desplazamiento/reducción"
|
||||||
|
|
||||||
|
#~ msgid " 1 reduce/reduce conflict"
|
||||||
|
#~ msgstr " 1 conflicto reducción/reducción"
|
||||||
|
|
||||||
|
#~ msgid "%s contains"
|
||||||
|
#~ msgstr "%s contiene"
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n"
|
#~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n"
|
||||||
#~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n"
|
#~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n"
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bison 1.29f\n"
|
"Project-Id-Version: bison 1.30b\n"
|
||||||
"POT-Creation-Date: 2001-11-05 11:08+0100\n"
|
"POT-Creation-Date: 2001-11-14 15:59+0100\n"
|
||||||
"PO-Revision-Date: 2001-10-19 17:53+02:00\n"
|
"PO-Revision-Date: 2001-11-13 10:42+02:00\n"
|
||||||
"Last-Translator: Toomas Soome <[email protected]>\n"
|
"Last-Translator: Toomas Soome <[email protected]>\n"
|
||||||
"Language-Team: Estonian <[email protected]>\n"
|
"Language-Team: Estonian <[email protected]>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@@ -30,77 +30,80 @@ msgstr "hoiatus: "
|
|||||||
msgid "fatal error: "
|
msgid "fatal error: "
|
||||||
msgstr "fataalne viga: "
|
msgstr "fataalne viga: "
|
||||||
|
|
||||||
#: src/conflicts.c:48
|
#: src/conflicts.c:45
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||||
msgstr "Konflikt olekus %d reegli %d ja märgi %s vahel lahendatud, kui %s.\n"
|
msgstr "Konflikt olekus %d reegli %d ja märgi %s vahel lahendatud, kui %s.\n"
|
||||||
|
|
||||||
#: src/conflicts.c:114 src/conflicts.c:137
|
#: src/conflicts.c:111 src/conflicts.c:134
|
||||||
msgid "reduce"
|
msgid "reduce"
|
||||||
msgstr "redutseerimine"
|
msgstr "redutseerimine"
|
||||||
|
|
||||||
#: src/conflicts.c:120 src/conflicts.c:133
|
#: src/conflicts.c:117 src/conflicts.c:130
|
||||||
msgid "shift"
|
msgid "shift"
|
||||||
msgstr "nihutamine"
|
msgstr "nihutamine"
|
||||||
|
|
||||||
#: src/conflicts.c:141
|
#: src/conflicts.c:138
|
||||||
msgid "an error"
|
msgid "an error"
|
||||||
msgstr "viga"
|
msgstr "viga"
|
||||||
|
|
||||||
#: src/conflicts.c:421
|
#: src/conflicts.c:411
|
||||||
msgid " 1 shift/reduce conflict"
|
|
||||||
msgstr " 1 nihutamine/redutseerimine konflikt"
|
|
||||||
|
|
||||||
#: src/conflicts.c:426
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d shift/reduce conflicts"
|
msgid "%d shift/reduce conflict"
|
||||||
msgstr " %d nihutamine/redutseerimine konflikti"
|
msgid_plural "%d shift/reduce conflicts"
|
||||||
|
msgstr[0] "%d nihutamine/redutseerimine konflikt"
|
||||||
|
msgstr[1] "%d nihutamine/redutseerimine konflikti"
|
||||||
|
|
||||||
#: src/conflicts.c:432
|
#: src/conflicts.c:418
|
||||||
msgid " and"
|
msgid "and"
|
||||||
msgstr " ja"
|
msgstr "ja"
|
||||||
|
|
||||||
#: src/conflicts.c:438
|
#: src/conflicts.c:424
|
||||||
msgid " 1 reduce/reduce conflict"
|
|
||||||
msgstr " 1 redutseerimine/redutseerimine konflikt"
|
|
||||||
|
|
||||||
#: src/conflicts.c:443
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d reduce/reduce conflicts"
|
msgid "%d reduce/reduce conflict"
|
||||||
msgstr " %d redutseerimine/redutseerimine konflikti"
|
msgid_plural "%d reduce/reduce conflicts"
|
||||||
|
msgstr[0] "%d redutseerimine/redutseerimine konflikt"
|
||||||
|
msgstr[1] "%d redutseerimine/redutseerimine konflikti"
|
||||||
|
|
||||||
#: src/conflicts.c:480
|
#: src/conflicts.c:448
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "State %d contains"
|
msgid "State %d contains "
|
||||||
msgstr "Olek %d sisaldab"
|
msgstr "Olek %d sisaldab "
|
||||||
|
|
||||||
#. If invoked with `--yacc', use the output format specified by
|
#. If invoked with `--yacc', use the output format specified by
|
||||||
#. POSIX.
|
#. POSIX.
|
||||||
#: src/conflicts.c:491
|
#: src/conflicts.c:482
|
||||||
msgid "conflicts: "
|
msgid "conflicts: "
|
||||||
msgstr "konfliktid: "
|
msgstr "konfliktid: "
|
||||||
|
|
||||||
#: src/conflicts.c:493
|
#: src/conflicts.c:484
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d shift/reduce"
|
msgid " %d shift/reduce"
|
||||||
msgstr " %d nihutamine/redutseerimine"
|
msgstr " %d nihutamine/redutseerimine"
|
||||||
|
|
||||||
#: src/conflicts.c:497
|
#: src/conflicts.c:488
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d reduce/reduce"
|
msgid " %d reduce/reduce"
|
||||||
msgstr " %d redutseerimine/redutseerimine"
|
msgstr " %d redutseerimine/redutseerimine"
|
||||||
|
|
||||||
|
#: src/conflicts.c:493 src/reduce.c:497
|
||||||
|
#, c-format
|
||||||
|
msgid "%s contains "
|
||||||
|
msgstr "%s sisaldab "
|
||||||
|
|
||||||
#: src/conflicts.c:502
|
#: src/conflicts.c:502
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s contains"
|
msgid "expected %d shift/reduce conflict"
|
||||||
msgstr "%s sisaldab"
|
msgid_plural "expected %d shift/reduce conflicts"
|
||||||
|
msgstr[0] "eeldasime %d nihutamine/redutseerimine konflikti"
|
||||||
|
msgstr[1] "eeldasime %d nihutamine/redutseerimine konflikti"
|
||||||
|
|
||||||
#: src/conflicts.c:588 src/conflicts.c:709
|
#: src/conflicts.c:589 src/conflicts.c:709
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||||
msgstr " %-4s\t[redutseerin, kasutades reeglit %d (%s)]\n"
|
msgstr " %-4s\t[redutseerin, kasutades reeglit %d (%s)]\n"
|
||||||
|
|
||||||
#: src/conflicts.c:600 src/print.c:171
|
#: src/conflicts.c:600 src/print.c:172
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" $default\treduce using rule %d (%s)\n"
|
" $default\treduce using rule %d (%s)\n"
|
||||||
@@ -114,7 +117,7 @@ msgstr ""
|
|||||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||||
msgstr " %-4s\tredutseerin kasutades reeglit %d (%s)\n"
|
msgstr " %-4s\tredutseerin kasutades reeglit %d (%s)\n"
|
||||||
|
|
||||||
#: src/conflicts.c:730
|
#: src/conflicts.c:729
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $default\treduce using rule %d (%s)\n"
|
msgid " $default\treduce using rule %d (%s)\n"
|
||||||
msgstr " $default\tredutseerin kasutades reeglit %d (%s)\n"
|
msgstr " $default\tredutseerin kasutades reeglit %d (%s)\n"
|
||||||
@@ -189,7 +192,6 @@ msgstr ""
|
|||||||
" -k, --token-table lisa ka sümbolite nimede tabel\n"
|
" -k, --token-table lisa ka sümbolite nimede tabel\n"
|
||||||
|
|
||||||
#: src/getargs.c:117
|
#: src/getargs.c:117
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Output:\n"
|
"Output:\n"
|
||||||
" -d, --defines also produce a header file\n"
|
" -d, --defines also produce a header file\n"
|
||||||
@@ -232,7 +234,7 @@ msgstr ""
|
|||||||
"See on vaba tarkvara; kopeerimistingimused leiate lähtetekstidest. Garantii\n"
|
"See on vaba tarkvara; kopeerimistingimused leiate lähtetekstidest. Garantii\n"
|
||||||
"PUUDUB; ka müügiks või mingil eesmärgil kasutamiseks.\n"
|
"PUUDUB; ka müügiks või mingil eesmärgil kasutamiseks.\n"
|
||||||
|
|
||||||
#: src/getargs.c:215 src/lex.c:693
|
#: src/getargs.c:215 src/lex.c:694
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is no longer supported"
|
msgid "`%s' is no longer supported"
|
||||||
msgstr "`%s' ei ole enam toetatud"
|
msgstr "`%s' ei ole enam toetatud"
|
||||||
@@ -300,17 +302,17 @@ msgstr "l
|
|||||||
msgid "use \"...\" for multi-character literal tokens"
|
msgid "use \"...\" for multi-character literal tokens"
|
||||||
msgstr "kasuta mitmesümboliliste literaalidega \"...\" konstruktsiooni"
|
msgstr "kasuta mitmesümboliliste literaalidega \"...\" konstruktsiooni"
|
||||||
|
|
||||||
#: src/lex.c:666
|
#: src/lex.c:667
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' supports no argument: %s"
|
msgid "`%s' supports no argument: %s"
|
||||||
msgstr ""
|
msgstr "`%s' ei toeta argumente: %s"
|
||||||
|
|
||||||
#: src/lex.c:682
|
#: src/lex.c:683
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "`%s' requires an argument"
|
msgid "`%s' requires an argument"
|
||||||
msgstr "%s: võti `%s' nõuab argumenti\n"
|
msgstr "võti `%s' nõuab argumenti"
|
||||||
|
|
||||||
#: src/main.c:125
|
#: src/main.c:128
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: internal error: %s\n"
|
msgid "%s: internal error: %s\n"
|
||||||
msgstr "%s: sisemine viga: %s\n"
|
msgstr "%s: sisemine viga: %s\n"
|
||||||
@@ -324,77 +326,77 @@ msgstr "Entering set_nullable"
|
|||||||
msgid "maximum table size (%d) exceeded"
|
msgid "maximum table size (%d) exceeded"
|
||||||
msgstr "ületati maksimaalset tabelisuurust (%d)"
|
msgstr "ületati maksimaalset tabelisuurust (%d)"
|
||||||
|
|
||||||
#: src/print.c:37
|
#: src/print.c:38
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " type %d is %s\n"
|
msgid " type %d is %s\n"
|
||||||
msgstr " tüüp %d on %s\n"
|
msgstr " tüüp %d on %s\n"
|
||||||
|
|
||||||
#: src/print.c:85
|
#: src/print.c:86
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " (rule %d)"
|
msgid " (rule %d)"
|
||||||
msgstr " (reegel %d)"
|
msgstr " (reegel %d)"
|
||||||
|
|
||||||
#: src/print.c:111
|
#: src/print.c:112
|
||||||
msgid " $default\taccept\n"
|
msgid " $default\taccept\n"
|
||||||
msgstr " $default\taktsepteerin\n"
|
msgstr " $default\taktsepteerin\n"
|
||||||
|
|
||||||
#: src/print.c:113
|
#: src/print.c:114
|
||||||
msgid " NO ACTIONS\n"
|
msgid " NO ACTIONS\n"
|
||||||
msgstr " TEGEVUSI POLE\n"
|
msgstr " TEGEVUSI POLE\n"
|
||||||
|
|
||||||
#: src/print.c:132
|
#: src/print.c:133
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $ \tgo to state %d\n"
|
msgid " $ \tgo to state %d\n"
|
||||||
msgstr " $ \tliigu olekule %d\n"
|
msgstr " $ \tliigu olekule %d\n"
|
||||||
|
|
||||||
#: src/print.c:135
|
#: src/print.c:136
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tshift, and go to state %d\n"
|
msgid " %-4s\tshift, and go to state %d\n"
|
||||||
msgstr " %-4s\tnihuta ja liigu olekule %d\n"
|
msgstr " %-4s\tnihuta ja liigu olekule %d\n"
|
||||||
|
|
||||||
#: src/print.c:159
|
#: src/print.c:160
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\terror (nonassociative)\n"
|
msgid " %-4s\terror (nonassociative)\n"
|
||||||
msgstr " %-4s\tviga (mitteassotsiatiivne)\n"
|
msgstr " %-4s\tviga (mitteassotsiatiivne)\n"
|
||||||
|
|
||||||
#: src/print.c:187
|
#: src/print.c:188
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tgo to state %d\n"
|
msgid " %-4s\tgo to state %d\n"
|
||||||
msgstr " %-4s\tliigu olekule %d\n"
|
msgstr " %-4s\tliigu olekule %d\n"
|
||||||
|
|
||||||
#: src/print.c:199
|
#: src/print.c:200
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "state %d"
|
msgid "state %d"
|
||||||
msgstr "olek %d"
|
msgstr "olek %d"
|
||||||
|
|
||||||
#. rule # : LHS -> RHS
|
#. rule # : LHS -> RHS
|
||||||
#: src/print.c:229
|
#: src/print.c:230
|
||||||
msgid "Grammar"
|
msgid "Grammar"
|
||||||
msgstr "Grammatika"
|
msgstr "Grammatika"
|
||||||
|
|
||||||
#: src/print.c:234
|
#: src/print.c:235
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule %-4d %s ->"
|
msgid "rule %-4d %s ->"
|
||||||
msgstr "reegel %-4d %s ->"
|
msgstr "reegel %-4d %s ->"
|
||||||
|
|
||||||
#: src/print.c:240
|
#: src/print.c:241
|
||||||
msgid "empty"
|
msgid "empty"
|
||||||
msgstr "tühi"
|
msgstr "tühi"
|
||||||
|
|
||||||
#. TERMINAL (type #) : rule #s terminal is on RHS
|
#. TERMINAL (type #) : rule #s terminal is on RHS
|
||||||
#: src/print.c:244
|
#: src/print.c:246
|
||||||
msgid "Terminals, with rules where they appear"
|
msgid "Terminals, with rules where they appear"
|
||||||
msgstr "Terminalid, koos reeglitega, kus nad ilmuvad"
|
msgstr "Terminalid, koos reeglitega, kus nad ilmuvad"
|
||||||
|
|
||||||
#: src/print.c:268
|
#: src/print.c:270
|
||||||
msgid "Nonterminals, with rules where they appear"
|
msgid "Nonterminals, with rules where they appear"
|
||||||
msgstr "Mitteterminalid, koos reeglitega, kus nad ilmuvad"
|
msgstr "Mitteterminalid, koos reeglitega, kus nad ilmuvad"
|
||||||
|
|
||||||
#: src/print.c:294
|
#: src/print.c:296
|
||||||
msgid " on left:"
|
msgid " on left:"
|
||||||
msgstr " vasakul:"
|
msgstr " vasakul:"
|
||||||
|
|
||||||
#: src/print.c:309
|
#: src/print.c:311
|
||||||
msgid " on right:"
|
msgid " on right:"
|
||||||
msgstr " paremal:"
|
msgstr " paremal:"
|
||||||
|
|
||||||
@@ -632,19 +634,19 @@ msgstr "stardis
|
|||||||
msgid "the start symbol %s is a token"
|
msgid "the start symbol %s is a token"
|
||||||
msgstr "stardisümbol %s on märk"
|
msgstr "stardisümbol %s on märk"
|
||||||
|
|
||||||
#: src/reduce.c:401
|
#: src/reduce.c:405
|
||||||
msgid "Useless nonterminals:"
|
msgid "Useless nonterminals:"
|
||||||
msgstr "Kasutamata mitteterminalid:"
|
msgstr "Kasutamata mitteterminalid:"
|
||||||
|
|
||||||
#: src/reduce.c:416
|
#: src/reduce.c:419
|
||||||
msgid "Terminals which are not used:"
|
msgid "Terminals which are not used:"
|
||||||
msgstr "Terminalid, mida ei kasutatud:"
|
msgstr "Terminalid, mida ei kasutatud:"
|
||||||
|
|
||||||
#: src/reduce.c:427
|
#: src/reduce.c:430
|
||||||
msgid "Useless rules:"
|
msgid "Useless rules:"
|
||||||
msgstr "Kasutamata reeglid:"
|
msgstr "Kasutamata reeglid:"
|
||||||
|
|
||||||
#: src/reduce.c:456
|
#: src/reduce.c:458
|
||||||
msgid ""
|
msgid ""
|
||||||
"Variables\n"
|
"Variables\n"
|
||||||
"---------\n"
|
"---------\n"
|
||||||
@@ -654,7 +656,7 @@ msgstr ""
|
|||||||
"--------\n"
|
"--------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:458
|
#: src/reduce.c:459
|
||||||
msgid "Value Sprec Sassoc Tag\n"
|
msgid "Value Sprec Sassoc Tag\n"
|
||||||
msgstr "Value Sprec Sassoc Tag\n"
|
msgstr "Value Sprec Sassoc Tag\n"
|
||||||
|
|
||||||
@@ -668,7 +670,7 @@ msgstr ""
|
|||||||
"-------\n"
|
"-------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:474
|
#: src/reduce.c:473
|
||||||
msgid ""
|
msgid ""
|
||||||
"Rules interpreted\n"
|
"Rules interpreted\n"
|
||||||
"-----------------\n"
|
"-----------------\n"
|
||||||
@@ -678,36 +680,31 @@ msgstr ""
|
|||||||
"------------------------\n"
|
"------------------------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:491
|
#: src/reduce.c:495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d rules never reduced\n"
|
msgid "%d rules never reduced\n"
|
||||||
msgstr "%d reeglit ei redutseeritud\n"
|
msgstr "%d reeglit ei redutseeritud\n"
|
||||||
|
|
||||||
#: src/reduce.c:493
|
#: src/reduce.c:501
|
||||||
#, c-format
|
|
||||||
msgid "%s contains "
|
|
||||||
msgstr "%s sisaldab "
|
|
||||||
|
|
||||||
#: src/reduce.c:497
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless nonterminal%s"
|
msgid "%d useless nonterminal%s"
|
||||||
msgstr "%d kasutamata mitteterminali%s"
|
msgstr "%d kasutamata mitteterminali%s"
|
||||||
|
|
||||||
#: src/reduce.c:502
|
#: src/reduce.c:506
|
||||||
msgid " and "
|
msgid " and "
|
||||||
msgstr " ja "
|
msgstr " ja "
|
||||||
|
|
||||||
#: src/reduce.c:506
|
#: src/reduce.c:510
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless rule%s"
|
msgid "%d useless rule%s"
|
||||||
msgstr "%d kasutamata reeglit%s"
|
msgstr "%d kasutamata reeglit%s"
|
||||||
|
|
||||||
#: src/reduce.c:539
|
#: src/reduce.c:540
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "Stardisümbolist %s ei tuletata ühtegi lauset"
|
msgstr "Stardisümbolist %s ei tuletata ühtegi lauset"
|
||||||
|
|
||||||
#: src/reduce.c:552
|
#: src/reduce.c:553
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
||||||
|
|||||||
@@ -5,9 +5,9 @@
|
|||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: GNU bison 1.29f\n"
|
"Project-Id-Version: GNU bison 1.30a\n"
|
||||||
"POT-Creation-Date: 2001-11-05 11:08+0100\n"
|
"POT-Creation-Date: 2001-11-14 15:59+0100\n"
|
||||||
"PO-Revision-Date: 2001-10-19 15:00-0500\n"
|
"PO-Revision-Date: 2001-11-12 08:00-0500\n"
|
||||||
"Last-Translator: Michel Robitaille <[email protected]>\n"
|
"Last-Translator: Michel Robitaille <[email protected]>\n"
|
||||||
"Language-Team: French <[email protected]>\n"
|
"Language-Team: French <[email protected]>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@@ -31,78 +31,79 @@ msgstr "AVERTISSEMENT: "
|
|||||||
msgid "fatal error: "
|
msgid "fatal error: "
|
||||||
msgstr "erreur fatale: "
|
msgstr "erreur fatale: "
|
||||||
|
|
||||||
#: src/conflicts.c:48
|
#: src/conflicts.c:45
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Conflit à l'état %d entre la règle %d et le terminal %s résolu par %s.\n"
|
"Conflit à l'état %d entre la règle %d et le terminal %s résolu par %s.\n"
|
||||||
|
|
||||||
#: src/conflicts.c:114 src/conflicts.c:137
|
#: src/conflicts.c:111 src/conflicts.c:134
|
||||||
msgid "reduce"
|
msgid "reduce"
|
||||||
msgstr "réduction"
|
msgstr "réduction"
|
||||||
|
|
||||||
#: src/conflicts.c:120 src/conflicts.c:133
|
#: src/conflicts.c:117 src/conflicts.c:130
|
||||||
msgid "shift"
|
msgid "shift"
|
||||||
msgstr "décalage"
|
msgstr "décalage"
|
||||||
|
|
||||||
#: src/conflicts.c:141
|
#: src/conflicts.c:138
|
||||||
msgid "an error"
|
msgid "an error"
|
||||||
msgstr "une erreur"
|
msgstr "une erreur"
|
||||||
|
|
||||||
#: src/conflicts.c:421
|
#: src/conflicts.c:411
|
||||||
msgid " 1 shift/reduce conflict"
|
#, fuzzy, c-format
|
||||||
msgstr " 1 conflit décalage/réduction"
|
msgid "%d shift/reduce conflict"
|
||||||
|
msgid_plural "%d shift/reduce conflicts"
|
||||||
|
msgstr[0] " %d conflits décalage/réduction"
|
||||||
|
|
||||||
#: src/conflicts.c:426
|
#: src/conflicts.c:418
|
||||||
#, c-format
|
#, fuzzy
|
||||||
msgid " %d shift/reduce conflicts"
|
msgid "and"
|
||||||
msgstr " %d conflits décalage/réduction"
|
|
||||||
|
|
||||||
#: src/conflicts.c:432
|
|
||||||
msgid " and"
|
|
||||||
msgstr " et"
|
msgstr " et"
|
||||||
|
|
||||||
#: src/conflicts.c:438
|
#: src/conflicts.c:424
|
||||||
msgid " 1 reduce/reduce conflict"
|
#, fuzzy, c-format
|
||||||
msgstr "1 conflit réduction/réduction"
|
msgid "%d reduce/reduce conflict"
|
||||||
|
msgid_plural "%d reduce/reduce conflicts"
|
||||||
|
msgstr[0] " %d conflits réduction/réduction"
|
||||||
|
|
||||||
#: src/conflicts.c:443
|
#: src/conflicts.c:448
|
||||||
#, c-format
|
#, fuzzy, c-format
|
||||||
msgid " %d reduce/reduce conflicts"
|
msgid "State %d contains "
|
||||||
msgstr " %d conflits réduction/réduction"
|
|
||||||
|
|
||||||
#: src/conflicts.c:480
|
|
||||||
#, c-format
|
|
||||||
msgid "State %d contains"
|
|
||||||
msgstr "L'état %d contient"
|
msgstr "L'état %d contient"
|
||||||
|
|
||||||
#. If invoked with `--yacc', use the output format specified by
|
#. If invoked with `--yacc', use the output format specified by
|
||||||
#. POSIX.
|
#. POSIX.
|
||||||
#: src/conflicts.c:491
|
#: src/conflicts.c:482
|
||||||
msgid "conflicts: "
|
msgid "conflicts: "
|
||||||
msgstr "conflits: "
|
msgstr "conflits: "
|
||||||
|
|
||||||
#: src/conflicts.c:493
|
#: src/conflicts.c:484
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d shift/reduce"
|
msgid " %d shift/reduce"
|
||||||
msgstr " %d décalage/réduction"
|
msgstr " %d décalage/réduction"
|
||||||
|
|
||||||
#: src/conflicts.c:497
|
#: src/conflicts.c:488
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d reduce/reduce"
|
msgid " %d reduce/reduce"
|
||||||
msgstr " %d réduction/réduction"
|
msgstr " %d réduction/réduction"
|
||||||
|
|
||||||
#: src/conflicts.c:502
|
#: src/conflicts.c:493 src/reduce.c:497
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s contains"
|
msgid "%s contains "
|
||||||
msgstr "%s contient"
|
msgstr "%s contient "
|
||||||
|
|
||||||
#: src/conflicts.c:588 src/conflicts.c:709
|
#: src/conflicts.c:502
|
||||||
|
#, fuzzy, c-format
|
||||||
|
msgid "expected %d shift/reduce conflict"
|
||||||
|
msgid_plural "expected %d shift/reduce conflicts"
|
||||||
|
msgstr[0] " %d conflits décalage/réduction"
|
||||||
|
|
||||||
|
#: src/conflicts.c:589 src/conflicts.c:709
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||||
msgstr " %-4s\t[réduction par la règle %d (%s)\n"
|
msgstr " %-4s\t[réduction par la règle %d (%s)\n"
|
||||||
|
|
||||||
#: src/conflicts.c:600 src/print.c:171
|
#: src/conflicts.c:600 src/print.c:172
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" $default\treduce using rule %d (%s)\n"
|
" $default\treduce using rule %d (%s)\n"
|
||||||
@@ -116,7 +117,7 @@ msgstr ""
|
|||||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||||
msgstr " %-4s\tréduction par la règle %d (%s)\n"
|
msgstr " %-4s\tréduction par la règle %d (%s)\n"
|
||||||
|
|
||||||
#: src/conflicts.c:730
|
#: src/conflicts.c:729
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $default\treduce using rule %d (%s)\n"
|
msgid " $default\treduce using rule %d (%s)\n"
|
||||||
msgstr " $défaut\tréduction par la règle %d (%s)\n"
|
msgstr " $défaut\tréduction par la règle %d (%s)\n"
|
||||||
@@ -155,9 +156,9 @@ msgid ""
|
|||||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
"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"
|
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Si une option de forme longue montre un paramètre comme étant obligatoire,\n"
|
"Si une option de forme longue montre un arguement comme étant obligatoire,\n"
|
||||||
"il est alors obligatoire également pour une option de forme courte.\n"
|
"il est alors obligatoire également pour une option de forme courte.\n"
|
||||||
"Il en est de même pour les paramètres optionnels.\n"
|
"Il en est de même pour les arguments optionnels.\n"
|
||||||
|
|
||||||
#: src/getargs.c:98
|
#: src/getargs.c:98
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -194,7 +195,6 @@ msgstr ""
|
|||||||
" -k, --token-table inclure la table des noms de jetons\n"
|
" -k, --token-table inclure la table des noms de jetons\n"
|
||||||
|
|
||||||
#: src/getargs.c:117
|
#: src/getargs.c:117
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Output:\n"
|
"Output:\n"
|
||||||
" -d, --defines also produce a header file\n"
|
" -d, --defines also produce a header file\n"
|
||||||
@@ -208,7 +208,7 @@ msgstr ""
|
|||||||
" -d, --defines produire un fichier d'en-tête\n"
|
" -d, --defines produire un fichier d'en-tête\n"
|
||||||
" -v, --verbose produire une explication de l'automate\n"
|
" -v, --verbose produire une explication de l'automate\n"
|
||||||
" -b, --file-prefix=PREFIXE utiliser le PREFIXE pour le fichier de sortie\n"
|
" -b, --file-prefix=PREFIXE utiliser le PREFIXE pour le fichier de sortie\n"
|
||||||
" -o, --output-file=FICHIER produire la sortie dans le FICHIER\n"
|
" -o, --output=FICHIER produire la sortie dans le FICHIER\n"
|
||||||
" -g, --graph produire aussi la description du graphe VCG de "
|
" -g, --graph produire aussi la description du graphe VCG de "
|
||||||
"l'automate\n"
|
"l'automate\n"
|
||||||
|
|
||||||
@@ -238,7 +238,7 @@ msgstr ""
|
|||||||
"reproduction. AUCUNE garantie n'est donnée; tant pour des raisons\n"
|
"reproduction. AUCUNE garantie n'est donnée; tant pour des raisons\n"
|
||||||
"COMMERCIALES que pour RÉPONDRE À UN BESOIN PARTICULIER.\n"
|
"COMMERCIALES que pour RÉPONDRE À UN BESOIN PARTICULIER.\n"
|
||||||
|
|
||||||
#: src/getargs.c:215 src/lex.c:693
|
#: src/getargs.c:215 src/lex.c:694
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is no longer supported"
|
msgid "`%s' is no longer supported"
|
||||||
msgstr "`%s' n'est plus supporté"
|
msgstr "`%s' n'est plus supporté"
|
||||||
@@ -256,7 +256,7 @@ msgstr "%s: grammaire manquante\n"
|
|||||||
#: src/getargs.c:250
|
#: src/getargs.c:250
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: extra arguments ignored after `%s'\n"
|
msgid "%s: extra arguments ignored after `%s'\n"
|
||||||
msgstr "%s: paramètres supplémentaires ignorés après `%s'\n"
|
msgstr "%s: arguments supplémentaires ignorés après `%s'\n"
|
||||||
|
|
||||||
#: src/lalr.c:311
|
#: src/lalr.c:311
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -306,17 +306,17 @@ msgstr "le nom de type ne se termine pas"
|
|||||||
msgid "use \"...\" for multi-character literal tokens"
|
msgid "use \"...\" for multi-character literal tokens"
|
||||||
msgstr "utilisez \"...\" pour les terminaux litéraux de plusieurs caractères"
|
msgstr "utilisez \"...\" pour les terminaux litéraux de plusieurs caractères"
|
||||||
|
|
||||||
#: src/lex.c:666
|
#: src/lex.c:667
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' supports no argument: %s"
|
msgid "`%s' supports no argument: %s"
|
||||||
msgstr ""
|
msgstr "`%s' ne supporte aucun argument: %s"
|
||||||
|
|
||||||
#: src/lex.c:682
|
#: src/lex.c:683
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "`%s' requires an argument"
|
msgid "`%s' requires an argument"
|
||||||
msgstr "%s: l'option %s requiert un paramètre\n"
|
msgstr "`%s': requiert un argument"
|
||||||
|
|
||||||
#: src/main.c:125
|
#: src/main.c:128
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: internal error: %s\n"
|
msgid "%s: internal error: %s\n"
|
||||||
msgstr "%s: erreur interne: %s\n"
|
msgstr "%s: erreur interne: %s\n"
|
||||||
@@ -330,77 +330,77 @@ msgstr "Entr
|
|||||||
msgid "maximum table size (%d) exceeded"
|
msgid "maximum table size (%d) exceeded"
|
||||||
msgstr "taille maximale de la table (%d) dépassée"
|
msgstr "taille maximale de la table (%d) dépassée"
|
||||||
|
|
||||||
#: src/print.c:37
|
#: src/print.c:38
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " type %d is %s\n"
|
msgid " type %d is %s\n"
|
||||||
msgstr " le type %d est %s\n"
|
msgstr " le type %d est %s\n"
|
||||||
|
|
||||||
#: src/print.c:85
|
#: src/print.c:86
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " (rule %d)"
|
msgid " (rule %d)"
|
||||||
msgstr " (règle %d)"
|
msgstr " (règle %d)"
|
||||||
|
|
||||||
#: src/print.c:111
|
#: src/print.c:112
|
||||||
msgid " $default\taccept\n"
|
msgid " $default\taccept\n"
|
||||||
msgstr " $défaut\taccepter\n"
|
msgstr " $défaut\taccepter\n"
|
||||||
|
|
||||||
#: src/print.c:113
|
#: src/print.c:114
|
||||||
msgid " NO ACTIONS\n"
|
msgid " NO ACTIONS\n"
|
||||||
msgstr " PAS D'ACTION\n"
|
msgstr " PAS D'ACTION\n"
|
||||||
|
|
||||||
#: src/print.c:132
|
#: src/print.c:133
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $ \tgo to state %d\n"
|
msgid " $ \tgo to state %d\n"
|
||||||
msgstr " $ \taller à l'état %d\n"
|
msgstr " $ \taller à l'état %d\n"
|
||||||
|
|
||||||
#: src/print.c:135
|
#: src/print.c:136
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tshift, and go to state %d\n"
|
msgid " %-4s\tshift, and go to state %d\n"
|
||||||
msgstr " %-4s\tdécalage et aller à l'état %d\n"
|
msgstr " %-4s\tdécalage et aller à l'état %d\n"
|
||||||
|
|
||||||
#: src/print.c:159
|
#: src/print.c:160
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\terror (nonassociative)\n"
|
msgid " %-4s\terror (nonassociative)\n"
|
||||||
msgstr " %-4s\terreur (non-associatif)\n"
|
msgstr " %-4s\terreur (non-associatif)\n"
|
||||||
|
|
||||||
#: src/print.c:187
|
#: src/print.c:188
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tgo to state %d\n"
|
msgid " %-4s\tgo to state %d\n"
|
||||||
msgstr " %-4s\taller à l'état %d\n"
|
msgstr " %-4s\taller à l'état %d\n"
|
||||||
|
|
||||||
#: src/print.c:199
|
#: src/print.c:200
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "state %d"
|
msgid "state %d"
|
||||||
msgstr "état %d"
|
msgstr "état %d"
|
||||||
|
|
||||||
#. rule # : LHS -> RHS
|
#. rule # : LHS -> RHS
|
||||||
#: src/print.c:229
|
#: src/print.c:230
|
||||||
msgid "Grammar"
|
msgid "Grammar"
|
||||||
msgstr "Grammaire"
|
msgstr "Grammaire"
|
||||||
|
|
||||||
#: src/print.c:234
|
#: src/print.c:235
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule %-4d %s ->"
|
msgid "rule %-4d %s ->"
|
||||||
msgstr "règle %-4d %s ->"
|
msgstr "règle %-4d %s ->"
|
||||||
|
|
||||||
#: src/print.c:240
|
#: src/print.c:241
|
||||||
msgid "empty"
|
msgid "empty"
|
||||||
msgstr "vide"
|
msgstr "vide"
|
||||||
|
|
||||||
#. TERMINAL (type #) : rule #s terminal is on RHS
|
#. TERMINAL (type #) : rule #s terminal is on RHS
|
||||||
#: src/print.c:244
|
#: src/print.c:246
|
||||||
msgid "Terminals, with rules where they appear"
|
msgid "Terminals, with rules where they appear"
|
||||||
msgstr "Terminaux, suivis des règles où ils apparaissent"
|
msgstr "Terminaux, suivis des règles où ils apparaissent"
|
||||||
|
|
||||||
#: src/print.c:268
|
#: src/print.c:270
|
||||||
msgid "Nonterminals, with rules where they appear"
|
msgid "Nonterminals, with rules where they appear"
|
||||||
msgstr "Non-terminaux, suivis des règles où ils apparaissent"
|
msgstr "Non-terminaux, suivis des règles où ils apparaissent"
|
||||||
|
|
||||||
#: src/print.c:294
|
#: src/print.c:296
|
||||||
msgid " on left:"
|
msgid " on left:"
|
||||||
msgstr " à gauche:"
|
msgstr " à gauche:"
|
||||||
|
|
||||||
#: src/print.c:309
|
#: src/print.c:311
|
||||||
msgid " on right:"
|
msgid " on right:"
|
||||||
msgstr " à droite:"
|
msgstr " à droite:"
|
||||||
|
|
||||||
@@ -527,7 +527,7 @@ msgstr "non appariement de %s"
|
|||||||
#: src/reader.c:798
|
#: src/reader.c:798
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "argument of %%expect is not an integer"
|
msgid "argument of %%expect is not an integer"
|
||||||
msgstr "le paramètre de %%expect n'est pas un entier"
|
msgstr "l'argument de %%expect n'est pas un entier"
|
||||||
|
|
||||||
#: src/reader.c:844
|
#: src/reader.c:844
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -639,19 +639,19 @@ msgstr "le symbole de d
|
|||||||
msgid "the start symbol %s is a token"
|
msgid "the start symbol %s is a token"
|
||||||
msgstr "le symbole de départ %s est un terminal"
|
msgstr "le symbole de départ %s est un terminal"
|
||||||
|
|
||||||
#: src/reduce.c:401
|
#: src/reduce.c:405
|
||||||
msgid "Useless nonterminals:"
|
msgid "Useless nonterminals:"
|
||||||
msgstr "Non-terminaux inutiles:"
|
msgstr "Non-terminaux inutiles:"
|
||||||
|
|
||||||
#: src/reduce.c:416
|
#: src/reduce.c:419
|
||||||
msgid "Terminals which are not used:"
|
msgid "Terminals which are not used:"
|
||||||
msgstr "Terminaux non utilisés:"
|
msgstr "Terminaux non utilisés:"
|
||||||
|
|
||||||
#: src/reduce.c:427
|
#: src/reduce.c:430
|
||||||
msgid "Useless rules:"
|
msgid "Useless rules:"
|
||||||
msgstr "Règles inutiles:"
|
msgstr "Règles inutiles:"
|
||||||
|
|
||||||
#: src/reduce.c:456
|
#: src/reduce.c:458
|
||||||
msgid ""
|
msgid ""
|
||||||
"Variables\n"
|
"Variables\n"
|
||||||
"---------\n"
|
"---------\n"
|
||||||
@@ -661,7 +661,7 @@ msgstr ""
|
|||||||
"---------\n"
|
"---------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:458
|
#: src/reduce.c:459
|
||||||
msgid "Value Sprec Sassoc Tag\n"
|
msgid "Value Sprec Sassoc Tag\n"
|
||||||
msgstr "Valeur Spréc Sassoc Tag\n"
|
msgstr "Valeur Spréc Sassoc Tag\n"
|
||||||
|
|
||||||
@@ -675,7 +675,7 @@ msgstr ""
|
|||||||
"------\n"
|
"------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:474
|
#: src/reduce.c:473
|
||||||
msgid ""
|
msgid ""
|
||||||
"Rules interpreted\n"
|
"Rules interpreted\n"
|
||||||
"-----------------\n"
|
"-----------------\n"
|
||||||
@@ -685,36 +685,31 @@ msgstr ""
|
|||||||
"-------------------\n"
|
"-------------------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:491
|
#: src/reduce.c:495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d rules never reduced\n"
|
msgid "%d rules never reduced\n"
|
||||||
msgstr "%d règles jamais réduites\n"
|
msgstr "%d règles jamais réduites\n"
|
||||||
|
|
||||||
#: src/reduce.c:493
|
#: src/reduce.c:501
|
||||||
#, c-format
|
|
||||||
msgid "%s contains "
|
|
||||||
msgstr "%s contient "
|
|
||||||
|
|
||||||
#: src/reduce.c:497
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless nonterminal%s"
|
msgid "%d useless nonterminal%s"
|
||||||
msgstr "%d catégories non productives%s"
|
msgstr "%d catégories non productives%s"
|
||||||
|
|
||||||
#: src/reduce.c:502
|
#: src/reduce.c:506
|
||||||
msgid " and "
|
msgid " and "
|
||||||
msgstr " et "
|
msgstr " et "
|
||||||
|
|
||||||
#: src/reduce.c:506
|
#: src/reduce.c:510
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless rule%s"
|
msgid "%d useless rule%s"
|
||||||
msgstr "%d règle(s) non productive(s)%s"
|
msgstr "%d règle(s) non productive(s)%s"
|
||||||
|
|
||||||
#: src/reduce.c:539
|
#: src/reduce.c:540
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "Aucune phrase ne peut être dérivée du symbole de départ %s"
|
msgstr "Aucune phrase ne peut être dérivée du symbole de départ %s"
|
||||||
|
|
||||||
#: src/reduce.c:552
|
#: src/reduce.c:553
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
||||||
@@ -730,17 +725,17 @@ msgstr "%s: l'option %s est ambig
|
|||||||
#: lib/getopt.c:719
|
#: lib/getopt.c:719
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||||
msgstr "%s: l'option --%s n'admet pas de paramètre\n"
|
msgstr "%s: l'option --%s n'admet pas d'argument\n"
|
||||||
|
|
||||||
#: lib/getopt.c:724
|
#: lib/getopt.c:724
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||||
msgstr "%s: l'option %c%s n'admet pas de paramètre\n"
|
msgstr "%s: l'option %c%s n'admet pas d'argument\n"
|
||||||
|
|
||||||
#: lib/getopt.c:742 lib/getopt.c:915
|
#: lib/getopt.c:742 lib/getopt.c:915
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: option `%s' requires an argument\n"
|
msgid "%s: option `%s' requires an argument\n"
|
||||||
msgstr "%s: l'option %s requiert un paramètre\n"
|
msgstr "%s: l'option %s requiert un argument\n"
|
||||||
|
|
||||||
#. --option
|
#. --option
|
||||||
#: lib/getopt.c:771
|
#: lib/getopt.c:771
|
||||||
@@ -769,7 +764,7 @@ msgstr "%s: option non valide -- %c\n"
|
|||||||
#: lib/getopt.c:834 lib/getopt.c:964
|
#: lib/getopt.c:834 lib/getopt.c:964
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: option requires an argument -- %c\n"
|
msgid "%s: option requires an argument -- %c\n"
|
||||||
msgstr "%s: l'option requiert un paramètre -- %c\n"
|
msgstr "%s: l'option requiert un argument -- %c\n"
|
||||||
|
|
||||||
#: lib/getopt.c:881
|
#: lib/getopt.c:881
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -779,7 +774,7 @@ msgstr "%s: l'option `-W %s' est ambigu
|
|||||||
#: lib/getopt.c:899
|
#: lib/getopt.c:899
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||||
msgstr "%s: l'option `-W %s' n'admet pas de paramètre\n"
|
msgstr "%s: l'option `-W %s' n'admet pas d'argument\n"
|
||||||
|
|
||||||
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
|
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
|
||||||
#. before exiting when memory is exhausted. Goes through gettext.
|
#. before exiting when memory is exhausted. Goes through gettext.
|
||||||
@@ -809,6 +804,15 @@ msgstr "`"
|
|||||||
msgid "'"
|
msgid "'"
|
||||||
msgstr "'"
|
msgstr "'"
|
||||||
|
|
||||||
|
#~ msgid " 1 shift/reduce conflict"
|
||||||
|
#~ msgstr " 1 conflit décalage/réduction"
|
||||||
|
|
||||||
|
#~ msgid " 1 reduce/reduce conflict"
|
||||||
|
#~ msgstr "1 conflit réduction/réduction"
|
||||||
|
|
||||||
|
#~ msgid "%s contains"
|
||||||
|
#~ msgstr "%s contient"
|
||||||
|
|
||||||
#~ msgid "\t\t/* empty */"
|
#~ msgid "\t\t/* empty */"
|
||||||
#~ msgstr "\t\t/* epsilon */"
|
#~ msgstr "\t\t/* epsilon */"
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: GNU bison 1.28\n"
|
"Project-Id-Version: GNU bison 1.28\n"
|
||||||
"POT-Creation-Date: 2001-11-05 11:08+0100\n"
|
"POT-Creation-Date: 2001-11-14 15:59+0100\n"
|
||||||
"PO-Revision-Date: 1999-09-28 21:10+0900\n"
|
"PO-Revision-Date: 1999-09-28 21:10+0900\n"
|
||||||
"Last-Translator: Daisuke Yamashita <[email protected]>\n"
|
"Last-Translator: Daisuke Yamashita <[email protected]>\n"
|
||||||
"Language-Team: Japanese <[email protected]>\n"
|
"Language-Team: Japanese <[email protected]>\n"
|
||||||
@@ -31,77 +31,78 @@ msgstr ""
|
|||||||
msgid "fatal error: "
|
msgid "fatal error: "
|
||||||
msgstr "%s: 致命的エラー: "
|
msgstr "%s: 致命的エラー: "
|
||||||
|
|
||||||
#: src/conflicts.c:48
|
#: src/conflicts.c:45
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||||
msgstr "状態 %d の規則 %d とトークン %s の競合を%sとして解決。\n"
|
msgstr "状態 %d の規則 %d とトークン %s の競合を%sとして解決。\n"
|
||||||
|
|
||||||
#: src/conflicts.c:114 src/conflicts.c:137
|
#: src/conflicts.c:111 src/conflicts.c:134
|
||||||
msgid "reduce"
|
msgid "reduce"
|
||||||
msgstr "還元"
|
msgstr "還元"
|
||||||
|
|
||||||
#: src/conflicts.c:120 src/conflicts.c:133
|
#: src/conflicts.c:117 src/conflicts.c:130
|
||||||
msgid "shift"
|
msgid "shift"
|
||||||
msgstr "シフト"
|
msgstr "シフト"
|
||||||
|
|
||||||
#: src/conflicts.c:141
|
#: src/conflicts.c:138
|
||||||
msgid "an error"
|
msgid "an error"
|
||||||
msgstr "エラー"
|
msgstr "エラー"
|
||||||
|
|
||||||
#: src/conflicts.c:421
|
#: src/conflicts.c:411
|
||||||
msgid " 1 shift/reduce conflict"
|
#, fuzzy, c-format
|
||||||
msgstr " 1 シフト/還元衝突"
|
msgid "%d shift/reduce conflict"
|
||||||
|
msgid_plural "%d shift/reduce conflicts"
|
||||||
|
msgstr[0] " %d シフト/還元衝突"
|
||||||
|
|
||||||
#: src/conflicts.c:426
|
#: src/conflicts.c:418
|
||||||
#, c-format
|
#, fuzzy
|
||||||
msgid " %d shift/reduce conflicts"
|
msgid "and"
|
||||||
msgstr " %d シフト/還元衝突"
|
|
||||||
|
|
||||||
#: src/conflicts.c:432
|
|
||||||
msgid " and"
|
|
||||||
msgstr " および"
|
msgstr " および"
|
||||||
|
|
||||||
#: src/conflicts.c:438
|
#: src/conflicts.c:424
|
||||||
msgid " 1 reduce/reduce conflict"
|
#, fuzzy, c-format
|
||||||
msgstr " 1 還元/還元衝突"
|
msgid "%d reduce/reduce conflict"
|
||||||
|
msgid_plural "%d reduce/reduce conflicts"
|
||||||
|
msgstr[0] " %d 還元/還元衝突"
|
||||||
|
|
||||||
#: src/conflicts.c:443
|
#: src/conflicts.c:448
|
||||||
#, c-format
|
#, fuzzy, c-format
|
||||||
msgid " %d reduce/reduce conflicts"
|
msgid "State %d contains "
|
||||||
msgstr " %d 還元/還元衝突"
|
|
||||||
|
|
||||||
#: src/conflicts.c:480
|
|
||||||
#, c-format
|
|
||||||
msgid "State %d contains"
|
|
||||||
msgstr "状態 %d が含むのは"
|
msgstr "状態 %d が含むのは"
|
||||||
|
|
||||||
#. If invoked with `--yacc', use the output format specified by
|
#. If invoked with `--yacc', use the output format specified by
|
||||||
#. POSIX.
|
#. POSIX.
|
||||||
#: src/conflicts.c:491
|
#: src/conflicts.c:482
|
||||||
msgid "conflicts: "
|
msgid "conflicts: "
|
||||||
msgstr "衝突: "
|
msgstr "衝突: "
|
||||||
|
|
||||||
#: src/conflicts.c:493
|
#: src/conflicts.c:484
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d shift/reduce"
|
msgid " %d shift/reduce"
|
||||||
msgstr " %d シフト/還元"
|
msgstr " %d シフト/還元"
|
||||||
|
|
||||||
#: src/conflicts.c:497
|
#: src/conflicts.c:488
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d reduce/reduce"
|
msgid " %d reduce/reduce"
|
||||||
msgstr " %d 還元/還元"
|
msgstr " %d 還元/還元"
|
||||||
|
|
||||||
#: src/conflicts.c:502
|
#: src/conflicts.c:493 src/reduce.c:497
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s contains"
|
msgid "%s contains "
|
||||||
msgstr "%s には、"
|
msgstr "%s には"
|
||||||
|
|
||||||
#: src/conflicts.c:588 src/conflicts.c:709
|
#: src/conflicts.c:502
|
||||||
|
#, fuzzy, c-format
|
||||||
|
msgid "expected %d shift/reduce conflict"
|
||||||
|
msgid_plural "expected %d shift/reduce conflicts"
|
||||||
|
msgstr[0] " %d シフト/還元衝突"
|
||||||
|
|
||||||
|
#: src/conflicts.c:589 src/conflicts.c:709
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||||
msgstr " %-4s\t[規則 %d を利用して還元 (%s)]\n"
|
msgstr " %-4s\t[規則 %d を利用して還元 (%s)]\n"
|
||||||
|
|
||||||
#: src/conflicts.c:600 src/print.c:171
|
#: src/conflicts.c:600 src/print.c:172
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" $default\treduce using rule %d (%s)\n"
|
" $default\treduce using rule %d (%s)\n"
|
||||||
@@ -115,7 +116,7 @@ msgstr ""
|
|||||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||||
msgstr " %-4s\t規則 %d を利用して還元 (%s)\n"
|
msgstr " %-4s\t規則 %d を利用して還元 (%s)\n"
|
||||||
|
|
||||||
#: src/conflicts.c:730
|
#: src/conflicts.c:729
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $default\treduce using rule %d (%s)\n"
|
msgid " $default\treduce using rule %d (%s)\n"
|
||||||
msgstr " $default\t規則 %d を利用して還元 (%s)\n"
|
msgstr " $default\t規則 %d を利用して還元 (%s)\n"
|
||||||
@@ -214,7 +215,7 @@ msgid ""
|
|||||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/getargs.c:215 src/lex.c:693
|
#: src/getargs.c:215 src/lex.c:694
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is no longer supported"
|
msgid "`%s' is no longer supported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -283,17 +284,17 @@ msgstr "
|
|||||||
msgid "use \"...\" for multi-character literal tokens"
|
msgid "use \"...\" for multi-character literal tokens"
|
||||||
msgstr "複数文字のリテラルトークンには \"...\" を使いましょう"
|
msgstr "複数文字のリテラルトークンには \"...\" を使いましょう"
|
||||||
|
|
||||||
#: src/lex.c:666
|
#: src/lex.c:667
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' supports no argument: %s"
|
msgid "`%s' supports no argument: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/lex.c:682
|
#: src/lex.c:683
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "`%s' requires an argument"
|
msgid "`%s' requires an argument"
|
||||||
msgstr "%s: オプション `%s' は引数を要求します\n"
|
msgstr "%s: オプション `%s' は引数を要求します\n"
|
||||||
|
|
||||||
#: src/main.c:125
|
#: src/main.c:128
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: internal error: %s\n"
|
msgid "%s: internal error: %s\n"
|
||||||
msgstr "%s: 内部エラー: %s\n"
|
msgstr "%s: 内部エラー: %s\n"
|
||||||
@@ -307,45 +308,45 @@ msgstr "set_nullable
|
|||||||
msgid "maximum table size (%d) exceeded"
|
msgid "maximum table size (%d) exceeded"
|
||||||
msgstr "最大テーブルサイズ (%s) を超えました"
|
msgstr "最大テーブルサイズ (%s) を超えました"
|
||||||
|
|
||||||
#: src/print.c:37
|
#: src/print.c:38
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " type %d is %s\n"
|
msgid " type %d is %s\n"
|
||||||
msgstr " タイプ %d は %s です\n"
|
msgstr " タイプ %d は %s です\n"
|
||||||
|
|
||||||
#: src/print.c:85
|
#: src/print.c:86
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " (rule %d)"
|
msgid " (rule %d)"
|
||||||
msgstr " (規則 %d)"
|
msgstr " (規則 %d)"
|
||||||
|
|
||||||
#: src/print.c:111
|
#: src/print.c:112
|
||||||
msgid " $default\taccept\n"
|
msgid " $default\taccept\n"
|
||||||
msgstr " $default\taccept\n"
|
msgstr " $default\taccept\n"
|
||||||
|
|
||||||
#: src/print.c:113
|
#: src/print.c:114
|
||||||
msgid " NO ACTIONS\n"
|
msgid " NO ACTIONS\n"
|
||||||
msgstr " 動作無し\n"
|
msgstr " 動作無し\n"
|
||||||
|
|
||||||
#: src/print.c:132
|
#: src/print.c:133
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $ \tgo to state %d\n"
|
msgid " $ \tgo to state %d\n"
|
||||||
msgstr " $ \t状態 %d へ\n"
|
msgstr " $ \t状態 %d へ\n"
|
||||||
|
|
||||||
#: src/print.c:135
|
#: src/print.c:136
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tshift, and go to state %d\n"
|
msgid " %-4s\tshift, and go to state %d\n"
|
||||||
msgstr " %-4s\tシフト、および状態 %d へ\n"
|
msgstr " %-4s\tシフト、および状態 %d へ\n"
|
||||||
|
|
||||||
#: src/print.c:159
|
#: src/print.c:160
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\terror (nonassociative)\n"
|
msgid " %-4s\terror (nonassociative)\n"
|
||||||
msgstr " %-4s\tエラー (非結合)\n"
|
msgstr " %-4s\tエラー (非結合)\n"
|
||||||
|
|
||||||
#: src/print.c:187
|
#: src/print.c:188
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tgo to state %d\n"
|
msgid " %-4s\tgo to state %d\n"
|
||||||
msgstr " %-4s\t状態 %d へ\n"
|
msgstr " %-4s\t状態 %d へ\n"
|
||||||
|
|
||||||
#: src/print.c:199
|
#: src/print.c:200
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "state %d"
|
msgid "state %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -355,24 +356,24 @@ msgstr ""
|
|||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#. rule # : LHS -> RHS
|
#. rule # : LHS -> RHS
|
||||||
#: src/print.c:229
|
#: src/print.c:230
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Grammar"
|
msgid "Grammar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"\n"
|
"\n"
|
||||||
"文法\n"
|
"文法\n"
|
||||||
|
|
||||||
#: src/print.c:234
|
#: src/print.c:235
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule %-4d %s ->"
|
msgid "rule %-4d %s ->"
|
||||||
msgstr "規則 %-4d %s ->"
|
msgstr "規則 %-4d %s ->"
|
||||||
|
|
||||||
#: src/print.c:240
|
#: src/print.c:241
|
||||||
msgid "empty"
|
msgid "empty"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. TERMINAL (type #) : rule #s terminal is on RHS
|
#. TERMINAL (type #) : rule #s terminal is on RHS
|
||||||
#: src/print.c:244
|
#: src/print.c:246
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Terminals, with rules where they appear"
|
msgid "Terminals, with rules where they appear"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -380,7 +381,7 @@ msgstr ""
|
|||||||
"終端トークン、およびそこに現れた規則\n"
|
"終端トークン、およびそこに現れた規則\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/print.c:268
|
#: src/print.c:270
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Nonterminals, with rules where they appear"
|
msgid "Nonterminals, with rules where they appear"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -388,11 +389,11 @@ msgstr ""
|
|||||||
"非終端トークン、およびそこに現れた規則\n"
|
"非終端トークン、およびそこに現れた規則\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/print.c:294
|
#: src/print.c:296
|
||||||
msgid " on left:"
|
msgid " on left:"
|
||||||
msgstr " 左辺:"
|
msgstr " 左辺:"
|
||||||
|
|
||||||
#: src/print.c:309
|
#: src/print.c:311
|
||||||
msgid " on right:"
|
msgid " on right:"
|
||||||
msgstr " 右辺:"
|
msgstr " 右辺:"
|
||||||
|
|
||||||
@@ -630,14 +631,14 @@ msgstr "
|
|||||||
msgid "the start symbol %s is a token"
|
msgid "the start symbol %s is a token"
|
||||||
msgstr "開始シンボル %s はトークンです"
|
msgstr "開始シンボル %s はトークンです"
|
||||||
|
|
||||||
#: src/reduce.c:401
|
#: src/reduce.c:405
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Useless nonterminals:"
|
msgid "Useless nonterminals:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"不使用非終端子:\n"
|
"不使用非終端子:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:416
|
#: src/reduce.c:419
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Terminals which are not used:"
|
msgid "Terminals which are not used:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -646,7 +647,7 @@ msgstr ""
|
|||||||
"利用されない終端子:\n"
|
"利用されない終端子:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:427
|
#: src/reduce.c:430
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Useless rules:"
|
msgid "Useless rules:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -655,7 +656,7 @@ msgstr ""
|
|||||||
"不使用規則:\n"
|
"不使用規則:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:456
|
#: src/reduce.c:458
|
||||||
msgid ""
|
msgid ""
|
||||||
"Variables\n"
|
"Variables\n"
|
||||||
"---------\n"
|
"---------\n"
|
||||||
@@ -665,7 +666,7 @@ msgstr ""
|
|||||||
"---------\n"
|
"---------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:458
|
#: src/reduce.c:459
|
||||||
msgid "Value Sprec Sassoc Tag\n"
|
msgid "Value Sprec Sassoc Tag\n"
|
||||||
msgstr "値 前置 結合 タグ\n"
|
msgstr "値 前置 結合 タグ\n"
|
||||||
|
|
||||||
@@ -679,7 +680,7 @@ msgstr ""
|
|||||||
"-----\n"
|
"-----\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:474
|
#: src/reduce.c:473
|
||||||
msgid ""
|
msgid ""
|
||||||
"Rules interpreted\n"
|
"Rules interpreted\n"
|
||||||
"-----------------\n"
|
"-----------------\n"
|
||||||
@@ -689,36 +690,31 @@ msgstr ""
|
|||||||
"-----------------\n"
|
"-----------------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:491
|
#: src/reduce.c:495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d rules never reduced\n"
|
msgid "%d rules never reduced\n"
|
||||||
msgstr "%d 個の規則は決して還元されません\n"
|
msgstr "%d 個の規則は決して還元されません\n"
|
||||||
|
|
||||||
#: src/reduce.c:493
|
#: src/reduce.c:501
|
||||||
#, c-format
|
|
||||||
msgid "%s contains "
|
|
||||||
msgstr "%s には"
|
|
||||||
|
|
||||||
#: src/reduce.c:497
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless nonterminal%s"
|
msgid "%d useless nonterminal%s"
|
||||||
msgstr "%d 個の不使用非終端子%.0s"
|
msgstr "%d 個の不使用非終端子%.0s"
|
||||||
|
|
||||||
#: src/reduce.c:502
|
#: src/reduce.c:506
|
||||||
msgid " and "
|
msgid " and "
|
||||||
msgstr "および"
|
msgstr "および"
|
||||||
|
|
||||||
#: src/reduce.c:506
|
#: src/reduce.c:510
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless rule%s"
|
msgid "%d useless rule%s"
|
||||||
msgstr "%d 個の不使用規則%.0s"
|
msgstr "%d 個の不使用規則%.0s"
|
||||||
|
|
||||||
#: src/reduce.c:539
|
#: src/reduce.c:540
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "開始シンボル %s はどの文にも由来しません"
|
msgstr "開始シンボル %s はどの文にも由来しません"
|
||||||
|
|
||||||
#: src/reduce.c:552
|
#: src/reduce.c:553
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
||||||
@@ -860,6 +856,15 @@ msgstr ""
|
|||||||
#~ "%s は以下から派生\n"
|
#~ "%s は以下から派生\n"
|
||||||
#~ "\n"
|
#~ "\n"
|
||||||
|
|
||||||
|
#~ msgid " 1 shift/reduce conflict"
|
||||||
|
#~ msgstr " 1 シフト/還元衝突"
|
||||||
|
|
||||||
|
#~ msgid " 1 reduce/reduce conflict"
|
||||||
|
#~ msgstr " 1 還元/還元衝突"
|
||||||
|
|
||||||
|
#~ msgid "%s contains"
|
||||||
|
#~ msgstr "%s には、"
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n"
|
#~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n"
|
||||||
#~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n"
|
#~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bison 1.25\n"
|
"Project-Id-Version: bison 1.25\n"
|
||||||
"POT-Creation-Date: 2001-11-05 11:08+0100\n"
|
"POT-Creation-Date: 2001-11-14 15:59+0100\n"
|
||||||
"PO-Revision-Date: 1996-08-27 15:34 MET DST\n"
|
"PO-Revision-Date: 1996-08-27 15:34 MET DST\n"
|
||||||
"Last-Translator: Erick Branderhorst <[email protected]>\n"
|
"Last-Translator: Erick Branderhorst <[email protected]>\n"
|
||||||
"Language-Team: Dutch <[email protected]>\n"
|
"Language-Team: Dutch <[email protected]>\n"
|
||||||
@@ -31,77 +31,78 @@ msgstr ""
|
|||||||
msgid "fatal error: "
|
msgid "fatal error: "
|
||||||
msgstr "fatale fout: %s\n"
|
msgstr "fatale fout: %s\n"
|
||||||
|
|
||||||
#: src/conflicts.c:48
|
#: src/conflicts.c:45
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||||
msgstr "Conflict in stadium %d tussen regel %d en teken %s opgelost als %s.\n"
|
msgstr "Conflict in stadium %d tussen regel %d en teken %s opgelost als %s.\n"
|
||||||
|
|
||||||
#: src/conflicts.c:114 src/conflicts.c:137
|
#: src/conflicts.c:111 src/conflicts.c:134
|
||||||
msgid "reduce"
|
msgid "reduce"
|
||||||
msgstr "reduceer"
|
msgstr "reduceer"
|
||||||
|
|
||||||
#: src/conflicts.c:120 src/conflicts.c:133
|
#: src/conflicts.c:117 src/conflicts.c:130
|
||||||
msgid "shift"
|
msgid "shift"
|
||||||
msgstr "verschuif"
|
msgstr "verschuif"
|
||||||
|
|
||||||
#: src/conflicts.c:141
|
#: src/conflicts.c:138
|
||||||
msgid "an error"
|
msgid "an error"
|
||||||
msgstr "een fout"
|
msgstr "een fout"
|
||||||
|
|
||||||
#: src/conflicts.c:421
|
#: src/conflicts.c:411
|
||||||
msgid " 1 shift/reduce conflict"
|
#, fuzzy, c-format
|
||||||
msgstr " 1 verschuif/reduceer conflict"
|
msgid "%d shift/reduce conflict"
|
||||||
|
msgid_plural "%d shift/reduce conflicts"
|
||||||
|
msgstr[0] " %d verschuif/reduceer conflicten"
|
||||||
|
|
||||||
#: src/conflicts.c:426
|
#: src/conflicts.c:418
|
||||||
#, c-format
|
#, fuzzy
|
||||||
msgid " %d shift/reduce conflicts"
|
msgid "and"
|
||||||
msgstr " %d verschuif/reduceer conflicten"
|
|
||||||
|
|
||||||
#: src/conflicts.c:432
|
|
||||||
msgid " and"
|
|
||||||
msgstr " en"
|
msgstr " en"
|
||||||
|
|
||||||
#: src/conflicts.c:438
|
#: src/conflicts.c:424
|
||||||
msgid " 1 reduce/reduce conflict"
|
#, fuzzy, c-format
|
||||||
msgstr " 1 reduceer/reduceer conflict"
|
msgid "%d reduce/reduce conflict"
|
||||||
|
msgid_plural "%d reduce/reduce conflicts"
|
||||||
|
msgstr[0] " %d reduceer/reduceer conflicten"
|
||||||
|
|
||||||
#: src/conflicts.c:443
|
#: src/conflicts.c:448
|
||||||
#, c-format
|
#, fuzzy, c-format
|
||||||
msgid " %d reduce/reduce conflicts"
|
msgid "State %d contains "
|
||||||
msgstr " %d reduceer/reduceer conflicten"
|
|
||||||
|
|
||||||
#: src/conflicts.c:480
|
|
||||||
#, c-format
|
|
||||||
msgid "State %d contains"
|
|
||||||
msgstr "Stadium %d bevat"
|
msgstr "Stadium %d bevat"
|
||||||
|
|
||||||
#. If invoked with `--yacc', use the output format specified by
|
#. If invoked with `--yacc', use the output format specified by
|
||||||
#. POSIX.
|
#. POSIX.
|
||||||
#: src/conflicts.c:491
|
#: src/conflicts.c:482
|
||||||
msgid "conflicts: "
|
msgid "conflicts: "
|
||||||
msgstr "conflictueerd: "
|
msgstr "conflictueerd: "
|
||||||
|
|
||||||
#: src/conflicts.c:493
|
#: src/conflicts.c:484
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d shift/reduce"
|
msgid " %d shift/reduce"
|
||||||
msgstr " %d vershuif/reduceer"
|
msgstr " %d vershuif/reduceer"
|
||||||
|
|
||||||
#: src/conflicts.c:497
|
#: src/conflicts.c:488
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d reduce/reduce"
|
msgid " %d reduce/reduce"
|
||||||
msgstr " %d reduceer/reduceer"
|
msgstr " %d reduceer/reduceer"
|
||||||
|
|
||||||
#: src/conflicts.c:502
|
#: src/conflicts.c:493 src/reduce.c:497
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s contains"
|
msgid "%s contains "
|
||||||
msgstr "%s bevat"
|
msgstr "%s bevat"
|
||||||
|
|
||||||
#: src/conflicts.c:588 src/conflicts.c:709
|
#: src/conflicts.c:502
|
||||||
|
#, fuzzy, c-format
|
||||||
|
msgid "expected %d shift/reduce conflict"
|
||||||
|
msgid_plural "expected %d shift/reduce conflicts"
|
||||||
|
msgstr[0] " %d verschuif/reduceer conflicten"
|
||||||
|
|
||||||
|
#: src/conflicts.c:589 src/conflicts.c:709
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||||
msgstr " %-4s\t[reduceer gebruikt regel %d (%s)]\n"
|
msgstr " %-4s\t[reduceer gebruikt regel %d (%s)]\n"
|
||||||
|
|
||||||
#: src/conflicts.c:600 src/print.c:171
|
#: src/conflicts.c:600 src/print.c:172
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" $default\treduce using rule %d (%s)\n"
|
" $default\treduce using rule %d (%s)\n"
|
||||||
@@ -115,7 +116,7 @@ msgstr ""
|
|||||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/conflicts.c:730
|
#: src/conflicts.c:729
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $default\treduce using rule %d (%s)\n"
|
msgid " $default\treduce using rule %d (%s)\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -214,7 +215,7 @@ msgid ""
|
|||||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/getargs.c:215 src/lex.c:693
|
#: src/getargs.c:215 src/lex.c:694
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is no longer supported"
|
msgid "`%s' is no longer supported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -283,17 +284,17 @@ msgstr "niet getermineerd type naam"
|
|||||||
msgid "use \"...\" for multi-character literal tokens"
|
msgid "use \"...\" for multi-character literal tokens"
|
||||||
msgstr "gebruik \"...\" voor meerdere karakters literal tekens"
|
msgstr "gebruik \"...\" voor meerdere karakters literal tekens"
|
||||||
|
|
||||||
#: src/lex.c:666
|
#: src/lex.c:667
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' supports no argument: %s"
|
msgid "`%s' supports no argument: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/lex.c:682
|
#: src/lex.c:683
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "`%s' requires an argument"
|
msgid "`%s' requires an argument"
|
||||||
msgstr "%s: optie `%s' vereist een argument\n"
|
msgstr "%s: optie `%s' vereist een argument\n"
|
||||||
|
|
||||||
#: src/main.c:125
|
#: src/main.c:128
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%s: internal error: %s\n"
|
msgid "%s: internal error: %s\n"
|
||||||
msgstr "interne fout, %s\n"
|
msgstr "interne fout, %s\n"
|
||||||
@@ -307,45 +308,45 @@ msgstr "Inkomende set nullable"
|
|||||||
msgid "maximum table size (%d) exceeded"
|
msgid "maximum table size (%d) exceeded"
|
||||||
msgstr "maximale tabel grootte (%s) overschreden"
|
msgstr "maximale tabel grootte (%s) overschreden"
|
||||||
|
|
||||||
#: src/print.c:37
|
#: src/print.c:38
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " type %d is %s\n"
|
msgid " type %d is %s\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/print.c:85
|
#: src/print.c:86
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " (rule %d)"
|
msgid " (rule %d)"
|
||||||
msgstr " (regel %d)"
|
msgstr " (regel %d)"
|
||||||
|
|
||||||
#: src/print.c:111
|
#: src/print.c:112
|
||||||
msgid " $default\taccept\n"
|
msgid " $default\taccept\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/print.c:113
|
#: src/print.c:114
|
||||||
msgid " NO ACTIONS\n"
|
msgid " NO ACTIONS\n"
|
||||||
msgstr " GEEN AKTIES\n"
|
msgstr " GEEN AKTIES\n"
|
||||||
|
|
||||||
#: src/print.c:132
|
#: src/print.c:133
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $ \tgo to state %d\n"
|
msgid " $ \tgo to state %d\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/print.c:135
|
#: src/print.c:136
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tshift, and go to state %d\n"
|
msgid " %-4s\tshift, and go to state %d\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/print.c:159
|
#: src/print.c:160
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\terror (nonassociative)\n"
|
msgid " %-4s\terror (nonassociative)\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/print.c:187
|
#: src/print.c:188
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tgo to state %d\n"
|
msgid " %-4s\tgo to state %d\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/print.c:199
|
#: src/print.c:200
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "state %d"
|
msgid "state %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -355,24 +356,24 @@ msgstr ""
|
|||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#. rule # : LHS -> RHS
|
#. rule # : LHS -> RHS
|
||||||
#: src/print.c:229
|
#: src/print.c:230
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Grammar"
|
msgid "Grammar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"\n"
|
"\n"
|
||||||
"Grammatica\n"
|
"Grammatica\n"
|
||||||
|
|
||||||
#: src/print.c:234
|
#: src/print.c:235
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule %-4d %s ->"
|
msgid "rule %-4d %s ->"
|
||||||
msgstr "regel %-4d %s ->"
|
msgstr "regel %-4d %s ->"
|
||||||
|
|
||||||
#: src/print.c:240
|
#: src/print.c:241
|
||||||
msgid "empty"
|
msgid "empty"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. TERMINAL (type #) : rule #s terminal is on RHS
|
#. TERMINAL (type #) : rule #s terminal is on RHS
|
||||||
#: src/print.c:244
|
#: src/print.c:246
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Terminals, with rules where they appear"
|
msgid "Terminals, with rules where they appear"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -380,7 +381,7 @@ msgstr ""
|
|||||||
"Terminals, met regels waar ze voorkomen\n"
|
"Terminals, met regels waar ze voorkomen\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/print.c:268
|
#: src/print.c:270
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Nonterminals, with rules where they appear"
|
msgid "Nonterminals, with rules where they appear"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -388,11 +389,11 @@ msgstr ""
|
|||||||
"Geen terminals, met regels waar ze voorkomen\n"
|
"Geen terminals, met regels waar ze voorkomen\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/print.c:294
|
#: src/print.c:296
|
||||||
msgid " on left:"
|
msgid " on left:"
|
||||||
msgstr " links:"
|
msgstr " links:"
|
||||||
|
|
||||||
#: src/print.c:309
|
#: src/print.c:311
|
||||||
msgid " on right:"
|
msgid " on right:"
|
||||||
msgstr " rechts:"
|
msgstr " rechts:"
|
||||||
|
|
||||||
@@ -633,14 +634,14 @@ msgstr ""
|
|||||||
msgid "the start symbol %s is a token"
|
msgid "the start symbol %s is a token"
|
||||||
msgstr "het start symbool %s is een token"
|
msgstr "het start symbool %s is een token"
|
||||||
|
|
||||||
#: src/reduce.c:401
|
#: src/reduce.c:405
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Useless nonterminals:"
|
msgid "Useless nonterminals:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Onbruikbare niet terminals:\n"
|
"Onbruikbare niet terminals:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:416
|
#: src/reduce.c:419
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Terminals which are not used:"
|
msgid "Terminals which are not used:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -649,7 +650,7 @@ msgstr ""
|
|||||||
"Terminals welke niet worden gebruikt:\n"
|
"Terminals welke niet worden gebruikt:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:427
|
#: src/reduce.c:430
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Useless rules:"
|
msgid "Useless rules:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -658,7 +659,7 @@ msgstr ""
|
|||||||
"Onbruikbare regels:\n"
|
"Onbruikbare regels:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:456
|
#: src/reduce.c:458
|
||||||
msgid ""
|
msgid ""
|
||||||
"Variables\n"
|
"Variables\n"
|
||||||
"---------\n"
|
"---------\n"
|
||||||
@@ -668,7 +669,7 @@ msgstr ""
|
|||||||
"----------\n"
|
"----------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:458
|
#: src/reduce.c:459
|
||||||
msgid "Value Sprec Sassoc Tag\n"
|
msgid "Value Sprec Sassoc Tag\n"
|
||||||
msgstr "Waarde Sprec Sassoc Tag\n"
|
msgstr "Waarde Sprec Sassoc Tag\n"
|
||||||
|
|
||||||
@@ -682,7 +683,7 @@ msgstr ""
|
|||||||
"------\n"
|
"------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:474
|
#: src/reduce.c:473
|
||||||
msgid ""
|
msgid ""
|
||||||
"Rules interpreted\n"
|
"Rules interpreted\n"
|
||||||
"-----------------\n"
|
"-----------------\n"
|
||||||
@@ -692,36 +693,31 @@ msgstr ""
|
|||||||
"-----------------------\n"
|
"-----------------------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:491
|
#: src/reduce.c:495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d rules never reduced\n"
|
msgid "%d rules never reduced\n"
|
||||||
msgstr "%d regels nooit gereduceerd\n"
|
msgstr "%d regels nooit gereduceerd\n"
|
||||||
|
|
||||||
#: src/reduce.c:493
|
#: src/reduce.c:501
|
||||||
#, c-format
|
|
||||||
msgid "%s contains "
|
|
||||||
msgstr "%s bevat"
|
|
||||||
|
|
||||||
#: src/reduce.c:497
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless nonterminal%s"
|
msgid "%d useless nonterminal%s"
|
||||||
msgstr "%d onbruikbare niet terminal%s"
|
msgstr "%d onbruikbare niet terminal%s"
|
||||||
|
|
||||||
#: src/reduce.c:502
|
#: src/reduce.c:506
|
||||||
msgid " and "
|
msgid " and "
|
||||||
msgstr " en "
|
msgstr " en "
|
||||||
|
|
||||||
#: src/reduce.c:506
|
#: src/reduce.c:510
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless rule%s"
|
msgid "%d useless rule%s"
|
||||||
msgstr "%d onbruikbare regels%s"
|
msgstr "%d onbruikbare regels%s"
|
||||||
|
|
||||||
#: src/reduce.c:539
|
#: src/reduce.c:540
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "Start symbool %s is niet afkomstig uit een zin"
|
msgstr "Start symbool %s is niet afkomstig uit een zin"
|
||||||
|
|
||||||
#: src/reduce.c:552
|
#: src/reduce.c:553
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
||||||
@@ -863,6 +859,15 @@ msgstr ""
|
|||||||
#~ "%s afgeleiden\n"
|
#~ "%s afgeleiden\n"
|
||||||
#~ "\n"
|
#~ "\n"
|
||||||
|
|
||||||
|
#~ msgid " 1 shift/reduce conflict"
|
||||||
|
#~ msgstr " 1 verschuif/reduceer conflict"
|
||||||
|
|
||||||
|
#~ msgid " 1 reduce/reduce conflict"
|
||||||
|
#~ msgstr " 1 reduceer/reduceer conflict"
|
||||||
|
|
||||||
|
#~ msgid "%s contains"
|
||||||
|
#~ msgstr "%s bevat"
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n"
|
#~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n"
|
||||||
#~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n"
|
#~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bison 1.29\n"
|
"Project-Id-Version: bison 1.29\n"
|
||||||
"POT-Creation-Date: 2001-11-05 11:08+0100\n"
|
"POT-Creation-Date: 2001-11-14 15:59+0100\n"
|
||||||
"PO-Revision-Date: 2001-09-09 13:49+04:00\n"
|
"PO-Revision-Date: 2001-09-09 13:49+04:00\n"
|
||||||
"Last-Translator: Dmitry S. Sivachenko <[email protected]>\n"
|
"Last-Translator: Dmitry S. Sivachenko <[email protected]>\n"
|
||||||
"Language-Team: Russian <[email protected]>\n"
|
"Language-Team: Russian <[email protected]>\n"
|
||||||
@@ -30,78 +30,79 @@ msgstr "
|
|||||||
msgid "fatal error: "
|
msgid "fatal error: "
|
||||||
msgstr "ÆÁÔÁÌØÎÁÑ ÏÛÉÂËÁ: "
|
msgstr "ÆÁÔÁÌØÎÁÑ ÏÛÉÂËÁ: "
|
||||||
|
|
||||||
#: src/conflicts.c:48
|
#: src/conflicts.c:45
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"ëÏÎÆÌÉËÔ × ÓÏÓÔÏÑÎÉÉ %d ÍÅÖÄÕ ÐÒÁ×ÉÌÏÍ %d É ÌÅËÓÅÍÏÊ %s ÒÁÚÒÅÛÅÎ ËÁË %s.\n"
|
"ëÏÎÆÌÉËÔ × ÓÏÓÔÏÑÎÉÉ %d ÍÅÖÄÕ ÐÒÁ×ÉÌÏÍ %d É ÌÅËÓÅÍÏÊ %s ÒÁÚÒÅÛÅÎ ËÁË %s.\n"
|
||||||
|
|
||||||
#: src/conflicts.c:114 src/conflicts.c:137
|
#: src/conflicts.c:111 src/conflicts.c:134
|
||||||
msgid "reduce"
|
msgid "reduce"
|
||||||
msgstr "×Ù×ÏÄ"
|
msgstr "×Ù×ÏÄ"
|
||||||
|
|
||||||
#: src/conflicts.c:120 src/conflicts.c:133
|
#: src/conflicts.c:117 src/conflicts.c:130
|
||||||
msgid "shift"
|
msgid "shift"
|
||||||
msgstr "ÓÄ×ÉÇ"
|
msgstr "ÓÄ×ÉÇ"
|
||||||
|
|
||||||
#: src/conflicts.c:141
|
#: src/conflicts.c:138
|
||||||
msgid "an error"
|
msgid "an error"
|
||||||
msgstr "ÏÛÉÂËÁ"
|
msgstr "ÏÛÉÂËÁ"
|
||||||
|
|
||||||
#: src/conflicts.c:421
|
#: src/conflicts.c:411
|
||||||
msgid " 1 shift/reduce conflict"
|
#, fuzzy, c-format
|
||||||
msgstr " 1 ËÏÎÆÌÉËÔ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
msgid "%d shift/reduce conflict"
|
||||||
|
msgid_plural "%d shift/reduce conflicts"
|
||||||
|
msgstr[0] " %d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||||
|
|
||||||
#: src/conflicts.c:426
|
#: src/conflicts.c:418
|
||||||
#, c-format
|
#, fuzzy
|
||||||
msgid " %d shift/reduce conflicts"
|
msgid "and"
|
||||||
msgstr " %d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
|
||||||
|
|
||||||
#: src/conflicts.c:432
|
|
||||||
msgid " and"
|
|
||||||
msgstr " É"
|
msgstr " É"
|
||||||
|
|
||||||
#: src/conflicts.c:438
|
#: src/conflicts.c:424
|
||||||
msgid " 1 reduce/reduce conflict"
|
#, fuzzy, c-format
|
||||||
msgstr " 1 ËÏÎÆÌÉËÔ ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
|
msgid "%d reduce/reduce conflict"
|
||||||
|
msgid_plural "%d reduce/reduce conflicts"
|
||||||
|
msgstr[0] " %d ËÏÎÆÌÉËÔÏ× ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
|
||||||
|
|
||||||
#: src/conflicts.c:443
|
#: src/conflicts.c:448
|
||||||
#, c-format
|
#, fuzzy, c-format
|
||||||
msgid " %d reduce/reduce conflicts"
|
msgid "State %d contains "
|
||||||
msgstr " %d ËÏÎÆÌÉËÔÏ× ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
|
|
||||||
|
|
||||||
#: src/conflicts.c:480
|
|
||||||
#, c-format
|
|
||||||
msgid "State %d contains"
|
|
||||||
msgstr "óÏÓÔÏÑÎÉÅ %d ÓÏÄÅÒÖÉÔ"
|
msgstr "óÏÓÔÏÑÎÉÅ %d ÓÏÄÅÒÖÉÔ"
|
||||||
|
|
||||||
#. If invoked with `--yacc', use the output format specified by
|
#. If invoked with `--yacc', use the output format specified by
|
||||||
#. POSIX.
|
#. POSIX.
|
||||||
#: src/conflicts.c:491
|
#: src/conflicts.c:482
|
||||||
msgid "conflicts: "
|
msgid "conflicts: "
|
||||||
msgstr "ËÏÎÆÌÉËÔÙ: "
|
msgstr "ËÏÎÆÌÉËÔÙ: "
|
||||||
|
|
||||||
#: src/conflicts.c:493
|
#: src/conflicts.c:484
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d shift/reduce"
|
msgid " %d shift/reduce"
|
||||||
msgstr " %d ÓÄ×ÉÇ/×Ù×ÏÄ"
|
msgstr " %d ÓÄ×ÉÇ/×Ù×ÏÄ"
|
||||||
|
|
||||||
#: src/conflicts.c:497
|
#: src/conflicts.c:488
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d reduce/reduce"
|
msgid " %d reduce/reduce"
|
||||||
msgstr " %d ×Ù×ÏÄ/×Ù×ÏÄ"
|
msgstr " %d ×Ù×ÏÄ/×Ù×ÏÄ"
|
||||||
|
|
||||||
#: src/conflicts.c:502
|
#: src/conflicts.c:493 src/reduce.c:497
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s contains"
|
msgid "%s contains "
|
||||||
msgstr "%s ÓÏÄÅÒÖÉÔ"
|
msgstr "%s ÓÏÄÅÒÖÉÔ "
|
||||||
|
|
||||||
#: src/conflicts.c:588 src/conflicts.c:709
|
#: src/conflicts.c:502
|
||||||
|
#, fuzzy, c-format
|
||||||
|
msgid "expected %d shift/reduce conflict"
|
||||||
|
msgid_plural "expected %d shift/reduce conflicts"
|
||||||
|
msgstr[0] " %d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||||
|
|
||||||
|
#: src/conflicts.c:589 src/conflicts.c:709
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||||
msgstr " %-4s\t[×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)]\n"
|
msgstr " %-4s\t[×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)]\n"
|
||||||
|
|
||||||
#: src/conflicts.c:600 src/print.c:171
|
#: src/conflicts.c:600 src/print.c:172
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" $default\treduce using rule %d (%s)\n"
|
" $default\treduce using rule %d (%s)\n"
|
||||||
@@ -115,7 +116,7 @@ msgstr ""
|
|||||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||||
msgstr " %-4s\t×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)\n"
|
msgstr " %-4s\t×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)\n"
|
||||||
|
|
||||||
#: src/conflicts.c:730
|
#: src/conflicts.c:729
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $default\treduce using rule %d (%s)\n"
|
msgid " $default\treduce using rule %d (%s)\n"
|
||||||
msgstr " $default\t×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)\n"
|
msgstr " $default\t×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)\n"
|
||||||
@@ -237,7 +238,7 @@ msgstr ""
|
|||||||
"ðòéçïäîïóôé\n"
|
"ðòéçïäîïóôé\n"
|
||||||
"äìñ ïðòåäåìåîîïê ãåìé.\n"
|
"äìñ ïðòåäåìåîîïê ãåìé.\n"
|
||||||
|
|
||||||
#: src/getargs.c:215 src/lex.c:693
|
#: src/getargs.c:215 src/lex.c:694
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is no longer supported"
|
msgid "`%s' is no longer supported"
|
||||||
msgstr "`%s' ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
|
msgstr "`%s' ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
|
||||||
@@ -305,17 +306,17 @@ msgstr "
|
|||||||
msgid "use \"...\" for multi-character literal tokens"
|
msgid "use \"...\" for multi-character literal tokens"
|
||||||
msgstr "ÉÓÐÏÌØÚÕÊÔÅ \"...\" ÄÌÑ ÍÎÏÇÏÓÉÍ×ÏÌØÎÙÈ ÌÉÔÅÒÁÌØÎÙÈ ÌÅËÓÅÍ"
|
msgstr "ÉÓÐÏÌØÚÕÊÔÅ \"...\" ÄÌÑ ÍÎÏÇÏÓÉÍ×ÏÌØÎÙÈ ÌÉÔÅÒÁÌØÎÙÈ ÌÅËÓÅÍ"
|
||||||
|
|
||||||
#: src/lex.c:666
|
#: src/lex.c:667
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' supports no argument: %s"
|
msgid "`%s' supports no argument: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/lex.c:682
|
#: src/lex.c:683
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "`%s' requires an argument"
|
msgid "`%s' requires an argument"
|
||||||
msgstr "%s: ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ\n"
|
msgstr "%s: ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ\n"
|
||||||
|
|
||||||
#: src/main.c:125
|
#: src/main.c:128
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: internal error: %s\n"
|
msgid "%s: internal error: %s\n"
|
||||||
msgstr "%s: ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ: %s\n"
|
msgstr "%s: ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ: %s\n"
|
||||||
@@ -329,77 +330,77 @@ msgstr "
|
|||||||
msgid "maximum table size (%d) exceeded"
|
msgid "maximum table size (%d) exceeded"
|
||||||
msgstr "ÐÒÅ×ÙÛÅÎ ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ (%d)"
|
msgstr "ÐÒÅ×ÙÛÅÎ ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ (%d)"
|
||||||
|
|
||||||
#: src/print.c:37
|
#: src/print.c:38
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " type %d is %s\n"
|
msgid " type %d is %s\n"
|
||||||
msgstr " ÔÉÐ %d Ñ×ÌÑÅÔÓÑ %s\n"
|
msgstr " ÔÉÐ %d Ñ×ÌÑÅÔÓÑ %s\n"
|
||||||
|
|
||||||
#: src/print.c:85
|
#: src/print.c:86
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " (rule %d)"
|
msgid " (rule %d)"
|
||||||
msgstr " (ÐÒÁ×ÉÌÏ %d)"
|
msgstr " (ÐÒÁ×ÉÌÏ %d)"
|
||||||
|
|
||||||
#: src/print.c:111
|
#: src/print.c:112
|
||||||
msgid " $default\taccept\n"
|
msgid " $default\taccept\n"
|
||||||
msgstr " $default\tÐÒÉÎÑÔÉÅ\n"
|
msgstr " $default\tÐÒÉÎÑÔÉÅ\n"
|
||||||
|
|
||||||
#: src/print.c:113
|
#: src/print.c:114
|
||||||
msgid " NO ACTIONS\n"
|
msgid " NO ACTIONS\n"
|
||||||
msgstr " îåô äåêóô÷éê\n"
|
msgstr " îåô äåêóô÷éê\n"
|
||||||
|
|
||||||
#: src/print.c:132
|
#: src/print.c:133
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $ \tgo to state %d\n"
|
msgid " $ \tgo to state %d\n"
|
||||||
msgstr " $ \tÐÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
|
msgstr " $ \tÐÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
|
||||||
|
|
||||||
#: src/print.c:135
|
#: src/print.c:136
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tshift, and go to state %d\n"
|
msgid " %-4s\tshift, and go to state %d\n"
|
||||||
msgstr " %-4s\tÓÄ×ÉÇ, É ÐÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
|
msgstr " %-4s\tÓÄ×ÉÇ, É ÐÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
|
||||||
|
|
||||||
#: src/print.c:159
|
#: src/print.c:160
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\terror (nonassociative)\n"
|
msgid " %-4s\terror (nonassociative)\n"
|
||||||
msgstr " %-4s\tÏÛÉÂËÁ (ÎÅÁÓÓÏÃÉÁÔÉ×ÎÁÑ)\n"
|
msgstr " %-4s\tÏÛÉÂËÁ (ÎÅÁÓÓÏÃÉÁÔÉ×ÎÁÑ)\n"
|
||||||
|
|
||||||
#: src/print.c:187
|
#: src/print.c:188
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tgo to state %d\n"
|
msgid " %-4s\tgo to state %d\n"
|
||||||
msgstr " %-4s\tÐÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
|
msgstr " %-4s\tÐÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
|
||||||
|
|
||||||
#: src/print.c:199
|
#: src/print.c:200
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "state %d"
|
msgid "state %d"
|
||||||
msgstr "ÓÏÓÔÏÑÎÉÅ %d"
|
msgstr "ÓÏÓÔÏÑÎÉÅ %d"
|
||||||
|
|
||||||
#. rule # : LHS -> RHS
|
#. rule # : LHS -> RHS
|
||||||
#: src/print.c:229
|
#: src/print.c:230
|
||||||
msgid "Grammar"
|
msgid "Grammar"
|
||||||
msgstr "çÒÁÍÍÁÔÉËÁ"
|
msgstr "çÒÁÍÍÁÔÉËÁ"
|
||||||
|
|
||||||
#: src/print.c:234
|
#: src/print.c:235
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule %-4d %s ->"
|
msgid "rule %-4d %s ->"
|
||||||
msgstr "ÐÒÁ×ÉÌÏ %-4d %s ->"
|
msgstr "ÐÒÁ×ÉÌÏ %-4d %s ->"
|
||||||
|
|
||||||
#: src/print.c:240
|
#: src/print.c:241
|
||||||
msgid "empty"
|
msgid "empty"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. TERMINAL (type #) : rule #s terminal is on RHS
|
#. TERMINAL (type #) : rule #s terminal is on RHS
|
||||||
#: src/print.c:244
|
#: src/print.c:246
|
||||||
msgid "Terminals, with rules where they appear"
|
msgid "Terminals, with rules where they appear"
|
||||||
msgstr "ôÅÒÍÉÎÁÌØÎÙÅ ÓÉÍ×ÏÌÙ Ó ÐÒÁ×ÉÌÁÍÉ, × ËÏÔÏÒÙÈ ÏÎÉ ÐÏÑ×ÌÑÀÔÓÑ"
|
msgstr "ôÅÒÍÉÎÁÌØÎÙÅ ÓÉÍ×ÏÌÙ Ó ÐÒÁ×ÉÌÁÍÉ, × ËÏÔÏÒÙÈ ÏÎÉ ÐÏÑ×ÌÑÀÔÓÑ"
|
||||||
|
|
||||||
#: src/print.c:268
|
#: src/print.c:270
|
||||||
msgid "Nonterminals, with rules where they appear"
|
msgid "Nonterminals, with rules where they appear"
|
||||||
msgstr "îÅÔÅÒÍÉÎÁÌØÎÙÅ ÓÉÍ×ÏÌÙ Ó ÐÒÁ×ÉÌÁÍÉ, × ËÏÔÏÒÙÈ ÏÎÉ ÐÏÑ×ÌÑÀÔÓÑ"
|
msgstr "îÅÔÅÒÍÉÎÁÌØÎÙÅ ÓÉÍ×ÏÌÙ Ó ÐÒÁ×ÉÌÁÍÉ, × ËÏÔÏÒÙÈ ÏÎÉ ÐÏÑ×ÌÑÀÔÓÑ"
|
||||||
|
|
||||||
#: src/print.c:294
|
#: src/print.c:296
|
||||||
msgid " on left:"
|
msgid " on left:"
|
||||||
msgstr " ÎÁÌÅ×Ï:"
|
msgstr " ÎÁÌÅ×Ï:"
|
||||||
|
|
||||||
#: src/print.c:309
|
#: src/print.c:311
|
||||||
msgid " on right:"
|
msgid " on right:"
|
||||||
msgstr " ÎÁÐÒÁ×Ï:"
|
msgstr " ÎÁÐÒÁ×Ï:"
|
||||||
|
|
||||||
@@ -636,19 +637,19 @@ msgstr "
|
|||||||
msgid "the start symbol %s is a token"
|
msgid "the start symbol %s is a token"
|
||||||
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
|
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
|
||||||
|
|
||||||
#: src/reduce.c:401
|
#: src/reduce.c:405
|
||||||
msgid "Useless nonterminals:"
|
msgid "Useless nonterminals:"
|
||||||
msgstr "âÅÓÐÏÌÅÚÎÙÅ ÎÅÔÅÒÍÉÎÁÌÙ:"
|
msgstr "âÅÓÐÏÌÅÚÎÙÅ ÎÅÔÅÒÍÉÎÁÌÙ:"
|
||||||
|
|
||||||
#: src/reduce.c:416
|
#: src/reduce.c:419
|
||||||
msgid "Terminals which are not used:"
|
msgid "Terminals which are not used:"
|
||||||
msgstr "îÅÉÓÐÏÌØÚÏ×ÁÎÎÙÅ ÔÅÒÍÉÎÁÌÙ:"
|
msgstr "îÅÉÓÐÏÌØÚÏ×ÁÎÎÙÅ ÔÅÒÍÉÎÁÌÙ:"
|
||||||
|
|
||||||
#: src/reduce.c:427
|
#: src/reduce.c:430
|
||||||
msgid "Useless rules:"
|
msgid "Useless rules:"
|
||||||
msgstr "âÅÓÐÏÌÅÚÎÙÅ ÐÒÁ×ÉÌÁ:"
|
msgstr "âÅÓÐÏÌÅÚÎÙÅ ÐÒÁ×ÉÌÁ:"
|
||||||
|
|
||||||
#: src/reduce.c:456
|
#: src/reduce.c:458
|
||||||
msgid ""
|
msgid ""
|
||||||
"Variables\n"
|
"Variables\n"
|
||||||
"---------\n"
|
"---------\n"
|
||||||
@@ -658,7 +659,7 @@ msgstr ""
|
|||||||
"----------\n"
|
"----------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:458
|
#: src/reduce.c:459
|
||||||
msgid "Value Sprec Sassoc Tag\n"
|
msgid "Value Sprec Sassoc Tag\n"
|
||||||
msgstr "úÎÁÞ ðÒÉÏÒ áÓÓÏÃ ôÅÇ\n"
|
msgstr "úÎÁÞ ðÒÉÏÒ áÓÓÏÃ ôÅÇ\n"
|
||||||
|
|
||||||
@@ -672,7 +673,7 @@ msgstr ""
|
|||||||
"-------\n"
|
"-------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:474
|
#: src/reduce.c:473
|
||||||
msgid ""
|
msgid ""
|
||||||
"Rules interpreted\n"
|
"Rules interpreted\n"
|
||||||
"-----------------\n"
|
"-----------------\n"
|
||||||
@@ -682,36 +683,31 @@ msgstr ""
|
|||||||
"--------------------------\n"
|
"--------------------------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:491
|
#: src/reduce.c:495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d rules never reduced\n"
|
msgid "%d rules never reduced\n"
|
||||||
msgstr "%d ÐÒÁ×ÉÌ ÎÅ Ó×ÅÄÅÎÏ\n"
|
msgstr "%d ÐÒÁ×ÉÌ ÎÅ Ó×ÅÄÅÎÏ\n"
|
||||||
|
|
||||||
#: src/reduce.c:493
|
#: src/reduce.c:501
|
||||||
#, c-format
|
|
||||||
msgid "%s contains "
|
|
||||||
msgstr "%s ÓÏÄÅÒÖÉÔ "
|
|
||||||
|
|
||||||
#: src/reduce.c:497
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless nonterminal%s"
|
msgid "%d useless nonterminal%s"
|
||||||
msgstr "%d ÂÅÓÐÏÌÅÚÎÙÈ ÎÅÔÅÒÍÉÎÁÌÏ×%s"
|
msgstr "%d ÂÅÓÐÏÌÅÚÎÙÈ ÎÅÔÅÒÍÉÎÁÌÏ×%s"
|
||||||
|
|
||||||
#: src/reduce.c:502
|
#: src/reduce.c:506
|
||||||
msgid " and "
|
msgid " and "
|
||||||
msgstr " É "
|
msgstr " É "
|
||||||
|
|
||||||
#: src/reduce.c:506
|
#: src/reduce.c:510
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless rule%s"
|
msgid "%d useless rule%s"
|
||||||
msgstr "%d ÂÅÓÐÏÌÅÚÎÙÈ ÐÒÁ×ÉÌ%s"
|
msgstr "%d ÂÅÓÐÏÌÅÚÎÙÈ ÐÒÁ×ÉÌ%s"
|
||||||
|
|
||||||
#: src/reduce.c:539
|
#: src/reduce.c:540
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "îÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅ ×Ù×ÏÄÉÔ ÎÉ ÏÄÎÏÇÏ ÐÒÅÄÌÏÖÅÎÉÑ"
|
msgstr "îÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅ ×Ù×ÏÄÉÔ ÎÉ ÏÄÎÏÇÏ ÐÒÅÄÌÏÖÅÎÉÑ"
|
||||||
|
|
||||||
#: src/reduce.c:552
|
#: src/reduce.c:553
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
||||||
@@ -806,6 +802,15 @@ msgstr "`"
|
|||||||
msgid "'"
|
msgid "'"
|
||||||
msgstr "'"
|
msgstr "'"
|
||||||
|
|
||||||
|
#~ msgid " 1 shift/reduce conflict"
|
||||||
|
#~ msgstr " 1 ËÏÎÆÌÉËÔ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||||
|
|
||||||
|
#~ msgid " 1 reduce/reduce conflict"
|
||||||
|
#~ msgstr " 1 ËÏÎÆÌÉËÔ ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
|
||||||
|
|
||||||
|
#~ msgid "%s contains"
|
||||||
|
#~ msgstr "%s ÓÏÄÅÒÖÉÔ"
|
||||||
|
|
||||||
#~ msgid "\t\t/* empty */"
|
#~ msgid "\t\t/* empty */"
|
||||||
#~ msgstr "\t\t/* ÐÕÓÔÏ */"
|
#~ msgstr "\t\t/* ÐÕÓÔÏ */"
|
||||||
|
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bison 1.28c\n"
|
"Project-Id-Version: bison 1.30\n"
|
||||||
"POT-Creation-Date: 2001-11-05 11:08+0100\n"
|
"POT-Creation-Date: 2001-11-14 15:59+0100\n"
|
||||||
"PO-Revision-Date: 2001-09-10 10:54GMT\n"
|
"PO-Revision-Date: 2001-11-02 14:49GMT\n"
|
||||||
"Last-Translator: Altug Bayram <[email protected]>\n"
|
"Last-Translator: Altug Bayram <[email protected]>\n"
|
||||||
"Language-Team: Turkish <[email protected]>\n"
|
"Language-Team: Turkish <[email protected]>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@@ -31,79 +31,80 @@ msgstr "uyar
|
|||||||
msgid "fatal error: "
|
msgid "fatal error: "
|
||||||
msgstr "ölümcül hata:"
|
msgstr "ölümcül hata:"
|
||||||
|
|
||||||
#: src/conflicts.c:48
|
#: src/conflicts.c:45
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%d durumu içinde %d kuralý ve %s andaçý arasýndaki çeliþki %s "
|
"%d durumu içinde %d kuralý ve %s andaçý arasýndaki çeliþki %s "
|
||||||
"olarakçözümlendi.\n"
|
"olarakçözümlendi.\n"
|
||||||
|
|
||||||
#: src/conflicts.c:114 src/conflicts.c:137
|
#: src/conflicts.c:111 src/conflicts.c:134
|
||||||
msgid "reduce"
|
msgid "reduce"
|
||||||
msgstr "indirgeme"
|
msgstr "indirgeme"
|
||||||
|
|
||||||
#: src/conflicts.c:120 src/conflicts.c:133
|
#: src/conflicts.c:117 src/conflicts.c:130
|
||||||
msgid "shift"
|
msgid "shift"
|
||||||
msgstr "öteleme"
|
msgstr "öteleme"
|
||||||
|
|
||||||
#: src/conflicts.c:141
|
#: src/conflicts.c:138
|
||||||
msgid "an error"
|
msgid "an error"
|
||||||
msgstr "bir hata"
|
msgstr "bir hata"
|
||||||
|
|
||||||
#: src/conflicts.c:421
|
#: src/conflicts.c:411
|
||||||
msgid " 1 shift/reduce conflict"
|
#, fuzzy, c-format
|
||||||
msgstr " 1 öteleme/indirgeme çeliþkisi"
|
msgid "%d shift/reduce conflict"
|
||||||
|
msgid_plural "%d shift/reduce conflicts"
|
||||||
|
msgstr[0] " %d öteleme/indirgeme çeliþkisi"
|
||||||
|
|
||||||
#: src/conflicts.c:426
|
#: src/conflicts.c:418
|
||||||
#, c-format
|
#, fuzzy
|
||||||
msgid " %d shift/reduce conflicts"
|
msgid "and"
|
||||||
msgstr " %d öteleme/indirgeme çeliþkisi"
|
|
||||||
|
|
||||||
#: src/conflicts.c:432
|
|
||||||
msgid " and"
|
|
||||||
msgstr " ve"
|
msgstr " ve"
|
||||||
|
|
||||||
#: src/conflicts.c:438
|
#: src/conflicts.c:424
|
||||||
msgid " 1 reduce/reduce conflict"
|
#, fuzzy, c-format
|
||||||
msgstr " 1 indirgeme/indirgeme çeliþkisi"
|
msgid "%d reduce/reduce conflict"
|
||||||
|
msgid_plural "%d reduce/reduce conflicts"
|
||||||
|
msgstr[0] " %d indirgeme/indirgeme çeliþkisi"
|
||||||
|
|
||||||
#: src/conflicts.c:443
|
#: src/conflicts.c:448
|
||||||
#, c-format
|
#, fuzzy, c-format
|
||||||
msgid " %d reduce/reduce conflicts"
|
msgid "State %d contains "
|
||||||
msgstr " %d indirgeme/indirgeme çeliþkisi"
|
|
||||||
|
|
||||||
#: src/conflicts.c:480
|
|
||||||
#, c-format
|
|
||||||
msgid "State %d contains"
|
|
||||||
msgstr "%d durumu içerir"
|
msgstr "%d durumu içerir"
|
||||||
|
|
||||||
#. If invoked with `--yacc', use the output format specified by
|
#. If invoked with `--yacc', use the output format specified by
|
||||||
#. POSIX.
|
#. POSIX.
|
||||||
#: src/conflicts.c:491
|
#: src/conflicts.c:482
|
||||||
msgid "conflicts: "
|
msgid "conflicts: "
|
||||||
msgstr "çeliþkiler: "
|
msgstr "çeliþkiler: "
|
||||||
|
|
||||||
#: src/conflicts.c:493
|
#: src/conflicts.c:484
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d shift/reduce"
|
msgid " %d shift/reduce"
|
||||||
msgstr " %d öteleme/indirgeme"
|
msgstr " %d öteleme/indirgeme"
|
||||||
|
|
||||||
#: src/conflicts.c:497
|
#: src/conflicts.c:488
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d reduce/reduce"
|
msgid " %d reduce/reduce"
|
||||||
msgstr " %d indirgeme/indirgeme"
|
msgstr " %d indirgeme/indirgeme"
|
||||||
|
|
||||||
#: src/conflicts.c:502
|
#: src/conflicts.c:493 src/reduce.c:497
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s contains"
|
msgid "%s contains "
|
||||||
msgstr "%s içerir"
|
msgstr "%s içerir "
|
||||||
|
|
||||||
#: src/conflicts.c:588 src/conflicts.c:709
|
#: src/conflicts.c:502
|
||||||
|
#, fuzzy, c-format
|
||||||
|
msgid "expected %d shift/reduce conflict"
|
||||||
|
msgid_plural "expected %d shift/reduce conflicts"
|
||||||
|
msgstr[0] " %d öteleme/indirgeme çeliþkisi"
|
||||||
|
|
||||||
|
#: src/conflicts.c:589 src/conflicts.c:709
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||||
msgstr " %-4s\t[indirgeme kural %d (%s)'i kullanýyor]\n"
|
msgstr " %-4s\t[indirgeme kural %d (%s)'i kullanýyor]\n"
|
||||||
|
|
||||||
#: src/conflicts.c:600 src/print.c:171
|
#: src/conflicts.c:600 src/print.c:172
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" $default\treduce using rule %d (%s)\n"
|
" $default\treduce using rule %d (%s)\n"
|
||||||
@@ -117,7 +118,7 @@ msgstr ""
|
|||||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||||
msgstr " %-4s\tindirgeme kural %d (%s)'i kullanýyor\n"
|
msgstr " %-4s\tindirgeme kural %d (%s)'i kullanýyor\n"
|
||||||
|
|
||||||
#: src/conflicts.c:730
|
#: src/conflicts.c:729
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $default\treduce using rule %d (%s)\n"
|
msgid " $default\treduce using rule %d (%s)\n"
|
||||||
msgstr " $default\tindirgeme kural %d (%s)'i kullanýyor\n"
|
msgstr " $default\tindirgeme kural %d (%s)'i kullanýyor\n"
|
||||||
@@ -156,9 +157,10 @@ msgid ""
|
|||||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
"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"
|
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Eðer bir uzun seçenek bir argümaný gerektirirse, bu gereklilik, denk olan\n"
|
"Eðer bir uzun seçenek bir baðýmsýz deðiþkeni zorunlu gibi gösterilirse odenk "
|
||||||
"kýsa seçenek için de geçerlidir. Bu durum, seçimli argümanlar için de\n"
|
"kýsa\n"
|
||||||
"geçerlidir.\n"
|
"seçenek için dahi zorunludur. Seçimli baðýmsýz deðiþkenler için "
|
||||||
|
"benzerþekildedir.\n"
|
||||||
|
|
||||||
#: src/getargs.c:98
|
#: src/getargs.c:98
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -167,7 +169,6 @@ msgid ""
|
|||||||
" -V, --version output version information and exit\n"
|
" -V, --version output version information and exit\n"
|
||||||
" -y, --yacc emulate POSIX yacc\n"
|
" -y, --yacc emulate POSIX yacc\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Çalýþma kipleri:\n"
|
|
||||||
" -h, --help bu yardýmý göster ve çýk\n"
|
" -h, --help bu yardýmý göster ve çýk\n"
|
||||||
" -V, --version sürüm bilgisini ver ve çýk\n"
|
" -V, --version sürüm bilgisini ver ve çýk\n"
|
||||||
" -y, --yacc POSIX yacc öykünmesi\n"
|
" -y, --yacc POSIX yacc öykünmesi\n"
|
||||||
@@ -184,13 +185,13 @@ msgid ""
|
|||||||
" -k, --token-table include a table of token names\n"
|
" -k, --token-table include a table of token names\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Ayrýþtýrýcý:\n"
|
"Ayrýþtýrýcý:\n"
|
||||||
" -S, --skeleton=DOSYA kullanýlacak iskeleti belirler\n"
|
" -S, --skeleton=FILE kullanýlacak iskeleti belirle\n"
|
||||||
" -t, --debug ayrýþtýrýcý için hata ayýklayýcý aracý\n"
|
" -t, --debug ayrýþtýrýcý için hata ayýklayýcý aracý\n"
|
||||||
" --locations konum hesaplamalarýný etkinleþtirir\n"
|
" --locations konum hesaplamalarýný etkinleþtir\n"
|
||||||
" -p, --name-prefix=ÖNEK dýþ simgelere eklenen ÖNEK\n"
|
" -p, --name-prefix=PREFIX dýþ simgelere hazýr bekletilen ÖNEK\n"
|
||||||
" -l, --no-lines `#line' bildirimlerini üretmez\n"
|
" -l, --no-lines `#line' bildirimlerini üretme\n"
|
||||||
" -n, --no-parser sadece tablolarý üretir\n"
|
" -n, --no-parser sadece tablolarý üret\n"
|
||||||
" -k, --token-table andaç isimlerinin bir tablosunu içerir\n"
|
" -k, --token-table andaç isimlerinin bir tablosunu içer\n"
|
||||||
|
|
||||||
#: src/getargs.c:117
|
#: src/getargs.c:117
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@@ -208,12 +209,11 @@ msgstr ""
|
|||||||
" -v, --verbose otomatýn bir açýklamasýný da üretir\n"
|
" -v, --verbose otomatýn bir açýklamasýný da üretir\n"
|
||||||
" -b, --file-prefix=ÖNEK çýktý dosyalarý için bir ÖNEK belirtir\n"
|
" -b, --file-prefix=ÖNEK çýktý dosyalarý için bir ÖNEK belirtir\n"
|
||||||
" -o, --output-file=DOSYA çýktýyý DOSYAYA býrakýr\n"
|
" -o, --output-file=DOSYA çýktýyý DOSYAYA býrakýr\n"
|
||||||
|
" -g, --graph otomatýn bir VCG grafik açýklamasýný da üretir\n"
|
||||||
|
|
||||||
#: src/getargs.c:127
|
#: src/getargs.c:127
|
||||||
msgid "Report bugs to <[email protected]>.\n"
|
msgid "Report bugs to <[email protected]>.\n"
|
||||||
msgstr ""
|
msgstr "Hatalarý <[email protected]>'a bildir.\n"
|
||||||
"Hatalarý <[email protected]>'a,\n"
|
|
||||||
"çeviri hatalarýný <[email protected]>'e bildir.\n"
|
|
||||||
|
|
||||||
#. Some efforts were made to ease the translators' task, please
|
#. Some efforts were made to ease the translators' task, please
|
||||||
#. continue.
|
#. continue.
|
||||||
@@ -226,7 +226,7 @@ msgstr "bison (GNU Bison) %s"
|
|||||||
msgid ""
|
msgid ""
|
||||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Telifhakký 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, "
|
"Kopyahakký 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, "
|
||||||
"Inc.\n"
|
"Inc.\n"
|
||||||
|
|
||||||
#: src/getargs.c:150
|
#: src/getargs.c:150
|
||||||
@@ -235,13 +235,13 @@ msgid ""
|
|||||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Bu bir serbest yazýlýmdýr; kopyalama koþullarý için kaynak koduna bakýnýz.\n"
|
"Bu bir serbest yazýlýmdýr; kopyalama koþullarý için kaynak koduna bakýnýz.\n"
|
||||||
"Hiçbir garantisi yoktur; hatta SATILABÝLÝRLÝÐÝ veya HERHANGÝ BÝR AMACA\n"
|
"Hiçbir garantisi yoktur; hatta SATILABÝLÝRLÝÐÝ veya ÞAHSÝ KULLANIMINIZA\n"
|
||||||
"UYGUNLUÐU için bile garanti verilmez.\n"
|
"UYGUNLUÐU için bile garanti verilmez.\n"
|
||||||
|
|
||||||
#: src/getargs.c:215 src/lex.c:693
|
#: src/getargs.c:215 src/lex.c:694
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is no longer supported"
|
msgid "`%s' is no longer supported"
|
||||||
msgstr "`%s' artýk desteklenmiyor"
|
msgstr "`%s' artýk desteklenmeyecek"
|
||||||
|
|
||||||
#: src/getargs.c:239
|
#: src/getargs.c:239
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -251,12 +251,12 @@ msgstr "Daha fazla bilgi i
|
|||||||
#: src/getargs.c:246
|
#: src/getargs.c:246
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: no grammar file given\n"
|
msgid "%s: no grammar file given\n"
|
||||||
msgstr "%s: gramer dosyasý verilmemiþ\n"
|
msgstr "%s: verilen gramer dosyasý yok\n"
|
||||||
|
|
||||||
#: src/getargs.c:250
|
#: src/getargs.c:250
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: extra arguments ignored after `%s'\n"
|
msgid "%s: extra arguments ignored after `%s'\n"
|
||||||
msgstr "%s: '%s' den sonraki argümanlar yoksayýldý\n"
|
msgstr "%s: '%s' den sonraki ek baðýmsýz deðiþkenler yoksayýldý\n"
|
||||||
|
|
||||||
#: src/lalr.c:311
|
#: src/lalr.c:311
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -277,7 +277,7 @@ msgstr "beklenmeyen dosya sonu"
|
|||||||
|
|
||||||
#: src/lex.c:166
|
#: src/lex.c:166
|
||||||
msgid "unescaped newline in constant"
|
msgid "unescaped newline in constant"
|
||||||
msgstr "sabit içinde kaçýþsýz yeni satýr"
|
msgstr "sabit içinde kaçamayan yeni satýr"
|
||||||
|
|
||||||
#: src/lex.c:208
|
#: src/lex.c:208
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -296,7 +296,7 @@ msgstr "bilinmeyen ka
|
|||||||
|
|
||||||
#: src/lex.c:342
|
#: src/lex.c:342
|
||||||
msgid "unterminated type name at end of file"
|
msgid "unterminated type name at end of file"
|
||||||
msgstr "dosya sonunda sonlandýrýlmamýþ tip adý"
|
msgstr "dosyanýn sonunda sonlandýrýlmamýþ tip adý"
|
||||||
|
|
||||||
#: src/lex.c:345
|
#: src/lex.c:345
|
||||||
msgid "unterminated type name"
|
msgid "unterminated type name"
|
||||||
@@ -304,19 +304,19 @@ msgstr "sonland
|
|||||||
|
|
||||||
#: src/lex.c:438
|
#: src/lex.c:438
|
||||||
msgid "use \"...\" for multi-character literal tokens"
|
msgid "use \"...\" for multi-character literal tokens"
|
||||||
msgstr "çok-karakterli yazýn andaçlarý için \"...\" kullan"
|
msgstr "cok-karakterli yazýn andaçlarý için \"...\" kullan"
|
||||||
|
|
||||||
#: src/lex.c:666
|
#: src/lex.c:667
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' supports no argument: %s"
|
msgid "`%s' supports no argument: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/lex.c:682
|
#: src/lex.c:683
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "`%s' requires an argument"
|
msgid "`%s' requires an argument"
|
||||||
msgstr "%s: `%s' seçeneði bir argümanla kullanýlýr\n"
|
msgstr "%s: `%s' seçeneði bir argümanla kullanýlýr\n"
|
||||||
|
|
||||||
#: src/main.c:125
|
#: src/main.c:128
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: internal error: %s\n"
|
msgid "%s: internal error: %s\n"
|
||||||
msgstr "%s: iç hata: %s\n"
|
msgstr "%s: iç hata: %s\n"
|
||||||
@@ -330,77 +330,77 @@ msgstr "set_nullable'a girildi"
|
|||||||
msgid "maximum table size (%d) exceeded"
|
msgid "maximum table size (%d) exceeded"
|
||||||
msgstr "en büyük tablo uzunluðu (%d) aþýldý"
|
msgstr "en büyük tablo uzunluðu (%d) aþýldý"
|
||||||
|
|
||||||
#: src/print.c:37
|
#: src/print.c:38
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " type %d is %s\n"
|
msgid " type %d is %s\n"
|
||||||
msgstr " tip %d %s'dir\n"
|
msgstr " tip %d %s'dir\n"
|
||||||
|
|
||||||
#: src/print.c:85
|
#: src/print.c:86
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " (rule %d)"
|
msgid " (rule %d)"
|
||||||
msgstr " (kural %d)"
|
msgstr " (kural %d)"
|
||||||
|
|
||||||
#: src/print.c:111
|
#: src/print.c:112
|
||||||
msgid " $default\taccept\n"
|
msgid " $default\taccept\n"
|
||||||
msgstr " $default\tonayla\n"
|
msgstr " $default\tonayla\n"
|
||||||
|
|
||||||
#: src/print.c:113
|
#: src/print.c:114
|
||||||
msgid " NO ACTIONS\n"
|
msgid " NO ACTIONS\n"
|
||||||
msgstr " EYLEM YOK\n"
|
msgstr " EYLEMLER YOK\n"
|
||||||
|
|
||||||
#: src/print.c:132
|
#: src/print.c:133
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $ \tgo to state %d\n"
|
msgid " $ \tgo to state %d\n"
|
||||||
msgstr " $ \tdurum %d'ye git\n"
|
msgstr " $ \tdurum %d'ye git\n"
|
||||||
|
|
||||||
#: src/print.c:135
|
#: src/print.c:136
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tshift, and go to state %d\n"
|
msgid " %-4s\tshift, and go to state %d\n"
|
||||||
msgstr " %-4s\tötele, ve durum %d'ye git\n"
|
msgstr " %-4s\tötele, ve durum %d'ye git\n"
|
||||||
|
|
||||||
#: src/print.c:159
|
#: src/print.c:160
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\terror (nonassociative)\n"
|
msgid " %-4s\terror (nonassociative)\n"
|
||||||
msgstr " %-4s\thata (birleþmeli deðil)\n"
|
msgstr " %-4s\thata (birleþmeli deðil)\n"
|
||||||
|
|
||||||
#: src/print.c:187
|
#: src/print.c:188
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tgo to state %d\n"
|
msgid " %-4s\tgo to state %d\n"
|
||||||
msgstr " %-4s\tdurum %d'ye git\n"
|
msgstr " %-4s\tdurum %d'ye git\n"
|
||||||
|
|
||||||
#: src/print.c:199
|
#: src/print.c:200
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "state %d"
|
msgid "state %d"
|
||||||
msgstr "durum %d"
|
msgstr "durum %d"
|
||||||
|
|
||||||
#. rule # : LHS -> RHS
|
#. rule # : LHS -> RHS
|
||||||
#: src/print.c:229
|
#: src/print.c:230
|
||||||
msgid "Grammar"
|
msgid "Grammar"
|
||||||
msgstr "Gramer"
|
msgstr "Gramer"
|
||||||
|
|
||||||
#: src/print.c:234
|
#: src/print.c:235
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule %-4d %s ->"
|
msgid "rule %-4d %s ->"
|
||||||
msgstr "kural %-4d %s ->"
|
msgstr "kural %-4d %s ->"
|
||||||
|
|
||||||
#: src/print.c:240
|
#: src/print.c:241
|
||||||
msgid "empty"
|
msgid "empty"
|
||||||
msgstr ""
|
msgstr "boþ"
|
||||||
|
|
||||||
#. TERMINAL (type #) : rule #s terminal is on RHS
|
#. TERMINAL (type #) : rule #s terminal is on RHS
|
||||||
#: src/print.c:244
|
#: src/print.c:246
|
||||||
msgid "Terminals, with rules where they appear"
|
msgid "Terminals, with rules where they appear"
|
||||||
msgstr "Sabit simgeler, kurallarýnýn bulunduklarý yerde"
|
msgstr "Sabit simgeler, kurallarýnýn bulunduklarý yerde"
|
||||||
|
|
||||||
#: src/print.c:268
|
#: src/print.c:270
|
||||||
msgid "Nonterminals, with rules where they appear"
|
msgid "Nonterminals, with rules where they appear"
|
||||||
msgstr "Deðiþken simgeler, kurallarýnýn bulunduklarý yerde"
|
msgstr "Deðiþken simgeler, kurallarýnýn bulunduklarý yerde"
|
||||||
|
|
||||||
#: src/print.c:294
|
#: src/print.c:296
|
||||||
msgid " on left:"
|
msgid " on left:"
|
||||||
msgstr " solda:"
|
msgstr " solda:"
|
||||||
|
|
||||||
#: src/print.c:309
|
#: src/print.c:311
|
||||||
msgid " on right:"
|
msgid " on right:"
|
||||||
msgstr " saðda:"
|
msgstr " saðda:"
|
||||||
|
|
||||||
@@ -462,12 +462,12 @@ msgstr "%s'den sonra erken EOF"
|
|||||||
#: src/reader.c:498
|
#: src/reader.c:498
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' used more than once as a literal string"
|
msgid "symbol `%s' used more than once as a literal string"
|
||||||
msgstr "simge `%s' birden fazla defa sabit dizge olarak kullanýldý"
|
msgstr "simge `%s' bir harfiyen uyumlu dizgi gibi birden fazla kullanýldý"
|
||||||
|
|
||||||
#: src/reader.c:501
|
#: src/reader.c:501
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' given more than one literal string"
|
msgid "symbol `%s' given more than one literal string"
|
||||||
msgstr "`%s' simgesine birden fazla sabit dizge verilmiþ"
|
msgstr "simge `%s' bir harfiyen uyumlu dizgi gibi birden fazla verilmiþ"
|
||||||
|
|
||||||
#: src/reader.c:522 src/reader.c:664
|
#: src/reader.c:522 src/reader.c:664
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -501,7 +501,7 @@ msgstr "%type bildirimi <tipad
|
|||||||
#: src/reader.c:615
|
#: src/reader.c:615
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid %%type declaration due to item: %s"
|
msgid "invalid %%type declaration due to item: %s"
|
||||||
msgstr "geçersiz %%type bildirimine neden olan öðe: %s"
|
msgstr "geçersiz %%type bildirimine neden olan öðe: `%s'"
|
||||||
|
|
||||||
#: src/reader.c:660
|
#: src/reader.c:660
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -526,7 +526,7 @@ msgstr "e
|
|||||||
#: src/reader.c:798
|
#: src/reader.c:798
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "argument of %%expect is not an integer"
|
msgid "argument of %%expect is not an integer"
|
||||||
msgstr "%%expect'in argümaný bir tamsayý deðil"
|
msgstr "%%expect'in baðýmsýz deðiþkeni bir tamsayý deðildir"
|
||||||
|
|
||||||
#: src/reader.c:844
|
#: src/reader.c:844
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -536,7 +536,7 @@ msgstr "%s
|
|||||||
#: src/reader.c:866
|
#: src/reader.c:866
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "expected string constant instead of %s"
|
msgid "expected string constant instead of %s"
|
||||||
msgstr "%s'in yerine sabit dizge beklendi"
|
msgstr "%s'in yerine beklenen dizgi sabitidir"
|
||||||
|
|
||||||
#: src/reader.c:1014
|
#: src/reader.c:1014
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -559,7 +559,7 @@ msgstr "sonland
|
|||||||
|
|
||||||
#: src/reader.c:1359
|
#: src/reader.c:1359
|
||||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||||
msgstr "kötü-biçemli kural: baþlangýç simgesini takip eden \":\" yok"
|
msgstr "kötü-biçimli kural: baþlangýç simgesini takip eden kolon(:) yok"
|
||||||
|
|
||||||
#: src/reader.c:1366
|
#: src/reader.c:1366
|
||||||
msgid "grammar starts with vertical bar"
|
msgid "grammar starts with vertical bar"
|
||||||
@@ -590,7 +590,8 @@ msgstr "
|
|||||||
|
|
||||||
#: src/reader.c:1536
|
#: src/reader.c:1536
|
||||||
msgid "empty rule for typed nonterminal, and no action"
|
msgid "empty rule for typed nonterminal, and no action"
|
||||||
msgstr "Tipli deðiþken simge için boþ kural tanýmlanmýþ, ve eylembelirtilmemiþ"
|
msgstr ""
|
||||||
|
"Tipli deðiþken simge için boþ kural tanýmlanmýþ, ve eylem belirtilmemiþ"
|
||||||
|
|
||||||
#: src/reader.c:1580
|
#: src/reader.c:1580
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -610,7 +611,8 @@ msgstr "girdi grameri i
|
|||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"simge %s kullanýldý, fakat bir andaç olarak tanýmlanmadý vekurallarý yok"
|
"simge %s kullanýldý, fakat bir andaç gibi tanýmlanmadý ve kurallara "
|
||||||
|
"sahipdeðil"
|
||||||
|
|
||||||
#: src/reader.c:1707
|
#: src/reader.c:1707
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -637,19 +639,19 @@ msgstr "ba
|
|||||||
msgid "the start symbol %s is a token"
|
msgid "the start symbol %s is a token"
|
||||||
msgstr "baþlangýç simgesi %s bir andaçtýr"
|
msgstr "baþlangýç simgesi %s bir andaçtýr"
|
||||||
|
|
||||||
#: src/reduce.c:401
|
#: src/reduce.c:405
|
||||||
msgid "Useless nonterminals:"
|
msgid "Useless nonterminals:"
|
||||||
msgstr "Yararsýz kurallar:"
|
msgstr "Yararsýz kurallar:"
|
||||||
|
|
||||||
#: src/reduce.c:416
|
#: src/reduce.c:419
|
||||||
msgid "Terminals which are not used:"
|
msgid "Terminals which are not used:"
|
||||||
msgstr "Kullanýlmayan sabit simgeler:"
|
msgstr "Kullanýlmayan sabit simgeler:"
|
||||||
|
|
||||||
#: src/reduce.c:427
|
#: src/reduce.c:430
|
||||||
msgid "Useless rules:"
|
msgid "Useless rules:"
|
||||||
msgstr "Yararsýz kurallar:"
|
msgstr "Yararsýz kurallar:"
|
||||||
|
|
||||||
#: src/reduce.c:456
|
#: src/reduce.c:458
|
||||||
msgid ""
|
msgid ""
|
||||||
"Variables\n"
|
"Variables\n"
|
||||||
"---------\n"
|
"---------\n"
|
||||||
@@ -659,7 +661,7 @@ msgstr ""
|
|||||||
"-----------\n"
|
"-----------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:458
|
#: src/reduce.c:459
|
||||||
msgid "Value Sprec Sassoc Tag\n"
|
msgid "Value Sprec Sassoc Tag\n"
|
||||||
msgstr "Deðer Söncel Sbirleþ Etiket\n"
|
msgstr "Deðer Söncel Sbirleþ Etiket\n"
|
||||||
|
|
||||||
@@ -673,7 +675,7 @@ msgstr ""
|
|||||||
"--------\n"
|
"--------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:474
|
#: src/reduce.c:473
|
||||||
msgid ""
|
msgid ""
|
||||||
"Rules interpreted\n"
|
"Rules interpreted\n"
|
||||||
"-----------------\n"
|
"-----------------\n"
|
||||||
@@ -683,41 +685,36 @@ msgstr ""
|
|||||||
"-------------------\n"
|
"-------------------\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:491
|
#: src/reduce.c:495
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d rules never reduced\n"
|
msgid "%d rules never reduced\n"
|
||||||
msgstr "%d kural asla indirgenmedi\n"
|
msgstr "%d kural asla indirgenmedi\n"
|
||||||
|
|
||||||
#: src/reduce.c:493
|
#: src/reduce.c:501
|
||||||
#, c-format
|
|
||||||
msgid "%s contains "
|
|
||||||
msgstr "%s içerir "
|
|
||||||
|
|
||||||
#: src/reduce.c:497
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless nonterminal%s"
|
msgid "%d useless nonterminal%s"
|
||||||
msgstr "%d yararsýz deðiþken simge%s"
|
msgstr "%d yararsýz deðiþken simge%s"
|
||||||
|
|
||||||
#: src/reduce.c:502
|
#: src/reduce.c:506
|
||||||
msgid " and "
|
msgid " and "
|
||||||
msgstr " ve "
|
msgstr " ve "
|
||||||
|
|
||||||
#: src/reduce.c:506
|
#: src/reduce.c:510
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless rule%s"
|
msgid "%d useless rule%s"
|
||||||
msgstr "%d yararsýz kural%s"
|
msgstr "%d yararsýz kural%s"
|
||||||
|
|
||||||
#: src/reduce.c:539
|
#: src/reduce.c:540
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "Baþlangýç simgesi %s herhangi bir cümleden türemez"
|
msgstr "Baþlangýç simgesi %s herhangi bir cümleden türemez"
|
||||||
|
|
||||||
#: src/reduce.c:552
|
#: src/reduce.c:553
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"indirgenen %s tanýmlanan %d sabit simge%s, %d deðiþken simge%s, ve %düretilen"
|
"indirgenen %s tanýmlanan %d sabit simge%s, %d deðiþken simge%s,ve %d üretilen"
|
||||||
"%s.\n"
|
"%s.\n"
|
||||||
|
|
||||||
#: lib/getopt.c:694
|
#: lib/getopt.c:694
|
||||||
@@ -807,44 +804,11 @@ msgstr "`"
|
|||||||
msgid "'"
|
msgid "'"
|
||||||
msgstr "'"
|
msgstr "'"
|
||||||
|
|
||||||
#~ msgid "\t\t/* empty */"
|
#~ msgid " 1 shift/reduce conflict"
|
||||||
#~ msgstr "\t\t/* boþ */"
|
#~ msgstr " 1 öteleme/indirgeme çeliþkisi"
|
||||||
|
|
||||||
#~ msgid "multiple %%header_extension declarations"
|
#~ msgid " 1 reduce/reduce conflict"
|
||||||
#~ msgstr "çoklu %%header_extension bildirimleri"
|
#~ msgstr " 1 indirgeme/indirgeme çeliþkisi"
|
||||||
|
|
||||||
#~ msgid "multiple %%source_extension declarations"
|
#~ msgid "%s contains"
|
||||||
#~ msgstr "çoklu %%source_extension bildirimleri"
|
#~ msgstr "%s içerir"
|
||||||
|
|
||||||
#~ msgid "vcg graph: no such color."
|
|
||||||
#~ msgstr "vcg graph: böyle bir renk yok."
|
|
||||||
|
|
||||||
#~ msgid "vcg graph: no such text mode"
|
|
||||||
#~ msgstr "vcg graph: böyle bir metin kipi yok"
|
|
||||||
|
|
||||||
#~ msgid "vcg graph: no such shape"
|
|
||||||
#~ msgstr "vcg graph: böyle bir þekil yok"
|
|
||||||
|
|
||||||
#~ msgid "vcg graph: no such decision"
|
|
||||||
#~ msgstr "vcg graph: böyle bir karar yok"
|
|
||||||
|
|
||||||
#~ msgid "vcg graph: no such an orientation"
|
|
||||||
#~ msgstr "vcg graph: böyle bir konum yok"
|
|
||||||
|
|
||||||
#~ msgid "vcg graph: no such an alignement"
|
|
||||||
#~ msgstr "vcg graph: böyle bir hizalama yok"
|
|
||||||
|
|
||||||
#~ msgid "vcg graph: no such an arrow mode"
|
|
||||||
#~ msgstr "vcg graph: böyle bir yön kipi yok"
|
|
||||||
|
|
||||||
#~ msgid "vcg graph: no such crossing_type"
|
|
||||||
#~ msgstr "vcg graph: böyle bir kesme tipi yok"
|
|
||||||
|
|
||||||
#~ msgid "vcg graph: no such view"
|
|
||||||
#~ msgstr "vcg graph: böyle bir görünüm yok"
|
|
||||||
|
|
||||||
#~ msgid "vcg graph: no such linestyle"
|
|
||||||
#~ msgstr "vcg graph: böyle bir çizgi biçemi yok"
|
|
||||||
|
|
||||||
#~ msgid "vcg graph: no such an arrowstyle"
|
|
||||||
#~ msgstr "vcg graph: böyle bir yön biçemi yok"
|
|
||||||
|
|||||||
+1
-1
@@ -84,8 +84,8 @@ INTLBISON = @INTLBISON@
|
|||||||
INTLLIBS = @INTLLIBS@
|
INTLLIBS = @INTLLIBS@
|
||||||
INTLOBJS = @INTLOBJS@
|
INTLOBJS = @INTLOBJS@
|
||||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||||
|
LIB = @LIB@
|
||||||
LIBICONV = @LIBICONV@
|
LIBICONV = @LIBICONV@
|
||||||
LIBOBJS = @LIBOBJS@
|
|
||||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||||
MSGFMT = @MSGFMT@
|
MSGFMT = @MSGFMT@
|
||||||
PACKAGE = @PACKAGE@
|
PACKAGE = @PACKAGE@
|
||||||
|
|||||||
+49
-42
@@ -76,10 +76,27 @@
|
|||||||
# define YYSTACK_USE_ALLOCA 0
|
# define YYSTACK_USE_ALLOCA 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Realloc WHAT from SIZE to YYSTACKSIZE elements of TYPE.
|
||||||
|
If WHAT was malloc'ed (not the original automatic ARRAY), free it. */
|
||||||
#if YYSTACK_USE_ALLOCA
|
#if YYSTACK_USE_ALLOCA
|
||||||
# define YYSTACK_ALLOC alloca
|
# define YYSTACK_REALLOC(Type, What, Array) \
|
||||||
|
do { \
|
||||||
|
Type *old = What; \
|
||||||
|
What = (Type *) malloc (yystacksize * sizeof (Type)); \
|
||||||
|
__yy_memcpy ((char *) What, (char *) old, \
|
||||||
|
(size) * (unsigned int) sizeof (Type)); \
|
||||||
|
yyfree_stacks = 1; \
|
||||||
|
if (old != Array) \
|
||||||
|
free (old); \
|
||||||
|
} while (0)
|
||||||
#else
|
#else
|
||||||
# define YYSTACK_ALLOC malloc
|
# define YYSTACK_REALLOC(Type, What, Array) \
|
||||||
|
do { \
|
||||||
|
Type *old = What; \
|
||||||
|
What = (Type *) alloca (yystacksize * sizeof (Type)); \
|
||||||
|
__yy_memcpy ((char *) What, (char *) old, \
|
||||||
|
(size) * (unsigned int) sizeof (Type)); \
|
||||||
|
} while (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define yyerrok (yyerrstatus = 0)
|
#define yyerrok (yyerrstatus = 0)
|
||||||
@@ -291,7 +308,7 @@ yyparse (YYPARSE_PARAM_ARG)
|
|||||||
|
|
||||||
/* Three stacks and their tools:
|
/* Three stacks and their tools:
|
||||||
`yyss': related to states,
|
`yyss': related to states,
|
||||||
`yysv': related to semantic values,
|
`yyvs': related to semantic values,
|
||||||
`yyls': related to locations.
|
`yyls': related to locations.
|
||||||
|
|
||||||
Refer to the stacks thru separate pointers, to allow yyoverflow
|
Refer to the stacks thru separate pointers, to allow yyoverflow
|
||||||
@@ -368,40 +385,38 @@ yyparse (YYPARSE_PARAM_ARG)
|
|||||||
|
|
||||||
if (yyssp >= yyss + yystacksize - 1)
|
if (yyssp >= yyss + yystacksize - 1)
|
||||||
{
|
{
|
||||||
/* Give user a chance to reallocate the stack. Use copies of
|
|
||||||
these so that the &'s don't force the real ones into memory.
|
|
||||||
*/
|
|
||||||
YYSTYPE *yyvs1 = yyvs;
|
|
||||||
short *yyss1 = yyss;
|
|
||||||
#if YYLSP_NEEDED
|
|
||||||
YYLTYPE *yyls1 = yyls;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Get the current used size of the three stacks, in elements. */
|
/* Get the current used size of the three stacks, in elements. */
|
||||||
int size = yyssp - yyss + 1;
|
int size = yyssp - yyss + 1;
|
||||||
|
|
||||||
#ifdef yyoverflow
|
#ifdef yyoverflow
|
||||||
/* Each stack pointer address is followed by the size of the
|
{
|
||||||
data in use in that stack, in bytes. */
|
/* Give user a chance to reallocate the stack. Use copies of
|
||||||
# if YYLSP_NEEDED
|
these so that the &'s don't force the real ones into
|
||||||
/* This used to be a conditional around just the two extra args,
|
memory. */
|
||||||
but that might be undefined if yyoverflow is a macro. */
|
YYSTYPE *yyvs1 = yyvs;
|
||||||
yyoverflow ("parser stack overflow",
|
short *yyss1 = yyss;
|
||||||
&yyss1, size * sizeof (*yyssp),
|
|
||||||
&yyvs1, size * sizeof (*yyvsp),
|
|
||||||
&yyls1, size * sizeof (*yylsp),
|
|
||||||
&yystacksize);
|
|
||||||
# else
|
|
||||||
yyoverflow ("parser stack overflow",
|
|
||||||
&yyss1, size * sizeof (*yyssp),
|
|
||||||
&yyvs1, size * sizeof (*yyvsp),
|
|
||||||
&yystacksize);
|
|
||||||
# endif
|
|
||||||
|
|
||||||
yyss = yyss1; yyvs = yyvs1;
|
/* Each stack pointer address is followed by the size of the
|
||||||
|
data in use in that stack, in bytes. */
|
||||||
# if YYLSP_NEEDED
|
# if YYLSP_NEEDED
|
||||||
yyls = yyls1;
|
YYLTYPE *yyls1 = yyls;
|
||||||
|
/* This used to be a conditional around just the two extra args,
|
||||||
|
but that might be undefined if yyoverflow is a macro. */
|
||||||
|
yyoverflow ("parser stack overflow",
|
||||||
|
&yyss1, size * sizeof (*yyssp),
|
||||||
|
&yyvs1, size * sizeof (*yyvsp),
|
||||||
|
&yyls1, size * sizeof (*yylsp),
|
||||||
|
&yystacksize);
|
||||||
|
yyls = yyls1;
|
||||||
|
# else
|
||||||
|
yyoverflow ("parser stack overflow",
|
||||||
|
&yyss1, size * sizeof (*yyssp),
|
||||||
|
&yyvs1, size * sizeof (*yyvsp),
|
||||||
|
&yystacksize);
|
||||||
# endif
|
# endif
|
||||||
|
yyss = yyss1;
|
||||||
|
yyvs = yyvs1;
|
||||||
|
}
|
||||||
#else /* no yyoverflow */
|
#else /* no yyoverflow */
|
||||||
/* Extend the stack our own way. */
|
/* Extend the stack our own way. */
|
||||||
if (yystacksize >= YYMAXDEPTH)
|
if (yystacksize >= YYMAXDEPTH)
|
||||||
@@ -420,19 +435,11 @@ yyparse (YYPARSE_PARAM_ARG)
|
|||||||
yystacksize *= 2;
|
yystacksize *= 2;
|
||||||
if (yystacksize > YYMAXDEPTH)
|
if (yystacksize > YYMAXDEPTH)
|
||||||
yystacksize = YYMAXDEPTH;
|
yystacksize = YYMAXDEPTH;
|
||||||
# if !YYSTACK_USE_ALLOCA
|
|
||||||
yyfree_stacks = 1;
|
YYSTACK_REALLOC (short, yyss, yyssa);
|
||||||
# endif
|
YYSTACK_REALLOC (YYSTYPE, yyvs, yyvsa);
|
||||||
yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
|
|
||||||
__yy_memcpy ((char *)yyss, (char *)yyss1,
|
|
||||||
size * (unsigned int) sizeof (*yyssp));
|
|
||||||
yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
|
|
||||||
__yy_memcpy ((char *)yyvs, (char *)yyvs1,
|
|
||||||
size * (unsigned int) sizeof (*yyvsp));
|
|
||||||
# if YYLSP_NEEDED
|
# if YYLSP_NEEDED
|
||||||
yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
|
YYSTACK_REALLOC (YYLTYPE, yyls, yylsa);
|
||||||
__yy_memcpy ((char *)yyls, (char *)yyls1,
|
|
||||||
size * (unsigned int) sizeof (*yylsp));
|
|
||||||
# endif
|
# endif
|
||||||
#endif /* no yyoverflow */
|
#endif /* no yyoverflow */
|
||||||
|
|
||||||
|
|||||||
+94
-97
@@ -19,6 +19,7 @@
|
|||||||
02111-1307, USA. */
|
02111-1307, USA. */
|
||||||
|
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
|
#include "complain.h"
|
||||||
#include "getargs.h"
|
#include "getargs.h"
|
||||||
#include "files.h"
|
#include "files.h"
|
||||||
#include "gram.h"
|
#include "gram.h"
|
||||||
@@ -28,17 +29,13 @@
|
|||||||
#include "reader.h"
|
#include "reader.h"
|
||||||
#include "LR0.h"
|
#include "LR0.h"
|
||||||
|
|
||||||
int any_conflicts = 0;
|
|
||||||
errs **err_table = NULL;
|
errs **err_table = NULL;
|
||||||
int expected_conflicts;
|
/* -1 stands for not specified. */
|
||||||
|
int expected_conflicts = -1;
|
||||||
static char *conflicts = NULL;
|
static char *conflicts = NULL;
|
||||||
|
|
||||||
static unsigned *shiftset = NULL;
|
static unsigned *shiftset = NULL;
|
||||||
static unsigned *lookaheadset = NULL;
|
static unsigned *lookaheadset = NULL;
|
||||||
static int src_total;
|
|
||||||
static int rrc_total;
|
|
||||||
static int src_count;
|
|
||||||
static int rrc_count;
|
|
||||||
|
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
@@ -246,13 +243,8 @@ set_conflicts (int state)
|
|||||||
fp3 = lookaheadset;
|
fp3 = lookaheadset;
|
||||||
|
|
||||||
while (fp3 < fp4)
|
while (fp3 < fp4)
|
||||||
{
|
if (*fp2++ & *fp3++)
|
||||||
if (*fp2++ & *fp3++)
|
conflicts[state] = 1;
|
||||||
{
|
|
||||||
conflicts[state] = 1;
|
|
||||||
any_conflicts = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fp2 = fp1;
|
fp2 = fp1;
|
||||||
fp3 = lookaheadset;
|
fp3 = lookaheadset;
|
||||||
@@ -273,8 +265,6 @@ solve_conflicts (void)
|
|||||||
|
|
||||||
err_table = XCALLOC (errs *, nstates);
|
err_table = XCALLOC (errs *, nstates);
|
||||||
|
|
||||||
any_conflicts = 0;
|
|
||||||
|
|
||||||
for (i = 0; i < nstates; i++)
|
for (i = 0; i < nstates; i++)
|
||||||
set_conflicts (i);
|
set_conflicts (i);
|
||||||
}
|
}
|
||||||
@@ -284,7 +274,7 @@ solve_conflicts (void)
|
|||||||
| Count the number of shift/reduce conflicts. |
|
| Count the number of shift/reduce conflicts. |
|
||||||
`---------------------------------------------*/
|
`---------------------------------------------*/
|
||||||
|
|
||||||
static void
|
static int
|
||||||
count_sr_conflicts (int state)
|
count_sr_conflicts (int state)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@@ -296,11 +286,11 @@ count_sr_conflicts (int state)
|
|||||||
unsigned *fp3;
|
unsigned *fp3;
|
||||||
int symbol;
|
int symbol;
|
||||||
|
|
||||||
src_count = 0;
|
int src_count = 0;
|
||||||
|
|
||||||
shiftp = shift_table[state];
|
shiftp = shift_table[state];
|
||||||
if (!shiftp)
|
if (!shiftp)
|
||||||
return;
|
return 0;
|
||||||
|
|
||||||
for (i = 0; i < tokensetsize; i++)
|
for (i = 0; i < tokensetsize; i++)
|
||||||
{
|
{
|
||||||
@@ -351,6 +341,8 @@ count_sr_conflicts (int state)
|
|||||||
fp2++;
|
fp2++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return src_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -358,33 +350,29 @@ count_sr_conflicts (int state)
|
|||||||
| Count the number of reduce/reduce conflicts. |
|
| Count the number of reduce/reduce conflicts. |
|
||||||
`----------------------------------------------*/
|
`----------------------------------------------*/
|
||||||
|
|
||||||
static void
|
static int
|
||||||
count_rr_conflicts (int state)
|
count_rr_conflicts (int state)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int j;
|
|
||||||
int count;
|
|
||||||
unsigned mask;
|
unsigned mask;
|
||||||
unsigned *baseword;
|
unsigned *baseword;
|
||||||
unsigned *wordp;
|
|
||||||
int m;
|
|
||||||
int n;
|
|
||||||
|
|
||||||
rrc_count = 0;
|
int rrc_count = 0;
|
||||||
|
|
||||||
m = lookaheads[state];
|
int m = lookaheads[state];
|
||||||
n = lookaheads[state + 1];
|
int n = lookaheads[state + 1];
|
||||||
|
|
||||||
if (n - m < 2)
|
if (n - m < 2)
|
||||||
return;
|
return 0;
|
||||||
|
|
||||||
mask = 1;
|
mask = 1;
|
||||||
baseword = LA + m * tokensetsize;
|
baseword = LA + m * tokensetsize;
|
||||||
for (i = 0; i < ntokens; i++)
|
for (i = 0; i < ntokens; i++)
|
||||||
{
|
{
|
||||||
wordp = baseword;
|
unsigned *wordp = baseword;
|
||||||
|
|
||||||
count = 0;
|
int count = 0;
|
||||||
|
int j;
|
||||||
for (j = m; j < n; j++)
|
for (j = m; j < n; j++)
|
||||||
{
|
{
|
||||||
if (mask & *wordp)
|
if (mask & *wordp)
|
||||||
@@ -403,6 +391,8 @@ count_rr_conflicts (int state)
|
|||||||
baseword++;
|
baseword++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return rrc_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*--------------------------------------------------------------.
|
/*--------------------------------------------------------------.
|
||||||
@@ -416,31 +406,23 @@ conflict_report (int src_num, int rrc_num)
|
|||||||
static char res[4096];
|
static char res[4096];
|
||||||
char *cp = res;
|
char *cp = res;
|
||||||
|
|
||||||
if (src_num == 1)
|
if (src_num >= 1)
|
||||||
{
|
{
|
||||||
sprintf (cp, _(" 1 shift/reduce conflict"));
|
sprintf (cp, ngettext ("%d shift/reduce conflict",
|
||||||
cp += strlen (cp);
|
"%d shift/reduce conflicts", src_num), src_num);
|
||||||
}
|
|
||||||
else if (src_num > 1)
|
|
||||||
{
|
|
||||||
sprintf (cp, _(" %d shift/reduce conflicts"), src_num);
|
|
||||||
cp += strlen (cp);
|
cp += strlen (cp);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (src_num > 0 && rrc_num > 0)
|
if (src_num > 0 && rrc_num > 0)
|
||||||
{
|
{
|
||||||
sprintf (cp, _(" and"));
|
sprintf (cp, " %s ", _("and"));
|
||||||
cp += strlen (cp);
|
cp += strlen (cp);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rrc_num == 1)
|
if (rrc_num >= 1)
|
||||||
{
|
{
|
||||||
sprintf (cp, _(" 1 reduce/reduce conflict"));
|
sprintf (cp, ngettext ("%d reduce/reduce conflict",
|
||||||
cp += strlen (cp);
|
"%d reduce/reduce conflicts", rrc_num), rrc_num);
|
||||||
}
|
|
||||||
else if (rrc_num > 1)
|
|
||||||
{
|
|
||||||
sprintf (cp, _(" %d reduce/reduce conflicts"), rrc_num);
|
|
||||||
cp += strlen (cp);
|
cp += strlen (cp);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -452,61 +434,81 @@ conflict_report (int src_num, int rrc_num)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------.
|
/*-----------------------------------------------------------.
|
||||||
| Compute and give a report on the conflicts. |
|
| Output the detailed description of states with conflicts. |
|
||||||
`---------------------------------------------*/
|
`-----------------------------------------------------------*/
|
||||||
|
|
||||||
void
|
void
|
||||||
print_conflicts (FILE *out)
|
conflicts_output (FILE *out)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < nstates; i++)
|
||||||
|
if (conflicts[i])
|
||||||
|
{
|
||||||
|
fprintf (out, _("State %d contains "), i);
|
||||||
|
fputs (conflict_report (count_sr_conflicts (i),
|
||||||
|
count_rr_conflicts (i)), out);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*------------------------------------------.
|
||||||
|
| Reporting the total number of conflicts. |
|
||||||
|
`------------------------------------------*/
|
||||||
|
|
||||||
|
void
|
||||||
|
conflicts_print (void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
src_total = 0;
|
int src_total = 0;
|
||||||
rrc_total = 0;
|
int rrc_total = 0;
|
||||||
|
|
||||||
/* Count the total number of conflicts, and if wanted, give a
|
/* Conflicts by state. */
|
||||||
detailed report in FOUTPUT. */
|
|
||||||
for (i = 0; i < nstates; i++)
|
for (i = 0; i < nstates; i++)
|
||||||
{
|
if (conflicts[i])
|
||||||
if (conflicts[i])
|
{
|
||||||
{
|
src_total += count_sr_conflicts (i);
|
||||||
count_sr_conflicts (i);
|
rrc_total += count_rr_conflicts (i);
|
||||||
count_rr_conflicts (i);
|
}
|
||||||
src_total += src_count;
|
|
||||||
rrc_total += rrc_count;
|
|
||||||
|
|
||||||
if (verbose_flag)
|
/* Report the total number of conflicts on STDERR. */
|
||||||
{
|
if (src_total || rrc_total)
|
||||||
fprintf (out, _("State %d contains"), i);
|
{
|
||||||
fputs (conflict_report (src_count, rrc_count), out);
|
if (yacc_flag)
|
||||||
}
|
{
|
||||||
|
/* If invoked with `--yacc', use the output format specified by
|
||||||
|
POSIX. */
|
||||||
|
fprintf (stderr, _("conflicts: "));
|
||||||
|
if (src_total > 0)
|
||||||
|
fprintf (stderr, _(" %d shift/reduce"), src_total);
|
||||||
|
if (src_total > 0 && rrc_total > 0)
|
||||||
|
fprintf (stderr, ",");
|
||||||
|
if (rrc_total > 0)
|
||||||
|
fprintf (stderr, _(" %d reduce/reduce"), rrc_total);
|
||||||
|
putc ('\n', stderr);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
fprintf (stderr, _("%s contains "), infile);
|
||||||
|
fputs (conflict_report (src_total, rrc_total), stderr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Report the total number of conflicts on STDERR. */
|
if (expected_conflicts != -1
|
||||||
if (yacc_flag)
|
&& src_total != expected_conflicts)
|
||||||
{
|
{
|
||||||
/* If invoked with `--yacc', use the output format specified by
|
complain_message_count++;
|
||||||
POSIX. */
|
fprintf (stderr, ngettext ("expected %d shift/reduce conflict",
|
||||||
fprintf (stderr, _("conflicts: "));
|
"expected %d shift/reduce conflicts",
|
||||||
if (src_total > 0)
|
expected_conflicts),
|
||||||
fprintf (stderr, _(" %d shift/reduce"), src_total);
|
expected_conflicts);
|
||||||
if (src_total > 0 && rrc_total > 0)
|
|
||||||
fprintf (stderr, ",");
|
|
||||||
if (rrc_total > 0)
|
|
||||||
fprintf (stderr, _(" %d reduce/reduce"), rrc_total);
|
|
||||||
putc ('\n', stderr);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
fprintf (stderr, _("%s contains"), infile);
|
|
||||||
fputs (conflict_report (src_total, rrc_total), stderr);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
print_reductions (int state)
|
print_reductions (FILE *out, int state)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int j;
|
int j;
|
||||||
@@ -584,9 +586,8 @@ print_reductions (int state)
|
|||||||
for (i = 0; i < ntokens; i++)
|
for (i = 0; i < ntokens; i++)
|
||||||
{
|
{
|
||||||
if (mask & *fp3)
|
if (mask & *fp3)
|
||||||
obstack_fgrow3 (&output_obstack,
|
fprintf (out, _(" %-4s\t[reduce using rule %d (%s)]\n"),
|
||||||
_(" %-4s\t[reduce using rule %d (%s)]\n"),
|
tags[i], default_rule, tags[rlhs[default_rule]]);
|
||||||
tags[i], default_rule, tags[rlhs[default_rule]]);
|
|
||||||
|
|
||||||
mask <<= 1;
|
mask <<= 1;
|
||||||
if (mask == 0)
|
if (mask == 0)
|
||||||
@@ -596,9 +597,8 @@ print_reductions (int state)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
obstack_fgrow2 (&output_obstack,
|
fprintf (out, _(" $default\treduce using rule %d (%s)\n\n"),
|
||||||
_(" $default\treduce using rule %d (%s)\n\n"),
|
default_rule, tags[rlhs[default_rule]]);
|
||||||
default_rule, tags[rlhs[default_rule]]);
|
|
||||||
}
|
}
|
||||||
else if (n - m >= 1)
|
else if (n - m >= 1)
|
||||||
{
|
{
|
||||||
@@ -685,7 +685,7 @@ print_reductions (int state)
|
|||||||
if (j != default_LA)
|
if (j != default_LA)
|
||||||
{
|
{
|
||||||
rule = LAruleno[j];
|
rule = LAruleno[j];
|
||||||
obstack_fgrow3 (&output_obstack,
|
fprintf (out,
|
||||||
_(" %-4s\treduce using rule %d (%s)\n"),
|
_(" %-4s\treduce using rule %d (%s)\n"),
|
||||||
tags[i], rule, tags[rlhs[rule]]);
|
tags[i], rule, tags[rlhs[rule]]);
|
||||||
}
|
}
|
||||||
@@ -699,13 +699,13 @@ print_reductions (int state)
|
|||||||
if (defaulted)
|
if (defaulted)
|
||||||
{
|
{
|
||||||
rule = LAruleno[default_LA];
|
rule = LAruleno[default_LA];
|
||||||
obstack_fgrow3 (&output_obstack,
|
fprintf (out,
|
||||||
_(" %-4s\treduce using rule %d (%s)\n"),
|
_(" %-4s\treduce using rule %d (%s)\n"),
|
||||||
tags[i], rule, tags[rlhs[rule]]);
|
tags[i], rule, tags[rlhs[rule]]);
|
||||||
defaulted = 0;
|
defaulted = 0;
|
||||||
}
|
}
|
||||||
rule = LAruleno[j];
|
rule = LAruleno[j];
|
||||||
obstack_fgrow3 (&output_obstack,
|
fprintf (out,
|
||||||
_(" %-4s\t[reduce using rule %d (%s)]\n"),
|
_(" %-4s\t[reduce using rule %d (%s)]\n"),
|
||||||
tags[i], rule, tags[rlhs[rule]]);
|
tags[i], rule, tags[rlhs[rule]]);
|
||||||
}
|
}
|
||||||
@@ -726,11 +726,8 @@ print_reductions (int state)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (default_LA >= 0)
|
if (default_LA >= 0)
|
||||||
obstack_fgrow2 (&output_obstack,
|
fprintf (out, _(" $default\treduce using rule %d (%s)\n"),
|
||||||
_(" $default\treduce using rule %d (%s)\n"),
|
default_rule, tags[rlhs[default_rule]]);
|
||||||
default_rule, tags[rlhs[default_rule]]);
|
|
||||||
|
|
||||||
obstack_1grow (&output_obstack, '\n');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -23,12 +23,12 @@
|
|||||||
# include "state.h"
|
# include "state.h"
|
||||||
|
|
||||||
void solve_conflicts PARAMS ((void));
|
void solve_conflicts PARAMS ((void));
|
||||||
void print_conflicts PARAMS ((FILE *out));
|
void conflicts_print PARAMS ((void));
|
||||||
void print_reductions PARAMS ((int));
|
void conflicts_output PARAMS ((FILE *out));
|
||||||
|
void print_reductions PARAMS ((FILE*out, int state));
|
||||||
void free_conflicts PARAMS ((void));
|
void free_conflicts PARAMS ((void));
|
||||||
|
|
||||||
/* Were there conflicts? */
|
/* Were there conflicts? */
|
||||||
extern int any_conflicts;
|
|
||||||
extern errs **err_table;
|
extern errs **err_table;
|
||||||
extern int expected_conflicts;
|
extern int expected_conflicts;
|
||||||
#endif /* !CONFLICTS_H_ */
|
#endif /* !CONFLICTS_H_ */
|
||||||
|
|||||||
@@ -29,15 +29,15 @@
|
|||||||
|
|
||||||
/* Buffer for storing the current token. */
|
/* Buffer for storing the current token. */
|
||||||
struct obstack token_obstack;
|
struct obstack token_obstack;
|
||||||
char *token_buffer = NULL;
|
const char *token_buffer = NULL;
|
||||||
|
|
||||||
bucket *symval;
|
bucket *symval = NULL;
|
||||||
int numval;
|
int numval;
|
||||||
|
|
||||||
/* A token to be reread, see unlex and lex. */
|
/* A token to be reread, see unlex and lex. */
|
||||||
static token_t unlexed = tok_undef;
|
static token_t unlexed = tok_undef;
|
||||||
static bucket *unlexed_symval = NULL;
|
static bucket *unlexed_symval = NULL;
|
||||||
static char *unlexed_token_buffer = NULL;
|
static const char *unlexed_token_buffer = NULL;
|
||||||
|
|
||||||
void
|
void
|
||||||
lex_init (void)
|
lex_init (void)
|
||||||
@@ -585,9 +585,9 @@ token_t
|
|||||||
parse_percent_token (void)
|
parse_percent_token (void)
|
||||||
{
|
{
|
||||||
struct percent_table_struct *tx = NULL;
|
struct percent_table_struct *tx = NULL;
|
||||||
/* Where `=' was found in token_buffer. */
|
const char *arg = NULL;
|
||||||
size_t equal_offset = 0;
|
/* Where the ARG was found in token_buffer. */
|
||||||
char *arg = NULL;
|
size_t arg_offset = 0;
|
||||||
|
|
||||||
int c = getc (finput);
|
int c = getc (finput);
|
||||||
|
|
||||||
@@ -629,33 +629,34 @@ parse_percent_token (void)
|
|||||||
c = getc (finput);
|
c = getc (finput);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* %DIRECTIVE="ARG". Separate into
|
||||||
|
TOKEN_BUFFER = `%DIRECTIVE\0ARG\0'.
|
||||||
|
This is a bit hackish, but once we move to a Bison parser,
|
||||||
|
things will be cleaned up. */
|
||||||
if (c == '=')
|
if (c == '=')
|
||||||
{
|
{
|
||||||
equal_offset = obstack_object_size (&token_obstack);
|
/* End of the directive. We skip the `='. */
|
||||||
obstack_1grow (&token_obstack, c);
|
obstack_1grow (&token_obstack, '\0');
|
||||||
|
/* Fetch the ARG if present. */
|
||||||
c = getc (finput);
|
c = getc (finput);
|
||||||
if (c = '"')
|
if (c == '"')
|
||||||
{
|
{
|
||||||
int code; /* ignored here */
|
int code;
|
||||||
|
arg_offset = obstack_object_size (&token_obstack);
|
||||||
obstack_1grow (&token_obstack, '"');
|
/* Read up to and including `"'. Do not append the closing
|
||||||
/* Read up to and including ". */
|
`"' in the output: it's not part of the ARG. */
|
||||||
while (literalchar (&token_obstack, &code, '"'))
|
while (literalchar (NULL, &code, '"'))
|
||||||
/* nothing */;
|
obstack_1grow (&token_obstack, code);
|
||||||
}
|
}
|
||||||
|
/* else: should be an error. */
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ungetc (c, finput);
|
ungetc (c, finput);
|
||||||
|
|
||||||
obstack_1grow (&token_obstack, '\0');
|
obstack_1grow (&token_obstack, '\0');
|
||||||
token_buffer = obstack_finish (&token_obstack);
|
token_buffer = obstack_finish (&token_obstack);
|
||||||
if (equal_offset)
|
if (arg_offset)
|
||||||
{
|
arg = token_buffer + arg_offset;
|
||||||
/* %token_buffer="arg" */
|
|
||||||
arg = token_buffer + equal_offset + 2;
|
|
||||||
arg[strlen (arg) - 1] = '\0';
|
|
||||||
token_buffer[equal_offset] = '\0';
|
|
||||||
}
|
|
||||||
|
|
||||||
/* table lookup % directive */
|
/* table lookup % directive */
|
||||||
for (tx = percent_table; tx->name; tx++)
|
for (tx = percent_table; tx->name; tx++)
|
||||||
@@ -676,7 +677,7 @@ parse_percent_token (void)
|
|||||||
precedence. Side effect: if this %-option is used
|
precedence. Side effect: if this %-option is used
|
||||||
several times, only the first is honored. Bah. */
|
several times, only the first is honored. Bah. */
|
||||||
if (!*((char **) (tx->set_flag)))
|
if (!*((char **) (tx->set_flag)))
|
||||||
*((char **) (tx->set_flag)) = arg;
|
*((char **) (tx->set_flag)) = xstrdup (arg);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
fatal (_("`%s' requires an argument"), token_buffer);
|
fatal (_("`%s' requires an argument"), token_buffer);
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ typedef enum token_e
|
|||||||
tok_obsolete
|
tok_obsolete
|
||||||
} token_t;
|
} token_t;
|
||||||
|
|
||||||
extern char *token_buffer;
|
extern const char *token_buffer;
|
||||||
extern bucket *symval;
|
extern bucket *symval;
|
||||||
extern int numval;
|
extern int numval;
|
||||||
|
|
||||||
|
|||||||
+12
-9
@@ -62,15 +62,16 @@ main (int argc, char *argv[])
|
|||||||
if (complain_message_count)
|
if (complain_message_count)
|
||||||
exit (1);
|
exit (1);
|
||||||
|
|
||||||
/* find useless nonterminals and productions and reduce the grammar. In
|
/* Find useless nonterminals and productions and reduce the grammar.
|
||||||
file reduce.c */
|
In file reduce.c. */
|
||||||
reduce_grammar ();
|
reduce_grammar ();
|
||||||
|
|
||||||
/* record other info about the grammar. In files derives and nullable. */
|
/* Record other info about the grammar. In files derives and
|
||||||
|
nullable. */
|
||||||
set_derives ();
|
set_derives ();
|
||||||
set_nullable ();
|
set_nullable ();
|
||||||
|
|
||||||
/* convert to nondeterministic finite state machine. In file LR0.
|
/* Convert to nondeterministic finite state machine. In file LR0.
|
||||||
See state.h for more info. */
|
See state.h for more info. */
|
||||||
generate_states ();
|
generate_states ();
|
||||||
|
|
||||||
@@ -82,6 +83,7 @@ main (int argc, char *argv[])
|
|||||||
conflicts. Also resolve s/r conflicts based on precedence
|
conflicts. Also resolve s/r conflicts based on precedence
|
||||||
declarations. */
|
declarations. */
|
||||||
solve_conflicts ();
|
solve_conflicts ();
|
||||||
|
conflicts_print ();
|
||||||
|
|
||||||
/* Output file names. */
|
/* Output file names. */
|
||||||
compute_output_file_names ();
|
compute_output_file_names ();
|
||||||
@@ -91,7 +93,7 @@ main (int argc, char *argv[])
|
|||||||
if (complain_message_count)
|
if (complain_message_count)
|
||||||
exit (1);
|
exit (1);
|
||||||
|
|
||||||
/* Print information about results, if requested. */
|
/* Output the detailed report on the grammar. */
|
||||||
print_results ();
|
print_results ();
|
||||||
|
|
||||||
/* Output the VCG graph. */
|
/* Output the VCG graph. */
|
||||||
@@ -100,21 +102,22 @@ main (int argc, char *argv[])
|
|||||||
/* Output the tables and the parser to ftable. In file output. */
|
/* Output the tables and the parser to ftable. In file output. */
|
||||||
output ();
|
output ();
|
||||||
|
|
||||||
|
/* Close the input files. */
|
||||||
|
close_files ();
|
||||||
|
|
||||||
/* Free the symbol table data structure. */
|
/* Free the symbol table data structure. */
|
||||||
free_symtab ();
|
free_symtab ();
|
||||||
|
|
||||||
lex_free ();
|
lex_free ();
|
||||||
|
|
||||||
/* Close the input files. */
|
reduce_free ();
|
||||||
close_files ();
|
|
||||||
|
|
||||||
free_conflicts ();
|
free_conflicts ();
|
||||||
free_nullable ();
|
free_nullable ();
|
||||||
free_derives ();
|
free_derives ();
|
||||||
|
|
||||||
output_files ();
|
output_files ();
|
||||||
|
|
||||||
exit (complain_message_count ? 1 : 0);
|
return complain_message_count ? EXIT_FAILURE : EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Abort for an internal error denoted by string S. */
|
/* Abort for an internal error denoted by string S. */
|
||||||
|
|||||||
+8
-6
@@ -1,5 +1,5 @@
|
|||||||
/* Print information on generated parser, for bison,
|
/* Print information on generated parser, for bison,
|
||||||
Copyright 1984, 1986, 1989, 2000 Free Software Foundation, Inc.
|
Copyright 1984, 1986, 1989, 2000, 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
@@ -29,6 +29,7 @@
|
|||||||
#include "state.h"
|
#include "state.h"
|
||||||
#include "reader.h"
|
#include "reader.h"
|
||||||
#include "print.h"
|
#include "print.h"
|
||||||
|
#include "reduce.h"
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
static void
|
static void
|
||||||
@@ -173,7 +174,7 @@ print_actions (FILE *out, int state)
|
|||||||
}
|
}
|
||||||
else if (redp)
|
else if (redp)
|
||||||
{
|
{
|
||||||
print_reductions (state);
|
print_reductions (out, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i < k)
|
if (i < k)
|
||||||
@@ -226,7 +227,7 @@ print_grammar (FILE *out)
|
|||||||
int column = 0;
|
int column = 0;
|
||||||
|
|
||||||
/* rule # : LHS -> RHS */
|
/* rule # : LHS -> RHS */
|
||||||
fprintf (out, "\n%s\n", _("Grammar"));
|
fprintf (out, "\n%s\n\n", _("Grammar"));
|
||||||
for (i = 1; i <= nrules; i++)
|
for (i = 1; i <= nrules; i++)
|
||||||
/* Don't print rules disabled in reduce_grammar_tables. */
|
/* Don't print rules disabled in reduce_grammar_tables. */
|
||||||
if (rlhs[i] >= 0)
|
if (rlhs[i] >= 0)
|
||||||
@@ -237,7 +238,8 @@ print_grammar (FILE *out)
|
|||||||
while (*rule > 0)
|
while (*rule > 0)
|
||||||
fprintf (out, " %s", tags[*rule++]);
|
fprintf (out, " %s", tags[*rule++]);
|
||||||
else
|
else
|
||||||
fprintf (out, " /* %s */\n", _("empty"));
|
fprintf (out, " /* %s */", _("empty"));
|
||||||
|
fputc ('\n', out);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TERMINAL (type #) : rule #s terminal is on RHS */
|
/* TERMINAL (type #) : rule #s terminal is on RHS */
|
||||||
@@ -336,8 +338,8 @@ print_results (void)
|
|||||||
size_t size = obstack_object_size (&output_obstack);
|
size_t size = obstack_object_size (&output_obstack);
|
||||||
fwrite (obstack_finish (&output_obstack), 1, size, out);
|
fwrite (obstack_finish (&output_obstack), 1, size, out);
|
||||||
|
|
||||||
if (any_conflicts)
|
reduce_output (out);
|
||||||
print_conflicts (out);
|
conflicts_output (out);
|
||||||
|
|
||||||
print_grammar (out);
|
print_grammar (out);
|
||||||
|
|
||||||
|
|||||||
+59
-51
@@ -1,5 +1,5 @@
|
|||||||
/* Grammar reduction for Bison.
|
/* Grammar reduction for Bison.
|
||||||
Copyright 1988, 1989, 2000 Free Software Foundation, Inc.
|
Copyright 1988, 1989, 2000, 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
@@ -388,21 +388,25 @@ reduce_grammar_tables (void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
print_results (void)
|
/*-----------------------------------------------------------------.
|
||||||
|
| Ouput the detailed results of the reductions. For FILE.output. |
|
||||||
|
`-----------------------------------------------------------------*/
|
||||||
|
|
||||||
|
void
|
||||||
|
reduce_output (FILE *out)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
/* short j; JF unused */
|
|
||||||
rule r;
|
rule r;
|
||||||
bool b;
|
bool b;
|
||||||
|
|
||||||
if (nuseless_nonterminals > 0)
|
if (nuseless_nonterminals > 0)
|
||||||
{
|
{
|
||||||
obstack_sgrow (&output_obstack, _("Useless nonterminals:"));
|
fprintf (out, _("Useless nonterminals:"));
|
||||||
obstack_sgrow (&output_obstack, "\n\n");
|
fprintf (out, "\n\n");
|
||||||
for (i = ntokens; i < nsyms; i++)
|
for (i = ntokens; i < nsyms; i++)
|
||||||
if (!BITISSET (V, i))
|
if (!BITISSET (V, i))
|
||||||
obstack_fgrow1 (&output_obstack, " %s\n", tags[i]);
|
fprintf (out, " %s\n", tags[i]);
|
||||||
}
|
}
|
||||||
b = FALSE;
|
b = FALSE;
|
||||||
for (i = 0; i < ntokens; i++)
|
for (i = 0; i < ntokens; i++)
|
||||||
@@ -411,81 +415,81 @@ print_results (void)
|
|||||||
{
|
{
|
||||||
if (!b)
|
if (!b)
|
||||||
{
|
{
|
||||||
obstack_sgrow (&output_obstack, "\n\n");
|
fprintf (out, "\n\n");
|
||||||
obstack_sgrow (&output_obstack,
|
fprintf (out, _("Terminals which are not used:"));
|
||||||
_("Terminals which are not used:"));
|
fprintf (out, "\n\n");
|
||||||
obstack_sgrow (&output_obstack, "\n\n");
|
|
||||||
b = TRUE;
|
b = TRUE;
|
||||||
}
|
}
|
||||||
obstack_fgrow1 (&output_obstack, " %s\n", tags[i]);
|
fprintf (out, " %s\n", tags[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nuseless_productions > 0)
|
if (nuseless_productions > 0)
|
||||||
{
|
{
|
||||||
obstack_sgrow (&output_obstack, "\n\n");
|
fprintf (out, "\n\n");
|
||||||
obstack_sgrow (&output_obstack, _("Useless rules:"));
|
fprintf (out, _("Useless rules:"));
|
||||||
obstack_sgrow (&output_obstack, "\n\n");
|
fprintf (out, "\n\n");
|
||||||
for (i = 1; i <= nrules; i++)
|
for (i = 1; i <= nrules; i++)
|
||||||
{
|
{
|
||||||
if (!BITISSET (P, i))
|
if (!BITISSET (P, i))
|
||||||
{
|
{
|
||||||
obstack_fgrow1 (&output_obstack, "#%-4d ", i);
|
fprintf (out, "#%-4d ", i);
|
||||||
obstack_fgrow1 (&output_obstack, "%s :\t", tags[rlhs[i]]);
|
fprintf (out, "%s :\t", tags[rlhs[i]]);
|
||||||
for (r = &ritem[rrhs[i]]; *r >= 0; r++)
|
for (r = &ritem[rrhs[i]]; *r >= 0; r++)
|
||||||
obstack_fgrow1 (&output_obstack, " %s", tags[*r]);
|
fprintf (out, " %s", tags[*r]);
|
||||||
obstack_sgrow (&output_obstack, ";\n");
|
fprintf (out, ";\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (nuseless_nonterminals > 0 || nuseless_productions > 0 || b)
|
if (nuseless_nonterminals > 0 || nuseless_productions > 0 || b)
|
||||||
obstack_sgrow (&output_obstack, "\n\n");
|
fprintf (out, "\n\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0 /* XXX currently unused. */
|
#if 0 /* XXX currently unused. */
|
||||||
static void
|
static void
|
||||||
dump_grammar (void)
|
dump_grammar (FILE *out)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
rule r;
|
rule r;
|
||||||
|
|
||||||
obstack_fgrow5 (&output_obstack,
|
fprintf (out,
|
||||||
"ntokens = %d, nvars = %d, nsyms = %d, nrules = %d, nitems = %d\n\n",
|
"ntokens = %d, nvars = %d, nsyms = %d, nrules = %d, nitems = %d\n\n",
|
||||||
ntokens, nvars, nsyms, nrules, nitems);
|
ntokens, nvars, nsyms, nrules, nitems);
|
||||||
obstack_sgrow (&output_obstack,
|
fprintf (out, _("Variables\n---------\n\n"));
|
||||||
_("Variables\n---------\n\n"));
|
fprintf (out, _("Value Sprec Sassoc Tag\n"));
|
||||||
obstack_sgrow (&output_obstack,
|
|
||||||
_("Value Sprec Sassoc Tag\n"));
|
|
||||||
for (i = ntokens; i < nsyms; i++)
|
for (i = ntokens; i < nsyms; i++)
|
||||||
obstack_fgrow4 (&output_obstack,
|
fprintf (out, "%5d %5d %5d %s\n", i, sprec[i], sassoc[i], tags[i]);
|
||||||
"%5d %5d %5d %s\n", i, sprec[i], sassoc[i], tags[i]);
|
fprintf (out, "\n\n");
|
||||||
obstack_sgrow (&output_obstack, "\n\n");
|
fprintf (out, _("Rules\n-----\n\n"));
|
||||||
obstack_sgrow (&output_obstack, _("Rules\n-----\n\n"));
|
|
||||||
for (i = 1; i <= nrules; i++)
|
for (i = 1; i <= nrules; i++)
|
||||||
{
|
{
|
||||||
obstack_fgrow5 (&output_obstack, "%-5d(%5d%5d)%5d : (@%-5d)",
|
fprintf (out, "%-5d(%5d%5d)%5d : (@%-5d)",
|
||||||
i, rprec[i], rassoc[i], rlhs[i], rrhs[i]);
|
i, rprec[i], rassoc[i], rlhs[i], rrhs[i]);
|
||||||
for (r = &ritem[rrhs[i]]; *r > 0; r++)
|
for (r = &ritem[rrhs[i]]; *r > 0; r++)
|
||||||
obstack_fgrow1 (&output_obstack, "%5d", *r);
|
fprintf (out, "%5d", *r);
|
||||||
obstack_fgrow1 (&output_obstack, " [%d]\n", -(*r));
|
fprintf (out, " [%d]\n", -(*r));
|
||||||
}
|
}
|
||||||
obstack_sgrow (&output_obstack, "\n\n");
|
fprintf (out, "\n\n");
|
||||||
obstack_sgrow (&output_obstack,
|
fprintf (out, _("Rules interpreted\n-----------------\n\n"));
|
||||||
_("Rules interpreted\n-----------------\n\n"));
|
|
||||||
for (i = 1; i <= nrules; i++)
|
for (i = 1; i <= nrules; i++)
|
||||||
{
|
{
|
||||||
obstack_fgrow2 (&output_obstack, "%-5d %s :", i, tags[rlhs[i]]);
|
fprintf (out, "%-5d %s :", i, tags[rlhs[i]]);
|
||||||
for (r = &ritem[rrhs[i]]; *r > 0; r++)
|
for (r = &ritem[rrhs[i]]; *r > 0; r++)
|
||||||
obstack_fgrow1 (&output_obstack, " %s", tags[*r]);
|
fprintf (out, " %s", tags[*r]);
|
||||||
obstack_grow1 (&output_obstack, '\n');
|
fputc ('\n', out);
|
||||||
}
|
}
|
||||||
obstack_sgrow (&output_obstack, "\n\n");
|
fprintf (out, "\n\n");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*-------------------------------.
|
||||||
|
| Report the results to STDERR. |
|
||||||
|
`-------------------------------*/
|
||||||
|
|
||||||
static void
|
static void
|
||||||
print_notices (void)
|
reduce_print (void)
|
||||||
{
|
{
|
||||||
if (yacc_flag && nuseless_productions)
|
if (yacc_flag && nuseless_productions)
|
||||||
fprintf (stderr, _("%d rules never reduced\n"), nuseless_productions);
|
fprintf (stderr, _("%d rules never reduced\n"), nuseless_productions);
|
||||||
@@ -527,13 +531,10 @@ reduce_grammar (void)
|
|||||||
|
|
||||||
reduced = (bool) (nuseless_nonterminals + nuseless_productions > 0);
|
reduced = (bool) (nuseless_nonterminals + nuseless_productions > 0);
|
||||||
|
|
||||||
if (verbose_flag)
|
if (!reduced)
|
||||||
print_results ();
|
return;
|
||||||
|
|
||||||
if (reduced == FALSE)
|
reduce_print ();
|
||||||
goto done_reducing;
|
|
||||||
|
|
||||||
print_notices ();
|
|
||||||
|
|
||||||
if (!BITISSET (N, start_symbol - ntokens))
|
if (!BITISSET (N, start_symbol - ntokens))
|
||||||
fatal (_("Start symbol %s does not derive any sentence"),
|
fatal (_("Start symbol %s does not derive any sentence"),
|
||||||
@@ -543,7 +544,7 @@ reduce_grammar (void)
|
|||||||
#if 0
|
#if 0
|
||||||
if (verbose_flag)
|
if (verbose_flag)
|
||||||
{
|
{
|
||||||
obstack_fgrow1 (&output_obstack, "REDUCED GRAMMAR\n\n");
|
fprintf (out, "REDUCED GRAMMAR\n\n");
|
||||||
dump_grammar ();
|
dump_grammar ();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -558,11 +559,18 @@ reduce_grammar (void)
|
|||||||
(nvars == 1 ? "" : "s"),
|
(nvars == 1 ? "" : "s"),
|
||||||
nrules,
|
nrules,
|
||||||
(nrules == 1 ? "" : "s"));
|
(nrules == 1 ? "" : "s"));
|
||||||
|
}
|
||||||
|
|
||||||
done_reducing:
|
|
||||||
/* Free the global sets used to compute the reduced grammar */
|
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------.
|
||||||
|
| Free the global sets used to compute the reduced grammar. |
|
||||||
|
`-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
void
|
||||||
|
reduce_free (void)
|
||||||
|
{
|
||||||
XFREE (N);
|
XFREE (N);
|
||||||
XFREE (V);
|
XFREE (V);
|
||||||
|
XFREE (V1);
|
||||||
XFREE (P);
|
XFREE (P);
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-2
@@ -1,5 +1,5 @@
|
|||||||
/* Grammar reduction for Bison.
|
/* Grammar reduction for Bison.
|
||||||
Copyright 2000 Free Software Foundation, Inc.
|
Copyright 2000, 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
@@ -22,5 +22,6 @@
|
|||||||
# define REDUCE_H_
|
# define REDUCE_H_
|
||||||
|
|
||||||
void reduce_grammar PARAMS ((void));
|
void reduce_grammar PARAMS ((void));
|
||||||
|
void reduce_output PARAMS ((FILE *out));
|
||||||
|
void reduce_free PARAMS ((void));
|
||||||
#endif /* !REDUCE_H_ */
|
#endif /* !REDUCE_H_ */
|
||||||
|
|||||||
+17
-2
@@ -40,6 +40,18 @@
|
|||||||
# include <stdlib.h>
|
# include <stdlib.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* The following test is to work around the gross typo in
|
||||||
|
systems like Sony NEWS-OS Release 4.0C, whereby EXIT_FAILURE
|
||||||
|
is defined to 0, not 1. */
|
||||||
|
#if !EXIT_FAILURE
|
||||||
|
# undef EXIT_FAILURE
|
||||||
|
# define EXIT_FAILURE 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef EXIT_SUCCESS
|
||||||
|
# define EXIT_SUCCESS 0
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAVE_UNISTD_H
|
#if HAVE_UNISTD_H
|
||||||
# include <unistd.h>
|
# include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
@@ -126,10 +138,13 @@ size_t strnlen PARAMS ((const char *s, size_t maxlen));
|
|||||||
# include <libintl.h>
|
# include <libintl.h>
|
||||||
# define _(Text) gettext (Text)
|
# define _(Text) gettext (Text)
|
||||||
#else
|
#else
|
||||||
# undef bindtextdomain
|
# undef bindtextdomain
|
||||||
# define bindtextdomain(Domain, Directory)
|
# define bindtextdomain(Domain, Directory)
|
||||||
# undef textdomain
|
# undef textdomain
|
||||||
# define textdomain(Domain)
|
# define textdomain(Domain)
|
||||||
|
# undef ngettext
|
||||||
|
# define ngettext(Singular, Plural, Number) \
|
||||||
|
((Number == 1) ? Singular : Plural)
|
||||||
# define _(Text) Text
|
# define _(Text) Text
|
||||||
#endif
|
#endif
|
||||||
#define N_(Text) Text
|
#define N_(Text) Text
|
||||||
|
|||||||
+1
-1
@@ -25,7 +25,7 @@ MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE)
|
|||||||
|
|
||||||
TESTSUITE_AT = \
|
TESTSUITE_AT = \
|
||||||
testsuite.at \
|
testsuite.at \
|
||||||
output.at calc.at regression.at
|
output.at calc.at torture.at regression.at
|
||||||
TESTSUITE = $(srcdir)/testsuite
|
TESTSUITE = $(srcdir)/testsuite
|
||||||
|
|
||||||
AUTOTEST = $(AUTOM4TE) --language=autotest
|
AUTOTEST = $(AUTOM4TE) --language=autotest
|
||||||
|
|||||||
+2
-2
@@ -84,8 +84,8 @@ INTLBISON = @INTLBISON@
|
|||||||
INTLLIBS = @INTLLIBS@
|
INTLLIBS = @INTLLIBS@
|
||||||
INTLOBJS = @INTLOBJS@
|
INTLOBJS = @INTLOBJS@
|
||||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||||
|
LIB = @LIB@
|
||||||
LIBICONV = @LIBICONV@
|
LIBICONV = @LIBICONV@
|
||||||
LIBOBJS = @LIBOBJS@
|
|
||||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||||
MSGFMT = @MSGFMT@
|
MSGFMT = @MSGFMT@
|
||||||
PACKAGE = @PACKAGE@
|
PACKAGE = @PACKAGE@
|
||||||
@@ -108,7 +108,7 @@ MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE)
|
|||||||
|
|
||||||
TESTSUITE_AT = \
|
TESTSUITE_AT = \
|
||||||
testsuite.at \
|
testsuite.at \
|
||||||
output.at calc.at regression.at
|
output.at calc.at torture.at regression.at
|
||||||
|
|
||||||
TESTSUITE = $(srcdir)/testsuite
|
TESTSUITE = $(srcdir)/testsuite
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -10,4 +10,4 @@ CFLAGS='@CFLAGS@'
|
|||||||
GCC='@GCC@'
|
GCC='@GCC@'
|
||||||
|
|
||||||
# We need `config.h'.
|
# We need `config.h'.
|
||||||
CPPFLAGS="-I $top_builddir @CPPFLAGS@"
|
CPPFLAGS="-I $top_buildpath @CPPFLAGS@"
|
||||||
|
|||||||
+9
-3
@@ -338,8 +338,14 @@ AT_CHECK([bison calc.y -o calc.c m4_bpatsubst([$1], [--yyerror-verbose])],
|
|||||||
# Maybe some day we will have proper Autoconf macros to disable these
|
# Maybe some day we will have proper Autoconf macros to disable these
|
||||||
# warnings, but this place is not the right one for that.
|
# warnings, but this place is not the right one for that.
|
||||||
# So let's keep only GCC warnings, which we know are sane.
|
# So let's keep only GCC warnings, which we know are sane.
|
||||||
AT_CHECK([$CC $CFLAGS $CPPFLAGS calc.c -o calc], 0, [], [stderr])
|
# Well, that's only part of the story: some assemblers issue warnings
|
||||||
AT_CHECK([if test "$GCC" = yes; then cat stderr; else true; fi])
|
# which can be totally useless, and actually polluting. It seems that
|
||||||
|
# the best bet be to completely ignore stderr, but to pass -Werror
|
||||||
|
# to GCC.
|
||||||
|
if test "$GCC" = yes; then
|
||||||
|
CFLAGS="$CFLAGS -Werror"
|
||||||
|
fi
|
||||||
|
AT_CHECK([$CC $CFLAGS $CPPFLAGS calc.c -o calc], 0, [], [ignore])
|
||||||
|
|
||||||
# Test the priorities.
|
# Test the priorities.
|
||||||
_AT_CHECK_CALC([$1],
|
_AT_CHECK_CALC([$1],
|
||||||
@@ -377,7 +383,7 @@ _AT_CHECK_CALC_ERROR([$1],
|
|||||||
[2.0:2.1],
|
[2.0:2.1],
|
||||||
[unexpected `'+''])
|
[unexpected `'+''])
|
||||||
|
|
||||||
AT_CLEANUP(calc calc.c calc.h calc.output)
|
AT_CLEANUP
|
||||||
])# AT_CHECK_CALC
|
])# AT_CHECK_CALC
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -31,7 +31,7 @@ foo: {}
|
|||||||
|
|
||||||
AT_CHECK([bison $3 $1], 0)
|
AT_CHECK([bison $3 $1], 0)
|
||||||
AT_CHECK([ls $4], [], [ignore])
|
AT_CHECK([ls $4], [], [ignore])
|
||||||
AT_CLEANUP($4)
|
AT_CLEANUP
|
||||||
])
|
])
|
||||||
|
|
||||||
AT_CHECK_OUTPUT([foo.y], [], [-dv],
|
AT_CHECK_OUTPUT([foo.y], [], [-dv],
|
||||||
|
|||||||
+261
-28
@@ -40,9 +40,264 @@ exp: '(' exp ')' | NUM ;
|
|||||||
|
|
||||||
AT_CHECK([bison -v duplicate.y -o duplicate.c], 0, ignore, ignore)
|
AT_CHECK([bison -v duplicate.y -o duplicate.c], 0, ignore, ignore)
|
||||||
|
|
||||||
AT_CLEANUP([duplicate.*])
|
AT_CLEANUP
|
||||||
|
|
||||||
|
|
||||||
|
## ------------------------- ##
|
||||||
|
## Unresolved SR Conflicts. ##
|
||||||
|
## ------------------------- ##
|
||||||
|
|
||||||
|
AT_SETUP([Unresolved SR Conflicts])
|
||||||
|
|
||||||
|
AT_DATA([input.y],
|
||||||
|
[[%token NUM OP
|
||||||
|
%%
|
||||||
|
exp: exp OP exp | NUM;
|
||||||
|
]])
|
||||||
|
|
||||||
|
AT_CHECK([bison input.y -o input.c -v], 0, [],
|
||||||
|
[input.y contains 1 shift/reduce conflict.
|
||||||
|
])
|
||||||
|
|
||||||
|
# Check the contents of the report.
|
||||||
|
AT_CHECK([cat input.output], [],
|
||||||
|
[[State 4 contains 1 shift/reduce conflict.
|
||||||
|
|
||||||
|
Grammar
|
||||||
|
|
||||||
|
rule 1 exp -> exp OP exp
|
||||||
|
rule 2 exp -> NUM
|
||||||
|
|
||||||
|
Terminals, with rules where they appear
|
||||||
|
|
||||||
|
$ (-1)
|
||||||
|
error (256)
|
||||||
|
NUM (257) 2
|
||||||
|
OP (258) 1
|
||||||
|
|
||||||
|
Nonterminals, with rules where they appear
|
||||||
|
|
||||||
|
exp (5)
|
||||||
|
on left: 1 2, on right: 1
|
||||||
|
|
||||||
|
|
||||||
|
state 0
|
||||||
|
|
||||||
|
NUM shift, and go to state 1
|
||||||
|
|
||||||
|
exp go to state 2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
state 1
|
||||||
|
|
||||||
|
exp -> NUM . (rule 2)
|
||||||
|
|
||||||
|
$default reduce using rule 2 (exp)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
state 2
|
||||||
|
|
||||||
|
exp -> exp . OP exp (rule 1)
|
||||||
|
|
||||||
|
$ go to state 5
|
||||||
|
OP shift, and go to state 3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
state 3
|
||||||
|
|
||||||
|
exp -> exp OP . exp (rule 1)
|
||||||
|
|
||||||
|
NUM shift, and go to state 1
|
||||||
|
|
||||||
|
exp go to state 4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
state 4
|
||||||
|
|
||||||
|
exp -> exp . OP exp (rule 1)
|
||||||
|
exp -> exp OP exp . (rule 1)
|
||||||
|
|
||||||
|
OP shift, and go to state 3
|
||||||
|
|
||||||
|
OP [reduce using rule 1 (exp)]
|
||||||
|
$default reduce using rule 1 (exp)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
state 5
|
||||||
|
|
||||||
|
$ go to state 6
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
state 6
|
||||||
|
|
||||||
|
$default accept
|
||||||
|
]])
|
||||||
|
|
||||||
|
AT_CLEANUP
|
||||||
|
|
||||||
|
|
||||||
|
## --------------------- ##
|
||||||
|
## Solved SR Conflicts. ##
|
||||||
|
## --------------------- ##
|
||||||
|
|
||||||
|
AT_SETUP([Solved SR Conflicts])
|
||||||
|
|
||||||
|
AT_DATA([input.y],
|
||||||
|
[[%token NUM OP
|
||||||
|
%right OP
|
||||||
|
%%
|
||||||
|
exp: exp OP exp | NUM;
|
||||||
|
]])
|
||||||
|
|
||||||
|
AT_CHECK([bison input.y -o input.c -v], 0, [], [])
|
||||||
|
|
||||||
|
# Check the contents of the report.
|
||||||
|
AT_CHECK([cat input.output], [],
|
||||||
|
[[Conflict in state 4 between rule 1 and token OP resolved as shift.
|
||||||
|
|
||||||
|
Grammar
|
||||||
|
|
||||||
|
rule 1 exp -> exp OP exp
|
||||||
|
rule 2 exp -> NUM
|
||||||
|
|
||||||
|
Terminals, with rules where they appear
|
||||||
|
|
||||||
|
$ (-1)
|
||||||
|
error (256)
|
||||||
|
NUM (257) 2
|
||||||
|
OP (258) 1
|
||||||
|
|
||||||
|
Nonterminals, with rules where they appear
|
||||||
|
|
||||||
|
exp (5)
|
||||||
|
on left: 1 2, on right: 1
|
||||||
|
|
||||||
|
|
||||||
|
state 0
|
||||||
|
|
||||||
|
NUM shift, and go to state 1
|
||||||
|
|
||||||
|
exp go to state 2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
state 1
|
||||||
|
|
||||||
|
exp -> NUM . (rule 2)
|
||||||
|
|
||||||
|
$default reduce using rule 2 (exp)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
state 2
|
||||||
|
|
||||||
|
exp -> exp . OP exp (rule 1)
|
||||||
|
|
||||||
|
$ go to state 5
|
||||||
|
OP shift, and go to state 3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
state 3
|
||||||
|
|
||||||
|
exp -> exp OP . exp (rule 1)
|
||||||
|
|
||||||
|
NUM shift, and go to state 1
|
||||||
|
|
||||||
|
exp go to state 4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
state 4
|
||||||
|
|
||||||
|
exp -> exp . OP exp (rule 1)
|
||||||
|
exp -> exp OP exp . (rule 1)
|
||||||
|
|
||||||
|
OP shift, and go to state 3
|
||||||
|
|
||||||
|
$default reduce using rule 1 (exp)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
state 5
|
||||||
|
|
||||||
|
$ go to state 6
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
state 6
|
||||||
|
|
||||||
|
$default accept
|
||||||
|
]])
|
||||||
|
|
||||||
|
AT_CLEANUP
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## -------------------- ##
|
||||||
|
## %expect not enough. ##
|
||||||
|
## -------------------- ##
|
||||||
|
|
||||||
|
AT_SETUP([%expect not enough])
|
||||||
|
|
||||||
|
AT_DATA([input.y],
|
||||||
|
[[%token NUM OP
|
||||||
|
%expect 0
|
||||||
|
%%
|
||||||
|
exp: exp OP exp | NUM;
|
||||||
|
]])
|
||||||
|
|
||||||
|
AT_CHECK([bison input.y -o input.c], 1, [],
|
||||||
|
[input.y contains 1 shift/reduce conflict.
|
||||||
|
expected 0 shift/reduce conflicts
|
||||||
|
])
|
||||||
|
AT_CLEANUP
|
||||||
|
|
||||||
|
|
||||||
|
## --------------- ##
|
||||||
|
## %expect right. ##
|
||||||
|
## --------------- ##
|
||||||
|
|
||||||
|
AT_SETUP([%expect right])
|
||||||
|
|
||||||
|
AT_DATA([input.y],
|
||||||
|
[[%token NUM OP
|
||||||
|
%expect 1
|
||||||
|
%%
|
||||||
|
exp: exp OP exp | NUM;
|
||||||
|
]])
|
||||||
|
|
||||||
|
AT_CHECK([bison input.y -o input.c], 0, [],
|
||||||
|
[input.y contains 1 shift/reduce conflict.
|
||||||
|
])
|
||||||
|
AT_CLEANUP
|
||||||
|
|
||||||
|
|
||||||
|
## ------------------ ##
|
||||||
|
## %expect too much. ##
|
||||||
|
## ------------------ ##
|
||||||
|
|
||||||
|
AT_SETUP([%expect too much])
|
||||||
|
|
||||||
|
AT_DATA([input.y],
|
||||||
|
[[%token NUM OP
|
||||||
|
%expect 2
|
||||||
|
%%
|
||||||
|
exp: exp OP exp | NUM;
|
||||||
|
]])
|
||||||
|
|
||||||
|
AT_CHECK([bison input.y -o input.c], 1, [],
|
||||||
|
[input.y contains 1 shift/reduce conflict.
|
||||||
|
expected 2 shift/reduce conflicts
|
||||||
|
])
|
||||||
|
AT_CLEANUP
|
||||||
|
|
||||||
|
|
||||||
## ---------------------- ##
|
## ---------------------- ##
|
||||||
## Mixing %token styles. ##
|
## Mixing %token styles. ##
|
||||||
@@ -63,7 +318,7 @@ exp: ;
|
|||||||
|
|
||||||
AT_CHECK([bison -v input.y -o input.c], 0, ignore, ignore)
|
AT_CHECK([bison -v input.y -o input.c], 0, ignore, ignore)
|
||||||
|
|
||||||
AT_CLEANUP([input.*])
|
AT_CLEANUP
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -86,7 +341,7 @@ exp: {};
|
|||||||
|
|
||||||
AT_CHECK([bison --defines union.y])
|
AT_CHECK([bison --defines union.y])
|
||||||
|
|
||||||
AT_CLEANUP([union.*])
|
AT_CLEANUP
|
||||||
|
|
||||||
|
|
||||||
## --------------------------------------- ##
|
## --------------------------------------- ##
|
||||||
@@ -109,26 +364,6 @@ exp: {};
|
|||||||
AT_CHECK([bison union-comment.y])
|
AT_CHECK([bison union-comment.y])
|
||||||
AT_CHECK([fgrep '//*' union-comment.tab.c], [1], [])
|
AT_CHECK([fgrep '//*' union-comment.tab.c], [1], [])
|
||||||
|
|
||||||
AT_CLEANUP([union-comment.*])
|
|
||||||
|
|
||||||
|
|
||||||
## --------------- ##
|
|
||||||
## invalid input. ##
|
|
||||||
## --------------- ##
|
|
||||||
|
|
||||||
|
|
||||||
AT_SETUP([Invalid input])
|
|
||||||
|
|
||||||
AT_DATA([input.y],
|
|
||||||
[[%%
|
|
||||||
?
|
|
||||||
]])
|
|
||||||
|
|
||||||
AT_CHECK([bison input.y], [1], [],
|
|
||||||
[input.y:2: invalid input: `?'
|
|
||||||
input.y:3: fatal error: no rules in the input grammar
|
|
||||||
])
|
|
||||||
|
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
|
|
||||||
|
|
||||||
@@ -181,11 +416,9 @@ AT_CLEANUP
|
|||||||
m4_define([AT_TEST_CPP_GUARD_H],
|
m4_define([AT_TEST_CPP_GUARD_H],
|
||||||
[AT_SETUP([Invalid CPP guards: $1])
|
[AT_SETUP([Invalid CPP guards: $1])
|
||||||
|
|
||||||
# possibly create and nuke inner directories.
|
# Possibly create inner directories.
|
||||||
m4_bmatch([$1], [[/]],
|
dirname=`AS_DIRNAME([$1])`
|
||||||
[dirname=`AS_DIRNAME([$1])`
|
|
||||||
AS_MKDIR_P([$dirname])
|
AS_MKDIR_P([$dirname])
|
||||||
AT_CLEANUP_FILES([$dirname])])
|
|
||||||
|
|
||||||
AT_DATA([$1.y],
|
AT_DATA([$1.y],
|
||||||
[%%
|
[%%
|
||||||
@@ -197,7 +430,7 @@ AT_CHECK([bison --defines=$1.h $1.y])
|
|||||||
# CPP should be happy with it.
|
# CPP should be happy with it.
|
||||||
AT_CHECK([$CC -E $1.h], 0, [ignore])
|
AT_CHECK([$CC -E $1.h], 0, [ignore])
|
||||||
|
|
||||||
AT_CLEANUP($1.*)
|
AT_CLEANUP
|
||||||
])
|
])
|
||||||
|
|
||||||
AT_TEST_CPP_GUARD_H([input/input])
|
AT_TEST_CPP_GUARD_H([input/input])
|
||||||
|
|||||||
+2
-1
@@ -19,7 +19,7 @@
|
|||||||
# 02111-1307, USA.
|
# 02111-1307, USA.
|
||||||
|
|
||||||
# We need a recent Autotest.
|
# We need a recent Autotest.
|
||||||
m4_version_prereq([2.52e])
|
m4_version_prereq([2.52g])
|
||||||
|
|
||||||
AT_INIT
|
AT_INIT
|
||||||
|
|
||||||
@@ -27,4 +27,5 @@ AT_TESTED([bison])
|
|||||||
|
|
||||||
m4_include([output.at])
|
m4_include([output.at])
|
||||||
m4_include([calc.at])
|
m4_include([calc.at])
|
||||||
|
m4_include([torture.at])
|
||||||
m4_include([regression.at])
|
m4_include([regression.at])
|
||||||
|
|||||||
@@ -0,0 +1,116 @@
|
|||||||
|
# Torturing Bison. -*- 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([[Torture Tests.]])
|
||||||
|
|
||||||
|
|
||||||
|
# AT_DATA_STACK_TORTURE(C-PROLOGUE)
|
||||||
|
# ---------------------------------
|
||||||
|
# A parser specialized in torturing the stack size.
|
||||||
|
m4_define([AT_DATA_STACK_TORTURE],
|
||||||
|
[# A grammar of parens growing the stack thanks to right recursion.
|
||||||
|
# exp:
|
||||||
|
AT_DATA([input.y],
|
||||||
|
[[%{
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <assert.h>
|
||||||
|
]$1[
|
||||||
|
static int yylex (void);
|
||||||
|
static void yyerror (const char *msg);
|
||||||
|
#define YYERROR_VERBOSE 1
|
||||||
|
#define YYPRINT(File, Type, Value) \
|
||||||
|
fprintf (File, " (%d, stack size = %d, max = %d)", \
|
||||||
|
Value, yyssp - yyss + 1, yystacksize);
|
||||||
|
%}
|
||||||
|
%debug
|
||||||
|
%token WAIT_FOR_EOF
|
||||||
|
%%
|
||||||
|
exp: WAIT_FOR_EOF exp | ;
|
||||||
|
%%
|
||||||
|
static void
|
||||||
|
yyerror (const char *msg)
|
||||||
|
{
|
||||||
|
fprintf (stderr, "%s\n", msg);
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* There are YYLVAL_MAX of WAIT_FOR_EOFs. */
|
||||||
|
unsigned int yylval_max;
|
||||||
|
|
||||||
|
static int
|
||||||
|
yylex (void)
|
||||||
|
{
|
||||||
|
if (yylval--)
|
||||||
|
return WAIT_FOR_EOF;
|
||||||
|
else
|
||||||
|
return EOF;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
main (int argc, const char **argv)
|
||||||
|
{
|
||||||
|
assert (argc == 2);
|
||||||
|
yylval = atoi (argv[1]);
|
||||||
|
yydebug = 1;
|
||||||
|
return yyparse ();
|
||||||
|
}
|
||||||
|
]])
|
||||||
|
AT_CHECK([bison input.y -o input.c])
|
||||||
|
AT_CHECK([$CC $CFLAGS $CPPFLAGS input.c -o input], 0, [], [ignore])
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
## -------------------------------------- ##
|
||||||
|
## Exploding the Stack Size with Alloca. ##
|
||||||
|
## -------------------------------------- ##
|
||||||
|
|
||||||
|
AT_SETUP([Exploding the Stack Size with Alloca])
|
||||||
|
|
||||||
|
AT_DATA_STACK_TORTURE
|
||||||
|
|
||||||
|
# Below the limit of 200.
|
||||||
|
AT_CHECK([input 20], 0, [], [ignore])
|
||||||
|
# Two enlargements: 2 * 2 * 200.
|
||||||
|
AT_CHECK([input 900], 0, [], [ignore])
|
||||||
|
# Fails: beyond the limit of 10,000 (which we don't reach anyway since we
|
||||||
|
# multiply by two starting at 200 => 5120 is the last possible).
|
||||||
|
AT_CHECK([input 10000], 1, [], [ignore])
|
||||||
|
|
||||||
|
AT_CLEANUP
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## -------------------------------------- ##
|
||||||
|
## Exploding the Stack Size with Malloc. ##
|
||||||
|
## -------------------------------------- ##
|
||||||
|
|
||||||
|
AT_SETUP([Exploding the Stack Size with Malloc])
|
||||||
|
|
||||||
|
AT_DATA_STACK_TORTURE([[#define YYSTACK_USE_ALLOCA_ALLOCA 0]])
|
||||||
|
|
||||||
|
# Below the limit of 200.
|
||||||
|
AT_CHECK([input 20], 0, [], [ignore])
|
||||||
|
# Two enlargements: 2 * 2 * 200.
|
||||||
|
AT_CHECK([input 900], 0, [], [ignore])
|
||||||
|
# Fails: beyond the limit of 10,000 (which we don't reach anyway since we
|
||||||
|
# multiply by two starting at 200 => 5120 is the possible).
|
||||||
|
AT_CHECK([input 10000], 1, [], [ignore])
|
||||||
|
|
||||||
|
AT_CLEANUP
|
||||||
Reference in New Issue
Block a user