mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-08-08 10:15:14 +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 | ||
|
|
a2874a4e5d | ||
|
|
d54387b4bc | ||
|
|
a4c22fa4bf | ||
|
|
0d214b93b0 | ||
|
|
3c5d71ca8b | ||
|
|
d61c57b70c | ||
|
|
ea57e0a3c4 | ||
|
|
57c429f305 | ||
|
|
239e5c1a9a | ||
|
|
ae9b5e5a4f | ||
|
|
7ae1c5929e | ||
|
|
1d708336d4 | ||
|
|
705131d1de | ||
|
|
5c2a5a8970 | ||
|
|
6b784f8552 | ||
|
|
32a1edfccd | ||
|
|
63cf44e7ac | ||
|
|
9507085cf3 | ||
|
|
8d3c8c3643 | ||
|
|
16c9da79ef | ||
|
|
d0132d6bec | ||
|
|
1306676ce3 | ||
|
|
e18cda8b5e | ||
|
|
ddf896eb8e | ||
|
|
9aadbdf371 | ||
|
|
f1b769ff28 | ||
|
|
94ff2b9475 | ||
|
|
470d206b2e | ||
|
|
08f0a4e409 | ||
|
|
00fda01856 |
@@ -1,3 +1,274 @@
|
||||
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]>
|
||||
|
||||
Version 1.30a.
|
||||
* src/lex.c (parse_percent_token): s/quotearg/quote/.
|
||||
|
||||
2001-11-05 Akim Demaille <[email protected]>
|
||||
|
||||
* tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
|
||||
pattern.
|
||||
|
||||
2001-11-05 Akim Demaille <[email protected]>
|
||||
|
||||
* src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
|
||||
with yyltype/YYLTYPE. This allows inclusion of the generated
|
||||
header within the parser if the compiler, such as GGC, accepts
|
||||
multiple equivalent #defines.
|
||||
|
||||
2001-11-04 Akim Demaille <[email protected]>
|
||||
|
||||
* src/getargs.c (longopts): Support `--output'. getopt is now
|
||||
able to understand that `--out' is OK: the two racing long options
|
||||
are aliases.
|
||||
(usage): Adjust.
|
||||
* src/lex.h (tok_setopt): Remove, replaced with...
|
||||
(tok_intopt, tok_stropt): these new guys.
|
||||
* src/lex.c (getopt.h): Not needed.
|
||||
(token_buffer, unlexed_token_buffer): Not const.
|
||||
(percent_table): Promote `-' over `_' in directive names.
|
||||
Active `%name-prefix', `file-prefix', and `output'.
|
||||
(parse_percent_token): Accept possible arguments to directives.
|
||||
Promote `-' over `_' in directive names.
|
||||
* doc/bison.texinfo (Decl Summary): Split the list into
|
||||
`directives for grammars' and `directives for bison'.
|
||||
Sort'em.
|
||||
Add description of `%name-prefix', `file-prefix', and `output'.
|
||||
Promote `-' over `_' in directive names.
|
||||
(Bison Options): s/%locactions/%locations/. Nice Freudian slip.
|
||||
Simplify the description of `--name-prefix'.
|
||||
Promote `-' over `_' in directive names.
|
||||
Promote `--output' over `--output-file'.
|
||||
Fix the description of `--defines'.
|
||||
* tests/output.at: Exercise %file-prefix and %output.
|
||||
|
||||
2001-11-02 Akim Demaille <[email protected]>
|
||||
|
||||
* doc/refcard.tex: Update.
|
||||
|
||||
2001-11-02 Akim Demaille <[email protected]>
|
||||
|
||||
* src/symtab.h (SUNDEF): New.
|
||||
* src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
|
||||
stand for `uninitialized', instead of 0.
|
||||
* src/reader.c (packsymbols, parse_thong_decl): Adjust.
|
||||
* src/lex.c (lex): Adjust.
|
||||
|
||||
* tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
|
||||
Number it 0.
|
||||
Let yylex return it instead of a plain 0.
|
||||
Reported by Dick Streefland.
|
||||
|
||||
2001-11-02 Akim Demaille <[email protected]>
|
||||
|
||||
* tests/regression.at (Mixing %token styles): New test.
|
||||
|
||||
2001-11-02 Akim Demaille <[email protected]>
|
||||
|
||||
* src/reader.c (parse_thong_decl): Formatting changes.
|
||||
(token_translations_init): New, extracted from...
|
||||
(packsymbols): Here.
|
||||
Adjust.
|
||||
|
||||
2001-11-01 Akim Demaille <[email protected]>
|
||||
|
||||
* tests/regression.at (AT_TEST_CPP_GUARD_H): New.
|
||||
Check that `9foo.y' produces correct cpp guards.
|
||||
* src/files.c (compute_header_macro): Prepend `BISON_' to CPP
|
||||
guards.
|
||||
Reported by Wwp.
|
||||
|
||||
2001-11-01 Akim Demaille <[email protected]>
|
||||
|
||||
* tests/regression.at (Invalid input: 2): New.
|
||||
* src/lex.c (unlexed_token_buffer): New.
|
||||
(lex, unlex): Adjust: when unlexing, be sure to save token_buffer
|
||||
too.
|
||||
Reported by Wwp.
|
||||
|
||||
2001-11-01 Akim Demaille <[email protected]>
|
||||
|
||||
* configure.in: Bump to 1.30a.
|
||||
Adjust to newer Autotest.
|
||||
|
||||
2001-10-26 Akim Demaille <[email protected]>
|
||||
|
||||
Version 1.30.
|
||||
|
||||
2001-10-26 Paul Eggert <[email protected]>
|
||||
|
||||
* lib/error.c, lib/error.h, lib/getopt.c, lib/getopt.h,
|
||||
lib/getopt1.c, lib/obstack.c, lib/obstack.h, lib/quote.c,
|
||||
lib/strnlen.c, lib/xmalloc.c, m4/c-bs-a.m4, m4/error.m4,
|
||||
m4/gettext.m4, m4/lcmessage.m4, m4/malloc.m4, m4/mbstate_t.m4,
|
||||
m4/progtest.m4, m4/realloc.m4, m4/strerror_r.m4:
|
||||
Sync with fileutils 4.1.1.
|
||||
|
||||
2001-10-18 Akim Demaille <[email protected]>
|
||||
|
||||
Version 1.29f.
|
||||
* tests/calc.at (_AT_CHECK_CALC_ERROR): Don't use `foo && bar', to
|
||||
avoid spurious failures.
|
||||
|
||||
2001-10-18 Akim Demaille <[email protected]>
|
||||
|
||||
Version 1.29e.
|
||||
|
||||
2001-10-18 Akim Demaille <[email protected]>
|
||||
|
||||
* tests/atlocal.in (GCC): Add.
|
||||
* tests/calc.at: s/m4_match/m4_bmatch/.
|
||||
s/m4_patsubst/m4_bpatsubst/.
|
||||
(AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
|
||||
* configure.in: AC_SUBST(GCC).
|
||||
|
||||
2001-10-10 Akim Demaille <[email protected]>
|
||||
|
||||
* m4/m4.m4: Remove.
|
||||
* configure.in: M4 is no longer needed, but autom4te is.
|
||||
* tests/Makefile.am (AUTOTEST): Don't define AUTOM4TE, let
|
||||
AC_SUBST do it.
|
||||
|
||||
2001-10-10 Akim Demaille <[email protected]>
|
||||
|
||||
Bump to 1.29e.
|
||||
|
||||
2001-10-10 Akim Demaille <[email protected]>
|
||||
|
||||
Version 1.29d.
|
||||
|
||||
+23
-32
@@ -1,4 +1,5 @@
|
||||
# Makefile.in generated automatically by automake 1.5a from Makefile.am.
|
||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
@@ -63,6 +64,7 @@ EXEEXT = @EXEEXT@
|
||||
OBJEXT = @OBJEXT@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOM4TE = @AUTOM4TE@
|
||||
AWK = @AWK@
|
||||
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
|
||||
CATALOGS = @CATALOGS@
|
||||
@@ -71,6 +73,7 @@ CC = @CC@
|
||||
CPP = @CPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
GCC = @GCC@
|
||||
GENCAT = @GENCAT@
|
||||
GLIBC21 = @GLIBC21@
|
||||
GMOFILES = @GMOFILES@
|
||||
@@ -81,9 +84,8 @@ INTLBISON = @INTLBISON@
|
||||
INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||
LIB = @LIB@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
M4 = @M4@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
MSGFMT = @MSGFMT@
|
||||
PACKAGE = @PACKAGE@
|
||||
@@ -135,10 +137,9 @@ RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
|
||||
uninstall-info-recursive all-recursive install-data-recursive \
|
||||
install-exec-recursive installdirs-recursive install-recursive \
|
||||
uninstall-recursive check-recursive installcheck-recursive
|
||||
DIST_COMMON = README ././stamp-h.in ./stamp-h.in ABOUT-NLS AUTHORS \
|
||||
COPYING ChangeLog INSTALL Makefile.am Makefile.in NEWS \
|
||||
README-alpha THANKS aclocal.m4 config.hin configure \
|
||||
configure.in
|
||||
DIST_COMMON = README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL \
|
||||
Makefile.am Makefile.in NEWS README-alpha THANKS aclocal.m4 \
|
||||
config.hin configure configure.in
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||
@@ -148,44 +149,34 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && \
|
||||
CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
CONFIG_FILES=$@ $(SHELL) ./config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@
|
||||
|
||||
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
|
||||
$(ACLOCAL_M4): configure.in m4/c-bs-a.m4 m4/codeset.m4 m4/dmalloc.m4 m4/error.m4 m4/gettext.m4 m4/glibc21.m4 m4/iconv.m4 m4/isc-posix.m4 m4/lcmessage.m4 m4/m4.m4 m4/malloc.m4 m4/mbrtowc.m4 m4/mbstate_t.m4 m4/prereq.m4 m4/progtest.m4 m4/realloc.m4 m4/strerror_r.m4 m4/warning.m4
|
||||
$(ACLOCAL_M4): configure.in m4/c-bs-a.m4 m4/codeset.m4 m4/dmalloc.m4 m4/error.m4 m4/gettext.m4 m4/glibc21.m4 m4/iconv.m4 m4/isc-posix.m4 m4/lcmessage.m4 m4/malloc.m4 m4/mbrtowc.m4 m4/mbstate_t.m4 m4/prereq.m4 m4/progtest.m4 m4/realloc.m4 m4/strerror_r.m4 m4/warning.m4
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
config.h: stamp-h
|
||||
|
||||
config.h: stamp-h1
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-h; \
|
||||
$(MAKE) stamp-h; \
|
||||
rm -f stamp-h1; \
|
||||
$(MAKE) stamp-h1; \
|
||||
else :; fi
|
||||
stamp-h: $(srcdir)/config.hin $(top_builddir)/config.status
|
||||
@rm -f stamp-h stamp-hT
|
||||
@echo timestamp > stamp-hT 2> /dev/null
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES= CONFIG_HEADERS=config.h:config.hin \
|
||||
$(SHELL) ./config.status
|
||||
@mv stamp-hT stamp-h
|
||||
$(srcdir)/config.hin: $(srcdir)/./stamp-h.in
|
||||
@if test ! -f $@; then \
|
||||
rm -f $(srcdir)/./stamp-h.in; \
|
||||
$(MAKE) $(srcdir)/./stamp-h.in; \
|
||||
else :; fi
|
||||
$(srcdir)/./stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
@rm -f $(srcdir)/./stamp-h.in $(srcdir)/./stamp-h.inT
|
||||
@echo timestamp > $(srcdir)/./stamp-h.inT 2> /dev/null
|
||||
|
||||
stamp-h1: $(srcdir)/config.hin $(top_builddir)/config.status
|
||||
@rm -f stamp-h1
|
||||
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||
|
||||
$(srcdir)/config.hin: $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && $(AUTOHEADER)
|
||||
@mv $(srcdir)/./stamp-h.inT $(srcdir)/./stamp-h.in
|
||||
touch $(srcdir)/config.hin
|
||||
|
||||
distclean-hdr:
|
||||
-rm -f config.h
|
||||
intl/Makefile: $(top_builddir)/config.status $(top_srcdir)/intl/Makefile.in
|
||||
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@
|
||||
uninstall-info-am:
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
@@ -296,7 +287,7 @@ distdir: $(DISTFILES)
|
||||
fi
|
||||
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
|
||||
mkdir $(distdir)
|
||||
$(mkinstalldirs) $(distdir)/./. $(distdir)/intl $(distdir)/po $(distdir)/tests
|
||||
$(mkinstalldirs) $(distdir)/intl $(distdir)/po $(distdir)/tests
|
||||
@for file in $(DISTFILES); do \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
|
||||
@@ -1,7 +1,47 @@
|
||||
Bison News
|
||||
----------
|
||||
|
||||
Changes in version 1.29d:
|
||||
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 CPP guards: 9foo.h uses BISON_9FOO_H instead of 9FOO_H.
|
||||
|
||||
* Fixed some typos in the documentation.
|
||||
|
||||
* %token MY_EOF 0 is supported.
|
||||
Before, MY_EOF was silently renumbered as 257.
|
||||
|
||||
* doc/refcard.tex is updated.
|
||||
|
||||
* %output, %file-prefix, %name-prefix.
|
||||
New.
|
||||
|
||||
* --output
|
||||
New, aliasing `--output-file'.
|
||||
|
||||
Changes in version 1.30, 2001-10-26:
|
||||
|
||||
* `--defines' and `--graph' have now an optionnal argument which is the
|
||||
output file name. `-d' and `-g' do not change, they do not take any
|
||||
@@ -10,11 +50,9 @@ Changes in version 1.29d:
|
||||
* `%source_extension' and `%header_extension' are removed, failed
|
||||
experiment.
|
||||
|
||||
* The test suite is more portable.
|
||||
|
||||
* Better portability.
|
||||
|
||||
Changes in version 1.29:
|
||||
* Portability fixes.
|
||||
|
||||
Changes in version 1.29, 2001-09-07:
|
||||
|
||||
* The output file does not define const, as this caused problems when used
|
||||
with common autoconfiguration schemes. If you still use ancient compilers
|
||||
@@ -45,8 +83,11 @@ Changes in version 1.29:
|
||||
* New directives.
|
||||
`%yacc', `%fixed_output_files', `%defines', `%no_parser', `%verbose',
|
||||
`%debug', `%source_extension' and `%header_extension'.
|
||||
|
||||
* @$
|
||||
Automatic location tracking.
|
||||
|
||||
Changes in version 1.28:
|
||||
Changes in version 1.28, 1999-07-06:
|
||||
|
||||
* Should compile better now with K&R compilers.
|
||||
|
||||
@@ -78,7 +119,7 @@ Changes in version 1.26:
|
||||
* Generated parsers should now work even on operating systems which do
|
||||
not provide alloca().
|
||||
|
||||
Changes in version 1.25:
|
||||
Changes in version 1.25, 1995-10-16:
|
||||
|
||||
* Errors in the input grammar are not fatal; Bison keeps reading
|
||||
the grammar file, and reports all the errors found in it.
|
||||
@@ -119,3 +160,7 @@ Changes in version 1.22:
|
||||
Changes in version 1.20:
|
||||
|
||||
Output file does not redefine const for C++.
|
||||
|
||||
Local Variables:
|
||||
mode: outline
|
||||
End:
|
||||
|
||||
@@ -2,11 +2,12 @@ Bison was originally written by Robert Corbett. It would not be what
|
||||
it is today without the invaluable help of these people:
|
||||
|
||||
Airy Andre [email protected]
|
||||
Akim Demaille akim@epita.fr
|
||||
Akim Demaille akim@freefriends.org
|
||||
Albert Chin-A-Young [email protected]
|
||||
Alexander Belopolsky [email protected]
|
||||
Daniel Hagerty [email protected]
|
||||
David J. MacKenzie [email protected]
|
||||
Dick Streefland [email protected]
|
||||
Fabrice Bauzac [email protected]
|
||||
Hans Aberg [email protected]
|
||||
Jesse Thilo [email protected]
|
||||
@@ -19,10 +20,14 @@ Neil Booth [email protected]
|
||||
Noah Friedman [email protected]
|
||||
Pascal Bart [email protected]
|
||||
Paul Eggert [email protected]
|
||||
Per Allansson [email protected]
|
||||
Piotr Gackiewicz [email protected]
|
||||
Richard Stallman [email protected]
|
||||
Robert Anisko [email protected]
|
||||
Shura [email protected]
|
||||
Tom Lane [email protected]
|
||||
Wolfram Wagner [email protected]
|
||||
Wwp [email protected]
|
||||
|
||||
Many people are not named here because we lost track of them. We
|
||||
thank them! Please, help us keeping this list up to date.
|
||||
|
||||
Vendored
+407
-228
@@ -1,4 +1,4 @@
|
||||
# aclocal.m4 generated automatically by aclocal 1.5
|
||||
# aclocal.m4 generated automatically by aclocal 1.5a -*- Autoconf -*-
|
||||
|
||||
# Copyright 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
@@ -11,11 +11,29 @@
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
# Do all the work for Automake. This macro actually does too much --
|
||||
# some checks are only needed if your package does certain things.
|
||||
# But this isn't really a big deal.
|
||||
# Do all the work for Automake. -*- Autoconf -*-
|
||||
|
||||
# serial 5
|
||||
# This macro actually does too much some checks are only needed if
|
||||
# your package does certain things. But this isn't really a big deal.
|
||||
|
||||
# Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# 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.
|
||||
|
||||
# serial 6
|
||||
|
||||
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
|
||||
# written in clear, in which case automake, when reading aclocal.m4,
|
||||
@@ -24,55 +42,29 @@
|
||||
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
|
||||
|
||||
|
||||
# We require 2.13 because we rely on SHELL being computed by configure.
|
||||
AC_PREREQ([2.13])
|
||||
|
||||
# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
|
||||
# -----------------------------------------------------------
|
||||
# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED.
|
||||
# The purpose of this macro is to provide the user with a means to
|
||||
# check macros which are provided without letting her know how the
|
||||
# information is coded.
|
||||
# If this macro is not defined by Autoconf, define it here.
|
||||
ifdef([AC_PROVIDE_IFELSE],
|
||||
[],
|
||||
[define([AC_PROVIDE_IFELSE],
|
||||
[ifdef([AC_PROVIDE_$1],
|
||||
[$2], [$3])])])
|
||||
AC_PREREQ([2.52])
|
||||
|
||||
# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
|
||||
# the ones we care about.
|
||||
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
|
||||
|
||||
# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE])
|
||||
# ----------------------------------------------
|
||||
AC_DEFUN([AM_INIT_AUTOMAKE],
|
||||
[AC_REQUIRE([AC_PROG_INSTALL])dnl
|
||||
# test to see if srcdir already configured
|
||||
if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" &&
|
||||
if test "`cd $srcdir && pwd`" != "`pwd`" &&
|
||||
test -f $srcdir/config.status; then
|
||||
AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first])
|
||||
fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE=$1
|
||||
AC_SUBST(PACKAGE)dnl
|
||||
VERSION=$2
|
||||
AC_SUBST(VERSION)dnl
|
||||
AC_SUBST([PACKAGE], [$1])dnl
|
||||
AC_SUBST([VERSION], [$2])dnl
|
||||
ifelse([$3],,
|
||||
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
|
||||
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
|
||||
|
||||
# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
|
||||
# the ones we care about.
|
||||
ifdef([m4_pattern_allow],
|
||||
[m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl
|
||||
|
||||
# Autoconf 2.50 always computes EXEEXT. However we need to be
|
||||
# compatible with 2.13, for now. So we always define EXEEXT, but we
|
||||
# don't compute it.
|
||||
AC_SUBST(EXEEXT)
|
||||
# Similar for OBJEXT -- only we only use OBJEXT if the user actually
|
||||
# requests that it be used. This is a bit dumb.
|
||||
: ${OBJEXT=o}
|
||||
AC_SUBST(OBJEXT)
|
||||
|
||||
# Some tools Automake needs.
|
||||
AC_REQUIRE([AM_SANITY_CHECK])dnl
|
||||
@@ -105,6 +97,23 @@ AC_PROVIDE_IFELSE([AC_PROG_][CXX],
|
||||
# Check to make sure that the build environment is sane.
|
||||
#
|
||||
|
||||
# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# 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.
|
||||
|
||||
# serial 3
|
||||
|
||||
# AM_SANITY_CHECK
|
||||
@@ -148,6 +157,25 @@ Check your system clock])
|
||||
fi
|
||||
AC_MSG_RESULT(yes)])
|
||||
|
||||
# -*- Autoconf -*-
|
||||
|
||||
|
||||
# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# 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.
|
||||
|
||||
# serial 2
|
||||
|
||||
@@ -178,6 +206,23 @@ fi
|
||||
|
||||
# AM_AUX_DIR_EXPAND
|
||||
|
||||
# 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.
|
||||
|
||||
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
|
||||
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
|
||||
# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
|
||||
@@ -216,19 +261,59 @@ fi
|
||||
# absolute PATH. The drawback is that using absolute paths prevent a
|
||||
# configured tree to be moved without reconfiguration.
|
||||
|
||||
# Rely on autoconf to set up CDPATH properly.
|
||||
AC_PREREQ([2.50])
|
||||
|
||||
AC_DEFUN([AM_AUX_DIR_EXPAND], [
|
||||
# expand $ac_aux_dir to an absolute path
|
||||
am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd`
|
||||
am_aux_dir=`cd $ac_aux_dir && pwd`
|
||||
])
|
||||
|
||||
# AM_PROG_INSTALL_SH
|
||||
# ------------------
|
||||
# Define $install_sh.
|
||||
|
||||
# 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.
|
||||
|
||||
AC_DEFUN([AM_PROG_INSTALL_SH],
|
||||
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||
install_sh=${install_sh-"$am_aux_dir/install-sh"}
|
||||
AC_SUBST(install_sh)])
|
||||
|
||||
# AM_PROG_INSTALL_STRIP
|
||||
|
||||
# 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.
|
||||
|
||||
# One issue with vendor `install' (even GNU) is that you can't
|
||||
# specify the program used to strip binaries. This is especially
|
||||
# annoying in cross-compiling environments, where the build's strip
|
||||
@@ -243,6 +328,22 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
||||
|
||||
# serial 4 -*- Autoconf -*-
|
||||
|
||||
# Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# 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.
|
||||
|
||||
|
||||
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
|
||||
@@ -254,7 +355,7 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
||||
|
||||
|
||||
# _AM_DEPENDENCIES(NAME)
|
||||
# ---------------------
|
||||
# ----------------------
|
||||
# See how the compiler implements dependency checking.
|
||||
# NAME is "CC", "CXX" or "OBJC".
|
||||
# We try a few techniques and use that to set a single cache variable.
|
||||
@@ -333,8 +434,7 @@ else
|
||||
am_cv_$1_dependencies_compiler_type=none
|
||||
fi
|
||||
])
|
||||
$1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type"
|
||||
AC_SUBST([$1DEPMODE])
|
||||
AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
|
||||
])
|
||||
|
||||
|
||||
@@ -352,7 +452,7 @@ else
|
||||
DEPDIR=_deps
|
||||
fi
|
||||
rmdir .deps 2>/dev/null
|
||||
AC_SUBST(DEPDIR)
|
||||
AC_SUBST([DEPDIR])
|
||||
])
|
||||
|
||||
|
||||
@@ -367,30 +467,40 @@ if test "x$enable_dependency_tracking" != xno; then
|
||||
AMDEPBACKSLASH='\'
|
||||
fi
|
||||
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
|
||||
pushdef([subst], defn([AC_SUBST]))
|
||||
subst(AMDEPBACKSLASH)
|
||||
popdef([subst])
|
||||
AC_SUBST([AMDEPBACKSLASH])
|
||||
])
|
||||
|
||||
# Generate code to set up dependency tracking.
|
||||
# This macro should only be invoked once -- use via AC_REQUIRE.
|
||||
# Usage:
|
||||
# AM_OUTPUT_DEPENDENCY_COMMANDS
|
||||
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
||||
|
||||
#
|
||||
# This code is only required when automatic dependency tracking
|
||||
# is enabled. FIXME. This creates each `.P' file that we will
|
||||
# need in order to bootstrap the dependency handling code.
|
||||
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[
|
||||
AC_OUTPUT_COMMANDS([
|
||||
test x"$AMDEP_TRUE" != x"" ||
|
||||
for mf in $CONFIG_FILES; do
|
||||
case "$mf" in
|
||||
# Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# 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.
|
||||
|
||||
#serial 2
|
||||
|
||||
# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
||||
# ------------------------------
|
||||
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||
[for mf in $CONFIG_FILES; do
|
||||
case $mf in
|
||||
Makefile) dirpart=.;;
|
||||
*/Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;;
|
||||
*/Makefile) dirpart=`AS_DIRNAME("$mf")`;;
|
||||
*) continue;;
|
||||
esac
|
||||
grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
|
||||
grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
|
||||
# Extract the definition of DEP_FILES from the Makefile without
|
||||
# running `make'.
|
||||
DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
|
||||
@@ -414,18 +524,49 @@ for mf in $CONFIG_FILES; do
|
||||
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
|
||||
# Make sure the directory exists.
|
||||
test -f "$dirpart/$file" && continue
|
||||
fdir=`echo "$file" | sed -e 's|/[^/]*$||'`
|
||||
$ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1
|
||||
fdir=`AS_DIRNAME(["$file"])`
|
||||
AS_MKDIR_P([$dirpart/$fdir])
|
||||
# echo "creating $dirpart/$file"
|
||||
echo '# dummy' > "$dirpart/$file"
|
||||
done
|
||||
done
|
||||
], [AMDEP_TRUE="$AMDEP_TRUE"
|
||||
ac_aux_dir="$ac_aux_dir"])])
|
||||
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
||||
|
||||
|
||||
# AM_OUTPUT_DEPENDENCY_COMMANDS
|
||||
# -----------------------------
|
||||
# This macro should only be invoked once -- use via AC_REQUIRE.
|
||||
#
|
||||
# This code is only required when automatic dependency tracking
|
||||
# is enabled. FIXME. This creates each `.P' file that we will
|
||||
# need in order to bootstrap the dependency handling code.
|
||||
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||
[AC_CONFIG_COMMANDS([depfiles],
|
||||
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
|
||||
])
|
||||
|
||||
# AM_MAKE_INCLUDE()
|
||||
# -----------------
|
||||
# Check to see how make treats includes.
|
||||
|
||||
# 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.
|
||||
|
||||
AC_DEFUN([AM_MAKE_INCLUDE],
|
||||
[am_make=${MAKE-make}
|
||||
cat > confinc << 'END'
|
||||
@@ -464,23 +605,35 @@ AC_MSG_RESULT($_am_result)
|
||||
rm -f confinc confmf
|
||||
])
|
||||
|
||||
# serial 3
|
||||
# AM_CONDITIONAL -*- Autoconf -*-
|
||||
|
||||
# Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# 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.
|
||||
|
||||
# serial 5
|
||||
|
||||
AC_PREREQ(2.52)
|
||||
|
||||
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
|
||||
# -------------------------------------
|
||||
# Define a conditional.
|
||||
#
|
||||
# FIXME: Once using 2.50, use this:
|
||||
# m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl
|
||||
AC_DEFUN([AM_CONDITIONAL],
|
||||
[ifelse([$1], [TRUE],
|
||||
[errprint(__file__:__line__: [$0: invalid condition: $1
|
||||
])dnl
|
||||
m4exit(1)])dnl
|
||||
ifelse([$1], [FALSE],
|
||||
[errprint(__file__:__line__: [$0: invalid condition: $1
|
||||
])dnl
|
||||
m4exit(1)])dnl
|
||||
[ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
|
||||
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
|
||||
AC_SUBST([$1_TRUE])
|
||||
AC_SUBST([$1_FALSE])
|
||||
if $2; then
|
||||
@@ -491,72 +644,83 @@ else
|
||||
$1_FALSE=
|
||||
fi])
|
||||
|
||||
# Like AC_CONFIG_HEADER, but automatically create stamp file.
|
||||
# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*-
|
||||
|
||||
# serial 3
|
||||
# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# 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.
|
||||
|
||||
AC_PREREQ([2.52])
|
||||
|
||||
# serial 6
|
||||
|
||||
# When config.status generates a header, we must update the stamp-h file.
|
||||
# This file resides in the same directory as the config header
|
||||
# that is generated. We must strip everything past the first ":",
|
||||
# and everything past the last "/".
|
||||
|
||||
AC_PREREQ([2.12])
|
||||
|
||||
AC_DEFUN([AM_CONFIG_HEADER],
|
||||
[ifdef([AC_FOREACH],dnl
|
||||
[dnl init our file count if it isn't already
|
||||
m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0]))
|
||||
dnl prepare to store our destination file list for use in config.status
|
||||
AC_FOREACH([_AM_File], [$1],
|
||||
[m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*]))
|
||||
m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index))
|
||||
dnl and add it to the list of files AC keeps track of, along
|
||||
dnl with our hook
|
||||
AC_CONFIG_HEADERS(_AM_File,
|
||||
dnl COMMANDS, [, INIT-CMDS]
|
||||
[# update the timestamp
|
||||
echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index["
|
||||
][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS
|
||||
m4_popdef([_AM_Dest])])],dnl
|
||||
[AC_CONFIG_HEADER([$1])
|
||||
AC_OUTPUT_COMMANDS(
|
||||
ifelse(patsubst([$1], [[^ ]], []),
|
||||
[],
|
||||
[test -z "$CONFIG_HEADERS" || echo timestamp >dnl
|
||||
patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl
|
||||
[am_indx=1
|
||||
for am_file in $1; do
|
||||
case " \$CONFIG_HEADERS " in
|
||||
*" \$am_file "*)
|
||||
am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\`
|
||||
if test -n "\$am_dir"; then
|
||||
am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\`
|
||||
for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do
|
||||
am_tmpdir=\$am_tmpdir\$am_subdir/
|
||||
if test ! -d \$am_tmpdir; then
|
||||
mkdir \$am_tmpdir
|
||||
fi
|
||||
done
|
||||
fi
|
||||
echo timestamp > "\$am_dir"stamp-h\$am_indx
|
||||
;;
|
||||
esac
|
||||
am_indx=\`expr \$am_indx + 1\`
|
||||
done])
|
||||
])]) # AM_CONFIG_HEADER
|
||||
|
||||
# _AM_DIRNAME(PATH)
|
||||
# -----------------
|
||||
# Like AS_DIRNAME, only do it during macro expansion
|
||||
AC_DEFUN([_AM_DIRNAME],
|
||||
[m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
|
||||
m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1,
|
||||
m4_if(m4_regexp([$1], [^/.*]), -1,
|
||||
[m4_if(regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
|
||||
m4_if(regexp([$1], [^//\([^/]\|$\)]), -1,
|
||||
m4_if(regexp([$1], [^/.*]), -1,
|
||||
[.],
|
||||
m4_patsubst([$1], [^\(/\).*], [\1])),
|
||||
m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
|
||||
m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
|
||||
]) # _AM_DIRNAME
|
||||
patsubst([$1], [^\(/\).*], [\1])),
|
||||
patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
|
||||
patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
|
||||
])# _AM_DIRNAME
|
||||
|
||||
|
||||
# The stamp files are numbered to have different names.
|
||||
# We could number them on a directory basis, but that's additional
|
||||
# complications, let's have a unique counter.
|
||||
m4_define([_AM_STAMP_Count], [0])
|
||||
|
||||
|
||||
# _AM_STAMP(HEADER)
|
||||
# -----------------
|
||||
# The name of the stamp file for HEADER.
|
||||
AC_DEFUN([_AM_STAMP],
|
||||
[m4_define([_AM_STAMP_Count], m4_incr(_AM_STAMP_Count))dnl
|
||||
AS_ESCAPE(_AM_DIRNAME(patsubst([$1],
|
||||
[:.*])))/stamp-h[]_AM_STAMP_Count])
|
||||
|
||||
|
||||
# _AM_CONFIG_HEADER(HEADER[:SOURCES], COMMANDS, INIT-COMMANDS)
|
||||
# ------------------------------------------------------------
|
||||
# We used to try to get a real timestamp in stamp-h. But the fear is that
|
||||
# that will cause unnecessary cvs conflicts.
|
||||
AC_DEFUN([_AM_CONFIG_HEADER],
|
||||
[# Add the stamp file to the list of files AC keeps track of,
|
||||
# along with our hook.
|
||||
AC_CONFIG_HEADERS([$1],
|
||||
[# update the timestamp
|
||||
echo 'timestamp for $1' >"_AM_STAMP([$1])"
|
||||
$2],
|
||||
[$3])
|
||||
])# _AM_CONFIG_HEADER
|
||||
|
||||
|
||||
# AM_CONFIG_HEADER(HEADER[:SOURCES]..., COMMANDS, INIT-COMMANDS)
|
||||
# --------------------------------------------------------------
|
||||
AC_DEFUN([AM_CONFIG_HEADER],
|
||||
[AC_FOREACH([_AM_File], [$1], [_AM_CONFIG_HEADER(_AM_File, [$2], [$3])])
|
||||
])# AM_CONFIG_HEADER
|
||||
|
||||
#serial 1
|
||||
# This test replaces the one in autoconf.
|
||||
@@ -577,6 +741,23 @@ AC_DEFUN([AC_ISC_POSIX],
|
||||
)
|
||||
|
||||
|
||||
# Copyright 1996, 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# 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.
|
||||
|
||||
# serial 1
|
||||
|
||||
# @defmac AC_PROG_CC_STDC
|
||||
@@ -665,23 +846,6 @@ case "x$am_cv_prog_cc_stdc" in
|
||||
esac
|
||||
])
|
||||
|
||||
# serial 1 -*- Autoconf -*-
|
||||
|
||||
# BISON_AC_PROG_GNU_M4
|
||||
# --------------------
|
||||
# Check for GNU m4, at least 1.3 (supports frozen files).
|
||||
AC_DEFUN([BISON_AC_PROG_GNU_M4],
|
||||
[AC_PATH_PROGS(M4, gm4 gnum4 m4, m4)
|
||||
AC_CACHE_CHECK([whether m4 supports frozen files],
|
||||
[ac_cv_prog_gnu_m4],
|
||||
[ac_cv_prog_gnu_m4=no
|
||||
if test x"$M4" != x; then
|
||||
case `$M4 --help < /dev/null 2>&1` in
|
||||
*reload-state*) ac_cv_prog_gnu_m4=yes ;;
|
||||
esac
|
||||
fi])
|
||||
])# BISON_AC_PROG_GNU_M4
|
||||
|
||||
AC_DEFUN(BISON_WARNING,
|
||||
[AC_MSG_CHECKING(whether compiler accepts $1)
|
||||
AC_SUBST(WARNING_CFLAGS)
|
||||
@@ -695,6 +859,23 @@ AC_MSG_RESULT(no))
|
||||
CFLAGS="$ac_save_CFLAGS"])
|
||||
|
||||
|
||||
# Copyright 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# 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.
|
||||
|
||||
# serial 1
|
||||
|
||||
AC_DEFUN([AM_C_PROTOTYPES],
|
||||
@@ -716,19 +897,19 @@ AC_SUBST(U)dnl
|
||||
AC_SUBST(ANSI2KNR)dnl
|
||||
])
|
||||
|
||||
#serial 3
|
||||
#serial 5
|
||||
|
||||
dnl From Jim Meyering.
|
||||
dnl Determine whether malloc accepts 0 as its argument.
|
||||
dnl If it doesn't, arrange to use the replacement function.
|
||||
dnl
|
||||
|
||||
AC_DEFUN(jm_FUNC_MALLOC,
|
||||
AC_DEFUN([jm_FUNC_MALLOC],
|
||||
[
|
||||
dnl xmalloc.c requires that this symbol be defined so it doesn't
|
||||
dnl mistakenly use a broken malloc -- as it might if this test were omitted.
|
||||
AC_DEFINE_UNQUOTED(HAVE_DONE_WORKING_MALLOC_CHECK, 1,
|
||||
[Define if the malloc check has been performed. ])
|
||||
AC_DEFINE(HAVE_DONE_WORKING_MALLOC_CHECK, 1,
|
||||
[Define if the malloc check has been performed. ])
|
||||
|
||||
AC_CACHE_CHECK([for working malloc], jm_cv_func_working_malloc,
|
||||
[AC_TRY_RUN([
|
||||
@@ -745,26 +926,25 @@ AC_DEFUN(jm_FUNC_MALLOC,
|
||||
jm_cv_func_working_malloc=no)
|
||||
])
|
||||
if test $jm_cv_func_working_malloc = no; then
|
||||
AC_SUBST(LIBOBJS)
|
||||
LIBOBJS="$LIBOBJS malloc.$ac_objext"
|
||||
AC_DEFINE_UNQUOTED(malloc, rpl_malloc,
|
||||
AC_LIBOBJ(malloc)
|
||||
AC_DEFINE(malloc, rpl_malloc,
|
||||
[Define to rpl_malloc if the replacement function should be used.])
|
||||
fi
|
||||
])
|
||||
|
||||
#serial 3
|
||||
#serial 5
|
||||
|
||||
dnl From Jim Meyering.
|
||||
dnl Determine whether realloc works when both arguments are 0.
|
||||
dnl If it doesn't, arrange to use the replacement function.
|
||||
dnl
|
||||
|
||||
AC_DEFUN(jm_FUNC_REALLOC,
|
||||
AC_DEFUN([jm_FUNC_REALLOC],
|
||||
[
|
||||
dnl xmalloc.c requires that this symbol be defined so it doesn't
|
||||
dnl mistakenly use a broken realloc -- as it might if this test were omitted.
|
||||
AC_DEFINE_UNQUOTED(HAVE_DONE_WORKING_REALLOC_CHECK, 1,
|
||||
[Define if the realloc check has been performed. ])
|
||||
AC_DEFINE(HAVE_DONE_WORKING_REALLOC_CHECK, 1,
|
||||
[Define if the realloc check has been performed. ])
|
||||
|
||||
AC_CACHE_CHECK([for working realloc], jm_cv_func_working_realloc,
|
||||
[AC_TRY_RUN([
|
||||
@@ -781,9 +961,8 @@ AC_DEFUN(jm_FUNC_REALLOC,
|
||||
jm_cv_func_working_realloc=no)
|
||||
])
|
||||
if test $jm_cv_func_working_realloc = no; then
|
||||
AC_SUBST(LIBOBJS)
|
||||
LIBOBJS="$LIBOBJS realloc.$ac_objext"
|
||||
AC_DEFINE_UNQUOTED(realloc, rpl_realloc,
|
||||
AC_LIBOBJ(realloc)
|
||||
AC_DEFINE(realloc, rpl_realloc,
|
||||
[Define to rpl_realloc if the replacement function should be used.])
|
||||
fi
|
||||
])
|
||||
@@ -823,11 +1002,11 @@ AC_DEFUN([jm_FUNC_MBRTOWC],
|
||||
fi
|
||||
])
|
||||
|
||||
#serial 3
|
||||
#serial 4
|
||||
|
||||
dnl From Paul Eggert.
|
||||
|
||||
AC_DEFUN(AC_C_BACKSLASH_A,
|
||||
AC_DEFUN([AC_C_BACKSLASH_A],
|
||||
[
|
||||
AC_CACHE_CHECK([whether backslash-a works in strings], ac_cv_c_backslash_a,
|
||||
[AC_TRY_COMPILE([],
|
||||
@@ -847,7 +1026,7 @@ AC_DEFUN(AC_C_BACKSLASH_A,
|
||||
fi
|
||||
])
|
||||
|
||||
# serial 8
|
||||
# serial 9
|
||||
|
||||
# From Paul Eggert.
|
||||
|
||||
@@ -859,7 +1038,7 @@ AC_DEFUN(AC_C_BACKSLASH_A,
|
||||
# (at least glibc-2.1.3) because the "_XOPEN_SOURCE 500" definition elicits
|
||||
# a syntax error in wchar.h due to the use of undefined __int32_t.
|
||||
|
||||
AC_DEFUN(AC_MBSTATE_T,
|
||||
AC_DEFUN([AC_MBSTATE_T],
|
||||
[
|
||||
AC_CHECK_HEADERS(stdlib.h)
|
||||
|
||||
@@ -877,25 +1056,40 @@ AC_DEFUN(AC_MBSTATE_T,
|
||||
[Define to a type if <wchar.h> does not define.])
|
||||
fi])
|
||||
|
||||
#serial 1
|
||||
#serial 4
|
||||
|
||||
dnl FIXME: put these prerequisite-only *.m4 files in a separate
|
||||
dnl directory -- otherwise, they'll conflict with existing files.
|
||||
|
||||
dnl These are the prerequisite macros for GNU's error.c file.
|
||||
AC_DEFUN(jm_PREREQ_ERROR,
|
||||
AC_DEFUN([jm_PREREQ_ERROR],
|
||||
[
|
||||
AC_CHECK_FUNCS(strerror strerror_r vprintf doprnt)
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_FUNCS(strerror vprintf doprnt)
|
||||
AC_CHECK_DECLS([strerror])
|
||||
AC_FUNC_STRERROR_R
|
||||
AC_HEADER_STDC
|
||||
])
|
||||
|
||||
#serial 1002
|
||||
#serial 1003
|
||||
# Experimental replacement for the function in the latest CVS autoconf.
|
||||
# If the compile-test says strerror_r doesn't work, then resort to a
|
||||
# `run'-test that works on BeOS and segfaults on DEC Unix.
|
||||
# Use with the error.c file in ../lib.
|
||||
|
||||
# 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. */
|
||||
|
||||
undefine([AC_FUNC_STRERROR_R])
|
||||
|
||||
# AC_FUNC_STRERROR_R
|
||||
@@ -903,57 +1097,36 @@ undefine([AC_FUNC_STRERROR_R])
|
||||
AC_DEFUN([AC_FUNC_STRERROR_R],
|
||||
[AC_CHECK_DECLS([strerror_r])
|
||||
AC_CHECK_FUNCS([strerror_r])
|
||||
if test $ac_cv_func_strerror_r = yes; then
|
||||
AC_CHECK_HEADERS(string.h)
|
||||
AC_CACHE_CHECK([for working strerror_r],
|
||||
ac_cv_func_strerror_r_works,
|
||||
AC_CACHE_CHECK([whether strerror_r returns char *],
|
||||
ac_cv_func_strerror_r_char_p,
|
||||
[
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
# include <stdio.h>
|
||||
# if HAVE_STRING_H
|
||||
# include <string.h>
|
||||
# endif
|
||||
],
|
||||
[
|
||||
char buf[100];
|
||||
char x = *strerror_r (0, buf, sizeof buf);
|
||||
],
|
||||
ac_cv_func_strerror_r_works=yes,
|
||||
ac_cv_func_strerror_r_works=no
|
||||
)
|
||||
if test $ac_cv_func_strerror_r_works = no; then
|
||||
# strerror_r seems not to work, but now we have to choose between
|
||||
ac_cv_func_strerror_r_char_p=no
|
||||
if test $ac_cv_have_decl_strerror_r = yes; then
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
|
||||
[[
|
||||
char buf[100];
|
||||
char x = *strerror_r (0, buf, sizeof buf);
|
||||
char *p = strerror_r (0, buf, sizeof buf);
|
||||
]])],
|
||||
ac_cv_func_strerror_r_char_p=yes)
|
||||
else
|
||||
# strerror_r is not declared. Choose between
|
||||
# systems that have relatively inaccessible declarations for the
|
||||
# function. BeOS and DEC UNIX 4.0 fall in this category, but the
|
||||
# former has a strerror_r that returns char*, while the latter
|
||||
# has a strerror_r that returns `int'.
|
||||
# This test should segfault on the DEC system.
|
||||
AC_TRY_RUN(
|
||||
[
|
||||
# include <stdio.h>
|
||||
# include <string.h>
|
||||
# include <ctype.h>
|
||||
|
||||
extern char *strerror_r ();
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
char buf[100];
|
||||
AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT
|
||||
extern char *strerror_r ();],
|
||||
[[char buf[100];
|
||||
char x = *strerror_r (0, buf, sizeof buf);
|
||||
exit (!isalpha (x));
|
||||
}
|
||||
],
|
||||
ac_cv_func_strerror_r_works=yes,
|
||||
ac_cv_func_strerror_r_works=no,
|
||||
ac_cv_func_strerror_r_works=no)
|
||||
exit (!isalpha (x));]])],
|
||||
ac_cv_func_strerror_r_char_p=yes, , :)
|
||||
fi
|
||||
])
|
||||
if test $ac_cv_func_strerror_r_works = yes; then
|
||||
AC_DEFINE_UNQUOTED(HAVE_WORKING_STRERROR_R, 1,
|
||||
[Define to 1 if `strerror_r' returns a string.])
|
||||
fi
|
||||
if test $ac_cv_func_strerror_r_char_p = yes; then
|
||||
AC_DEFINE([STRERROR_R_CHAR_P], 1,
|
||||
[Define to 1 if strerror_r returns char *.])
|
||||
fi
|
||||
])# AC_FUNC_STRERROR_R
|
||||
|
||||
@@ -981,10 +1154,12 @@ fi], [AC_MSG_RESULT(no)])
|
||||
#
|
||||
# This file can be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU General Public
|
||||
# License but which still want to provide support for the GNU gettext
|
||||
# functionality.
|
||||
# Please note that the actual code of GNU gettext is covered by the GNU
|
||||
# General Public License and is *not* in the public domain.
|
||||
# License or the GNU Library General Public License but which still want
|
||||
# to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code of the GNU gettext library is covered
|
||||
# by the GNU Library General Public License, and the rest of the GNU
|
||||
# gettext package package is covered by the GNU General Public License.
|
||||
# They are *not* in the public domain.
|
||||
|
||||
# serial 10
|
||||
|
||||
@@ -1219,7 +1394,7 @@ return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", ""
|
||||
dnl Found it, now check the version.
|
||||
AC_MSG_CHECKING([version of bison])
|
||||
changequote(<<,>>)dnl
|
||||
ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison .* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
|
||||
@@ -1350,10 +1525,12 @@ strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
|
||||
#
|
||||
# This file can be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU General Public
|
||||
# License but which still want to provide support for the GNU gettext
|
||||
# functionality.
|
||||
# Please note that the actual code of GNU gettext is covered by the GNU
|
||||
# General Public License and is *not* in the public domain.
|
||||
# License or the GNU Library General Public License but which still want
|
||||
# to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code of the GNU gettext library is covered
|
||||
# by the GNU Library General Public License, and the rest of the GNU
|
||||
# gettext package package is covered by the GNU General Public License.
|
||||
# They are *not* in the public domain.
|
||||
|
||||
# serial 2
|
||||
|
||||
@@ -1515,10 +1692,12 @@ AC_DEFUN([AM_LANGINFO_CODESET],
|
||||
#
|
||||
# This file can be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU General Public
|
||||
# License but which still want to provide support for the GNU gettext
|
||||
# functionality.
|
||||
# Please note that the actual code of GNU gettext is covered by the GNU
|
||||
# General Public License and is *not* in the public domain.
|
||||
# License or the GNU Library General Public License but which still want
|
||||
# to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code of the GNU gettext library is covered
|
||||
# by the GNU Library General Public License, and the rest of the GNU
|
||||
# gettext package package is covered by the GNU General Public License.
|
||||
# They are *not* in the public domain.
|
||||
|
||||
# serial 2
|
||||
|
||||
|
||||
+7
-3
@@ -38,6 +38,10 @@
|
||||
*/
|
||||
#undef HAVE_DECL_STPCPY
|
||||
|
||||
/* Define to 1 if you have the declaration of `strerror', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL_STRERROR
|
||||
|
||||
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL_STRERROR_R
|
||||
@@ -218,9 +222,6 @@
|
||||
/* Define if you have the <wctype.h> header file. */
|
||||
#undef HAVE_WCTYPE_H
|
||||
|
||||
/* Define to 1 if `strerror_r' returns a string. */
|
||||
#undef HAVE_WORKING_STRERROR_R
|
||||
|
||||
/* Define if you have the `__argz_count' function. */
|
||||
#undef HAVE___ARGZ_COUNT
|
||||
|
||||
@@ -250,6 +251,9 @@
|
||||
/* Define if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Define to 1 if strerror_r returns char *. */
|
||||
#undef STRERROR_R_CHAR_P
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
|
||||
|
||||
+6
-6
@@ -1,4 +1,5 @@
|
||||
# Makefile.in generated automatically by automake 1.5a from Makefile.am.
|
||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
@@ -63,6 +64,7 @@ EXEEXT = @EXEEXT@
|
||||
OBJEXT = @OBJEXT@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOM4TE = @AUTOM4TE@
|
||||
AWK = @AWK@
|
||||
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
|
||||
CATALOGS = @CATALOGS@
|
||||
@@ -71,6 +73,7 @@ CC = @CC@
|
||||
CPP = @CPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
GCC = @GCC@
|
||||
GENCAT = @GENCAT@
|
||||
GLIBC21 = @GLIBC21@
|
||||
GMOFILES = @GMOFILES@
|
||||
@@ -81,9 +84,8 @@ INTLBISON = @INTLBISON@
|
||||
INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||
LIB = @LIB@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
M4 = @M4@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
MSGFMT = @MSGFMT@
|
||||
PACKAGE = @PACKAGE@
|
||||
@@ -114,9 +116,7 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu config/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && \
|
||||
CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
uninstall-info-am:
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
Vendored
+2
-2
@@ -3,7 +3,7 @@
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# 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
|
||||
# under the terms of the GNU General Public License as published by
|
||||
@@ -947,7 +947,7 @@ EOF
|
||||
exit 0 ;;
|
||||
M68*:*:R3V[567]*:*)
|
||||
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=''
|
||||
test -r /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
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2001-10-05'
|
||||
timestamp='2001-11-08'
|
||||
|
||||
# This file is (in principle) common to ALL 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 \
|
||||
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
|
||||
| pyramid \
|
||||
| s390 | s390x \
|
||||
| sh | sh[34] | sh[34]eb | shbe | shle \
|
||||
| sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \
|
||||
| stormy16 | strongarm \
|
||||
| strongarm \
|
||||
| tahoe | thumb | tic80 | tron \
|
||||
| v850 \
|
||||
| we32k \
|
||||
| x86 | xscale \
|
||||
| x86 | xscale | xstormy16 \
|
||||
| z8k)
|
||||
basic_machine=$basic_machine-unknown
|
||||
;;
|
||||
@@ -304,14 +303,13 @@ case $basic_machine in
|
||||
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
|
||||
| pyramid-* \
|
||||
| romp-* | rs6000-* \
|
||||
| s390-* | s390x-* \
|
||||
| sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \
|
||||
| sparc-* | sparc64-* | sparc86x-* | sparclite-* \
|
||||
| sparcv9-* | sparcv9b-* | stormy16-* | strongarm-* | sv1-* \
|
||||
| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* \
|
||||
| t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
|
||||
| v850-* | vax-* \
|
||||
| we32k-* \
|
||||
| x86-* | x86_64-* | xmp-* | xps100-* | xscale-* \
|
||||
| x86-* | x86_64-* | xmp-* | xps100-* | xscale-* | xstormy16-* \
|
||||
| ymp-* \
|
||||
| z8k-*)
|
||||
;;
|
||||
@@ -786,6 +784,12 @@ case $basic_machine in
|
||||
rtpc | rtpc-*)
|
||||
basic_machine=romp-ibm
|
||||
;;
|
||||
s390 | s390-*)
|
||||
basic_machine=s390-ibm
|
||||
;;
|
||||
s390x | s390x-*)
|
||||
basic_machine=s390x-ibm
|
||||
;;
|
||||
sa29200)
|
||||
basic_machine=a29k-amd
|
||||
os=-udi
|
||||
@@ -1070,7 +1074,7 @@ case $os in
|
||||
| -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
|
||||
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
||||
| -os2* | -vos*)
|
||||
| -os2* | -vos* | -palmos* | -uclinux*)
|
||||
# Remember, each alternative MUST END IN *, to match a version number.
|
||||
;;
|
||||
-qnx*)
|
||||
|
||||
@@ -1 +1 @@
|
||||
1.29c
|
||||
1.30b
|
||||
|
||||
+10
-13
@@ -18,15 +18,18 @@
|
||||
# We need a recent Autoconf to run a recent Autotest.
|
||||
AC_PREREQ(2.52e)
|
||||
|
||||
AC_INIT([GNU Bison], [1.29d], [[email protected]])
|
||||
AC_INIT([GNU Bison], [1.30c], [[email protected]])
|
||||
AC_CONFIG_AUX_DIR(config)
|
||||
|
||||
AM_INIT_AUTOMAKE([bison], [1.29d])
|
||||
AM_INIT_AUTOMAKE([bison], [1.30c])
|
||||
AM_CONFIG_HEADER(config.h:config.hin)
|
||||
|
||||
# Initialize the test suite.
|
||||
AC_CONFIG_TESTDIR(tests)
|
||||
AC_CONFIG_FILES([tests/bison], [chmod +x tests/bison])
|
||||
AC_CONFIG_FILES([tests/Makefile tests/atlocal])
|
||||
# Needed by tests/atlocal.in.
|
||||
AC_SUBST([GCC])
|
||||
|
||||
# Checks for programs.
|
||||
AC_PROG_CC
|
||||
@@ -34,12 +37,7 @@ AC_MINIX
|
||||
AC_ISC_POSIX
|
||||
AM_PROG_CC_STDC
|
||||
AC_PROG_RANLIB
|
||||
# GNU M4 is needed to build the testsuite.
|
||||
BISON_AC_PROG_GNU_M4
|
||||
if test "$ac_cv_prog_gnu_m4" != yes; then
|
||||
missing_dir=`cd $ac_aux_dir && pwd`
|
||||
M4="$missing_dir/missing m4"
|
||||
fi
|
||||
AM_MISSING_PROG([AUTOM4TE], [autom4te])
|
||||
|
||||
AC_ARG_ENABLE(gcc-warnings,
|
||||
[ --enable-gcc-warnings turn on lots of GCC warnings (not recommended)],
|
||||
@@ -92,16 +90,15 @@ jm_PREREQ_ERROR
|
||||
AM_WITH_DMALLOC
|
||||
|
||||
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
|
||||
# the ANSI2KNR-filtering rules.
|
||||
LIBOBJS=`echo $LIBOBJS|sed 's/\.o /\$U.o /g;s/\.o$/\$U.o/'`
|
||||
AC_SUBST(LIBOBJS)
|
||||
LIB@&t@OBJS=`echo $LIB@&t@OBJS|sed 's/\.o /\$U.o /g;s/\.o$/\$U.o/'`
|
||||
AC_SUBST(LIB@&t@OBJS)
|
||||
|
||||
AC_OUTPUT([Makefile
|
||||
config/Makefile
|
||||
intl/Makefile po/Makefile.in
|
||||
lib/Makefile src/Makefile doc/Makefile
|
||||
m4/Makefile
|
||||
tests/Makefile])
|
||||
m4/Makefile])
|
||||
|
||||
+6
-6
@@ -1,4 +1,5 @@
|
||||
# Makefile.in generated automatically by automake 1.5a from Makefile.am.
|
||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
@@ -63,6 +64,7 @@ EXEEXT = @EXEEXT@
|
||||
OBJEXT = @OBJEXT@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOM4TE = @AUTOM4TE@
|
||||
AWK = @AWK@
|
||||
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
|
||||
CATALOGS = @CATALOGS@
|
||||
@@ -71,6 +73,7 @@ CC = @CC@
|
||||
CPP = @CPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
GCC = @GCC@
|
||||
GENCAT = @GENCAT@
|
||||
GLIBC21 = @GLIBC21@
|
||||
GMOFILES = @GMOFILES@
|
||||
@@ -81,9 +84,8 @@ INTLBISON = @INTLBISON@
|
||||
INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||
LIB = @LIB@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
M4 = @M4@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
MSGFMT = @MSGFMT@
|
||||
PACKAGE = @PACKAGE@
|
||||
@@ -130,9 +132,7 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu doc/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && \
|
||||
CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
|
||||
$(srcdir)/version.texi: $(srcdir)/stamp-vti
|
||||
@:
|
||||
|
||||
+106
-106
@@ -31,115 +31,115 @@ instead of in the original English.
|
||||
|
||||
Indirect:
|
||||
bison.info-1: 1313
|
||||
bison.info-2: 50691
|
||||
bison.info-3: 100581
|
||||
bison.info-4: 150131
|
||||
bison.info-5: 197908
|
||||
bison.info-2: 50632
|
||||
bison.info-3: 100395
|
||||
bison.info-4: 147417
|
||||
bison.info-5: 197287
|
||||
|
||||
Tag Table:
|
||||
(Indirect)
|
||||
Node: Top1313
|
||||
Node: Introduction8969
|
||||
Node: Conditions10244
|
||||
Node: Copying11708
|
||||
Node: Concepts30911
|
||||
Node: Language and Grammar31990
|
||||
Node: Grammar in Bison37006
|
||||
Node: Semantic Values38930
|
||||
Node: Semantic Actions41031
|
||||
Node: Locations Overview42220
|
||||
Node: Bison Parser43667
|
||||
Node: Stages45979
|
||||
Node: Grammar Layout47262
|
||||
Node: Examples48519
|
||||
Node: RPN Calc49717
|
||||
Node: Rpcalc Decls50691
|
||||
Node: Rpcalc Rules52278
|
||||
Node: Rpcalc Input54078
|
||||
Node: Rpcalc Line55539
|
||||
Node: Rpcalc Expr56654
|
||||
Node: Rpcalc Lexer58599
|
||||
Node: Rpcalc Main61171
|
||||
Node: Rpcalc Error61569
|
||||
Node: Rpcalc Gen62577
|
||||
Node: Rpcalc Compile63726
|
||||
Node: Infix Calc64601
|
||||
Node: Simple Error Recovery67308
|
||||
Node: Location Tracking Calc69197
|
||||
Node: Ltcalc Decls69927
|
||||
Node: Ltcalc Rules70836
|
||||
Node: Ltcalc Lexer72897
|
||||
Node: Multi-function Calc75235
|
||||
Node: Mfcalc Decl76802
|
||||
Node: Mfcalc Rules78825
|
||||
Node: Mfcalc Symtab80205
|
||||
Node: Exercises86578
|
||||
Node: Grammar File87084
|
||||
Node: Grammar Outline87932
|
||||
Node: C Declarations88666
|
||||
Node: Bison Declarations89246
|
||||
Node: Grammar Rules89658
|
||||
Node: C Code90118
|
||||
Node: Symbols91048
|
||||
Node: Rules96129
|
||||
Node: Recursion97768
|
||||
Node: Semantics99487
|
||||
Node: Value Type100581
|
||||
Node: Multiple Types101253
|
||||
Node: Actions102270
|
||||
Node: Action Types105055
|
||||
Node: Mid-Rule Actions106358
|
||||
Node: Locations111928
|
||||
Node: Location Type112576
|
||||
Node: Actions and Locations113134
|
||||
Node: Location Default Action115290
|
||||
Node: Declarations116753
|
||||
Node: Token Decl118072
|
||||
Node: Precedence Decl120085
|
||||
Node: Union Decl121636
|
||||
Node: Type Decl122480
|
||||
Node: Expect Decl123386
|
||||
Node: Start Decl124932
|
||||
Node: Pure Decl125310
|
||||
Node: Decl Summary126987
|
||||
Node: Multiple Parsers132370
|
||||
Node: Interface133864
|
||||
Node: Parser Function134736
|
||||
Node: Lexical135571
|
||||
Node: Calling Convention136977
|
||||
Node: Token Values139748
|
||||
Node: Token Positions140897
|
||||
Node: Pure Calling141782
|
||||
Node: Error Reporting144714
|
||||
Node: Action Features146836
|
||||
Node: Algorithm150131
|
||||
Node: Look-Ahead152424
|
||||
Node: Shift/Reduce154556
|
||||
Node: Precedence157468
|
||||
Node: Why Precedence158119
|
||||
Node: Using Precedence159984
|
||||
Node: Precedence Examples160952
|
||||
Node: How Precedence161653
|
||||
Node: Contextual Precedence162802
|
||||
Node: Parser States164593
|
||||
Node: Reduce/Reduce165836
|
||||
Node: Mystery Conflicts169397
|
||||
Node: Stack Overflow172783
|
||||
Node: Error Recovery174156
|
||||
Node: Context Dependency179292
|
||||
Node: Semantic Tokens180140
|
||||
Node: Lexical Tie-ins183157
|
||||
Node: Tie-in Recovery184705
|
||||
Node: Debugging186877
|
||||
Node: Invocation190178
|
||||
Node: Bison Options191430
|
||||
Node: Environment Variables195398
|
||||
Node: Option Cross Key196246
|
||||
Node: VMS Invocation197124
|
||||
Node: Table of Symbols197908
|
||||
Node: Glossary205547
|
||||
Node: Copying This Manual211851
|
||||
Node: GNU Free Documentation License212060
|
||||
Node: Index231925
|
||||
Node: Introduction8968
|
||||
Node: Conditions10243
|
||||
Node: Copying11707
|
||||
Node: Concepts30910
|
||||
Node: Language and Grammar31989
|
||||
Node: Grammar in Bison36947
|
||||
Node: Semantic Values38871
|
||||
Node: Semantic Actions40972
|
||||
Node: Locations Overview42161
|
||||
Node: Bison Parser43608
|
||||
Node: Stages45920
|
||||
Node: Grammar Layout47203
|
||||
Node: Examples48460
|
||||
Node: RPN Calc49658
|
||||
Node: Rpcalc Decls50632
|
||||
Node: Rpcalc Rules52219
|
||||
Node: Rpcalc Input54019
|
||||
Node: Rpcalc Line55480
|
||||
Node: Rpcalc Expr56595
|
||||
Node: Rpcalc Lexer58540
|
||||
Node: Rpcalc Main61112
|
||||
Node: Rpcalc Error61510
|
||||
Node: Rpcalc Gen62518
|
||||
Node: Rpcalc Compile63667
|
||||
Node: Infix Calc64542
|
||||
Node: Simple Error Recovery67249
|
||||
Node: Location Tracking Calc69138
|
||||
Node: Ltcalc Decls69820
|
||||
Node: Ltcalc Rules70713
|
||||
Node: Ltcalc Lexer72723
|
||||
Node: Multi-function Calc75049
|
||||
Node: Mfcalc Decl76616
|
||||
Node: Mfcalc Rules78639
|
||||
Node: Mfcalc Symtab80019
|
||||
Node: Exercises86392
|
||||
Node: Grammar File86898
|
||||
Node: Grammar Outline87746
|
||||
Node: C Declarations88480
|
||||
Node: Bison Declarations89060
|
||||
Node: Grammar Rules89472
|
||||
Node: C Code89932
|
||||
Node: Symbols90862
|
||||
Node: Rules95943
|
||||
Node: Recursion97582
|
||||
Node: Semantics99301
|
||||
Node: Value Type100395
|
||||
Node: Multiple Types101067
|
||||
Node: Actions102084
|
||||
Node: Action Types104869
|
||||
Node: Mid-Rule Actions106172
|
||||
Node: Locations111742
|
||||
Node: Location Type112390
|
||||
Node: Actions and Locations112948
|
||||
Node: Location Default Action115104
|
||||
Node: Declarations116567
|
||||
Node: Token Decl117886
|
||||
Node: Precedence Decl119899
|
||||
Node: Union Decl121450
|
||||
Node: Type Decl122294
|
||||
Node: Expect Decl123200
|
||||
Node: Start Decl124768
|
||||
Node: Pure Decl125146
|
||||
Node: Decl Summary126823
|
||||
Node: Multiple Parsers132951
|
||||
Node: Interface134445
|
||||
Node: Parser Function135317
|
||||
Node: Lexical136152
|
||||
Node: Calling Convention137558
|
||||
Node: Token Values140329
|
||||
Node: Token Positions141478
|
||||
Node: Pure Calling142363
|
||||
Node: Error Reporting145295
|
||||
Node: Action Features147417
|
||||
Node: Algorithm150712
|
||||
Node: Look-Ahead153005
|
||||
Node: Shift/Reduce155137
|
||||
Node: Precedence158049
|
||||
Node: Why Precedence158700
|
||||
Node: Using Precedence160565
|
||||
Node: Precedence Examples161533
|
||||
Node: How Precedence162234
|
||||
Node: Contextual Precedence163383
|
||||
Node: Parser States165174
|
||||
Node: Reduce/Reduce166417
|
||||
Node: Mystery Conflicts169978
|
||||
Node: Stack Overflow173364
|
||||
Node: Error Recovery174737
|
||||
Node: Context Dependency179873
|
||||
Node: Semantic Tokens180721
|
||||
Node: Lexical Tie-ins183738
|
||||
Node: Tie-in Recovery185286
|
||||
Node: Debugging187458
|
||||
Node: Invocation190759
|
||||
Node: Bison Options192011
|
||||
Node: Environment Variables195561
|
||||
Node: Option Cross Key196409
|
||||
Node: VMS Invocation197287
|
||||
Node: Table of Symbols198071
|
||||
Node: Glossary206039
|
||||
Node: Copying This Manual212343
|
||||
Node: GNU Free Documentation License212552
|
||||
Node: Index232417
|
||||
|
||||
End Tag Table
|
||||
|
||||
+6
-7
@@ -34,7 +34,7 @@ File: bison.info, Node: Top, Next: Introduction, Up: (dir)
|
||||
Bison
|
||||
*****
|
||||
|
||||
This manual documents version 1.29d of Bison, updated 20 September
|
||||
This manual documents version 1.30c of Bison, updated 12 November
|
||||
2001.
|
||||
|
||||
* Menu:
|
||||
@@ -238,7 +238,7 @@ Bison in detail.
|
||||
it Yacc-compatible. Wilfred Hansen of Carnegie Mellon University added
|
||||
multi-character string literals and other features.
|
||||
|
||||
This edition corresponds to version 1.29d of Bison.
|
||||
This edition corresponds to version 1.30c of Bison.
|
||||
|
||||
|
||||
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:
|
||||
|
||||
int /* keyword `int' */
|
||||
square (x) /* identifier, open-paren, */
|
||||
/* identifier, close-paren */
|
||||
int x; /* keyword `int', identifier, semicolon */
|
||||
square (int x) /* identifier, open-paren, identifier,
|
||||
identifier, close-paren */
|
||||
{ /* open-brace */
|
||||
return x * x; /* keyword `return', identifier, */
|
||||
/* asterisk, identifier, semicolon */
|
||||
return x * x; /* keyword `return', identifier, asterisk,
|
||||
identifier, semicolon */
|
||||
} /* close-brace */
|
||||
|
||||
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:
|
||||
|
||||
# List files in current directory.
|
||||
% ls
|
||||
$ ls
|
||||
rpcalc.tab.c rpcalc.y
|
||||
|
||||
# Compile the Bison parser.
|
||||
# `-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.
|
||||
% ls
|
||||
$ ls
|
||||
rpcalc rpcalc.tab.c rpcalc.y
|
||||
|
||||
The file `rpcalc' now contains the executable code. Here is an
|
||||
example session using `rpcalc'.
|
||||
|
||||
% rpcalc
|
||||
$ rpcalc
|
||||
4 9 +
|
||||
13
|
||||
3 7 + 3 4 5 *+-
|
||||
@@ -411,7 +411,7 @@ example session using `rpcalc'.
|
||||
3 4 ^ Exponentiation
|
||||
81
|
||||
^D End-of-file indicator
|
||||
%
|
||||
$
|
||||
|
||||
|
||||
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':
|
||||
|
||||
% calc
|
||||
$ calc
|
||||
4 + 4.5 - (34/(8*3+-3))
|
||||
6.880952381
|
||||
-56 + 2
|
||||
@@ -539,12 +539,10 @@ Location Tracking Calculator: `ltcalc'
|
||||
======================================
|
||||
|
||||
This example extends the infix notation calculator with location
|
||||
tracking. This feature will be used to improve error reporting, and
|
||||
provide better error messages.
|
||||
|
||||
For the sake of clarity, we will switch for this example to an
|
||||
integer calculator, since most of the work needed to use locations will
|
||||
be done in the lexical analyser.
|
||||
tracking. This feature will be used to improve the error messages. For
|
||||
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
|
||||
analyser.
|
||||
|
||||
* Menu:
|
||||
|
||||
@@ -558,8 +556,8 @@ File: bison.info, Node: Ltcalc Decls, Next: Ltcalc Rules, Up: Location Tracki
|
||||
Declarations for `ltcalc'
|
||||
-------------------------
|
||||
|
||||
The C and Bison declarations for the location tracking calculator
|
||||
are the same as the declarations for the infix notation calculator.
|
||||
The C and Bison declarations for the location tracking calculator are
|
||||
the same as the declarations for the infix notation calculator.
|
||||
|
||||
/* Location tracking calculator. */
|
||||
|
||||
@@ -578,11 +576,11 @@ are the same as the declarations for the infix notation calculator.
|
||||
|
||||
%% /* Grammar follows */
|
||||
|
||||
In the code above, there are no declarations specific to locations.
|
||||
Defining a data type for storing locations is not needed: we will use
|
||||
the type provided by default (*note Data Types of Locations: Location
|
||||
Type.), which is a four member structure with the following integer
|
||||
fields: `first_line', `first_column', `last_line' and `last_column'.
|
||||
Note there are no declarations specific to locations. Defining a data
|
||||
type for storing locations is not needed: we will use the type provided
|
||||
by default (*note Data Types of Locations: Location Type.), which is a
|
||||
four member structure with the following integer fields: `first_line',
|
||||
`first_column', `last_line' and `last_column'.
|
||||
|
||||
|
||||
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'
|
||||
--------------------------
|
||||
|
||||
Whether you choose to handle locations or not has no effect on the
|
||||
syntax of your language. Therefore, grammar rules for this example
|
||||
will be very close to those of the previous example: we will only
|
||||
modify them to benefit from the new informations we will have.
|
||||
Whether handling locations or not has no effect on the syntax of your
|
||||
language. Therefore, grammar rules for this example will be very close
|
||||
to those of the previous example: we will only modify them to benefit
|
||||
from the new information.
|
||||
|
||||
Here, we will use locations to report divisions by zero, and locate
|
||||
the wrong expressions or subexpressions.
|
||||
@@ -617,9 +615,9 @@ the wrong expressions or subexpressions.
|
||||
else
|
||||
{
|
||||
$$ = 1;
|
||||
printf("Division by zero, l%d,c%d-l%d,c%d",
|
||||
@3.first_line, @3.first_column,
|
||||
@3.last_line, @3.last_column);
|
||||
fprintf (stderr, "%d.%d-%d.%d: division by zero",
|
||||
@3.first_line, @3.first_column,
|
||||
@3.last_line, @3.last_column);
|
||||
}
|
||||
}
|
||||
| '-' exp %preg NEG { $$ = -$2; }
|
||||
@@ -630,14 +628,12 @@ the wrong expressions or subexpressions.
|
||||
using the pseudo-variables `@N' for rule components, and the
|
||||
pseudo-variable `@$' for groupings.
|
||||
|
||||
In this example, we never assign a value to `@$', because the output
|
||||
parser can do this automatically. By default, before executing the C
|
||||
code of each action, `@$' is set to range from the beginning of `@1' to
|
||||
the end of `@N', for a rule with N components.
|
||||
|
||||
Of course, this behavior can be redefined (*note Default Action for
|
||||
Locations: Location Default Action.), and for very specific rules, `@$'
|
||||
can be computed by hand.
|
||||
We don't need to assign a value to `@$': the output parser does it
|
||||
automatically. By default, before executing the C code of each action,
|
||||
`@$' is set to range from the beginning of `@1' to the end of `@N', for
|
||||
a rule with N components. This behavior can be redefined (*note
|
||||
Default Action for 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
|
||||
@@ -647,10 +643,10 @@ The `ltcalc' Lexical Analyzer.
|
||||
|
||||
Until now, we relied on Bison's defaults to enable location
|
||||
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
|
||||
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
|
||||
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:
|
||||
|
||||
int
|
||||
@@ -695,14 +691,14 @@ input text, to avoid the computed locations of being fuzzy or wrong:
|
||||
return c;
|
||||
}
|
||||
|
||||
Basically, the lexical analyzer does the same processing as before:
|
||||
it skips blanks and tabs, and reads numbers or single-character tokens.
|
||||
In addition to this, it updates the `yylloc' global variable (of type
|
||||
`YYLTYPE'), where the location of tokens is stored.
|
||||
Basically, the lexical analyzer performs the same processing as
|
||||
before: it skips blanks and tabs, and reads numbers or single-character
|
||||
tokens. In addition, it updates `yylloc', the global variable (of type
|
||||
`YYLTYPE') containing the token's location.
|
||||
|
||||
Now, each time this function returns a token, the parser has it's
|
||||
number as well as it's semantic value, and it's position in the text.
|
||||
The last needed change is to initialize `yylloc', for example in the
|
||||
Now, each time this function returns a token, the parser has its
|
||||
number as well as its semantic value, and its location in the text. The
|
||||
last needed change is to initialize `yylloc', for example in the
|
||||
controlling function:
|
||||
|
||||
int
|
||||
@@ -715,7 +711,7 @@ controlling function:
|
||||
|
||||
Remember that computing locations is not a matter of syntax. Every
|
||||
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
|
||||
@@ -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.
|
||||
Here is a sample session with the multi-function calculator:
|
||||
|
||||
% mfcalc
|
||||
$ mfcalc
|
||||
pi = 3.141592653589
|
||||
3.1415926536
|
||||
sin(pi)
|
||||
@@ -754,7 +750,7 @@ Here is a sample session with the multi-function calculator:
|
||||
0.8329091229
|
||||
exp(ln(beta1))
|
||||
2.3000000000
|
||||
%
|
||||
$
|
||||
|
||||
Note that multiple assignment and nested function calls are
|
||||
permitted.
|
||||
|
||||
+71
-140
@@ -623,19 +623,20 @@ Suppressing Conflict Warnings
|
||||
|
||||
Bison normally warns if there are any conflicts in the grammar
|
||||
(*note Shift/Reduce Conflicts: Shift/Reduce.), but most real grammars
|
||||
have harmless shift/reduce conflicts which are resolved in a
|
||||
predictable way and would be difficult to eliminate. It is desirable
|
||||
to suppress the warning about these conflicts unless the number of
|
||||
conflicts changes. You can do this with the `%expect' declaration.
|
||||
have harmless shift/reduce conflicts which are resolved in a predictable
|
||||
way and would be difficult to eliminate. It is desirable to suppress
|
||||
the warning about these conflicts unless the number of conflicts
|
||||
changes. You can do this with the `%expect' declaration.
|
||||
|
||||
The declaration looks like this:
|
||||
|
||||
%expect N
|
||||
|
||||
Here N is a decimal integer. The declaration says there should be 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, or if there are any reduce/reduce conflicts.
|
||||
Here N is a decimal integer. The declaration says there should be
|
||||
no warning if there are N shift/reduce conflicts and no reduce/reduce
|
||||
conflicts. An error, instead of the usual warning, is given if there
|
||||
are either more or fewer conflicts, or if there are any reduce/reduce
|
||||
conflicts.
|
||||
|
||||
In general, using `%expect' involves these steps:
|
||||
|
||||
@@ -710,7 +711,7 @@ File: bison.info, Node: Decl Summary, Prev: Pure Decl, Up: Declarations
|
||||
Bison Declaration Summary
|
||||
-------------------------
|
||||
|
||||
Here is a summary of all Bison declarations:
|
||||
Here is a summary of the declarations used to define a grammar:
|
||||
|
||||
`%union'
|
||||
Declare the collection of data types that semantic values may have
|
||||
@@ -745,38 +746,9 @@ Bison Declaration Summary
|
||||
Declare the expected number of shift-reduce conflicts (*note
|
||||
Suppressing Conflict Warnings: Expect Decl.).
|
||||
|
||||
`%yacc'
|
||||
`%fixed_output_files'
|
||||
Pretend the option `--yacc' was given, i.e., imitate Yacc,
|
||||
including its naming conventions. *Note Bison Options::, for more.
|
||||
|
||||
`%locations'
|
||||
Generate the code processing the locations (*note Special Features
|
||||
for Use in Actions: Action Features.). This mode is enabled as
|
||||
soon as the grammar uses the special `@N' tokens, but if your
|
||||
grammar does not use it, using `%locations' allows for more
|
||||
accurate parse error messages.
|
||||
|
||||
`%pure_parser'
|
||||
Request a pure (reentrant) parser program (*note A Pure
|
||||
(Reentrant) Parser: Pure Decl.).
|
||||
|
||||
`%no_parser'
|
||||
Do not include any C code in the parser file; generate tables
|
||||
only. The parser file contains just `#define' directives and
|
||||
static variable declarations.
|
||||
|
||||
This option also tells Bison to write the C code for the grammar
|
||||
actions into a file named `FILENAME.act', in the form of a
|
||||
brace-surrounded body fit for a `switch' statement.
|
||||
|
||||
`%no_lines'
|
||||
Don't generate any `#line' preprocessor commands in the parser
|
||||
file. Ordinarily Bison writes these commands in the parser file
|
||||
so that the C compiler and debuggers will associate errors and
|
||||
object code with your source file (the grammar file). This
|
||||
directive causes them to associate errors with the parser file,
|
||||
treating it an independent source file in its own right.
|
||||
In order to change the behavior of `bison', use the following
|
||||
directives:
|
||||
|
||||
`%debug'
|
||||
Output a definition of the macro `YYDEBUG' into the parser file, so
|
||||
@@ -796,20 +768,48 @@ Bison Declaration Summary
|
||||
able to refer to token type codes and the variable `yylval'.
|
||||
*Note Semantic Values of Tokens: Token Values.
|
||||
|
||||
`%verbose'
|
||||
Write an extra output file containing verbose descriptions of the
|
||||
parser states and what is done for each type of look-ahead token in
|
||||
that state.
|
||||
`%file-prefix="PREFIX"'
|
||||
Specify a prefix to use for all Bison output file names. The
|
||||
names are chosen as if the input file were named `PREFIX.y'.
|
||||
|
||||
This file also describes all the conflicts, both those resolved by
|
||||
operator precedence and the unresolved ones.
|
||||
`%locations'
|
||||
Generate the code processing the locations (*note Special Features
|
||||
for Use in Actions: Action Features.). This mode is enabled as
|
||||
soon as the grammar uses the special `@N' tokens, but if your
|
||||
grammar does not use it, using `%locations' allows for more
|
||||
accurate parse error messages.
|
||||
|
||||
The file's name is made by removing `.tab.c' or `.c' from the
|
||||
parser output file name, and adding `.output' instead.
|
||||
`%name-prefix="PREFIX"'
|
||||
Rename the external symbols used in the parser so that they start
|
||||
with PREFIX instead of `yy'. The precise list of symbols renamed
|
||||
is `yyparse', `yylex', `yyerror', `yynerrs', `yylval', `yychar'
|
||||
and `yydebug'. For example, if you use `%name-prefix="c_"', the
|
||||
names become `c_parse', `c_lex', and so on. *Note Multiple
|
||||
Parsers in the Same Program: Multiple Parsers.
|
||||
|
||||
Therefore, if the input file is `foo.y', then the parser file is
|
||||
called `foo.tab.c' by default. As a consequence, the verbose
|
||||
output file is called `foo.output'.
|
||||
`%no-parser'
|
||||
Do not include any C code in the parser file; generate tables
|
||||
only. The parser file contains just `#define' directives and
|
||||
static variable declarations.
|
||||
|
||||
This option also tells Bison to write the C code for the grammar
|
||||
actions into a file named `FILENAME.act', in the form of a
|
||||
brace-surrounded body fit for a `switch' statement.
|
||||
|
||||
`%no-lines'
|
||||
Don't generate any `#line' preprocessor commands in the parser
|
||||
file. Ordinarily Bison writes these commands in the parser file
|
||||
so that the C compiler and debuggers will associate errors and
|
||||
object code with your source file (the grammar file). This
|
||||
directive causes them to associate errors with the parser file,
|
||||
treating it an independent source file in its own right.
|
||||
|
||||
`%output="FILENAME"'
|
||||
Specify the FILENAME for the parser file.
|
||||
|
||||
`%pure-parser'
|
||||
Request a pure (reentrant) parser program (*note A Pure
|
||||
(Reentrant) Parser: Pure Decl.).
|
||||
|
||||
`%token_table'
|
||||
Generate an array of token names in the parser file. The name of
|
||||
@@ -845,6 +845,26 @@ Bison Declaration Summary
|
||||
`YYNSTATES'
|
||||
The number of parser states (*note Parser States::).
|
||||
|
||||
`%verbose'
|
||||
Write an extra output file containing verbose descriptions of the
|
||||
parser states and what is done for each type of look-ahead token in
|
||||
that state.
|
||||
|
||||
This file also describes all the conflicts, both those resolved by
|
||||
operator precedence and the unresolved ones.
|
||||
|
||||
The file's name is made by removing `.tab.c' or `.c' from the
|
||||
parser output file name, and adding `.output' instead.
|
||||
|
||||
Therefore, if the input file is `foo.y', then the parser file is
|
||||
called `foo.tab.c' by default. As a consequence, the verbose
|
||||
output file is called `foo.output'.
|
||||
|
||||
`%yacc'
|
||||
`%fixed-output-files'
|
||||
Pretend the option `--yacc' was given, i.e., imitate Yacc,
|
||||
including its naming conventions. *Note Bison Options::, for more.
|
||||
|
||||
|
||||
File: bison.info, Node: Multiple Parsers, Prev: Declarations, Up: Grammar File
|
||||
|
||||
@@ -1226,92 +1246,3 @@ encountered so far. Normally this variable is global; but if you
|
||||
request a pure parser (*note A Pure (Reentrant) Parser: Pure Decl.)
|
||||
then it is a local variable which only the actions can access.
|
||||
|
||||
|
||||
File: bison.info, Node: Action Features, Prev: Error Reporting, Up: Interface
|
||||
|
||||
Special Features for Use in Actions
|
||||
===================================
|
||||
|
||||
Here is a table of Bison constructs, variables and macros that are
|
||||
useful in actions.
|
||||
|
||||
`$$'
|
||||
Acts like a variable that contains the semantic value for the
|
||||
grouping made by the current rule. *Note Actions::.
|
||||
|
||||
`$N'
|
||||
Acts like a variable that contains the semantic value for the Nth
|
||||
component of the current rule. *Note Actions::.
|
||||
|
||||
`$<TYPEALT>$'
|
||||
Like `$$' but specifies alternative TYPEALT in the union specified
|
||||
by the `%union' declaration. *Note Data Types of Values in
|
||||
Actions: Action Types.
|
||||
|
||||
`$<TYPEALT>N'
|
||||
Like `$N' but specifies alternative TYPEALT in the union specified
|
||||
by the `%union' declaration. *Note Data Types of Values in
|
||||
Actions: Action Types.
|
||||
|
||||
`YYABORT;'
|
||||
Return immediately from `yyparse', indicating failure. *Note The
|
||||
Parser Function `yyparse': Parser Function.
|
||||
|
||||
`YYACCEPT;'
|
||||
Return immediately from `yyparse', indicating success. *Note The
|
||||
Parser Function `yyparse': Parser Function.
|
||||
|
||||
`YYBACKUP (TOKEN, VALUE);'
|
||||
Unshift a token. This macro is allowed only for rules that reduce
|
||||
a single value, and only when there is no look-ahead token. It
|
||||
installs a look-ahead token with token type TOKEN and semantic
|
||||
value VALUE; then it discards the value that was going to be
|
||||
reduced by this rule.
|
||||
|
||||
If the macro is used when it is not valid, such as when there is a
|
||||
look-ahead token already, then it reports a syntax error with a
|
||||
message `cannot back up' and performs ordinary error recovery.
|
||||
|
||||
In either case, the rest of the action is not executed.
|
||||
|
||||
`YYEMPTY'
|
||||
Value stored in `yychar' when there is no look-ahead token.
|
||||
|
||||
`YYERROR;'
|
||||
Cause an immediate syntax error. This statement initiates error
|
||||
recovery just as if the parser itself had detected an error;
|
||||
however, it does not call `yyerror', and does not print any
|
||||
message. If you want to print an error message, call `yyerror'
|
||||
explicitly before the `YYERROR;' statement. *Note Error
|
||||
Recovery::.
|
||||
|
||||
`YYRECOVERING'
|
||||
This macro stands for an expression that has the value 1 when the
|
||||
parser is recovering from a syntax error, and 0 the rest of the
|
||||
time. *Note Error Recovery::.
|
||||
|
||||
`yychar'
|
||||
Variable containing the current look-ahead token. (In a pure
|
||||
parser, this is actually a local variable within `yyparse'.) When
|
||||
there is no look-ahead token, the value `YYEMPTY' is stored in the
|
||||
variable. *Note Look-Ahead Tokens: Look-Ahead.
|
||||
|
||||
`yyclearin;'
|
||||
Discard the current look-ahead token. This is useful primarily in
|
||||
error rules. *Note Error Recovery::.
|
||||
|
||||
`yyerrok;'
|
||||
Resume generating error messages immediately for subsequent syntax
|
||||
errors. This is useful primarily in error rules. *Note Error
|
||||
Recovery::.
|
||||
|
||||
`@$'
|
||||
Acts like a structure variable containing information on the
|
||||
textual position of the grouping made by the current rule. *Note
|
||||
Tracking Locations: Locations.
|
||||
|
||||
`@N'
|
||||
Acts like a structure variable containing information on the
|
||||
textual position of the Nth component of the current rule. *Note
|
||||
Tracking Locations: Locations.
|
||||
|
||||
|
||||
+105
-48
@@ -28,6 +28,95 @@ License", "Conditions for Using Bison" and this permission notice may be
|
||||
included in translations approved by the Free Software Foundation
|
||||
instead of in the original English.
|
||||
|
||||
|
||||
File: bison.info, Node: Action Features, Prev: Error Reporting, Up: Interface
|
||||
|
||||
Special Features for Use in Actions
|
||||
===================================
|
||||
|
||||
Here is a table of Bison constructs, variables and macros that are
|
||||
useful in actions.
|
||||
|
||||
`$$'
|
||||
Acts like a variable that contains the semantic value for the
|
||||
grouping made by the current rule. *Note Actions::.
|
||||
|
||||
`$N'
|
||||
Acts like a variable that contains the semantic value for the Nth
|
||||
component of the current rule. *Note Actions::.
|
||||
|
||||
`$<TYPEALT>$'
|
||||
Like `$$' but specifies alternative TYPEALT in the union specified
|
||||
by the `%union' declaration. *Note Data Types of Values in
|
||||
Actions: Action Types.
|
||||
|
||||
`$<TYPEALT>N'
|
||||
Like `$N' but specifies alternative TYPEALT in the union specified
|
||||
by the `%union' declaration. *Note Data Types of Values in
|
||||
Actions: Action Types.
|
||||
|
||||
`YYABORT;'
|
||||
Return immediately from `yyparse', indicating failure. *Note The
|
||||
Parser Function `yyparse': Parser Function.
|
||||
|
||||
`YYACCEPT;'
|
||||
Return immediately from `yyparse', indicating success. *Note The
|
||||
Parser Function `yyparse': Parser Function.
|
||||
|
||||
`YYBACKUP (TOKEN, VALUE);'
|
||||
Unshift a token. This macro is allowed only for rules that reduce
|
||||
a single value, and only when there is no look-ahead token. It
|
||||
installs a look-ahead token with token type TOKEN and semantic
|
||||
value VALUE; then it discards the value that was going to be
|
||||
reduced by this rule.
|
||||
|
||||
If the macro is used when it is not valid, such as when there is a
|
||||
look-ahead token already, then it reports a syntax error with a
|
||||
message `cannot back up' and performs ordinary error recovery.
|
||||
|
||||
In either case, the rest of the action is not executed.
|
||||
|
||||
`YYEMPTY'
|
||||
Value stored in `yychar' when there is no look-ahead token.
|
||||
|
||||
`YYERROR;'
|
||||
Cause an immediate syntax error. This statement initiates error
|
||||
recovery just as if the parser itself had detected an error;
|
||||
however, it does not call `yyerror', and does not print any
|
||||
message. If you want to print an error message, call `yyerror'
|
||||
explicitly before the `YYERROR;' statement. *Note Error
|
||||
Recovery::.
|
||||
|
||||
`YYRECOVERING'
|
||||
This macro stands for an expression that has the value 1 when the
|
||||
parser is recovering from a syntax error, and 0 the rest of the
|
||||
time. *Note Error Recovery::.
|
||||
|
||||
`yychar'
|
||||
Variable containing the current look-ahead token. (In a pure
|
||||
parser, this is actually a local variable within `yyparse'.) When
|
||||
there is no look-ahead token, the value `YYEMPTY' is stored in the
|
||||
variable. *Note Look-Ahead Tokens: Look-Ahead.
|
||||
|
||||
`yyclearin;'
|
||||
Discard the current look-ahead token. This is useful primarily in
|
||||
error rules. *Note Error Recovery::.
|
||||
|
||||
`yyerrok;'
|
||||
Resume generating error messages immediately for subsequent syntax
|
||||
errors. This is useful primarily in error rules. *Note Error
|
||||
Recovery::.
|
||||
|
||||
`@$'
|
||||
Acts like a structure variable containing information on the
|
||||
textual position of the grouping made by the current rule. *Note
|
||||
Tracking Locations: Locations.
|
||||
|
||||
`@N'
|
||||
Acts like a structure variable containing information on the
|
||||
textual position of the Nth component of the current rule. *Note
|
||||
Tracking Locations: Locations.
|
||||
|
||||
|
||||
File: bison.info, Node: Algorithm, Next: Error Recovery, Prev: Interface, Up: Top
|
||||
|
||||
@@ -1118,19 +1207,12 @@ Tuning the parser:
|
||||
Parser: Debugging.
|
||||
|
||||
`--locations'
|
||||
Pretend that `%locactions' was specified. *Note Decl Summary::.
|
||||
Pretend that `%locations' was specified. *Note Decl Summary::.
|
||||
|
||||
`-p PREFIX'
|
||||
`--name-prefix=PREFIX'
|
||||
Rename the external symbols used in the parser so that they start
|
||||
with PREFIX instead of `yy'. The precise list of symbols renamed
|
||||
is `yyparse', `yylex', `yyerror', `yynerrs', `yylval', `yychar'
|
||||
and `yydebug'.
|
||||
|
||||
For example, if you use `-p c', the names become `cparse', `clex',
|
||||
and so on.
|
||||
|
||||
*Note Multiple Parsers in the Same Program: Multiple Parsers.
|
||||
Pretend that `%name-prefix="PREFIX"' was specified. *Note Decl
|
||||
Summary::.
|
||||
|
||||
`-l'
|
||||
`--no-lines'
|
||||
@@ -1143,41 +1225,40 @@ Tuning the parser:
|
||||
|
||||
`-n'
|
||||
`--no-parser'
|
||||
Pretend that `%no_parser' was specified. *Note Decl Summary::.
|
||||
Pretend that `%no-parser' was specified. *Note Decl Summary::.
|
||||
|
||||
`-k'
|
||||
`--token-table'
|
||||
Pretend that `%token_table' was specified. *Note Decl Summary::.
|
||||
Pretend that `%token-table' was specified. *Note Decl Summary::.
|
||||
|
||||
Adjust the output:
|
||||
|
||||
`-d'
|
||||
Pretend that `%verbose' was specified, i.e., write an extra output
|
||||
`--defines'
|
||||
Pretend that `%defines' was specified, i.e., write an extra output
|
||||
file containing macro definitions for the token type names defined
|
||||
in the grammar and the semantic value type `YYSTYPE', as well as a
|
||||
few `extern' variable declarations. *Note Decl Summary::.
|
||||
|
||||
`--defines=DEFINES-FILE'
|
||||
The behaviour of -DEFINES is the same than `-d'. The only
|
||||
difference is that it has an optionnal argument which is the name
|
||||
of the output filename.
|
||||
Same as above, but save in the file DEFINES-FILE.
|
||||
|
||||
`-b FILE-PREFIX'
|
||||
`--file-prefix=PREFIX'
|
||||
Specify a prefix to use for all Bison output file names. The
|
||||
names are chosen as if the input file were named `PREFIX.c'.
|
||||
Pretend that `%verbose' was specified, i.e, specify prefix to use
|
||||
for all Bison output file names. *Note Decl Summary::.
|
||||
|
||||
`-v'
|
||||
`--verbose'
|
||||
Pretend that `%verbose' was specified, i.e, write an extra output
|
||||
file containing verbose descriptions of the grammar and parser.
|
||||
*Note Decl Summary::, for more.
|
||||
*Note Decl Summary::.
|
||||
|
||||
`-o OUTFILE'
|
||||
`--output-file=OUTFILE'
|
||||
Specify the name OUTFILE for the parser file.
|
||||
`-o FILENAME'
|
||||
`--output=FILENAME'
|
||||
Specify the FILENAME for the parser file.
|
||||
|
||||
The other output files' names are constructed from OUTFILE as
|
||||
The other output files' names are constructed from FILENAME as
|
||||
described under the `-v' and `-d' options.
|
||||
|
||||
`-g'
|
||||
@@ -1230,32 +1311,8 @@ find the corresponding short option.
|
||||
--name-prefix=PREFIX -p NAME-PREFIX
|
||||
--no-lines -l
|
||||
--no-parser -n
|
||||
--output-file=OUTFILE -o OUTFILE
|
||||
--output=OUTFILE -o OUTFILE
|
||||
--token-table -k
|
||||
--verbose -v
|
||||
--version -V
|
||||
|
||||
|
||||
File: bison.info, Node: VMS Invocation, Prev: Option Cross Key, Up: Invocation
|
||||
|
||||
Invoking Bison under VMS
|
||||
========================
|
||||
|
||||
The command line syntax for Bison on VMS is a variant of the usual
|
||||
Bison command syntax--adapted to fit VMS conventions.
|
||||
|
||||
To find the VMS equivalent for any Bison option, start with the long
|
||||
option, and substitute a `/' for the leading `--', and substitute a `_'
|
||||
for each `-' in the name of the long option. For example, the
|
||||
following invocation under VMS:
|
||||
|
||||
bison /debug/name_prefix=bar foo.y
|
||||
|
||||
is equivalent to the following command under POSIX.
|
||||
|
||||
bison --debug --name-prefix=bar foo.y
|
||||
|
||||
The VMS file system does not permit filenames such as `foo.tab.c'.
|
||||
In the above example, the output file would instead be named
|
||||
`foo_tab.c'.
|
||||
|
||||
|
||||
+39
-3
@@ -28,6 +28,30 @@ License", "Conditions for Using Bison" and this permission notice may be
|
||||
included in translations approved by the Free Software Foundation
|
||||
instead of in the original English.
|
||||
|
||||
|
||||
File: bison.info, Node: VMS Invocation, Prev: Option Cross Key, Up: Invocation
|
||||
|
||||
Invoking Bison under VMS
|
||||
========================
|
||||
|
||||
The command line syntax for Bison on VMS is a variant of the usual
|
||||
Bison command syntax--adapted to fit VMS conventions.
|
||||
|
||||
To find the VMS equivalent for any Bison option, start with the long
|
||||
option, and substitute a `/' for the leading `--', and substitute a `_'
|
||||
for each `-' in the name of the long option. For example, the
|
||||
following invocation under VMS:
|
||||
|
||||
bison /debug/name_prefix=bar foo.y
|
||||
|
||||
is equivalent to the following command under POSIX.
|
||||
|
||||
bison --debug --name-prefix=bar foo.y
|
||||
|
||||
The VMS file system does not permit filenames such as `foo.tab.c'.
|
||||
In the above example, the output file would instead be named
|
||||
`foo_tab.c'.
|
||||
|
||||
|
||||
File: bison.info, Node: Table of Symbols, Next: Glossary, Prev: Invocation, Up: Top
|
||||
|
||||
@@ -172,11 +196,19 @@ Bison Symbols
|
||||
Bison declaration to create a header file meant for the scanner.
|
||||
*Note Decl Summary::.
|
||||
|
||||
`%file-prefix="PREFIX"'
|
||||
Bison declaration to set tge prefix of the output files. *Note
|
||||
Decl Summary::.
|
||||
|
||||
`%left'
|
||||
Bison declaration to assign left associativity to token(s). *Note
|
||||
Operator Precedence: Precedence Decl.
|
||||
|
||||
`%no_lines'
|
||||
`%name-prefix="PREFIX"'
|
||||
Bison declaration to rename the external symbols. *Note Decl
|
||||
Summary::.
|
||||
|
||||
`%no-lines'
|
||||
Bison declaration to avoid generating `#line' directives in the
|
||||
parser file. *Note Decl Summary::.
|
||||
|
||||
@@ -184,11 +216,15 @@ Bison Symbols
|
||||
Bison declaration to assign non-associativity to token(s). *Note
|
||||
Operator Precedence: Precedence Decl.
|
||||
|
||||
`%output="FILENAME"'
|
||||
Bison declaration to set the name of the parser file. *Note Decl
|
||||
Summary::.
|
||||
|
||||
`%prec'
|
||||
Bison declaration to assign a precedence to a specific rule.
|
||||
*Note Context-Dependent Precedence: Contextual Precedence.
|
||||
|
||||
`%pure_parser'
|
||||
`%pure-parser'
|
||||
Bison declaration to request a pure (reentrant) parser. *Note A
|
||||
Pure (Reentrant) Parser: Pure Decl.
|
||||
|
||||
@@ -204,7 +240,7 @@ Bison Symbols
|
||||
Bison declaration to declare token(s) without specifying
|
||||
precedence. *Note Token Type Names: Token Decl.
|
||||
|
||||
`%token_table'
|
||||
`%token-table'
|
||||
Bison declaration to include a token name table in the parser file.
|
||||
*Note Decl Summary::.
|
||||
|
||||
|
||||
+226
-182
@@ -447,16 +447,26 @@ lexicography, not grammar.)
|
||||
|
||||
Here is a simple C function subdivided into tokens:
|
||||
|
||||
@ifinfo
|
||||
@example
|
||||
int /* @r{keyword `int'} */
|
||||
square (x) /* @r{identifier, open-paren,} */
|
||||
/* @r{identifier, close-paren} */
|
||||
int x; /* @r{keyword `int', identifier, semicolon} */
|
||||
square (int x) /* @r{identifier, open-paren, identifier,}
|
||||
@r{identifier, close-paren} */
|
||||
@{ /* @r{open-brace} */
|
||||
return x * x; /* @r{keyword `return', identifier,} */
|
||||
/* @r{asterisk, identifier, semicolon} */
|
||||
return x * x; /* @r{keyword `return', identifier, asterisk,
|
||||
identifier, semicolon} */
|
||||
@} /* @r{close-brace} */
|
||||
@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
|
||||
declaration, and the function definition. These are represented in the
|
||||
@@ -855,11 +865,12 @@ The C declarations section (@pxref{C Declarations, ,The C Declarations Section})
|
||||
preprocessor directives.
|
||||
|
||||
The @code{#define} directive defines the macro @code{YYSTYPE}, thus
|
||||
specifying the C data type for semantic values of both tokens and groupings
|
||||
(@pxref{Value Type, ,Data Types of Semantic Values}). The Bison parser will use whatever type
|
||||
@code{YYSTYPE} is defined as; if you don't define it, @code{int} is the
|
||||
default. Because we specify @code{double}, each token and each expression
|
||||
has an associated value, which is a floating point number.
|
||||
specifying the C data type for semantic values of both tokens and
|
||||
groupings (@pxref{Value Type, ,Data Types of Semantic Values}). The
|
||||
Bison parser will use whatever type @code{YYSTYPE} is defined as; if you
|
||||
don't define it, @code{int} is the default. Because we specify
|
||||
@code{double}, each token and each expression has an associated value,
|
||||
which is a floating point number.
|
||||
|
||||
The @code{#include} directive is used to declare the exponentiation
|
||||
function @code{pow}.
|
||||
@@ -1066,10 +1077,11 @@ token type is an identifier, that identifier is defined by Bison as a C
|
||||
macro whose definition is the appropriate number. In this example,
|
||||
therefore, @code{NUM} becomes a macro for @code{yylex} to use.
|
||||
|
||||
The semantic value of the token (if it has one) is stored into the global
|
||||
variable @code{yylval}, which is where the Bison parser will look for it.
|
||||
(The C data type of @code{yylval} is @code{YYSTYPE}, which was defined
|
||||
at the beginning of the grammar; @pxref{Rpcalc Decls, ,Declarations for @code{rpcalc}}.)
|
||||
The semantic value of the token (if it has one) is stored into the
|
||||
global variable @code{yylval}, which is where the Bison parser will look
|
||||
for it. (The C data type of @code{yylval} is @code{YYSTYPE}, which was
|
||||
defined at the beginning of the grammar; @pxref{Rpcalc Decls,
|
||||
,Declarations for @code{rpcalc}}.)
|
||||
|
||||
A token type code of zero is returned if the end-of-file is encountered.
|
||||
(Bison recognizes any nonpositive value as indicating the end of the
|
||||
@@ -1202,19 +1214,19 @@ Here is how to compile and run the parser file:
|
||||
@example
|
||||
@group
|
||||
# @r{List files in current directory.}
|
||||
% ls
|
||||
$ @kbd{ls}
|
||||
rpcalc.tab.c rpcalc.y
|
||||
@end group
|
||||
|
||||
@group
|
||||
# @r{Compile the Bison parser.}
|
||||
# @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
|
||||
|
||||
@group
|
||||
# @r{List files again.}
|
||||
% ls
|
||||
$ @kbd{ls}
|
||||
rpcalc rpcalc.tab.c rpcalc.y
|
||||
@end group
|
||||
@end example
|
||||
@@ -1223,19 +1235,19 @@ The file @file{rpcalc} now contains the executable code. Here is an
|
||||
example session using @code{rpcalc}.
|
||||
|
||||
@example
|
||||
% rpcalc
|
||||
4 9 +
|
||||
$ @kbd{rpcalc}
|
||||
@kbd{4 9 +}
|
||||
13
|
||||
3 7 + 3 4 5 *+-
|
||||
@kbd{3 7 + 3 4 5 *+-}
|
||||
-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
|
||||
5 6 / 4 n +
|
||||
@kbd{5 6 / 4 n +}
|
||||
-3.166666667
|
||||
3 4 ^ @r{Exponentiation}
|
||||
@kbd{3 4 ^} @r{Exponentiation}
|
||||
81
|
||||
^D @r{End-of-file indicator}
|
||||
%
|
||||
@kbd{^D} @r{End-of-file indicator}
|
||||
$
|
||||
@end example
|
||||
|
||||
@node Infix Calc
|
||||
@@ -1315,12 +1327,12 @@ Here is a sample run of @file{calc.y}:
|
||||
|
||||
@need 500
|
||||
@example
|
||||
% calc
|
||||
4 + 4.5 - (34/(8*3+-3))
|
||||
$ @kbd{calc}
|
||||
@kbd{4 + 4.5 - (34/(8*3+-3))}
|
||||
6.880952381
|
||||
-56 + 2
|
||||
@kbd{-56 + 2}
|
||||
-54
|
||||
3 ^ 2
|
||||
@kbd{3 ^ 2}
|
||||
9
|
||||
@end example
|
||||
|
||||
@@ -1372,13 +1384,11 @@ Bison programs.
|
||||
@cindex @code{ltcalc}
|
||||
@cindex calculator, location tracking
|
||||
|
||||
This example extends the infix notation calculator with location tracking.
|
||||
This feature will be used to improve error reporting, and provide better
|
||||
error messages.
|
||||
|
||||
For the sake of clarity, we will switch for this example to an integer
|
||||
calculator, since most of the work needed to use locations will be done
|
||||
in the lexical analyser.
|
||||
This example extends the infix notation calculator with location
|
||||
tracking. This feature will be used to improve the error messages. For
|
||||
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
|
||||
analyser.
|
||||
|
||||
@menu
|
||||
* Decls: Ltcalc Decls. Bison and C declarations for ltcalc.
|
||||
@@ -1389,8 +1399,8 @@ in the lexical analyser.
|
||||
@node Ltcalc Decls
|
||||
@subsection Declarations for @code{ltcalc}
|
||||
|
||||
The C and Bison declarations for the location tracking calculator are the same
|
||||
as the declarations for the infix notation calculator.
|
||||
The C and Bison declarations for the location tracking calculator are
|
||||
the same as the declarations for the infix notation calculator.
|
||||
|
||||
@example
|
||||
/* Location tracking calculator. */
|
||||
@@ -1411,22 +1421,24 @@ as the declarations for the infix notation calculator.
|
||||
%% /* Grammar follows */
|
||||
@end example
|
||||
|
||||
In the code above, there are no declarations specific to locations. Defining
|
||||
a data type for storing locations is not needed: we will use the type provided
|
||||
by default (@pxref{Location Type, ,Data Types of Locations}), which is a four
|
||||
member structure with the following integer fields: @code{first_line},
|
||||
@code{first_column}, @code{last_line} and @code{last_column}.
|
||||
@noindent
|
||||
Note there are no declarations specific to locations. Defining a data
|
||||
type for storing locations is not needed: we will use the type provided
|
||||
by default (@pxref{Location Type, ,Data Types of Locations}), which is a
|
||||
four member structure with the following integer fields:
|
||||
@code{first_line}, @code{first_column}, @code{last_line} and
|
||||
@code{last_column}.
|
||||
|
||||
@node Ltcalc Rules
|
||||
@subsection Grammar Rules for @code{ltcalc}
|
||||
|
||||
Whether you choose to handle locations or not has no effect on the syntax of
|
||||
your language. Therefore, grammar rules for this example will be very close to
|
||||
those of the previous example: we will only modify them to benefit from the new
|
||||
informations we will have.
|
||||
Whether handling locations or not has no effect on the syntax of your
|
||||
language. Therefore, grammar rules for this example will be very close
|
||||
to those of the previous example: we will only modify them to benefit
|
||||
from the new information.
|
||||
|
||||
Here, we will use locations to report divisions by zero, and locate the wrong
|
||||
expressions or subexpressions.
|
||||
Here, we will use locations to report divisions by zero, and locate the
|
||||
wrong expressions or subexpressions.
|
||||
|
||||
@example
|
||||
@group
|
||||
@@ -1447,17 +1459,17 @@ exp : NUM @{ $$ = $1; @}
|
||||
| exp '-' exp @{ $$ = $1 - $3; @}
|
||||
| exp '*' exp @{ $$ = $1 * $3; @}
|
||||
@end group
|
||||
| exp '/' exp
|
||||
@group
|
||||
| exp '/' exp
|
||||
@{
|
||||
if ($3)
|
||||
$$ = $1 / $3;
|
||||
else
|
||||
@{
|
||||
$$ = 1;
|
||||
printf("Division by zero, l%d,c%d-l%d,c%d",
|
||||
@@3.first_line, @@3.first_column,
|
||||
@@3.last_line, @@3.last_column);
|
||||
fprintf (stderr, "%d.%d-%d.%d: division by zero",
|
||||
@@3.first_line, @@3.first_column,
|
||||
@@3.last_line, @@3.last_column);
|
||||
@}
|
||||
@}
|
||||
@end group
|
||||
@@ -1472,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
|
||||
pseudo-variable @code{@@$} for groupings.
|
||||
|
||||
In this example, we never assign a value to @code{@@$}, because the
|
||||
output parser can do this automatically. By default, before executing
|
||||
the C code of each action, @code{@@$} is set to range from the beginning
|
||||
of @code{@@1} to the end of @code{@@@var{n}}, for a rule with @var{n}
|
||||
components.
|
||||
|
||||
Of course, this behavior can be redefined (@pxref{Location Default
|
||||
Action, , Default Action for Locations}), and for very specific rules,
|
||||
@code{@@$} can be computed by hand.
|
||||
We don't need to assign a value to @code{@@$}: the output parser does it
|
||||
automatically. By default, before executing the C code of each action,
|
||||
@code{@@$} is set to range from the beginning of @code{@@1} to the end
|
||||
of @code{@@@var{n}}, for a rule with @var{n} components. This behavior
|
||||
can be redefined (@pxref{Location Default Action, , Default Action for
|
||||
Locations}), and for very specific rules, @code{@@$} can be computed by
|
||||
hand.
|
||||
|
||||
@node Ltcalc Lexer
|
||||
@subsection The @code{ltcalc} Lexical Analyzer.
|
||||
|
||||
Until now, we relied on Bison's defaults to enable location 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 for semantic values.
|
||||
Until now, we relied on Bison's defaults to enable location
|
||||
tracking. The next step is to rewrite the lexical analyser, and make it
|
||||
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 avoid the computed locations of being fuzzy or wrong:
|
||||
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:
|
||||
|
||||
@example
|
||||
@group
|
||||
@@ -1540,17 +1551,18 @@ yylex (void)
|
||||
@}
|
||||
@end example
|
||||
|
||||
Basically, the lexical analyzer does the same processing as before: it skips
|
||||
blanks and tabs, and reads numbers or single-character tokens. In addition
|
||||
to this, it updates the @code{yylloc} global variable (of type @code{YYLTYPE}),
|
||||
where the location of tokens is stored.
|
||||
Basically, the lexical analyzer performs the same processing as before:
|
||||
it skips blanks and tabs, and reads numbers or single-character tokens.
|
||||
In addition, it updates @code{yylloc}, the global variable (of type
|
||||
@code{YYLTYPE}) containing the token's location.
|
||||
|
||||
Now, each time this function returns a token, the parser has it's number as
|
||||
well as it's semantic value, and it's position in the text. The last needed
|
||||
change is to initialize @code{yylloc}, for example in the controlling
|
||||
function:
|
||||
Now, each time this function returns a token, the parser has its number
|
||||
as well as its semantic value, and its location in the text. The last
|
||||
needed change is to initialize @code{yylloc}, for example in the
|
||||
controlling function:
|
||||
|
||||
@example
|
||||
@group
|
||||
int
|
||||
main (void)
|
||||
@{
|
||||
@@ -1558,11 +1570,12 @@ main (void)
|
||||
yylloc.first_column = yylloc.last_column = 0;
|
||||
return yyparse ();
|
||||
@}
|
||||
@end group
|
||||
@end example
|
||||
|
||||
Remember that computing locations is not a matter of syntax. Every character
|
||||
must be associated to a location update, whether it is in valid input, in
|
||||
comments, in literal strings, and so on...
|
||||
Remember that computing locations is not a matter of syntax. Every
|
||||
character must be associated to a location update, whether it is in
|
||||
valid input, in comments, in literal strings, and so on.
|
||||
|
||||
@node Multi-function Calc
|
||||
@section Multi-Function Calculator: @code{mfcalc}
|
||||
@@ -1592,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:
|
||||
|
||||
@example
|
||||
% mfcalc
|
||||
pi = 3.141592653589
|
||||
$ @kbd{mfcalc}
|
||||
@kbd{pi = 3.141592653589}
|
||||
3.1415926536
|
||||
sin(pi)
|
||||
@kbd{sin(pi)}
|
||||
0.0000000000
|
||||
alpha = beta1 = 2.3
|
||||
@kbd{alpha = beta1 = 2.3}
|
||||
2.3000000000
|
||||
alpha
|
||||
@kbd{alpha}
|
||||
2.3000000000
|
||||
ln(alpha)
|
||||
@kbd{ln(alpha)}
|
||||
0.8329091229
|
||||
exp(ln(beta1))
|
||||
@kbd{exp(ln(beta1))}
|
||||
2.3000000000
|
||||
%
|
||||
$
|
||||
@end example
|
||||
|
||||
Note that multiple assignment and nested function calls are permitted.
|
||||
@@ -2374,7 +2387,8 @@ the numbers associated with @var{x} and @var{y}.
|
||||
|
||||
In a simple program it may be sufficient to use the same data type for
|
||||
the semantic values of all language constructs. This was true in the
|
||||
RPN and infix calculator examples (@pxref{RPN Calc, ,Reverse Polish Notation Calculator}).
|
||||
RPN and infix calculator examples (@pxref{RPN Calc, ,Reverse Polish
|
||||
Notation Calculator}).
|
||||
|
||||
Bison's default is to use type @code{int} for all semantic values. To
|
||||
specify some other type, define @code{YYSTYPE} as a macro, like this:
|
||||
@@ -3067,11 +3081,11 @@ terminal symbol. All kinds of token declarations allow
|
||||
@findex %expect
|
||||
|
||||
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
|
||||
conflicts which are resolved in a predictable way and would be difficult to
|
||||
eliminate. It is desirable to suppress the warning about these conflicts
|
||||
unless the number of conflicts changes. You can do this with the
|
||||
@code{%expect} declaration.
|
||||
(@pxref{Shift/Reduce, ,Shift/Reduce Conflicts}), but most real grammars
|
||||
have harmless shift/reduce conflicts which are resolved in a predictable
|
||||
way and would be difficult to eliminate. It is desirable to suppress
|
||||
the warning about these conflicts unless the number of conflicts
|
||||
changes. You can do this with the @code{%expect} declaration.
|
||||
|
||||
The declaration looks like this:
|
||||
|
||||
@@ -3079,10 +3093,11 @@ The declaration looks like this:
|
||||
%expect @var{n}
|
||||
@end example
|
||||
|
||||
Here @var{n} is a decimal integer. The declaration says there should be no
|
||||
warning if there are @var{n} shift/reduce conflicts and no reduce/reduce
|
||||
conflicts. The usual warning is given if there are either more or fewer
|
||||
conflicts, or if there are any reduce/reduce conflicts.
|
||||
Here @var{n} is a decimal integer. The declaration says there should be
|
||||
no warning if there are @var{n} shift/reduce conflicts and no
|
||||
reduce/reduce conflicts. An error, instead of the usual warning, is
|
||||
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:
|
||||
|
||||
@@ -3167,7 +3182,7 @@ valid grammar.
|
||||
@cindex declaration summary
|
||||
@cindex summary, Bison declaration
|
||||
|
||||
Here is a summary of all Bison declarations:
|
||||
Here is a summary of the declarations used to define a grammar:
|
||||
|
||||
@table @code
|
||||
@item %union
|
||||
@@ -3202,40 +3217,14 @@ Start-Symbol}).
|
||||
@item %expect
|
||||
Declare the expected number of shift-reduce conflicts
|
||||
(@pxref{Expect Decl, ,Suppressing Conflict Warnings}).
|
||||
@end table
|
||||
|
||||
@item %yacc
|
||||
@itemx %fixed_output_files
|
||||
Pretend the option @option{--yacc} was given, i.e., imitate Yacc,
|
||||
including its naming conventions. @xref{Bison Options}, for more.
|
||||
|
||||
@item %locations
|
||||
Generate the code processing the locations (@pxref{Action Features,
|
||||
,Special Features for Use in Actions}). This mode is enabled as soon as
|
||||
the grammar uses the special @samp{@@@var{n}} tokens, but if your
|
||||
grammar does not use it, using @samp{%locations} allows for more
|
||||
accurate parse error messages.
|
||||
|
||||
@item %pure_parser
|
||||
Request a pure (reentrant) parser program (@pxref{Pure Decl, ,A Pure
|
||||
(Reentrant) Parser}).
|
||||
|
||||
@item %no_parser
|
||||
Do not include any C code in the parser file; generate tables only. The
|
||||
parser file contains just @code{#define} directives and static variable
|
||||
declarations.
|
||||
|
||||
This option also tells Bison to write the C code for the grammar actions
|
||||
into a file named @file{@var{filename}.act}, in the form of a
|
||||
brace-surrounded body fit for a @code{switch} statement.
|
||||
|
||||
@item %no_lines
|
||||
Don't generate any @code{#line} preprocessor commands in the parser
|
||||
file. Ordinarily Bison writes these commands in the parser file so that
|
||||
the C compiler and debuggers will associate errors and object code with
|
||||
your source file (the grammar file). This directive causes them to
|
||||
associate errors with the parser file, treating it an independent source
|
||||
file in its own right.
|
||||
@sp 1
|
||||
@noindent
|
||||
In order to change the behavior of @command{bison}, use the following
|
||||
directives:
|
||||
|
||||
@table @code
|
||||
@item %debug
|
||||
Output a definition of the macro @code{YYDEBUG} into the parser file, so
|
||||
that the debugging facilities are compiled. @xref{Debugging, ,Debugging
|
||||
@@ -3254,35 +3243,64 @@ This output file is essential if you wish to put the definition of
|
||||
be able to refer to token type codes and the variable
|
||||
@code{yylval}. @xref{Token Values, ,Semantic Values of Tokens}.@refill
|
||||
|
||||
@item %file-prefix="@var{prefix}"
|
||||
Specify a prefix to use for all Bison output file names. The names are
|
||||
chosen as if the input file were named @file{@var{prefix}.y}.
|
||||
|
||||
@c @item %header_extension
|
||||
@c Specify the extension of the parser header file generated when
|
||||
@c @code{%define} or @samp{-d} are used.
|
||||
@c
|
||||
@c For example, a grammar file named @file{foo.ypp} and containing a
|
||||
@c @code{%header_extension .hh} directive will produce a header file
|
||||
@c named @file{foo.tab.hh}
|
||||
|
||||
@item %locations
|
||||
Generate the code processing the locations (@pxref{Action Features,
|
||||
,Special Features for Use in Actions}). This mode is enabled as soon as
|
||||
the grammar uses the special @samp{@@@var{n}} tokens, but if your
|
||||
grammar does not use it, using @samp{%locations} allows for more
|
||||
accurate parse error messages.
|
||||
|
||||
@item %name-prefix="@var{prefix}"
|
||||
Rename the external symbols used in the parser so that they start with
|
||||
@var{prefix} instead of @samp{yy}. The precise list of symbols renamed
|
||||
is @code{yyparse}, @code{yylex}, @code{yyerror}, @code{yynerrs},
|
||||
@code{yylval}, @code{yychar} and @code{yydebug}. For example, if you
|
||||
use @samp{%name-prefix="c_"}, the names become @code{c_parse},
|
||||
@code{c_lex}, and so on. @xref{Multiple Parsers, ,Multiple Parsers in
|
||||
the Same Program}.
|
||||
|
||||
@item %no-parser
|
||||
Do not include any C code in the parser file; generate tables only. The
|
||||
parser file contains just @code{#define} directives and static variable
|
||||
declarations.
|
||||
|
||||
This option also tells Bison to write the C code for the grammar actions
|
||||
into a file named @file{@var{filename}.act}, in the form of a
|
||||
brace-surrounded body fit for a @code{switch} statement.
|
||||
|
||||
@item %no-lines
|
||||
Don't generate any @code{#line} preprocessor commands in the parser
|
||||
file. Ordinarily Bison writes these commands in the parser file so that
|
||||
the C compiler and debuggers will associate errors and object code with
|
||||
your source file (the grammar file). This directive causes them to
|
||||
associate errors with the parser file, treating it an independent source
|
||||
file in its own right.
|
||||
|
||||
@item %output="@var{filename}"
|
||||
Specify the @var{filename} for the parser file.
|
||||
|
||||
@item %pure-parser
|
||||
Request a pure (reentrant) parser program (@pxref{Pure Decl, ,A Pure
|
||||
(Reentrant) Parser}).
|
||||
|
||||
@c @item %source_extension
|
||||
@c Specify the extension of the parser output file.
|
||||
@c
|
||||
@c For example, a grammar file named @file{foo.yy} and containing a
|
||||
@c @code{%source_extension .cpp} directive will produce a parser file
|
||||
@c named @file{foo.tab.cpp}
|
||||
@c
|
||||
@c @item %header_extension
|
||||
@c Specify the extension of the parser header file generated when
|
||||
@c @code{%define} or @samp{-d} are used.
|
||||
@c
|
||||
@c For example, a garmmar file named @file{foo.ypp} and containing a
|
||||
@c @code{%header_extension .hh} directive will produce a header file
|
||||
@c named @file{foo.tab.hh}
|
||||
|
||||
@item %verbose
|
||||
Write an extra output file containing verbose descriptions of the
|
||||
parser states and what is done for each type of look-ahead token in
|
||||
that state.
|
||||
|
||||
This file also describes all the conflicts, both those resolved by
|
||||
operator precedence and the unresolved ones.
|
||||
|
||||
The file's name is made by removing @samp{.tab.c} or @samp{.c} from
|
||||
the parser output file name, and adding @samp{.output} instead.@refill
|
||||
|
||||
Therefore, if the input file is @file{foo.y}, then the parser file is
|
||||
called @file{foo.tab.c} by default. As a consequence, the verbose
|
||||
output file is called @file{foo.output}.@refill
|
||||
|
||||
@item %token_table
|
||||
Generate an array of token names in the parser file. The name of the
|
||||
@@ -3316,8 +3334,31 @@ The number of grammar rules,
|
||||
@item YYNSTATES
|
||||
The number of parser states (@pxref{Parser States}).
|
||||
@end table
|
||||
|
||||
@item %verbose
|
||||
Write an extra output file containing verbose descriptions of the
|
||||
parser states and what is done for each type of look-ahead token in
|
||||
that state.
|
||||
|
||||
This file also describes all the conflicts, both those resolved by
|
||||
operator precedence and the unresolved ones.
|
||||
|
||||
The file's name is made by removing @samp{.tab.c} or @samp{.c} from
|
||||
the parser output file name, and adding @samp{.output} instead.@refill
|
||||
|
||||
Therefore, if the input file is @file{foo.y}, then the parser file is
|
||||
called @file{foo.tab.c} by default. As a consequence, the verbose
|
||||
output file is called @file{foo.output}.@refill
|
||||
|
||||
@item %yacc
|
||||
@itemx %fixed-output-files
|
||||
Pretend the option @option{--yacc} was given, i.e., imitate Yacc,
|
||||
including its naming conventions. @xref{Bison Options}, for more.
|
||||
@end table
|
||||
|
||||
|
||||
|
||||
|
||||
@node Multiple Parsers
|
||||
@section Multiple Parsers in the Same Program
|
||||
|
||||
@@ -5049,19 +5090,12 @@ that the debugging facilities are compiled. @xref{Debugging, ,Debugging
|
||||
Your Parser}.
|
||||
|
||||
@item --locations
|
||||
Pretend that @code{%locactions} was specified. @xref{Decl Summary}.
|
||||
Pretend that @code{%locations} was specified. @xref{Decl Summary}.
|
||||
|
||||
@item -p @var{prefix}
|
||||
@itemx --name-prefix=@var{prefix}
|
||||
Rename the external symbols used in the parser so that they start with
|
||||
@var{prefix} instead of @samp{yy}. The precise list of symbols renamed
|
||||
is @code{yyparse}, @code{yylex}, @code{yyerror}, @code{yynerrs},
|
||||
@code{yylval}, @code{yychar} and @code{yydebug}.
|
||||
|
||||
For example, if you use @samp{-p c}, the names become @code{cparse},
|
||||
@code{clex}, and so on.
|
||||
|
||||
@xref{Multiple Parsers, ,Multiple Parsers in the Same Program}.
|
||||
Pretend that @code{%name-prefix="@var{prefix}"} was specified.
|
||||
@xref{Decl Summary}.
|
||||
|
||||
@item -l
|
||||
@itemx --no-lines
|
||||
@@ -5073,11 +5107,11 @@ parser file, treating it as an independent source file in its own right.
|
||||
|
||||
@item -n
|
||||
@itemx --no-parser
|
||||
Pretend that @code{%no_parser} was specified. @xref{Decl Summary}.
|
||||
Pretend that @code{%no-parser} was specified. @xref{Decl Summary}.
|
||||
|
||||
@item -k
|
||||
@itemx --token-table
|
||||
Pretend that @code{%token_table} was specified. @xref{Decl Summary}.
|
||||
Pretend that @code{%token-table} was specified. @xref{Decl Summary}.
|
||||
@end table
|
||||
|
||||
@noindent
|
||||
@@ -5085,33 +5119,32 @@ Adjust the output:
|
||||
|
||||
@table @option
|
||||
@item -d
|
||||
Pretend that @code{%verbose} was specified, i.e., write an extra output
|
||||
@itemx --defines
|
||||
Pretend that @code{%defines} was specified, i.e., write an extra output
|
||||
file containing macro definitions for the token type names defined in
|
||||
the grammar and the semantic value type @code{YYSTYPE}, as well as a few
|
||||
@code{extern} variable declarations. @xref{Decl Summary}.
|
||||
|
||||
@item --defines=@var{defines-file}
|
||||
The behaviour of @var{--defines} is the same than @samp{-d}. The only
|
||||
difference is that it has an optionnal argument which is the name of
|
||||
the output filename.
|
||||
Same as above, but save in the file @var{defines-file}.
|
||||
|
||||
@item -b @var{file-prefix}
|
||||
@itemx --file-prefix=@var{prefix}
|
||||
Specify a prefix to use for all Bison output file names. The names are
|
||||
chosen as if the input file were named @file{@var{prefix}.c}.
|
||||
Pretend that @code{%verbose} was specified, i.e, specify prefix to use
|
||||
for all Bison output file names. @xref{Decl Summary}.
|
||||
|
||||
@item -v
|
||||
@itemx --verbose
|
||||
Pretend that @code{%verbose} was specified, i.e, write an extra output
|
||||
file containing verbose descriptions of the grammar and
|
||||
parser. @xref{Decl Summary}, for more.
|
||||
parser. @xref{Decl Summary}.
|
||||
|
||||
@item -o @var{outfile}
|
||||
@itemx --output-file=@var{outfile}
|
||||
Specify the name @var{outfile} for the parser file.
|
||||
@item -o @var{filename}
|
||||
@itemx --output=@var{filename}
|
||||
Specify the @var{filename} for the parser file.
|
||||
|
||||
The other output files' names are constructed from @var{outfile}
|
||||
as described under the @samp{-v} and @samp{-d} options.
|
||||
The other output files' names are constructed from @var{filename} as
|
||||
described under the @samp{-v} and @samp{-d} options.
|
||||
|
||||
@item -g
|
||||
Output a VCG definition of the LALR(1) grammar automaton computed by
|
||||
@@ -5119,7 +5152,7 @@ Bison. If the grammar file is @file{foo.y}, the VCG output file will
|
||||
be @file{foo.vcg}.
|
||||
|
||||
@item --graph=@var{graph-file}
|
||||
The behaviour of @var{--graph} is the same than @samp{-g}. The only
|
||||
The behaviour of @var{--graph} is the same than @samp{-g}. The only
|
||||
difference is that it has an optionnal argument which is the name of
|
||||
the output graph filename.
|
||||
@end table
|
||||
@@ -5168,7 +5201,7 @@ the corresponding short option.
|
||||
\line{ --name-prefix \leaderfill -p}
|
||||
\line{ --no-lines \leaderfill -l}
|
||||
\line{ --no-parser \leaderfill -n}
|
||||
\line{ --output-file \leaderfill -o}
|
||||
\line{ --output \leaderfill -o}
|
||||
\line{ --token-table \leaderfill -k}
|
||||
\line{ --verbose \leaderfill -v}
|
||||
\line{ --version \leaderfill -V}
|
||||
@@ -5187,7 +5220,7 @@ the corresponding short option.
|
||||
--name-prefix=@var{prefix} -p @var{name-prefix}
|
||||
--no-lines -l
|
||||
--no-parser -n
|
||||
--output-file=@var{outfile} -o @var{outfile}
|
||||
--output=@var{outfile} -o @var{outfile}
|
||||
--token-table -k
|
||||
--verbose -v
|
||||
--version -V
|
||||
@@ -5361,6 +5394,10 @@ Equip the parser for debugging. @xref{Decl Summary}.
|
||||
Bison declaration to create a header file meant for the scanner.
|
||||
@xref{Decl Summary}.
|
||||
|
||||
@item %file-prefix="@var{prefix}"
|
||||
Bison declaration to set tge prefix of the output files. @xref{Decl
|
||||
Summary}.
|
||||
|
||||
@c @item %source_extension
|
||||
@c Bison declaration to specify the generated parser output file extension.
|
||||
@c @xref{Decl Summary}.
|
||||
@@ -5373,7 +5410,10 @@ Bison declaration to create a header file meant for the scanner.
|
||||
Bison declaration to assign left associativity to token(s).
|
||||
@xref{Precedence Decl, ,Operator Precedence}.
|
||||
|
||||
@item %no_lines
|
||||
@item %name-prefix="@var{prefix}"
|
||||
Bison declaration to rename the external symbols. @xref{Decl Summary}.
|
||||
|
||||
@item %no-lines
|
||||
Bison declaration to avoid generating @code{#line} directives in the
|
||||
parser file. @xref{Decl Summary}.
|
||||
|
||||
@@ -5381,11 +5421,15 @@ parser file. @xref{Decl Summary}.
|
||||
Bison declaration to assign non-associativity to token(s).
|
||||
@xref{Precedence Decl, ,Operator Precedence}.
|
||||
|
||||
@item %output="@var{filename}"
|
||||
Bison declaration to set the name of the parser file. @xref{Decl
|
||||
Summary}.
|
||||
|
||||
@item %prec
|
||||
Bison declaration to assign a precedence to a specific rule.
|
||||
@xref{Contextual Precedence, ,Context-Dependent Precedence}.
|
||||
|
||||
@item %pure_parser
|
||||
@item %pure-parser
|
||||
Bison declaration to request a pure (reentrant) parser.
|
||||
@xref{Pure Decl, ,A Pure (Reentrant) Parser}.
|
||||
|
||||
@@ -5400,7 +5444,7 @@ Bison declaration to specify the start symbol. @xref{Start Decl, ,The Start-Sym
|
||||
Bison declaration to declare token(s) without specifying precedence.
|
||||
@xref{Token Decl, ,Token Type Names}.
|
||||
|
||||
@item %token_table
|
||||
@item %token-table
|
||||
Bison declaration to include a token name table in the parser file.
|
||||
@xref{Decl Summary}.
|
||||
|
||||
|
||||
+44
-38
@@ -6,7 +6,7 @@
|
||||
% This file can be printed with 1 or 2 columns per page (see below).
|
||||
% Specify how many you want here. Nothing else needs to be changed
|
||||
% unless you are maintaining the documentation.
|
||||
% For printing reference cards to use in books, specify one column
|
||||
% For printing reference cards to use in books, specify one column
|
||||
% per page and reduce to 80%.
|
||||
% Note that if columnsperpage is set to 2, there will be a few overfull
|
||||
% boxes, but they are not serious. Just uncomment \finalout.
|
||||
@@ -19,7 +19,7 @@
|
||||
\def\finalout{\overfullrule=0pt}
|
||||
%\finalout
|
||||
|
||||
% Copyright (c) 1998 Free Software Foundation, Inc.
|
||||
% Copyright (c) 1998, 2001 Free Software Foundation, Inc.
|
||||
%
|
||||
% This file is part of Bison.
|
||||
%
|
||||
@@ -51,11 +51,11 @@
|
||||
% Which mode to use is controlled by setting \columnsperpage above.
|
||||
%
|
||||
% Authors:
|
||||
% Brendan Kehoe
|
||||
% Brendan Kehoe
|
||||
% UUCP: widener!brendan
|
||||
% Internet: [email protected]
|
||||
% Internet: [email protected]
|
||||
%
|
||||
% Gavin Nicol
|
||||
% Gavin Nicol
|
||||
% Internet: [email protected]
|
||||
%
|
||||
% This refcard format was created by Steve Gildea.
|
||||
@@ -66,12 +66,12 @@
|
||||
% We only change the following to change the version numbers and
|
||||
% such.
|
||||
|
||||
\def\bisonversion{1.20} % the bison version
|
||||
\def\bisonversion{1.31} % the bison version
|
||||
|
||||
\def\refcardversion{0.4a} % reference card version
|
||||
\def\month{August} % month
|
||||
\def\year{1998} % year
|
||||
\def\version{\month\ \year, Bison Refcard Version \refcardversion}
|
||||
\def\refcardversion{0.5} % reference card version
|
||||
\def\month{November} % month
|
||||
\def\year{2001} % year
|
||||
\def\version{\month\ \year, Bison Refcard Version \refcardversion}
|
||||
|
||||
% for copyright notices
|
||||
\def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip}
|
||||
@@ -90,7 +90,7 @@
|
||||
|
||||
Permission is granted to make and distribute copies of this card
|
||||
provided the copyright notice and this permission notice
|
||||
are preserved on all copies.
|
||||
are preserved on all copies.
|
||||
\vskip .2\baselineskip
|
||||
For information, write to the:
|
||||
\vskip .2\baselineskip
|
||||
@@ -115,7 +115,7 @@ For information, write to the:
|
||||
|
||||
Permission is granted to make and distribute copies of this card
|
||||
provided the copyright notice and this permission notice
|
||||
are preserved on all copies.
|
||||
are preserved on all copies.
|
||||
\vskip .2\baselineskip
|
||||
For information, write to the:
|
||||
\vskip .2\baselineskip
|
||||
@@ -136,7 +136,7 @@ For information, write to the:
|
||||
|
||||
\def\ncolumns{\the\columnsperpage}
|
||||
|
||||
\message{[\ncolumns\space
|
||||
\message{[\ncolumns\space
|
||||
column\if 1\ncolumns\else s\fi\space per page]}
|
||||
|
||||
\def\scaledmag#1{ scaled \magstep #1}
|
||||
@@ -227,7 +227,7 @@ For information, write to the:
|
||||
\def\bye{\par\vfill\supereject
|
||||
\if a\abc \else\null\vfill\eject\fi
|
||||
\if a\abc \else\null\vfill\eject\fi
|
||||
\end}
|
||||
\end}
|
||||
\fi
|
||||
|
||||
% we won't be using math mode much, so redefine some of the characters
|
||||
@@ -316,41 +316,44 @@ Options can be used as: \kbd{bison {\it options} {\it filename}}
|
||||
\section{Command Line Options}
|
||||
%*****************************
|
||||
|
||||
\key{Display usage information.} {-h}
|
||||
\key{Display version information.} {-V}
|
||||
\key{Generate token and {\tt YYSTYPE} definitions.} {-d}
|
||||
\key{Prepend a prefix to external symbols.} {-p {\it prefix}}
|
||||
\key{Don't put {\tt \#line} directives in the parser.} {-l}
|
||||
\key{Specify the output file.} {-o {\it filename}}
|
||||
\key{Debug or {\it trace} mode.} {-t}
|
||||
\key{Debug or {\it trace} mode.} {-t}
|
||||
\key{Verbose description of the parser.} {-v}
|
||||
\key{Emulate {\tt yacc} (generate {\tt y.tab.*} files).} {-y}
|
||||
|
||||
\vskip .10truein
|
||||
{\bf Note:} The token and {\tt YYSTYPE} definitions are generated
|
||||
to a file called {\tt y.tab.h} if the {\tt -y} option is used,
|
||||
{\bf Note:} The token and {\tt YYSTYPE} definitions are generated
|
||||
to a file called {\tt y.tab.h} if the {\tt -y} option is used,
|
||||
otherwise it will have the format {\tt {\it name}.tab.h}, where
|
||||
{\it name} is the leading part of the parser definition filename.
|
||||
|
||||
\section{Definitions}
|
||||
%********************
|
||||
|
||||
\key{Declare a terminal symbol.}{\%token <{\it t\/}>
|
||||
\key{Declare a terminal symbol.}{\%token <{\it t\/}>
|
||||
{\it n}}
|
||||
|
||||
\key{Declare a terminal symbol, and define its association.}
|
||||
\key{Declare a terminal symbol, and define its association.}
|
||||
{{\it association} <{\it t\/}> {\it n}}
|
||||
|
||||
\vskip .2\baselineskip
|
||||
\key{Generate a reentrant (pure) parser.}
|
||||
\key{Generate a reentrant (pure) parser.}
|
||||
{\%pure_parser}
|
||||
|
||||
\key{Define the union of all data types used in the parser.}
|
||||
\key{Define the union of all data types used in the parser.}
|
||||
{\%union\{{\it field list}\} }
|
||||
|
||||
\vskip .2\baselineskip
|
||||
\key{Tell {\tt bison} where to start parsing.}
|
||||
{\%start {\it m}}
|
||||
\key{Tell {\tt bison} where to start parsing.}
|
||||
{\%start {\it m}}
|
||||
|
||||
\key{Tell {\tt bison} the data type of symbols.}
|
||||
{\%type <{\it t\/}> {\it s1}\dots{\it sn}}
|
||||
\key{Tell {\tt bison} the data type of symbols.}
|
||||
{\%type <{\it t\/}> {\it s1}\dots{\it sn}}
|
||||
|
||||
\vskip .10truein
|
||||
|
||||
@@ -362,8 +365,8 @@ definition, {\it n} is a {\it terminal} symbol name, {\it m} is a
|
||||
\vskip .10truein
|
||||
|
||||
The {\tt <{\it t\/}>} after {\tt \%token, \%left, \%right} and {\tt
|
||||
\%nonassoc} is optional. Additionally, precedence may be overridden with
|
||||
embedded {\tt \%prec} commands.
|
||||
\%nonassoc} is optional. Additionally, precedence may be overridden
|
||||
in the rules with {\tt \%prec} commands.
|
||||
|
||||
\section{Parser Definition Files}
|
||||
%*********************************
|
||||
@@ -379,7 +382,7 @@ The general form for a parser definition is:
|
||||
|
||||
\%\%
|
||||
|
||||
Rule definition 1
|
||||
Rule definition 1
|
||||
\vdots
|
||||
Rule definition {\it n}
|
||||
|
||||
@@ -397,8 +400,9 @@ The general form for a parser definition is:
|
||||
|
||||
Rules take the form:
|
||||
|
||||
\vskip -\baselineskip
|
||||
\beginexample
|
||||
non-terminal : {\it statement} 1
|
||||
non-terminal : {\it statement} 1
|
||||
| {\it statement} 2
|
||||
\vdots
|
||||
| {\it statement n}
|
||||
@@ -406,12 +410,12 @@ Rules take the form:
|
||||
\endexample
|
||||
|
||||
Where {\it statements} can be either empty, or contain
|
||||
a mixture of C code (enclosed in {\tt \{...\}}), and the
|
||||
a mixture of C code (enclosed in {\tt \{...\}}), and the
|
||||
symbols that make up the non-terminal. For example:
|
||||
|
||||
\vskip -\baselineskip
|
||||
\beginexample
|
||||
expression : number '$+$' number \{ \$\$ $=$ \$1 $+$ \$3 \}
|
||||
expression : number '$+$' number \{ \$\$ $=$ \$1 $+$ \$3 \}
|
||||
| number '$-$' number \{ \$\$ $=$ \$1 $-$ \$3 \}
|
||||
| number '$/$' number \{ \$\$ $=$ \$1 $/$ \$3 \}
|
||||
| number '$*$' number \{ \$\$ $=$ \$1 $*$ \$3 \}
|
||||
@@ -428,7 +432,7 @@ For altering the precedence of a symbol use:
|
||||
For example:
|
||||
\vskip -\baselineskip
|
||||
\beginexample
|
||||
foo : gnu bar gnu \%prec bar
|
||||
foo : gnu bar gnu \%prec bar
|
||||
;
|
||||
\endexample
|
||||
|
||||
@@ -438,16 +442,18 @@ For example:
|
||||
\key{Recognize an error \& continue parsing.}{error}
|
||||
\key{Access data associated with a symbol.} {\$\$, \$0\dots\${\it n}}
|
||||
\key{Access a field of the data union.} {\$\$.{\it t},
|
||||
\$0.{\it t}\dots\${\it n}.{\it t}}
|
||||
\key{Access data's line position.} {@{\it n}.{\it line\_spec}}
|
||||
\key{Access data's column position.} {@{\it n}.{\it column\_spec}}
|
||||
\$0.{\it t}\dots\${\it n}.{\it t}}
|
||||
\key{Access symbol's location.} {@\$, @0\dots@{\it n}}
|
||||
\key{Access data's line location.} {@{\it x}.{\it line\_spec}}
|
||||
\key{Access data's column location.} {@{\it x}.{\it column\_spec}}
|
||||
|
||||
|
||||
\vskip .10truein
|
||||
%
|
||||
Where {\it t} is a type defined in the {\tt \%union}, {\it n} is a
|
||||
number, {\it line\_spec} one of {\tt first_line} and {\tt last_line},
|
||||
and {\it column\_spec} is specified as either {\tt first_column} or {\tt
|
||||
last_column}.
|
||||
number, {\it x} is a number or \$, {\it line\_spec} one of {\tt
|
||||
first_line} and {\tt last_line}, and {\it column\_spec} is specified
|
||||
as either {\tt first_column} or {\tt last_column}.
|
||||
|
||||
\section {Variables and Types}
|
||||
%*****************************
|
||||
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
@set UPDATED 20 September 2001
|
||||
@set UPDATED-MONTH September 2001
|
||||
@set EDITION 1.29d
|
||||
@set VERSION 1.29d
|
||||
@set UPDATED 12 November 2001
|
||||
@set UPDATED-MONTH November 2001
|
||||
@set EDITION 1.30c
|
||||
@set VERSION 1.30c
|
||||
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
@set UPDATED 20 September 2001
|
||||
@set UPDATED-MONTH September 2001
|
||||
@set EDITION 1.29d
|
||||
@set VERSION 1.29d
|
||||
@set UPDATED 12 November 2001
|
||||
@set UPDATED-MONTH November 2001
|
||||
@set EDITION 1.30c
|
||||
@set VERSION 1.30c
|
||||
|
||||
+7
-7
@@ -1,4 +1,5 @@
|
||||
# Makefile.in generated automatically by automake 1.5a from Makefile.am.
|
||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
@@ -63,6 +64,7 @@ EXEEXT = @EXEEXT@
|
||||
OBJEXT = @OBJEXT@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOM4TE = @AUTOM4TE@
|
||||
AWK = @AWK@
|
||||
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
|
||||
CATALOGS = @CATALOGS@
|
||||
@@ -71,6 +73,7 @@ CC = @CC@
|
||||
CPP = @CPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
GCC = @GCC@
|
||||
GENCAT = @GENCAT@
|
||||
GLIBC21 = @GLIBC21@
|
||||
GMOFILES = @GMOFILES@
|
||||
@@ -81,9 +84,8 @@ INTLBISON = @INTLBISON@
|
||||
INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||
LIB = @LIB@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
M4 = @M4@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
MSGFMT = @MSGFMT@
|
||||
PACKAGE = @PACKAGE@
|
||||
@@ -164,9 +166,7 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu lib/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && \
|
||||
CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
|
||||
AR = ar
|
||||
|
||||
@@ -192,7 +192,7 @@ clean-krextra:
|
||||
-rm -f ansi2knr
|
||||
|
||||
mostlyclean-kr:
|
||||
-rm -f *_.c
|
||||
-test "$U" = "" || rm -f *_.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/error$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getopt$U.Po@am__quote@
|
||||
|
||||
+198
-74
@@ -1,23 +1,22 @@
|
||||
/* Error handler for noninteractive utilities
|
||||
Copyright (C) 1990-1998, 2000 Free Software Foundation, Inc.
|
||||
|
||||
Copyright (C) 1990-1998, 2000, 2001 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however. The master source lives in /gd/gnu/lib.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
/* Written by David MacKenzie <[email protected]>. */
|
||||
|
||||
@@ -29,6 +28,10 @@
|
||||
#if HAVE_LIBINTL_H
|
||||
# include <libintl.h>
|
||||
#endif
|
||||
#ifdef _LIBC
|
||||
# include <wchar.h>
|
||||
# define mbsrtowcs __mbsrtowcs
|
||||
#endif
|
||||
|
||||
#if HAVE_VPRINTF || HAVE_DOPRNT || _LIBC
|
||||
# if __STDC__
|
||||
@@ -52,13 +55,6 @@ void exit ();
|
||||
|
||||
#include "error.h"
|
||||
|
||||
#ifndef HAVE_DECL_STRERROR_R
|
||||
"this configure-time declaration test was not run"
|
||||
#endif
|
||||
#if !HAVE_DECL_STRERROR_R
|
||||
char *strerror_r ();
|
||||
#endif
|
||||
|
||||
#ifndef _
|
||||
# define _(String) String
|
||||
#endif
|
||||
@@ -83,6 +79,12 @@ unsigned int error_message_count;
|
||||
|
||||
/* In GNU libc we want do not want to use the common name `error' directly.
|
||||
Instead make it a weak alias. */
|
||||
extern void __error (int status, int errnum, const char *message, ...)
|
||||
__attribute__ ((__format__ (__printf__, 3, 4)));
|
||||
extern void __error_at_line (int status, int errnum, const char *file_name,
|
||||
unsigned int line_number, const char *message,
|
||||
...)
|
||||
__attribute__ ((__format__ (__printf__, 5, 6)));;
|
||||
# define error __error
|
||||
# define error_at_line __error_at_line
|
||||
|
||||
@@ -93,21 +95,30 @@ unsigned int error_message_count;
|
||||
|
||||
#else /* not _LIBC */
|
||||
|
||||
# if !HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P
|
||||
# ifndef HAVE_DECL_STRERROR_R
|
||||
"this configure-time declaration test was not run"
|
||||
# endif
|
||||
char *strerror_r ();
|
||||
# endif
|
||||
|
||||
/* The calling program should define program_name and set it to the
|
||||
name of the executing program. */
|
||||
extern char *program_name;
|
||||
|
||||
# ifdef HAVE_STRERROR_R
|
||||
# if HAVE_STRERROR_R || defined strerror_r
|
||||
# define __strerror_r strerror_r
|
||||
# else
|
||||
# if HAVE_STRERROR
|
||||
# ifndef strerror /* On some systems, strerror is a macro */
|
||||
# ifndef HAVE_DECL_STRERROR
|
||||
"this configure-time declaration test was not run"
|
||||
# endif
|
||||
# if !HAVE_DECL_STRERROR
|
||||
char *strerror ();
|
||||
# endif
|
||||
# else
|
||||
static char *
|
||||
private_strerror (errnum)
|
||||
int errnum;
|
||||
private_strerror (int errnum)
|
||||
{
|
||||
extern char *sys_errlist[];
|
||||
extern int sys_nerr;
|
||||
@@ -118,15 +129,118 @@ private_strerror (errnum)
|
||||
}
|
||||
# define strerror private_strerror
|
||||
# endif /* HAVE_STRERROR */
|
||||
# endif /* HAVE_STRERROR_R */
|
||||
# endif /* HAVE_STRERROR_R || defined strerror_r */
|
||||
#endif /* not _LIBC */
|
||||
|
||||
static void
|
||||
print_errno_message (int errnum)
|
||||
{
|
||||
char const *s;
|
||||
|
||||
#if defined HAVE_STRERROR_R || _LIBC
|
||||
char errbuf[1024];
|
||||
# if STRERROR_R_CHAR_P || _LIBC
|
||||
s = __strerror_r (errnum, errbuf, sizeof errbuf);
|
||||
# else
|
||||
if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0)
|
||||
s = errbuf;
|
||||
else
|
||||
s = 0;
|
||||
# endif
|
||||
#else
|
||||
s = strerror (errnum);
|
||||
#endif
|
||||
|
||||
#if !_LIBC
|
||||
if (! s)
|
||||
s = _("Unknown system error");
|
||||
#endif
|
||||
|
||||
#if _LIBC && USE_IN_LIBIO
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
{
|
||||
__fwprintf (stderr, L": %s", s);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
fprintf (stderr, ": %s", s);
|
||||
}
|
||||
|
||||
#ifdef VA_START
|
||||
static void
|
||||
error_tail (int status, int errnum, const char *message, va_list args)
|
||||
{
|
||||
# if HAVE_VPRINTF || _LIBC
|
||||
# if _LIBC && USE_IN_LIBIO
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
{
|
||||
# define ALLOCA_LIMIT 2000
|
||||
size_t len = strlen (message) + 1;
|
||||
wchar_t *wmessage = NULL;
|
||||
mbstate_t st;
|
||||
size_t res;
|
||||
const char *tmp;
|
||||
|
||||
do
|
||||
{
|
||||
if (len < ALLOCA_LIMIT)
|
||||
wmessage = (wchar_t *) alloca (len * sizeof (wchar_t));
|
||||
else
|
||||
{
|
||||
if (wmessage != NULL && len / 2 < ALLOCA_LIMIT)
|
||||
wmessage = NULL;
|
||||
|
||||
wmessage = (wchar_t *) realloc (wmessage,
|
||||
len * sizeof (wchar_t));
|
||||
|
||||
if (wmessage == NULL)
|
||||
{
|
||||
fputws_unlocked (L"out of memory\n", stderr);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
memset (&st, '\0', sizeof (st));
|
||||
tmp =message;
|
||||
}
|
||||
while ((res = mbsrtowcs (wmessage, &tmp, len, &st)) == len);
|
||||
|
||||
if (res == (size_t) -1)
|
||||
/* The string cannot be converted. */
|
||||
wmessage = (wchar_t *) L"???";
|
||||
|
||||
__vfwprintf (stderr, wmessage, args);
|
||||
}
|
||||
else
|
||||
# endif
|
||||
vfprintf (stderr, message, args);
|
||||
# else
|
||||
_doprnt (message, args, stderr);
|
||||
# endif
|
||||
va_end (args);
|
||||
|
||||
++error_message_count;
|
||||
if (errnum)
|
||||
print_errno_message (errnum);
|
||||
# if _LIBC && USE_IN_LIBIO
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
putwc (L'\n', stderr);
|
||||
else
|
||||
# endif
|
||||
putc ('\n', stderr);
|
||||
fflush (stderr);
|
||||
if (status)
|
||||
exit (status);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/* Print the program name and error message MESSAGE, which is a printf-style
|
||||
format string with optional args.
|
||||
If ERRNUM is nonzero, print its corresponding system error message.
|
||||
Exit with status STATUS if it is nonzero. */
|
||||
/* VARARGS */
|
||||
|
||||
void
|
||||
#if defined VA_START && __STDC__
|
||||
error (int status, int errnum, const char *message, ...)
|
||||
@@ -142,47 +256,48 @@ error (status, errnum, message, va_alist)
|
||||
va_list args;
|
||||
#endif
|
||||
|
||||
fflush (stdout);
|
||||
#ifdef _LIBC
|
||||
# ifdef USE_IN_LIBIO
|
||||
_IO_flockfile (stderr);
|
||||
# else
|
||||
__flockfile (stderr);
|
||||
# endif
|
||||
#endif
|
||||
if (error_print_progname)
|
||||
(*error_print_progname) ();
|
||||
else
|
||||
{
|
||||
fflush (stdout);
|
||||
fprintf (stderr, "%s: ", program_name);
|
||||
#if _LIBC && USE_IN_LIBIO
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
__fwprintf (stderr, L"%s: ", program_name);
|
||||
else
|
||||
#endif
|
||||
fprintf (stderr, "%s: ", program_name);
|
||||
}
|
||||
|
||||
#ifdef VA_START
|
||||
VA_START (args, message);
|
||||
# if HAVE_VPRINTF || _LIBC
|
||||
vfprintf (stderr, message, args);
|
||||
# else
|
||||
_doprnt (message, args, stderr);
|
||||
# endif
|
||||
va_end (args);
|
||||
error_tail (status, errnum, message, args);
|
||||
#else
|
||||
fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
|
||||
#endif
|
||||
|
||||
++error_message_count;
|
||||
if (errnum)
|
||||
{
|
||||
#if defined HAVE_STRERROR_R || _LIBC
|
||||
char errbuf[1024];
|
||||
# if HAVE_WORKING_STRERROR_R || _LIBC
|
||||
fprintf (stderr, ": %s", __strerror_r (errnum, errbuf, sizeof errbuf));
|
||||
# else
|
||||
/* Don't use __strerror_r's return value because on some systems
|
||||
(at least DEC UNIX 4.0[A-D]) strerror_r returns `int'. */
|
||||
__strerror_r (errnum, errbuf, sizeof errbuf);
|
||||
fprintf (stderr, ": %s", errbuf);
|
||||
# endif
|
||||
#else
|
||||
fprintf (stderr, ": %s", strerror (errnum));
|
||||
#endif
|
||||
}
|
||||
print_errno_message (errnum);
|
||||
putc ('\n', stderr);
|
||||
fflush (stderr);
|
||||
if (status)
|
||||
exit (status);
|
||||
#endif
|
||||
|
||||
#ifdef _LIBC
|
||||
# ifdef USE_IN_LIBIO
|
||||
_IO_funlockfile (stderr);
|
||||
# else
|
||||
__funlockfile (stderr);
|
||||
# endif
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Sometimes we want to have at most one error per line. This
|
||||
@@ -212,8 +327,9 @@ error_at_line (status, errnum, file_name, line_number, message, va_alist)
|
||||
static const char *old_file_name;
|
||||
static unsigned int old_line_number;
|
||||
|
||||
if (old_line_number == line_number &&
|
||||
(file_name == old_file_name || !strcmp (old_file_name, file_name)))
|
||||
if (old_line_number == line_number
|
||||
&& (file_name == old_file_name
|
||||
|| strcmp (old_file_name, file_name) == 0))
|
||||
/* Simply return and print nothing. */
|
||||
return;
|
||||
|
||||
@@ -221,50 +337,58 @@ error_at_line (status, errnum, file_name, line_number, message, va_alist)
|
||||
old_line_number = line_number;
|
||||
}
|
||||
|
||||
fflush (stdout);
|
||||
#ifdef _LIBC
|
||||
# ifdef USE_IN_LIBIO
|
||||
_IO_flockfile (stderr);
|
||||
# else
|
||||
__flockfile (stderr);
|
||||
# endif
|
||||
#endif
|
||||
if (error_print_progname)
|
||||
(*error_print_progname) ();
|
||||
else
|
||||
{
|
||||
fflush (stdout);
|
||||
fprintf (stderr, "%s:", program_name);
|
||||
#if _LIBC && USE_IN_LIBIO
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
__fwprintf (stderr, L"%s: ", program_name);
|
||||
else
|
||||
#endif
|
||||
fprintf (stderr, "%s:", program_name);
|
||||
}
|
||||
|
||||
if (file_name != NULL)
|
||||
fprintf (stderr, "%s:%d: ", file_name, line_number);
|
||||
{
|
||||
#if _LIBC && USE_IN_LIBIO
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
__fwprintf (stderr, L"%s:%d: ", file_name, line_number);
|
||||
else
|
||||
#endif
|
||||
fprintf (stderr, "%s:%d: ", file_name, line_number);
|
||||
}
|
||||
|
||||
#ifdef VA_START
|
||||
VA_START (args, message);
|
||||
# if HAVE_VPRINTF || _LIBC
|
||||
vfprintf (stderr, message, args);
|
||||
# else
|
||||
_doprnt (message, args, stderr);
|
||||
# endif
|
||||
va_end (args);
|
||||
error_tail (status, errnum, message, args);
|
||||
#else
|
||||
fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
|
||||
#endif
|
||||
|
||||
++error_message_count;
|
||||
if (errnum)
|
||||
{
|
||||
#if defined HAVE_STRERROR_R || _LIBC
|
||||
char errbuf[1024];
|
||||
# if HAVE_WORKING_STRERROR_R || _LIBC
|
||||
fprintf (stderr, ": %s", __strerror_r (errnum, errbuf, sizeof errbuf));
|
||||
# else
|
||||
/* Don't use __strerror_r's return value because on some systems
|
||||
(at least DEC UNIX 4.0[A-D]) strerror_r returns `int'. */
|
||||
__strerror_r (errnum, errbuf, sizeof errbuf);
|
||||
fprintf (stderr, ": %s", errbuf);
|
||||
# endif
|
||||
#else
|
||||
fprintf (stderr, ": %s", strerror (errnum));
|
||||
#endif
|
||||
}
|
||||
print_errno_message (errnum);
|
||||
putc ('\n', stderr);
|
||||
fflush (stderr);
|
||||
if (status)
|
||||
exit (status);
|
||||
#endif
|
||||
|
||||
#ifdef _LIBC
|
||||
# ifdef USE_IN_LIBIO
|
||||
_IO_funlockfile (stderr);
|
||||
# else
|
||||
__funlockfile (stderr);
|
||||
# endif
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef _LIBC
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@
|
||||
|
||||
#ifndef __attribute__
|
||||
/* This feature is available in gcc versions 2.5 and later. */
|
||||
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
|
||||
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
|
||||
# define __attribute__(Spec) /* empty */
|
||||
# endif
|
||||
/* The __-protected variants of `format' and `printf' attributes
|
||||
|
||||
+59
-40
@@ -1,23 +1,25 @@
|
||||
/* Getopt for GNU.
|
||||
NOTE: The canonical source of this file is maintained with the GNU
|
||||
C Library. Bugs can be reported to bug-glibc@gnu.org.
|
||||
|
||||
Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
|
||||
NOTE: getopt is now part of the C library, so if you don't know what
|
||||
"Keep this file name-space clean" means, talk to drepper@gnu.org
|
||||
before changing it!
|
||||
Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001
|
||||
Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
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.
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser 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. */
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
|
||||
Ditto for AIX 3.2 and <stdlib.h>. */
|
||||
@@ -27,13 +29,13 @@
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#else
|
||||
# if !defined __STDC__ || !__STDC__
|
||||
#endif
|
||||
|
||||
#if !defined __STDC__ || !__STDC__
|
||||
/* This is a separate conditional since some stdc systems
|
||||
reject `defined (const)'. */
|
||||
# ifndef const
|
||||
# define const
|
||||
# endif
|
||||
# ifndef const
|
||||
# define const
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@@ -75,11 +77,12 @@
|
||||
#endif
|
||||
|
||||
#ifndef _
|
||||
/* This is for other GNU distributions with internationalized messages.
|
||||
When compiling libc, the _ macro is predefined. */
|
||||
# ifdef HAVE_LIBINTL_H
|
||||
/* This is for other GNU distributions with internationalized messages. */
|
||||
# if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC
|
||||
# include <libintl.h>
|
||||
# define _(msgid) gettext (msgid)
|
||||
# ifndef _
|
||||
# define _(msgid) gettext (msgid)
|
||||
# endif
|
||||
# else
|
||||
# define _(msgid) (msgid)
|
||||
# endif
|
||||
@@ -250,11 +253,13 @@ static int last_nonopt;
|
||||
/* Bash 2.0 gives us an environment variable containing flags
|
||||
indicating ARGV elements that should not be considered arguments. */
|
||||
|
||||
#ifdef USE_NONOPTION_FLAGS
|
||||
/* Defined in getopt_init.c */
|
||||
extern char *__getopt_nonoption_flags;
|
||||
|
||||
static int nonoption_flags_max_len;
|
||||
static int nonoption_flags_len;
|
||||
#endif
|
||||
|
||||
static int original_argc;
|
||||
static char *const *original_argv;
|
||||
@@ -275,13 +280,17 @@ store_args_and_env (int argc, char *const *argv)
|
||||
text_set_element (__libc_subinit, store_args_and_env);
|
||||
# endif /* text_set_element */
|
||||
|
||||
# define SWAP_FLAGS(ch1, ch2) \
|
||||
# ifdef USE_NONOPTION_FLAGS
|
||||
# define SWAP_FLAGS(ch1, ch2) \
|
||||
if (nonoption_flags_len > 0) \
|
||||
{ \
|
||||
char __tmp = __getopt_nonoption_flags[ch1]; \
|
||||
__getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \
|
||||
__getopt_nonoption_flags[ch2] = __tmp; \
|
||||
}
|
||||
# else
|
||||
# define SWAP_FLAGS(ch1, ch2)
|
||||
# endif
|
||||
#else /* !_LIBC */
|
||||
# define SWAP_FLAGS(ch1, ch2)
|
||||
#endif /* _LIBC */
|
||||
@@ -313,7 +322,7 @@ exchange (argv)
|
||||
It leaves the longer segment in the right place overall,
|
||||
but it consists of two parts that need to be swapped next. */
|
||||
|
||||
#ifdef _LIBC
|
||||
#if defined _LIBC && defined USE_NONOPTION_FLAGS
|
||||
/* First make sure the handling of the `__getopt_nonoption_flags'
|
||||
string can work normally. Our top argument must be in the range
|
||||
of the string. */
|
||||
@@ -417,7 +426,7 @@ _getopt_initialize (argc, argv, optstring)
|
||||
else
|
||||
ordering = PERMUTE;
|
||||
|
||||
#ifdef _LIBC
|
||||
#if defined _LIBC && defined USE_NONOPTION_FLAGS
|
||||
if (posixly_correct == NULL
|
||||
&& argc == original_argc && argv == original_argv)
|
||||
{
|
||||
@@ -515,6 +524,13 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
int *longind;
|
||||
int long_only;
|
||||
{
|
||||
int print_errors = opterr;
|
||||
if (optstring[0] == ':')
|
||||
print_errors = 0;
|
||||
|
||||
if (argc < 1)
|
||||
return -1;
|
||||
|
||||
optarg = NULL;
|
||||
|
||||
if (optind == 0 || !__getopt_initialized)
|
||||
@@ -529,7 +545,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
Either it does not have option syntax, or there is an environment flag
|
||||
from the shell indicating it is not an option. The later information
|
||||
is only used when the used in the GNU libc. */
|
||||
#ifdef _LIBC
|
||||
#if defined _LIBC && defined USE_NONOPTION_FLAGS
|
||||
# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \
|
||||
|| (optind < nonoption_flags_len \
|
||||
&& __getopt_nonoption_flags[optind] == '1'))
|
||||
@@ -664,14 +680,17 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
pfound = p;
|
||||
indfound = option_index;
|
||||
}
|
||||
else
|
||||
else if (long_only
|
||||
|| pfound->has_arg != p->has_arg
|
||||
|| pfound->flag != p->flag
|
||||
|| pfound->val != p->val)
|
||||
/* Second or later nonexact match found. */
|
||||
ambig = 1;
|
||||
}
|
||||
|
||||
if (ambig && !exact)
|
||||
{
|
||||
if (opterr)
|
||||
if (print_errors)
|
||||
fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
|
||||
argv[0], argv[optind]);
|
||||
nextchar += strlen (nextchar);
|
||||
@@ -692,7 +711,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
optarg = nameend + 1;
|
||||
else
|
||||
{
|
||||
if (opterr)
|
||||
if (print_errors)
|
||||
{
|
||||
if (argv[optind - 1][1] == '-')
|
||||
/* --option */
|
||||
@@ -718,7 +737,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
optarg = argv[optind++];
|
||||
else
|
||||
{
|
||||
if (opterr)
|
||||
if (print_errors)
|
||||
fprintf (stderr,
|
||||
_("%s: option `%s' requires an argument\n"),
|
||||
argv[0], argv[optind - 1]);
|
||||
@@ -745,7 +764,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
if (!long_only || argv[optind][1] == '-'
|
||||
|| my_index (optstring, *nextchar) == NULL)
|
||||
{
|
||||
if (opterr)
|
||||
if (print_errors)
|
||||
{
|
||||
if (argv[optind][1] == '-')
|
||||
/* --option */
|
||||
@@ -775,7 +794,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
|
||||
if (temp == NULL || c == ':')
|
||||
{
|
||||
if (opterr)
|
||||
if (print_errors)
|
||||
{
|
||||
if (posixly_correct)
|
||||
/* 1003.2 specifies the format of this message. */
|
||||
@@ -809,7 +828,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
}
|
||||
else if (optind == argc)
|
||||
{
|
||||
if (opterr)
|
||||
if (print_errors)
|
||||
{
|
||||
/* 1003.2 specifies the format of this message. */
|
||||
fprintf (stderr, _("%s: option requires an argument -- %c\n"),
|
||||
@@ -858,7 +877,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
}
|
||||
if (ambig && !exact)
|
||||
{
|
||||
if (opterr)
|
||||
if (print_errors)
|
||||
fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
|
||||
argv[0], argv[optind]);
|
||||
nextchar += strlen (nextchar);
|
||||
@@ -876,7 +895,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
optarg = nameend + 1;
|
||||
else
|
||||
{
|
||||
if (opterr)
|
||||
if (print_errors)
|
||||
fprintf (stderr, _("\
|
||||
%s: option `-W %s' doesn't allow an argument\n"),
|
||||
argv[0], pfound->name);
|
||||
@@ -891,7 +910,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
optarg = argv[optind++];
|
||||
else
|
||||
{
|
||||
if (opterr)
|
||||
if (print_errors)
|
||||
fprintf (stderr,
|
||||
_("%s: option `%s' requires an argument\n"),
|
||||
argv[0], argv[optind - 1]);
|
||||
@@ -938,12 +957,12 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
}
|
||||
else if (optind == argc)
|
||||
{
|
||||
if (opterr)
|
||||
if (print_errors)
|
||||
{
|
||||
/* 1003.2 specifies the format of this message. */
|
||||
fprintf (stderr,
|
||||
_("%s: option requires an argument -- %c\n"),
|
||||
argv[0], c);
|
||||
_("%s: option requires an argument -- %c\n"),
|
||||
argv[0], c);
|
||||
}
|
||||
optopt = c;
|
||||
if (optstring[0] == ':')
|
||||
|
||||
+27
-16
@@ -1,21 +1,21 @@
|
||||
/* Declarations for getopt.
|
||||
Copyright (C) 1989,90,91,92,93,94,96,97,98 Free Software Foundation, Inc.
|
||||
NOTE: The canonical source of this file is maintained with the GNU C Library.
|
||||
Bugs can be reported to [email protected].
|
||||
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.
|
||||
Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser 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. */
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
#ifndef _GETOPT_H
|
||||
|
||||
@@ -23,6 +23,17 @@
|
||||
# define _GETOPT_H 1
|
||||
#endif
|
||||
|
||||
/* If __GNU_LIBRARY__ is not already defined, either we are being used
|
||||
standalone, or this is the first header included in the source file.
|
||||
If we are being used with glibc, we need to include <features.h>, but
|
||||
that does not exist if we are standalone. So: if __GNU_LIBRARY__ is
|
||||
not defined, include <ctype.h>, which will pull in <features.h> for us
|
||||
if it's from glibc. (Why ctype.h? It's guaranteed to exist and it
|
||||
doesn't flood the namespace with stuff the way some other headers do.) */
|
||||
#if !defined __GNU_LIBRARY__
|
||||
# include <ctype.h>
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -82,7 +93,7 @@ extern int optopt;
|
||||
|
||||
struct option
|
||||
{
|
||||
# if defined __STDC__ && __STDC__
|
||||
# if (defined __STDC__ && __STDC__) || defined __cplusplus
|
||||
const char *name;
|
||||
# else
|
||||
char *name;
|
||||
@@ -126,7 +137,7 @@ struct option
|
||||
arguments to the option '\0'. This behavior is specific to the GNU
|
||||
`getopt'. */
|
||||
|
||||
#if defined __STDC__ && __STDC__
|
||||
#if (defined __STDC__ && __STDC__) || defined __cplusplus
|
||||
# ifdef __GNU_LIBRARY__
|
||||
/* Many other libraries have conflicting prototypes for getopt, with
|
||||
differences in the consts, in stdlib.h. To avoid compilation
|
||||
|
||||
+16
-16
@@ -1,26 +1,29 @@
|
||||
/* getopt_long and getopt_long_only entry points for GNU getopt.
|
||||
Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98
|
||||
Free Software Foundation, Inc.
|
||||
NOTE: The canonical source of this file is maintained with the GNU C Library.
|
||||
Bugs can be reported to [email protected].
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
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.
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser 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. */
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#else
|
||||
#endif
|
||||
|
||||
#include "getopt.h"
|
||||
|
||||
#if !defined __STDC__ || !__STDC__
|
||||
/* This is a separate conditional since some stdc systems
|
||||
reject `defined (const)'. */
|
||||
@@ -28,9 +31,6 @@
|
||||
#define const
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "getopt.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
+94
-75
@@ -1,26 +1,25 @@
|
||||
/* obstack.c - subroutines used implicitly by object stack macros
|
||||
Copyright (C) 1988-1994,96,97,98,99,2000 Free Software Foundation, Inc.
|
||||
|
||||
Copyright (C) 1988-1994,96,97,98,99,2000,2001 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however. The master source lives in /gd/gnu/lib.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include "obstack.h"
|
||||
@@ -40,40 +39,43 @@
|
||||
files, it is simpler to just do this in the source for each such file. */
|
||||
|
||||
#include <stdio.h> /* Random thing to get __GNU_LIBRARY__. */
|
||||
#if !defined (_LIBC) && defined (__GNU_LIBRARY__) && __GNU_LIBRARY__ > 1
|
||||
#include <gnu-versions.h>
|
||||
#if _GNU_OBSTACK_INTERFACE_VERSION == OBSTACK_INTERFACE_VERSION
|
||||
#define ELIDE_CODE
|
||||
#endif
|
||||
#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
|
||||
# include <gnu-versions.h>
|
||||
# if _GNU_OBSTACK_INTERFACE_VERSION == OBSTACK_INTERFACE_VERSION
|
||||
# define ELIDE_CODE
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
# include <wchar.h>
|
||||
#endif
|
||||
|
||||
#ifndef ELIDE_CODE
|
||||
|
||||
|
||||
#if defined (__STDC__) && __STDC__
|
||||
#define POINTER void *
|
||||
#else
|
||||
#define POINTER char *
|
||||
#endif
|
||||
# if defined __STDC__ && __STDC__
|
||||
# define POINTER void *
|
||||
# else
|
||||
# define POINTER char *
|
||||
# endif
|
||||
|
||||
/* Determine default alignment. */
|
||||
struct fooalign {char x; double d;};
|
||||
#define DEFAULT_ALIGNMENT \
|
||||
# define DEFAULT_ALIGNMENT \
|
||||
((PTR_INT_TYPE) ((char *) &((struct fooalign *) 0)->d - (char *) 0))
|
||||
/* If malloc were really smart, it would round addresses to DEFAULT_ALIGNMENT.
|
||||
But in fact it might be less smart and round addresses to as much as
|
||||
DEFAULT_ROUNDING. So we prepare for it to do that. */
|
||||
union fooround {long x; double d;};
|
||||
#define DEFAULT_ROUNDING (sizeof (union fooround))
|
||||
# define DEFAULT_ROUNDING (sizeof (union fooround))
|
||||
|
||||
/* When we copy a long block of data, this is the unit to do it with.
|
||||
On some machines, copying successive ints does not work;
|
||||
in such a case, redefine COPYING_UNIT to `long' (if that works)
|
||||
or `char' as a last resort. */
|
||||
#ifndef COPYING_UNIT
|
||||
#define COPYING_UNIT int
|
||||
#endif
|
||||
# ifndef COPYING_UNIT
|
||||
# define COPYING_UNIT int
|
||||
# endif
|
||||
|
||||
|
||||
/* The functions allocating more room by calling `obstack_chunk_alloc'
|
||||
@@ -82,21 +84,21 @@ union fooround {long x; double d;};
|
||||
abort gracefully or use longjump - but shouldn't return. This
|
||||
variable by default points to the internal function
|
||||
`print_and_abort'. */
|
||||
#if defined (__STDC__) && __STDC__
|
||||
# if defined __STDC__ && __STDC__
|
||||
static void print_and_abort (void);
|
||||
void (*obstack_alloc_failed_handler) (void) = print_and_abort;
|
||||
#else
|
||||
# else
|
||||
static void print_and_abort ();
|
||||
void (*obstack_alloc_failed_handler) () = print_and_abort;
|
||||
#endif
|
||||
# endif
|
||||
|
||||
/* Exit value used when `print_and_abort' is used. */
|
||||
#if defined __GNU_LIBRARY__ || defined HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
#ifndef EXIT_FAILURE
|
||||
#define EXIT_FAILURE 1
|
||||
#endif
|
||||
# if defined __GNU_LIBRARY__ || defined HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
# endif
|
||||
# ifndef EXIT_FAILURE
|
||||
# define EXIT_FAILURE 1
|
||||
# endif
|
||||
int obstack_exit_failure = EXIT_FAILURE;
|
||||
|
||||
/* The non-GNU-C macros copy the obstack into this global variable
|
||||
@@ -110,33 +112,33 @@ struct obstack *_obstack;
|
||||
For free, do not use ?:, since some compilers, like the MIPS compilers,
|
||||
do not allow (expr) ? void : void. */
|
||||
|
||||
#if defined (__STDC__) && __STDC__
|
||||
#define CALL_CHUNKFUN(h, size) \
|
||||
# if defined __STDC__ && __STDC__
|
||||
# define CALL_CHUNKFUN(h, size) \
|
||||
(((h) -> use_extra_arg) \
|
||||
? (*(h)->chunkfun) ((h)->extra_arg, (size)) \
|
||||
: (*(struct _obstack_chunk *(*) (long)) (h)->chunkfun) ((size)))
|
||||
|
||||
#define CALL_FREEFUN(h, old_chunk) \
|
||||
# define CALL_FREEFUN(h, old_chunk) \
|
||||
do { \
|
||||
if ((h) -> use_extra_arg) \
|
||||
(*(h)->freefun) ((h)->extra_arg, (old_chunk)); \
|
||||
else \
|
||||
(*(void (*) (void *)) (h)->freefun) ((old_chunk)); \
|
||||
} while (0)
|
||||
#else
|
||||
#define CALL_CHUNKFUN(h, size) \
|
||||
# else
|
||||
# define CALL_CHUNKFUN(h, size) \
|
||||
(((h) -> use_extra_arg) \
|
||||
? (*(h)->chunkfun) ((h)->extra_arg, (size)) \
|
||||
: (*(struct _obstack_chunk *(*) ()) (h)->chunkfun) ((size)))
|
||||
|
||||
#define CALL_FREEFUN(h, old_chunk) \
|
||||
# define CALL_FREEFUN(h, old_chunk) \
|
||||
do { \
|
||||
if ((h) -> use_extra_arg) \
|
||||
(*(h)->freefun) ((h)->extra_arg, (old_chunk)); \
|
||||
else \
|
||||
(*(void (*) ()) (h)->freefun) ((old_chunk)); \
|
||||
} while (0)
|
||||
#endif
|
||||
# endif
|
||||
|
||||
|
||||
/* Initialize an obstack H for use. Specify chunk size SIZE (0 means default).
|
||||
@@ -152,13 +154,13 @@ _obstack_begin (h, size, alignment, chunkfun, freefun)
|
||||
struct obstack *h;
|
||||
int size;
|
||||
int alignment;
|
||||
#if defined (__STDC__) && __STDC__
|
||||
# if defined __STDC__ && __STDC__
|
||||
POINTER (*chunkfun) (long);
|
||||
void (*freefun) (void *);
|
||||
#else
|
||||
# else
|
||||
POINTER (*chunkfun) ();
|
||||
void (*freefun) ();
|
||||
#endif
|
||||
# endif
|
||||
{
|
||||
register struct _obstack_chunk *chunk; /* points to new chunk */
|
||||
|
||||
@@ -181,13 +183,13 @@ _obstack_begin (h, size, alignment, chunkfun, freefun)
|
||||
size = 4096 - extra;
|
||||
}
|
||||
|
||||
#if defined (__STDC__) && __STDC__
|
||||
# if defined __STDC__ && __STDC__
|
||||
h->chunkfun = (struct _obstack_chunk * (*)(void *, long)) chunkfun;
|
||||
h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun;
|
||||
#else
|
||||
# else
|
||||
h->chunkfun = (struct _obstack_chunk * (*)()) chunkfun;
|
||||
h->freefun = freefun;
|
||||
#endif
|
||||
# endif
|
||||
h->chunk_size = size;
|
||||
h->alignment_mask = alignment - 1;
|
||||
h->use_extra_arg = 0;
|
||||
@@ -210,13 +212,13 @@ _obstack_begin_1 (h, size, alignment, chunkfun, freefun, arg)
|
||||
struct obstack *h;
|
||||
int size;
|
||||
int alignment;
|
||||
#if defined (__STDC__) && __STDC__
|
||||
# if defined __STDC__ && __STDC__
|
||||
POINTER (*chunkfun) (POINTER, long);
|
||||
void (*freefun) (POINTER, POINTER);
|
||||
#else
|
||||
# else
|
||||
POINTER (*chunkfun) ();
|
||||
void (*freefun) ();
|
||||
#endif
|
||||
# endif
|
||||
POINTER arg;
|
||||
{
|
||||
register struct _obstack_chunk *chunk; /* points to new chunk */
|
||||
@@ -240,13 +242,13 @@ _obstack_begin_1 (h, size, alignment, chunkfun, freefun, arg)
|
||||
size = 4096 - extra;
|
||||
}
|
||||
|
||||
#if defined(__STDC__) && __STDC__
|
||||
# if defined __STDC__ && __STDC__
|
||||
h->chunkfun = (struct _obstack_chunk * (*)(void *,long)) chunkfun;
|
||||
h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun;
|
||||
#else
|
||||
# else
|
||||
h->chunkfun = (struct _obstack_chunk * (*)()) chunkfun;
|
||||
h->freefun = freefun;
|
||||
#endif
|
||||
# endif
|
||||
h->chunk_size = size;
|
||||
h->alignment_mask = alignment - 1;
|
||||
h->extra_arg = arg;
|
||||
@@ -341,11 +343,11 @@ _obstack_newchunk (h, length)
|
||||
This is here for debugging.
|
||||
If you use it in a program, you are probably losing. */
|
||||
|
||||
#if defined (__STDC__) && __STDC__
|
||||
# if defined __STDC__ && __STDC__
|
||||
/* Suppress -Wmissing-prototypes warning. We don't want to declare this in
|
||||
obstack.h because it is just for debugging. */
|
||||
int _obstack_allocated_p (struct obstack *h, POINTER obj);
|
||||
#endif
|
||||
# endif
|
||||
|
||||
int
|
||||
_obstack_allocated_p (h, obj)
|
||||
@@ -370,7 +372,7 @@ _obstack_allocated_p (h, obj)
|
||||
/* Free objects in obstack H, including OBJ and everything allocate
|
||||
more recently than OBJ. If OBJ is zero, free everything in H. */
|
||||
|
||||
#undef obstack_free
|
||||
# undef obstack_free
|
||||
|
||||
/* This function has two names with identical definitions.
|
||||
This is the first one, called from non-ANSI code. */
|
||||
@@ -456,37 +458,54 @@ _obstack_memory_used (h)
|
||||
}
|
||||
|
||||
/* Define the error handler. */
|
||||
#ifndef _
|
||||
# if defined HAVE_LIBINTL_H || defined _LIBC
|
||||
# include <libintl.h>
|
||||
# ifndef _
|
||||
# define _(Str) gettext (Str)
|
||||
# ifndef _
|
||||
# if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC
|
||||
# include <libintl.h>
|
||||
# ifndef _
|
||||
# define _(Str) gettext (Str)
|
||||
# endif
|
||||
# else
|
||||
# define _(Str) (Str)
|
||||
# endif
|
||||
# endif
|
||||
# if defined _LIBC && defined USE_IN_LIBIO
|
||||
# include <libio/iolibio.h>
|
||||
# define fputs(s, f) _IO_fputs (s, f)
|
||||
# endif
|
||||
|
||||
# ifndef __attribute__
|
||||
/* This feature is available in gcc versions 2.5 and later. */
|
||||
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
|
||||
# define __attribute__(Spec) /* empty */
|
||||
# endif
|
||||
# else
|
||||
# define _(Str) (Str)
|
||||
# endif
|
||||
#endif
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
# include <libio/iolibio.h>
|
||||
# define fputs(s, f) _IO_fputs (s, f)
|
||||
#endif
|
||||
|
||||
static void
|
||||
__attribute__ ((noreturn))
|
||||
print_and_abort ()
|
||||
{
|
||||
fputs (_("memory exhausted"), stderr);
|
||||
fputc ('\n', stderr);
|
||||
/* Don't change any of these strings. Yes, it would be possible to add
|
||||
the newline to the string and use fputs or so. But this must not
|
||||
happen because the "memory exhausted" message appears in other places
|
||||
like this and the translation should be reused instead of creating
|
||||
a very similar string which requires a separate translation. */
|
||||
# if defined _LIBC && defined USE_IN_LIBIO
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
__fwprintf (stderr, L"%s\n", _("memory exhausted"));
|
||||
else
|
||||
# endif
|
||||
fprintf (stderr, "%s\n", _("memory exhausted"));
|
||||
exit (obstack_exit_failure);
|
||||
}
|
||||
|
||||
#if 0
|
||||
# if 0
|
||||
/* These are now turned off because the applications do not use it
|
||||
and it uses bcopy via obstack_grow, which causes trouble on sysV. */
|
||||
|
||||
/* Now define the functional versions of the obstack macros.
|
||||
Define them to simply use the corresponding macros to do the job. */
|
||||
|
||||
#if defined (__STDC__) && __STDC__
|
||||
# if defined __STDC__ && __STDC__
|
||||
/* These function definitions do not work with non-ANSI preprocessors;
|
||||
they won't pass through the macro names in parentheses. */
|
||||
|
||||
@@ -597,8 +616,8 @@ POINTER (obstack_copy0) (obstack, address, length)
|
||||
return obstack_copy0 (obstack, address, length);
|
||||
}
|
||||
|
||||
#endif /* __STDC__ */
|
||||
# endif /* __STDC__ */
|
||||
|
||||
#endif /* 0 */
|
||||
# endif /* 0 */
|
||||
|
||||
#endif /* !ELIDE_CODE */
|
||||
|
||||
+11
-8
@@ -4,20 +4,23 @@
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however. The master source lives in /gd/gnu/lib.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
NOTE: The canonical source of this file is maintained with the GNU C Library.
|
||||
Bugs can be reported to [email protected].
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
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
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
/* Summary:
|
||||
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_STDDEF_H
|
||||
# include <stddef.h> /* For the definition of size_t on windows w/MSVC. */
|
||||
#endif
|
||||
#include <sys/types.h>
|
||||
#include <quotearg.h>
|
||||
#include <quote.h>
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
/* Find the length of STRING, but scan at most MAXLEN characters.
|
||||
Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
|
||||
Copyright (C) 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@@ -51,7 +51,7 @@ size_t
|
||||
__strnlen (const char *string, size_t maxlen)
|
||||
{
|
||||
const char *end = memchr (string, '\0', maxlen);
|
||||
return end ? end - string : maxlen;
|
||||
return end ? (size_t) (end - string) : maxlen;
|
||||
}
|
||||
#ifdef weak_alias
|
||||
weak_alias (__strnlen, strnlen)
|
||||
|
||||
+2
-2
@@ -47,11 +47,11 @@ void free ();
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DONE_WORKING_MALLOC_CHECK
|
||||
you must run the autoconf test for a properly working malloc -- see malloc.m4
|
||||
"you must run the autoconf test for a properly working malloc -- see malloc.m4"
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DONE_WORKING_REALLOC_CHECK
|
||||
you must run the autoconf test for a properly working realloc -- see realloc.m4
|
||||
"you must run the autoconf test for a properly working realloc --see realloc.m4"
|
||||
#endif
|
||||
|
||||
/* Exit value when the requested amount of memory is not available.
|
||||
|
||||
@@ -9,7 +9,6 @@ glibc21.m4 \
|
||||
iconv.m4 \
|
||||
isc-posix.m4 \
|
||||
lcmessage.m4 \
|
||||
m4.m4 \
|
||||
malloc.m4 \
|
||||
mbrtowc.m4 \
|
||||
mbstate_t.m4 \
|
||||
|
||||
+6
-7
@@ -1,4 +1,5 @@
|
||||
# Makefile.in generated automatically by automake 1.5a from Makefile.am.
|
||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
@@ -63,6 +64,7 @@ EXEEXT = @EXEEXT@
|
||||
OBJEXT = @OBJEXT@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOM4TE = @AUTOM4TE@
|
||||
AWK = @AWK@
|
||||
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
|
||||
CATALOGS = @CATALOGS@
|
||||
@@ -71,6 +73,7 @@ CC = @CC@
|
||||
CPP = @CPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
GCC = @GCC@
|
||||
GENCAT = @GENCAT@
|
||||
GLIBC21 = @GLIBC21@
|
||||
GMOFILES = @GMOFILES@
|
||||
@@ -81,9 +84,8 @@ INTLBISON = @INTLBISON@
|
||||
INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||
LIB = @LIB@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
M4 = @M4@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
MSGFMT = @MSGFMT@
|
||||
PACKAGE = @PACKAGE@
|
||||
@@ -109,7 +111,6 @@ glibc21.m4 \
|
||||
iconv.m4 \
|
||||
isc-posix.m4 \
|
||||
lcmessage.m4 \
|
||||
m4.m4 \
|
||||
malloc.m4 \
|
||||
mbrtowc.m4 \
|
||||
mbstate_t.m4 \
|
||||
@@ -132,9 +133,7 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu m4/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && \
|
||||
CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
uninstall-info-am:
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
#serial 3
|
||||
#serial 4
|
||||
|
||||
dnl From Paul Eggert.
|
||||
|
||||
AC_DEFUN(AC_C_BACKSLASH_A,
|
||||
AC_DEFUN([AC_C_BACKSLASH_A],
|
||||
[
|
||||
AC_CACHE_CHECK([whether backslash-a works in strings], ac_cv_c_backslash_a,
|
||||
[AC_TRY_COMPILE([],
|
||||
|
||||
+5
-4
@@ -1,12 +1,13 @@
|
||||
#serial 1
|
||||
#serial 4
|
||||
|
||||
dnl FIXME: put these prerequisite-only *.m4 files in a separate
|
||||
dnl directory -- otherwise, they'll conflict with existing files.
|
||||
|
||||
dnl These are the prerequisite macros for GNU's error.c file.
|
||||
AC_DEFUN(jm_PREREQ_ERROR,
|
||||
AC_DEFUN([jm_PREREQ_ERROR],
|
||||
[
|
||||
AC_CHECK_FUNCS(strerror strerror_r vprintf doprnt)
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_FUNCS(strerror vprintf doprnt)
|
||||
AC_CHECK_DECLS([strerror])
|
||||
AC_FUNC_STRERROR_R
|
||||
AC_HEADER_STDC
|
||||
])
|
||||
|
||||
+7
-5
@@ -3,10 +3,12 @@
|
||||
#
|
||||
# This file can be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU General Public
|
||||
# License but which still want to provide support for the GNU gettext
|
||||
# functionality.
|
||||
# Please note that the actual code of GNU gettext is covered by the GNU
|
||||
# General Public License and is *not* in the public domain.
|
||||
# License or the GNU Library General Public License but which still want
|
||||
# to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code of the GNU gettext library is covered
|
||||
# by the GNU Library General Public License, and the rest of the GNU
|
||||
# gettext package package is covered by the GNU General Public License.
|
||||
# They are *not* in the public domain.
|
||||
|
||||
# serial 10
|
||||
|
||||
@@ -241,7 +243,7 @@ return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", ""
|
||||
dnl Found it, now check the version.
|
||||
AC_MSG_CHECKING([version of bison])
|
||||
changequote(<<,>>)dnl
|
||||
ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison .* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
|
||||
|
||||
+6
-4
@@ -3,10 +3,12 @@
|
||||
#
|
||||
# This file can be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU General Public
|
||||
# License but which still want to provide support for the GNU gettext
|
||||
# functionality.
|
||||
# Please note that the actual code of GNU gettext is covered by the GNU
|
||||
# General Public License and is *not* in the public domain.
|
||||
# License or the GNU Library General Public License but which still want
|
||||
# to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code of the GNU gettext library is covered
|
||||
# by the GNU Library General Public License, and the rest of the GNU
|
||||
# gettext package package is covered by the GNU General Public License.
|
||||
# They are *not* in the public domain.
|
||||
|
||||
# serial 2
|
||||
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
# serial 1 -*- Autoconf -*-
|
||||
|
||||
# BISON_AC_PROG_GNU_M4
|
||||
# --------------------
|
||||
# Check for GNU m4, at least 1.3 (supports frozen files).
|
||||
AC_DEFUN([BISON_AC_PROG_GNU_M4],
|
||||
[AC_PATH_PROGS(M4, gm4 gnum4 m4, m4)
|
||||
AC_CACHE_CHECK([whether m4 supports frozen files],
|
||||
[ac_cv_prog_gnu_m4],
|
||||
[ac_cv_prog_gnu_m4=no
|
||||
if test x"$M4" != x; then
|
||||
case `$M4 --help < /dev/null 2>&1` in
|
||||
*reload-state*) ac_cv_prog_gnu_m4=yes ;;
|
||||
esac
|
||||
fi])
|
||||
])# BISON_AC_PROG_GNU_M4
|
||||
+6
-7
@@ -1,16 +1,16 @@
|
||||
#serial 3
|
||||
#serial 5
|
||||
|
||||
dnl From Jim Meyering.
|
||||
dnl Determine whether malloc accepts 0 as its argument.
|
||||
dnl If it doesn't, arrange to use the replacement function.
|
||||
dnl
|
||||
|
||||
AC_DEFUN(jm_FUNC_MALLOC,
|
||||
AC_DEFUN([jm_FUNC_MALLOC],
|
||||
[
|
||||
dnl xmalloc.c requires that this symbol be defined so it doesn't
|
||||
dnl mistakenly use a broken malloc -- as it might if this test were omitted.
|
||||
AC_DEFINE_UNQUOTED(HAVE_DONE_WORKING_MALLOC_CHECK, 1,
|
||||
[Define if the malloc check has been performed. ])
|
||||
AC_DEFINE(HAVE_DONE_WORKING_MALLOC_CHECK, 1,
|
||||
[Define if the malloc check has been performed. ])
|
||||
|
||||
AC_CACHE_CHECK([for working malloc], jm_cv_func_working_malloc,
|
||||
[AC_TRY_RUN([
|
||||
@@ -27,9 +27,8 @@ AC_DEFUN(jm_FUNC_MALLOC,
|
||||
jm_cv_func_working_malloc=no)
|
||||
])
|
||||
if test $jm_cv_func_working_malloc = no; then
|
||||
AC_SUBST(LIBOBJS)
|
||||
LIBOBJS="$LIBOBJS malloc.$ac_objext"
|
||||
AC_DEFINE_UNQUOTED(malloc, rpl_malloc,
|
||||
AC_LIBOBJ(malloc)
|
||||
AC_DEFINE(malloc, rpl_malloc,
|
||||
[Define to rpl_malloc if the replacement function should be used.])
|
||||
fi
|
||||
])
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
# serial 8
|
||||
# serial 9
|
||||
|
||||
# From Paul Eggert.
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
# (at least glibc-2.1.3) because the "_XOPEN_SOURCE 500" definition elicits
|
||||
# a syntax error in wchar.h due to the use of undefined __int32_t.
|
||||
|
||||
AC_DEFUN(AC_MBSTATE_T,
|
||||
AC_DEFUN([AC_MBSTATE_T],
|
||||
[
|
||||
AC_CHECK_HEADERS(stdlib.h)
|
||||
|
||||
|
||||
+6
-4
@@ -3,10 +3,12 @@
|
||||
#
|
||||
# This file can be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU General Public
|
||||
# License but which still want to provide support for the GNU gettext
|
||||
# functionality.
|
||||
# Please note that the actual code of GNU gettext is covered by the GNU
|
||||
# General Public License and is *not* in the public domain.
|
||||
# License or the GNU Library General Public License but which still want
|
||||
# to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code of the GNU gettext library is covered
|
||||
# by the GNU Library General Public License, and the rest of the GNU
|
||||
# gettext package package is covered by the GNU General Public License.
|
||||
# They are *not* in the public domain.
|
||||
|
||||
# serial 2
|
||||
|
||||
|
||||
+6
-7
@@ -1,16 +1,16 @@
|
||||
#serial 3
|
||||
#serial 5
|
||||
|
||||
dnl From Jim Meyering.
|
||||
dnl Determine whether realloc works when both arguments are 0.
|
||||
dnl If it doesn't, arrange to use the replacement function.
|
||||
dnl
|
||||
|
||||
AC_DEFUN(jm_FUNC_REALLOC,
|
||||
AC_DEFUN([jm_FUNC_REALLOC],
|
||||
[
|
||||
dnl xmalloc.c requires that this symbol be defined so it doesn't
|
||||
dnl mistakenly use a broken realloc -- as it might if this test were omitted.
|
||||
AC_DEFINE_UNQUOTED(HAVE_DONE_WORKING_REALLOC_CHECK, 1,
|
||||
[Define if the realloc check has been performed. ])
|
||||
AC_DEFINE(HAVE_DONE_WORKING_REALLOC_CHECK, 1,
|
||||
[Define if the realloc check has been performed. ])
|
||||
|
||||
AC_CACHE_CHECK([for working realloc], jm_cv_func_working_realloc,
|
||||
[AC_TRY_RUN([
|
||||
@@ -27,9 +27,8 @@ AC_DEFUN(jm_FUNC_REALLOC,
|
||||
jm_cv_func_working_realloc=no)
|
||||
])
|
||||
if test $jm_cv_func_working_realloc = no; then
|
||||
AC_SUBST(LIBOBJS)
|
||||
LIBOBJS="$LIBOBJS realloc.$ac_objext"
|
||||
AC_DEFINE_UNQUOTED(realloc, rpl_realloc,
|
||||
AC_LIBOBJ(realloc)
|
||||
AC_DEFINE(realloc, rpl_realloc,
|
||||
[Define to rpl_realloc if the replacement function should be used.])
|
||||
fi
|
||||
])
|
||||
|
||||
+38
-45
@@ -1,9 +1,23 @@
|
||||
#serial 1002
|
||||
#serial 1003
|
||||
# Experimental replacement for the function in the latest CVS autoconf.
|
||||
# If the compile-test says strerror_r doesn't work, then resort to a
|
||||
# `run'-test that works on BeOS and segfaults on DEC Unix.
|
||||
# Use with the error.c file in ../lib.
|
||||
|
||||
# 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. */
|
||||
|
||||
undefine([AC_FUNC_STRERROR_R])
|
||||
|
||||
# AC_FUNC_STRERROR_R
|
||||
@@ -11,56 +25,35 @@ undefine([AC_FUNC_STRERROR_R])
|
||||
AC_DEFUN([AC_FUNC_STRERROR_R],
|
||||
[AC_CHECK_DECLS([strerror_r])
|
||||
AC_CHECK_FUNCS([strerror_r])
|
||||
if test $ac_cv_func_strerror_r = yes; then
|
||||
AC_CHECK_HEADERS(string.h)
|
||||
AC_CACHE_CHECK([for working strerror_r],
|
||||
ac_cv_func_strerror_r_works,
|
||||
AC_CACHE_CHECK([whether strerror_r returns char *],
|
||||
ac_cv_func_strerror_r_char_p,
|
||||
[
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
# include <stdio.h>
|
||||
# if HAVE_STRING_H
|
||||
# include <string.h>
|
||||
# endif
|
||||
],
|
||||
[
|
||||
char buf[100];
|
||||
char x = *strerror_r (0, buf, sizeof buf);
|
||||
],
|
||||
ac_cv_func_strerror_r_works=yes,
|
||||
ac_cv_func_strerror_r_works=no
|
||||
)
|
||||
if test $ac_cv_func_strerror_r_works = no; then
|
||||
# strerror_r seems not to work, but now we have to choose between
|
||||
ac_cv_func_strerror_r_char_p=no
|
||||
if test $ac_cv_have_decl_strerror_r = yes; then
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
|
||||
[[
|
||||
char buf[100];
|
||||
char x = *strerror_r (0, buf, sizeof buf);
|
||||
char *p = strerror_r (0, buf, sizeof buf);
|
||||
]])],
|
||||
ac_cv_func_strerror_r_char_p=yes)
|
||||
else
|
||||
# strerror_r is not declared. Choose between
|
||||
# systems that have relatively inaccessible declarations for the
|
||||
# function. BeOS and DEC UNIX 4.0 fall in this category, but the
|
||||
# former has a strerror_r that returns char*, while the latter
|
||||
# has a strerror_r that returns `int'.
|
||||
# This test should segfault on the DEC system.
|
||||
AC_TRY_RUN(
|
||||
[
|
||||
# include <stdio.h>
|
||||
# include <string.h>
|
||||
# include <ctype.h>
|
||||
|
||||
extern char *strerror_r ();
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
char buf[100];
|
||||
AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT
|
||||
extern char *strerror_r ();],
|
||||
[[char buf[100];
|
||||
char x = *strerror_r (0, buf, sizeof buf);
|
||||
exit (!isalpha (x));
|
||||
}
|
||||
],
|
||||
ac_cv_func_strerror_r_works=yes,
|
||||
ac_cv_func_strerror_r_works=no,
|
||||
ac_cv_func_strerror_r_works=no)
|
||||
exit (!isalpha (x));]])],
|
||||
ac_cv_func_strerror_r_char_p=yes, , :)
|
||||
fi
|
||||
])
|
||||
if test $ac_cv_func_strerror_r_works = yes; then
|
||||
AC_DEFINE_UNQUOTED(HAVE_WORKING_STRERROR_R, 1,
|
||||
[Define to 1 if `strerror_r' returns a string.])
|
||||
fi
|
||||
if test $ac_cv_func_strerror_r_char_p = yes; then
|
||||
AC_DEFINE([STRERROR_R_CHAR_P], 1,
|
||||
[Define to 1 if strerror_r returns char *.])
|
||||
fi
|
||||
])# AC_FUNC_STRERROR_R
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
2001-11-02 gettextize <[email protected]>
|
||||
|
||||
* Makefile.in.in: Upgrade to gettext-0.10.40.
|
||||
|
||||
2001-11-02 gettextize <[email protected]>
|
||||
|
||||
* Makefile.in.in: Upgrade to gettext-0.10.40.
|
||||
|
||||
2001-11-02 gettextize <[email protected]>
|
||||
|
||||
* Makefile.in.in: Upgrade to gettext-0.10.40.
|
||||
|
||||
2001-10-10 gettextize <[email protected]>
|
||||
|
||||
* Makefile.in.in: Upgrade to gettext-0.10.40.
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bison 1.25\n"
|
||||
"POT-Creation-Date: 2001-10-02 18:30+0200\n"
|
||||
"POT-Creation-Date: 2001-11-14 15:59+0100\n"
|
||||
"PO-Revision-Date: 1996-10-10 17:54 MET DST\n"
|
||||
"Last-Translator: Ulrich Drepper <[email protected]>\n"
|
||||
"Language-Team: German <[email protected]>\n"
|
||||
@@ -18,7 +18,7 @@ msgstr ""
|
||||
msgid "too many states (max %d)"
|
||||
msgstr ""
|
||||
|
||||
#: lib/error.c:117 src/complain.c:96
|
||||
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
|
||||
msgid "Unknown system error"
|
||||
msgstr ""
|
||||
|
||||
@@ -31,77 +31,78 @@ msgstr ""
|
||||
msgid "fatal error: "
|
||||
msgstr "fataler Fehler: %s\n"
|
||||
|
||||
#: src/conflicts.c:48
|
||||
#: src/conflicts.c:45
|
||||
#, c-format
|
||||
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"
|
||||
|
||||
#: src/conflicts.c:114 src/conflicts.c:137
|
||||
#: src/conflicts.c:111 src/conflicts.c:134
|
||||
msgid "reduce"
|
||||
msgstr "durch Reduzierung gelöst"
|
||||
|
||||
#: src/conflicts.c:120 src/conflicts.c:133
|
||||
#: src/conflicts.c:117 src/conflicts.c:130
|
||||
msgid "shift"
|
||||
msgstr "durch Schieben gelöst"
|
||||
|
||||
#: src/conflicts.c:141
|
||||
#: src/conflicts.c:138
|
||||
msgid "an error"
|
||||
msgstr "als Fehler betrachtet"
|
||||
|
||||
#: src/conflicts.c:421
|
||||
msgid " 1 shift/reduce conflict"
|
||||
msgstr " 1 Schiebe/Reduziere Konflikt"
|
||||
#: src/conflicts.c:411
|
||||
#, fuzzy, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] " %d Schiebe/Reduziere Konflikte"
|
||||
|
||||
#: src/conflicts.c:426
|
||||
#, c-format
|
||||
msgid " %d shift/reduce conflicts"
|
||||
msgstr " %d Schiebe/Reduziere Konflikte"
|
||||
|
||||
#: src/conflicts.c:432
|
||||
msgid " and"
|
||||
#: src/conflicts.c:418
|
||||
#, fuzzy
|
||||
msgid "and"
|
||||
msgstr " und"
|
||||
|
||||
#: src/conflicts.c:438
|
||||
msgid " 1 reduce/reduce conflict"
|
||||
msgstr " 1 Reduziere/Reduziere Konflikt"
|
||||
#: src/conflicts.c:424
|
||||
#, fuzzy, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] " %d Reduziere/Reduziere Konflikte"
|
||||
|
||||
#: src/conflicts.c:443
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce conflicts"
|
||||
msgstr " %d Reduziere/Reduziere Konflikte"
|
||||
|
||||
#: src/conflicts.c:480
|
||||
#, c-format
|
||||
msgid "State %d contains"
|
||||
#: src/conflicts.c:448
|
||||
#, fuzzy, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "Zustand %d enthält"
|
||||
|
||||
#. If invoked with `--yacc', use the output format specified by
|
||||
#. POSIX.
|
||||
#: src/conflicts.c:491
|
||||
#: src/conflicts.c:482
|
||||
msgid "conflicts: "
|
||||
msgstr "Konflikte: "
|
||||
|
||||
#: src/conflicts.c:493
|
||||
#: src/conflicts.c:484
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
msgstr " %d Schiebe/Reduziere"
|
||||
|
||||
#: src/conflicts.c:497
|
||||
#: src/conflicts.c:488
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
msgstr " %d Reduziere/Reduziere"
|
||||
|
||||
#: src/conflicts.c:502
|
||||
#: src/conflicts.c:493 src/reduce.c:497
|
||||
#, c-format
|
||||
msgid "%s contains"
|
||||
msgstr "%s enthält"
|
||||
msgid "%s contains "
|
||||
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
|
||||
msgid " %-4s\t[reduce using rule %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
|
||||
msgid ""
|
||||
" $default\treduce using rule %d (%s)\n"
|
||||
@@ -115,7 +116,7 @@ msgstr ""
|
||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||
msgstr " %-4s\treduziere mit Tegel %d (%s)\n"
|
||||
|
||||
#: src/conflicts.c:730
|
||||
#: src/conflicts.c:729
|
||||
#, c-format
|
||||
msgid " $default\treduce using rule %d (%s)\n"
|
||||
msgstr " $default\treduziere mit Regel %d (%s)\n"
|
||||
@@ -129,33 +130,33 @@ msgstr ""
|
||||
msgid "%s derives"
|
||||
msgstr "%s leitet ab"
|
||||
|
||||
#: src/files.c:133
|
||||
#: src/files.c:143
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: src/files.c:152
|
||||
#: src/files.c:162
|
||||
msgid "cannot close file"
|
||||
msgstr ""
|
||||
|
||||
#. Some efforts were made to ease the translators' task, please
|
||||
#. continue.
|
||||
#: src/getargs.c:83
|
||||
#: src/getargs.c:84
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:87
|
||||
#: src/getargs.c:88
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:91
|
||||
#: src/getargs.c:92
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:97
|
||||
#: src/getargs.c:98
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
@@ -163,7 +164,7 @@ msgid ""
|
||||
" -y, --yacc emulate POSIX yacc\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:104
|
||||
#: src/getargs.c:105
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
@@ -175,55 +176,55 @@ msgid ""
|
||||
" -k, --token-table include a table of token names\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:116
|
||||
#: src/getargs.c:117
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
" -d, --defines also produce a header file\n"
|
||||
" -v, --verbose also produce an explanation of the automaton\n"
|
||||
" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
|
||||
" -o, --output-file=FILE leave output to FILE\n"
|
||||
" -g, --graph also produce a VCG graph description of the "
|
||||
" -o, --output=FILE leave output to FILE\n"
|
||||
" -g, --graph also produce a VCG description of the "
|
||||
"automaton\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:126
|
||||
#: src/getargs.c:127
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr ""
|
||||
|
||||
#. Some efforts were made to ease the translators' task, please
|
||||
#. continue.
|
||||
#: src/getargs.c:140
|
||||
#: src/getargs.c:141
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:145
|
||||
#: src/getargs.c:146
|
||||
msgid ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:149
|
||||
#: src/getargs.c:150
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:214 src/lex.c:650
|
||||
#: src/getargs.c:215 src/lex.c:694
|
||||
#, c-format
|
||||
msgid "`%s' is no longer supported"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:238
|
||||
#: src/getargs.c:239
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:245
|
||||
#: src/getargs.c:246
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: keine Grammatik-Datei angegeben\n"
|
||||
|
||||
#: src/getargs.c:249
|
||||
#: src/getargs.c:250
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: zusätzliche Argumente nach »%s« werden ignoriert\n"
|
||||
@@ -233,52 +234,62 @@ msgstr "%s: zus
|
||||
msgid "too many gotos (max %d)"
|
||||
msgstr ""
|
||||
|
||||
#: src/lex.c:78
|
||||
#: src/lex.c:76
|
||||
msgid "unexpected `/' found and ignored"
|
||||
msgstr "»/« wird hier nicht erwartet und wird deshalb ignoriert"
|
||||
|
||||
#: src/lex.c:107 src/reader.c:269
|
||||
#: src/lex.c:105 src/reader.c:269
|
||||
msgid "unterminated comment"
|
||||
msgstr "unbeendeter Kommentar"
|
||||
|
||||
#: src/lex.c:139
|
||||
#: src/lex.c:137
|
||||
#, fuzzy
|
||||
msgid "unexpected end of file"
|
||||
msgstr "Datei endet unerwartet"
|
||||
|
||||
# Oder soll man den Begriff "Escapezeichen" verwenden?
|
||||
#: src/lex.c:168
|
||||
#: src/lex.c:166
|
||||
msgid "unescaped newline in constant"
|
||||
msgstr "nicht maskiertes Zeilenendezeichen in Konstante"
|
||||
|
||||
#: src/lex.c:210
|
||||
#: src/lex.c:208
|
||||
#, c-format
|
||||
msgid "octal value outside range 0...255: `\\%o'"
|
||||
msgstr "oktaler Zahlenwert außerhalb des Bereichs 0...255: »\\%o«"
|
||||
|
||||
#: src/lex.c:235
|
||||
#: src/lex.c:233
|
||||
#, c-format
|
||||
msgid "hexadecimal value above 255: `\\x%x'"
|
||||
msgstr "hexadezimaler Zahlenwert größer als 255: »\\x%x«"
|
||||
|
||||
#: src/lex.c:247
|
||||
#: src/lex.c:245
|
||||
#, c-format
|
||||
msgid "unknown escape sequence: `\\' followed by `%s'"
|
||||
msgstr "unbekanntes Fluchtzeichen: »\\« gefolgt von »%s«"
|
||||
|
||||
#: src/lex.c:343
|
||||
#: src/lex.c:342
|
||||
msgid "unterminated type name at end of file"
|
||||
msgstr "unerwarteter Typname am Ende der Datei"
|
||||
|
||||
#: src/lex.c:346
|
||||
#: src/lex.c:345
|
||||
msgid "unterminated type name"
|
||||
msgstr "unerwarteter Typname"
|
||||
|
||||
#: src/lex.c:437
|
||||
#: src/lex.c:438
|
||||
msgid "use \"...\" for multi-character literal tokens"
|
||||
msgstr "für Literal mit mehreren Zeichen bitte \"...\" verwenden"
|
||||
|
||||
#: src/main.c:125
|
||||
#: src/lex.c:667
|
||||
#, c-format
|
||||
msgid "`%s' supports no argument: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/lex.c:683
|
||||
#, fuzzy, c-format
|
||||
msgid "`%s' requires an argument"
|
||||
msgstr "%s: die Option »%s« erfordert ein Argument\n"
|
||||
|
||||
#: src/main.c:128
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: internal error: %s\n"
|
||||
msgstr "interner Fehler, %s\n"
|
||||
@@ -292,45 +303,45 @@ msgstr "F
|
||||
msgid "maximum table size (%d) exceeded"
|
||||
msgstr "maximale Tabellengröße (%s) überschritten"
|
||||
|
||||
#: src/print.c:37
|
||||
#: src/print.c:38
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " Typ %d ist %s\n"
|
||||
|
||||
#: src/print.c:85
|
||||
#: src/print.c:86
|
||||
#, c-format
|
||||
msgid " (rule %d)"
|
||||
msgstr " (Regel %d)"
|
||||
|
||||
#: src/print.c:111
|
||||
#: src/print.c:112
|
||||
msgid " $default\taccept\n"
|
||||
msgstr " $default\takzeptiere\n"
|
||||
|
||||
#: src/print.c:113
|
||||
#: src/print.c:114
|
||||
msgid " NO ACTIONS\n"
|
||||
msgstr " KEINE AKTIONEN\n"
|
||||
|
||||
#: src/print.c:132
|
||||
#: src/print.c:133
|
||||
#, c-format
|
||||
msgid " $ \tgo to state %d\n"
|
||||
msgstr " $ \tgehe zu Zustand %d über\n"
|
||||
|
||||
#: src/print.c:135
|
||||
#: src/print.c:136
|
||||
#, c-format
|
||||
msgid " %-4s\tshift, and go to state %d\n"
|
||||
msgstr " %-4s\tSchiebe und gehe zu Zustand %d über\n"
|
||||
|
||||
#: src/print.c:159
|
||||
#: src/print.c:160
|
||||
#, c-format
|
||||
msgid " %-4s\terror (nonassociative)\n"
|
||||
msgstr " %-4s\tFehler (nicht assoziativ)\n"
|
||||
|
||||
#: src/print.c:187
|
||||
#: src/print.c:188
|
||||
#, c-format
|
||||
msgid " %-4s\tgo to state %d\n"
|
||||
msgstr " %-4s\tgehe zu Zustand %d über\n"
|
||||
|
||||
#: src/print.c:199
|
||||
#: src/print.c:200
|
||||
#, fuzzy, c-format
|
||||
msgid "state %d"
|
||||
msgstr ""
|
||||
@@ -340,24 +351,24 @@ msgstr ""
|
||||
"\n"
|
||||
|
||||
#. rule # : LHS -> RHS
|
||||
#: src/print.c:229
|
||||
#: src/print.c:230
|
||||
#, fuzzy
|
||||
msgid "Grammar"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Grammatik\n"
|
||||
|
||||
#: src/print.c:234
|
||||
#: src/print.c:235
|
||||
#, c-format
|
||||
msgid "rule %-4d %s ->"
|
||||
msgstr "Regel %-4d %s ->"
|
||||
|
||||
#: src/print.c:240
|
||||
#: src/print.c:241
|
||||
msgid "empty"
|
||||
msgstr ""
|
||||
|
||||
#. TERMINAL (type #) : rule #s terminal is on RHS
|
||||
#: src/print.c:244
|
||||
#: src/print.c:246
|
||||
#, fuzzy
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr ""
|
||||
@@ -365,7 +376,7 @@ msgstr ""
|
||||
"Terminale und die Regeln un denen sie verwendet werden\n"
|
||||
"\n"
|
||||
|
||||
#: src/print.c:268
|
||||
#: src/print.c:270
|
||||
#, fuzzy
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr ""
|
||||
@@ -373,11 +384,11 @@ msgstr ""
|
||||
"Nicht-Terminal und die Regeln in denen sie verwendet werden\n"
|
||||
"\n"
|
||||
|
||||
#: src/print.c:294
|
||||
#: src/print.c:296
|
||||
msgid " on left:"
|
||||
msgstr " auf der linken Seite:"
|
||||
|
||||
#: src/print.c:309
|
||||
#: src/print.c:311
|
||||
msgid " on right:"
|
||||
msgstr " auf der rechten Seite:"
|
||||
|
||||
@@ -451,7 +462,7 @@ msgstr ""
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "Symbol %s noch einmal definiert"
|
||||
|
||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1285
|
||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1294
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "erneute Deklaration des Typs für %s"
|
||||
@@ -461,12 +472,12 @@ msgstr "erneute Deklaration des Typs f
|
||||
msgid "`%s' is invalid in %s"
|
||||
msgstr "»%s« ist in %s nicht erlaubt"
|
||||
|
||||
#: src/reader.c:558 src/reader.c:717
|
||||
#: src/reader.c:558 src/reader.c:723
|
||||
#, fuzzy, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "mehr als eine %start Deklaration"
|
||||
|
||||
#: src/reader.c:560 src/reader.c:897 src/reader.c:922 src/reader.c:1263
|
||||
#: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1272
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid %s declaration"
|
||||
msgstr "ungültige %start Deklaration"
|
||||
@@ -495,137 +506,137 @@ msgstr "unzul
|
||||
msgid "unexpected item: %s"
|
||||
msgstr "unerwartetes Symbol: %s"
|
||||
|
||||
#: src/reader.c:760 src/reader.c:1089 src/reader.c:1160
|
||||
#: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
|
||||
#, fuzzy, c-format
|
||||
msgid "unmatched %s"
|
||||
msgstr "»{« hat kein Gegenstück"
|
||||
|
||||
#: src/reader.c:792
|
||||
#: src/reader.c:798
|
||||
#, fuzzy, c-format
|
||||
msgid "argument of %%expect is not an integer"
|
||||
msgstr "Argument von %expect ist keine ganze Zahl"
|
||||
|
||||
#: src/reader.c:838
|
||||
#: src/reader.c:844
|
||||
#, c-format
|
||||
msgid "unrecognized item %s, expected an identifier"
|
||||
msgstr "unerwartetes Symbol %s, hier wird ein Bezeichner erwartet"
|
||||
|
||||
#: src/reader.c:862
|
||||
#: src/reader.c:866
|
||||
#, c-format
|
||||
msgid "expected string constant instead of %s"
|
||||
msgstr "hier wird eine Zeichenkette erwartet, nicht %s"
|
||||
|
||||
#: src/reader.c:1005
|
||||
#: src/reader.c:1014
|
||||
#, c-format
|
||||
msgid "unrecognized: %s"
|
||||
msgstr "unbekannt: %s"
|
||||
|
||||
#: src/reader.c:1010
|
||||
#: src/reader.c:1019
|
||||
msgid "no input grammar"
|
||||
msgstr "keine Eingabe-Grammatik"
|
||||
|
||||
#: src/reader.c:1015
|
||||
#: src/reader.c:1024
|
||||
#, c-format
|
||||
msgid "unknown character: %s"
|
||||
msgstr "unbekanntes Zeichen: %s"
|
||||
|
||||
#: src/reader.c:1183
|
||||
#: src/reader.c:1192
|
||||
#, fuzzy, c-format
|
||||
msgid "unterminated %guard clause"
|
||||
msgstr "unbeendeter %%guard Fall"
|
||||
|
||||
#: src/reader.c:1350
|
||||
#: src/reader.c:1359
|
||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||
msgstr ""
|
||||
"falsch geformte Regel: führendes Symbol wird nicht von einem Semikolon "
|
||||
"gefolgt"
|
||||
|
||||
#: src/reader.c:1357
|
||||
#: src/reader.c:1366
|
||||
msgid "grammar starts with vertical bar"
|
||||
msgstr "Grammatik fängt mit einem vertikalen Strich (»|«) an"
|
||||
|
||||
#: src/reader.c:1388
|
||||
#: src/reader.c:1397
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "Regel für %s vorhanden, welches aber ein Token ist"
|
||||
|
||||
#: src/reader.c:1490
|
||||
#: src/reader.c:1499
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "zwei @prec Anweisungen nacheinander"
|
||||
|
||||
#: src/reader.c:1498
|
||||
#: src/reader.c:1507
|
||||
#, c-format
|
||||
msgid "%%guard present but %%semantic_parser not specified"
|
||||
msgstr ""
|
||||
"%%guard Anweisung vorhanden, jedoch wird %%semantic_parser nicht angegeben"
|
||||
|
||||
#: src/reader.c:1507
|
||||
#: src/reader.c:1516
|
||||
msgid "two actions at end of one rule"
|
||||
msgstr "Zwei Aktionen am Ende einer Regel"
|
||||
|
||||
#: src/reader.c:1521
|
||||
#: src/reader.c:1530
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "Typkonflikt (»%s« »%s«) bei Default Aktion"
|
||||
|
||||
#: src/reader.c:1527
|
||||
#: src/reader.c:1536
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "leere Regel für Nicht-Terminal vmit Typ und keine Aktion"
|
||||
|
||||
#: src/reader.c:1571
|
||||
#: src/reader.c:1580
|
||||
#, c-format
|
||||
msgid "invalid input: %s"
|
||||
msgstr "ungültige Eingabe: %s"
|
||||
|
||||
#: src/reader.c:1579
|
||||
#: src/reader.c:1588
|
||||
#, fuzzy, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "zu viele Symbols (Token plus Nicht-Terminal); Maximum %s"
|
||||
|
||||
#: src/reader.c:1582
|
||||
#: src/reader.c:1591
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "Eingabegrammatik enthält keine Regeln"
|
||||
|
||||
#: src/reader.c:1606
|
||||
#: src/reader.c:1615
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"Symbol %s wird benutzt, ist aber nicht als Token definiert und hat keine "
|
||||
"Regel"
|
||||
|
||||
#: src/reader.c:1712
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "Vorrangwertigkeiten für %s und %s widersprechen sich"
|
||||
|
||||
#: src/reader.c:1724
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "assoc Werte für %s nd %s widersprechen sich"
|
||||
|
||||
#: src/reader.c:1770
|
||||
#: src/reader.c:1707
|
||||
#, fuzzy, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "Token %s und %s haben die selbe nummer %s"
|
||||
|
||||
#: src/reader.c:1782
|
||||
#: src/reader.c:1760
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "Vorrangwertigkeiten für %s und %s widersprechen sich"
|
||||
|
||||
#: src/reader.c:1772
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "assoc Werte für %s nd %s widersprechen sich"
|
||||
|
||||
#: src/reader.c:1811
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "das Startsymbol %s ist undefiniert"
|
||||
|
||||
#: src/reader.c:1784
|
||||
#: src/reader.c:1813
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "das Startsymbol %s ist ein Token"
|
||||
|
||||
#: src/reduce.c:401
|
||||
#: src/reduce.c:405
|
||||
#, fuzzy
|
||||
msgid "Useless nonterminals:"
|
||||
msgstr ""
|
||||
"Nutzlose Nicht-Terminale:\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:416
|
||||
#: src/reduce.c:419
|
||||
#, fuzzy
|
||||
msgid "Terminals which are not used:"
|
||||
msgstr ""
|
||||
@@ -634,7 +645,7 @@ msgstr ""
|
||||
"Nicht genutzte Terminale:\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:427
|
||||
#: src/reduce.c:430
|
||||
#, fuzzy
|
||||
msgid "Useless rules:"
|
||||
msgstr ""
|
||||
@@ -643,7 +654,7 @@ msgstr ""
|
||||
"Ungenutzte Regeln:\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:456
|
||||
#: src/reduce.c:458
|
||||
msgid ""
|
||||
"Variables\n"
|
||||
"---------\n"
|
||||
@@ -653,7 +664,7 @@ msgstr ""
|
||||
"---------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:458
|
||||
#: src/reduce.c:459
|
||||
msgid "Value Sprec Sassoc Tag\n"
|
||||
msgstr "Wert Sprec Sassoc Tag\n"
|
||||
|
||||
@@ -667,7 +678,7 @@ msgstr ""
|
||||
"------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:474
|
||||
#: src/reduce.c:473
|
||||
msgid ""
|
||||
"Rules interpreted\n"
|
||||
"-----------------\n"
|
||||
@@ -677,36 +688,31 @@ msgstr ""
|
||||
"----------------------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:491
|
||||
#: src/reduce.c:495
|
||||
#, c-format
|
||||
msgid "%d rules never reduced\n"
|
||||
msgstr "%d wurde niemals reduziert\n"
|
||||
|
||||
#: src/reduce.c:493
|
||||
#, c-format
|
||||
msgid "%s contains "
|
||||
msgstr "%s enthält "
|
||||
|
||||
#: src/reduce.c:497
|
||||
#: src/reduce.c:501
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal%s"
|
||||
msgstr "%d ungenutzte Nicht-Terminal"
|
||||
|
||||
#: src/reduce.c:502
|
||||
#: src/reduce.c:506
|
||||
msgid " and "
|
||||
msgstr " und "
|
||||
|
||||
#: src/reduce.c:506
|
||||
#: src/reduce.c:510
|
||||
#, c-format
|
||||
msgid "%d useless rule%s"
|
||||
msgstr "%d ungenutzte Regel"
|
||||
|
||||
#: src/reduce.c:539
|
||||
#: src/reduce.c:540
|
||||
#, c-format
|
||||
msgid "Start symbol %s does not derive any sentence"
|
||||
msgstr "es lassen sich keine Sätze vom Startsymbol %s ableiten"
|
||||
|
||||
#: src/reduce.c:552
|
||||
#: src/reduce.c:553
|
||||
#, c-format
|
||||
msgid ""
|
||||
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
||||
@@ -714,68 +720,68 @@ msgstr ""
|
||||
"Reduzierung von %s definiert %d Terminal, %d Nicht-Terminal und %d "
|
||||
"Produktionen.\n"
|
||||
|
||||
#: lib/getopt.c:675
|
||||
#: lib/getopt.c:694
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: die Option »%s« ist nicht eindeutig\n"
|
||||
|
||||
#: lib/getopt.c:700
|
||||
#: lib/getopt.c:719
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: die Option »--%s« erlaubt kein Argument\n"
|
||||
|
||||
#: lib/getopt.c:705
|
||||
#: lib/getopt.c:724
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: die Option »%c%s« erlaubt kein Argument\n"
|
||||
|
||||
#: lib/getopt.c:723 lib/getopt.c:896
|
||||
#: lib/getopt.c:742 lib/getopt.c:915
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: die Option »%s« erfordert ein Argument\n"
|
||||
|
||||
#. --option
|
||||
#: lib/getopt.c:752
|
||||
#: lib/getopt.c:771
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: unbekannte Option »--%s«\n"
|
||||
|
||||
#. +option or -option
|
||||
#: lib/getopt.c:756
|
||||
#: lib/getopt.c:775
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: unbekannte Option »%c%s«\n"
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: lib/getopt.c:782
|
||||
#: lib/getopt.c:801
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: die Option ist nicht erlaubt -- %c\n"
|
||||
|
||||
#: lib/getopt.c:785
|
||||
#: lib/getopt.c:804
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: ungültige Option -- %c\n"
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: lib/getopt.c:815 lib/getopt.c:945
|
||||
#: lib/getopt.c:834 lib/getopt.c:964
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: die Option benötigt ein Argument -- %c\n"
|
||||
|
||||
#: lib/getopt.c:862
|
||||
#: lib/getopt.c:881
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: die Option »%s« ist nicht eindeutig\n"
|
||||
|
||||
#: lib/getopt.c:880
|
||||
#: lib/getopt.c:899
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: die Option »--%s« erlaubt kein Argument\n"
|
||||
|
||||
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
|
||||
#. before exiting when memory is exhausted. Goes through gettext.
|
||||
#: lib/obstack.c:477 lib/xmalloc.c:66
|
||||
#: lib/obstack.c:494 lib/obstack.c:497 lib/xmalloc.c:66
|
||||
#, fuzzy
|
||||
msgid "memory exhausted"
|
||||
msgstr "%s: Hauptspeicher erschöpft\n"
|
||||
@@ -802,6 +808,15 @@ msgstr ""
|
||||
msgid "'"
|
||||
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 ""
|
||||
#~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n"
|
||||
#~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n"
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU bison 1.25\n"
|
||||
"POT-Creation-Date: 2001-10-02 18:30+0200\n"
|
||||
"POT-Creation-Date: 2001-11-14 15:59+0100\n"
|
||||
"PO-Revision-Date: 1998-09-21 10:19+0200\n"
|
||||
"Last-Translator: Nicolás García-Pedrajas <[email protected]>\n"
|
||||
"Language-Team: Spanish <[email protected]>\n"
|
||||
@@ -43,7 +43,7 @@ msgstr ""
|
||||
msgid "too many states (max %d)"
|
||||
msgstr ""
|
||||
|
||||
#: lib/error.c:117 src/complain.c:96
|
||||
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
|
||||
msgid "Unknown system error"
|
||||
msgstr ""
|
||||
|
||||
@@ -63,55 +63,50 @@ msgstr ""
|
||||
msgid "fatal error: "
|
||||
msgstr "error grave: %s\n"
|
||||
|
||||
#: src/conflicts.c:48
|
||||
#: src/conflicts.c:45
|
||||
#, c-format
|
||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||
msgstr ""
|
||||
"El conflicto en el estado %s entre la regla %d y el terminal %s se resuelve "
|
||||
"como %s.\n"
|
||||
|
||||
#: src/conflicts.c:114 src/conflicts.c:137
|
||||
#: src/conflicts.c:111 src/conflicts.c:134
|
||||
msgid "reduce"
|
||||
msgstr "reduce"
|
||||
|
||||
#: src/conflicts.c:120 src/conflicts.c:133
|
||||
#: src/conflicts.c:117 src/conflicts.c:130
|
||||
msgid "shift"
|
||||
msgstr "desplaza"
|
||||
|
||||
#: src/conflicts.c:141
|
||||
#: src/conflicts.c:138
|
||||
msgid "an error"
|
||||
msgstr "un error"
|
||||
|
||||
#: src/conflicts.c:421
|
||||
msgid " 1 shift/reduce conflict"
|
||||
msgstr " 1 conflicto desplazamiento/reducción"
|
||||
#: src/conflicts.c:411
|
||||
#, fuzzy, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] " %d conflictos desplazamiento/reducción"
|
||||
|
||||
#: src/conflicts.c:426
|
||||
#, c-format
|
||||
msgid " %d shift/reduce conflicts"
|
||||
msgstr " %d conflictos desplazamiento/reducción"
|
||||
|
||||
#: src/conflicts.c:432
|
||||
msgid " and"
|
||||
#: src/conflicts.c:418
|
||||
#, fuzzy
|
||||
msgid "and"
|
||||
msgstr " y"
|
||||
|
||||
#: src/conflicts.c:438
|
||||
msgid " 1 reduce/reduce conflict"
|
||||
msgstr " 1 conflicto reducción/reducción"
|
||||
#: src/conflicts.c:424
|
||||
#, fuzzy, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] " %d conflictos reducción/reducción"
|
||||
|
||||
#: src/conflicts.c:443
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce conflicts"
|
||||
msgstr " %d conflictos reducción/reducción"
|
||||
|
||||
#: src/conflicts.c:480
|
||||
#, c-format
|
||||
msgid "State %d contains"
|
||||
#: src/conflicts.c:448
|
||||
#, fuzzy, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "El estado %d contiene"
|
||||
|
||||
#. If invoked with `--yacc', use the output format specified by
|
||||
#. POSIX.
|
||||
#: src/conflicts.c:491
|
||||
#: src/conflicts.c:482
|
||||
msgid "conflicts: "
|
||||
msgstr "conflictos: "
|
||||
|
||||
@@ -127,7 +122,7 @@ msgstr "conflictos: "
|
||||
# ok
|
||||
# ngp
|
||||
#
|
||||
#: src/conflicts.c:493
|
||||
#: src/conflicts.c:484
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
msgstr " %d desplazamiento(s)/reducción(ones)"
|
||||
@@ -144,22 +139,28 @@ msgstr " %d desplazamiento(s)/reducci
|
||||
#
|
||||
# ok
|
||||
# ngp
|
||||
#: src/conflicts.c:497
|
||||
#: src/conflicts.c:488
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
msgstr " %d reducción(ones)/reducción(ones)"
|
||||
|
||||
#: src/conflicts.c:502
|
||||
#: src/conflicts.c:493 src/reduce.c:497
|
||||
#, c-format
|
||||
msgid "%s contains"
|
||||
msgstr "%s contiene"
|
||||
msgid "%s contains "
|
||||
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
|
||||
msgid " %-4s\t[reduce using rule %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
|
||||
msgid ""
|
||||
" $default\treduce using rule %d (%s)\n"
|
||||
@@ -173,7 +174,7 @@ msgstr ""
|
||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||
msgstr " %-4s\treduce usando la regla %d (%s)\n"
|
||||
|
||||
#: src/conflicts.c:730
|
||||
#: src/conflicts.c:729
|
||||
#, c-format
|
||||
msgid " $default\treduce using rule %d (%s)\n"
|
||||
msgstr " $default\treduce usando la regla %d (%s)\n"
|
||||
@@ -192,33 +193,33 @@ msgstr ""
|
||||
msgid "%s derives"
|
||||
msgstr "%s deriva"
|
||||
|
||||
#: src/files.c:133
|
||||
#: src/files.c:143
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: src/files.c:152
|
||||
#: src/files.c:162
|
||||
msgid "cannot close file"
|
||||
msgstr ""
|
||||
|
||||
#. Some efforts were made to ease the translators' task, please
|
||||
#. continue.
|
||||
#: src/getargs.c:83
|
||||
#: src/getargs.c:84
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:87
|
||||
#: src/getargs.c:88
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:91
|
||||
#: src/getargs.c:92
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:97
|
||||
#: src/getargs.c:98
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
@@ -226,7 +227,7 @@ msgid ""
|
||||
" -y, --yacc emulate POSIX yacc\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:104
|
||||
#: src/getargs.c:105
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
@@ -238,58 +239,58 @@ msgid ""
|
||||
" -k, --token-table include a table of token names\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:116
|
||||
#: src/getargs.c:117
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
" -d, --defines also produce a header file\n"
|
||||
" -v, --verbose also produce an explanation of the automaton\n"
|
||||
" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
|
||||
" -o, --output-file=FILE leave output to FILE\n"
|
||||
" -g, --graph also produce a VCG graph description of the "
|
||||
" -o, --output=FILE leave output to FILE\n"
|
||||
" -g, --graph also produce a VCG description of the "
|
||||
"automaton\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:126
|
||||
#: src/getargs.c:127
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr ""
|
||||
|
||||
#. Some efforts were made to ease the translators' task, please
|
||||
#. continue.
|
||||
#: src/getargs.c:140
|
||||
#: src/getargs.c:141
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:145
|
||||
#: src/getargs.c:146
|
||||
msgid ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:149
|
||||
#: src/getargs.c:150
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:214 src/lex.c:650
|
||||
#: src/getargs.c:215 src/lex.c:694
|
||||
#, c-format
|
||||
msgid "`%s' is no longer supported"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:238
|
||||
#: src/getargs.c:239
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr ""
|
||||
|
||||
# Me parece menos "computadora" decir "ningún fichero de gramática" - cll
|
||||
#
|
||||
#: src/getargs.c:245
|
||||
#: src/getargs.c:246
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: no se ha especificado ningún fichero de gramática\n"
|
||||
|
||||
# Ignorar es no saber, to ignore es no hacer caso, que no es lo mismo. sv
|
||||
#: src/getargs.c:249
|
||||
#: src/getargs.c:250
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: los argumentos extra después de '%s' no se tendrán en cuenta\n"
|
||||
@@ -300,53 +301,63 @@ msgid "too many gotos (max %d)"
|
||||
msgstr ""
|
||||
|
||||
# to ignore no es ignorar. Pon otra cosa, please. sv
|
||||
#: src/lex.c:78
|
||||
#: src/lex.c:76
|
||||
msgid "unexpected `/' found and ignored"
|
||||
msgstr "se ha encontrado `/' cuando no se esperaba, no se tendrán en cuenta"
|
||||
|
||||
#: src/lex.c:107 src/reader.c:269
|
||||
#: src/lex.c:105 src/reader.c:269
|
||||
msgid "unterminated comment"
|
||||
msgstr "comentario sin terminar"
|
||||
|
||||
#: src/lex.c:139
|
||||
#: src/lex.c:137
|
||||
#, fuzzy
|
||||
msgid "unexpected end of file"
|
||||
msgstr "Fin de fichero inesperado"
|
||||
|
||||
# ¿unescaped?
|
||||
#: src/lex.c:168
|
||||
#: src/lex.c:166
|
||||
msgid "unescaped newline in constant"
|
||||
msgstr "salto de línea en constante sin secuencia de escape"
|
||||
|
||||
#: src/lex.c:210
|
||||
#: src/lex.c:208
|
||||
#, c-format
|
||||
msgid "octal value outside range 0...255: `\\%o'"
|
||||
msgstr "valor octal fuera del rango 0...255: `\\%o'"
|
||||
|
||||
#: src/lex.c:235
|
||||
#: src/lex.c:233
|
||||
#, c-format
|
||||
msgid "hexadecimal value above 255: `\\x%x'"
|
||||
msgstr "valor hexadecimal mayor que 255: `\\x%x'"
|
||||
|
||||
#: src/lex.c:247
|
||||
#: src/lex.c:245
|
||||
#, c-format
|
||||
msgid "unknown escape sequence: `\\' followed by `%s'"
|
||||
msgstr "secuencia de escape desconocida: `\\' seguido de `%s'"
|
||||
|
||||
#: src/lex.c:343
|
||||
#: src/lex.c:342
|
||||
msgid "unterminated type name at end of file"
|
||||
msgstr "nombre de tipo sin terminar al final del fichero"
|
||||
|
||||
#: src/lex.c:346
|
||||
#: src/lex.c:345
|
||||
msgid "unterminated type name"
|
||||
msgstr "nombre de tipo sin terminar"
|
||||
|
||||
# ¿multicarácter o multicaracteres? sv
|
||||
#: src/lex.c:437
|
||||
#: src/lex.c:438
|
||||
msgid "use \"...\" for multi-character literal tokens"
|
||||
msgstr "use \"...\" para terminales literales multicarácter"
|
||||
|
||||
#: src/main.c:125
|
||||
#: src/lex.c:667
|
||||
#, c-format
|
||||
msgid "`%s' supports no argument: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/lex.c:683
|
||||
#, fuzzy, c-format
|
||||
msgid "`%s' requires an argument"
|
||||
msgstr "%s: la opción `%s' requiere un argumento\n"
|
||||
|
||||
#: src/main.c:128
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: internal error: %s\n"
|
||||
msgstr "error interno, %s\n"
|
||||
@@ -365,45 +376,45 @@ msgstr "Entrando set_nullable"
|
||||
msgid "maximum table size (%d) exceeded"
|
||||
msgstr "excedido el tamaño máximo de la tabla (%s)"
|
||||
|
||||
#: src/print.c:37
|
||||
#: src/print.c:38
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " el tipo %d es %s\n"
|
||||
|
||||
#: src/print.c:85
|
||||
#: src/print.c:86
|
||||
#, c-format
|
||||
msgid " (rule %d)"
|
||||
msgstr " (regla %d)"
|
||||
|
||||
#: src/print.c:111
|
||||
#: src/print.c:112
|
||||
msgid " $default\taccept\n"
|
||||
msgstr " $default\taceptar\n"
|
||||
|
||||
#: src/print.c:113
|
||||
#: src/print.c:114
|
||||
msgid " NO ACTIONS\n"
|
||||
msgstr " SIN ACCIONES\n"
|
||||
|
||||
#: src/print.c:132
|
||||
#: src/print.c:133
|
||||
#, c-format
|
||||
msgid " $ \tgo to state %d\n"
|
||||
msgstr " $ \tir al estado %d\n"
|
||||
|
||||
#: src/print.c:135
|
||||
#: src/print.c:136
|
||||
#, c-format
|
||||
msgid " %-4s\tshift, and go to state %d\n"
|
||||
msgstr " %-4s\tdesplazar e ir al estado %d\n"
|
||||
|
||||
#: src/print.c:159
|
||||
#: src/print.c:160
|
||||
#, c-format
|
||||
msgid " %-4s\terror (nonassociative)\n"
|
||||
msgstr " %-4s\terror (no asociativo)\n"
|
||||
|
||||
#: src/print.c:187
|
||||
#: src/print.c:188
|
||||
#, c-format
|
||||
msgid " %-4s\tgo to state %d\n"
|
||||
msgstr " %-4s\tir al estado %d\n"
|
||||
|
||||
#: src/print.c:199
|
||||
#: src/print.c:200
|
||||
#, fuzzy, c-format
|
||||
msgid "state %d"
|
||||
msgstr ""
|
||||
@@ -413,24 +424,24 @@ msgstr ""
|
||||
"\n"
|
||||
|
||||
#. rule # : LHS -> RHS
|
||||
#: src/print.c:229
|
||||
#: src/print.c:230
|
||||
#, fuzzy
|
||||
msgid "Grammar"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Gramática\n"
|
||||
|
||||
#: src/print.c:234
|
||||
#: src/print.c:235
|
||||
#, c-format
|
||||
msgid "rule %-4d %s ->"
|
||||
msgstr "regla %-4d %s ->"
|
||||
|
||||
#: src/print.c:240
|
||||
#: src/print.c:241
|
||||
msgid "empty"
|
||||
msgstr ""
|
||||
|
||||
#. TERMINAL (type #) : rule #s terminal is on RHS
|
||||
#: src/print.c:244
|
||||
#: src/print.c:246
|
||||
#, fuzzy
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr ""
|
||||
@@ -438,18 +449,18 @@ msgstr ""
|
||||
"Terminales con las reglas donde aparecen\n"
|
||||
"\n"
|
||||
|
||||
#: src/print.c:268
|
||||
#: src/print.c:270
|
||||
#, fuzzy
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"No terminales con las reglas donde aparecen\n"
|
||||
|
||||
#: src/print.c:294
|
||||
#: src/print.c:296
|
||||
msgid " on left:"
|
||||
msgstr " en la izquierda:"
|
||||
|
||||
#: src/print.c:309
|
||||
#: src/print.c:311
|
||||
msgid " on right:"
|
||||
msgstr " en la derecha:"
|
||||
|
||||
@@ -523,7 +534,7 @@ msgstr ""
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "redefinido el símbolo %s"
|
||||
|
||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1285
|
||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1294
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "redeclaración del tipo de %s"
|
||||
@@ -533,12 +544,12 @@ msgstr "redeclaraci
|
||||
msgid "`%s' is invalid in %s"
|
||||
msgstr "`%s' no es válido en %s"
|
||||
|
||||
#: src/reader.c:558 src/reader.c:717
|
||||
#: src/reader.c:558 src/reader.c:723
|
||||
#, fuzzy, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "múltiples declaraciones de %start"
|
||||
|
||||
#: src/reader.c:560 src/reader.c:897 src/reader.c:922 src/reader.c:1263
|
||||
#: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1272
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid %s declaration"
|
||||
msgstr "declaración de %start no válida"
|
||||
@@ -577,12 +588,12 @@ msgid "unexpected item: %s"
|
||||
msgstr "ítem inesperado: %s"
|
||||
|
||||
# Cambio el orden y el sexo. Ahora está "en español". sv
|
||||
#: src/reader.c:760 src/reader.c:1089 src/reader.c:1160
|
||||
#: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
|
||||
#, fuzzy, c-format
|
||||
msgid "unmatched %s"
|
||||
msgstr "`{' desemparejada"
|
||||
|
||||
#: src/reader.c:792
|
||||
#: src/reader.c:798
|
||||
#, fuzzy, c-format
|
||||
msgid "argument of %%expect is not an integer"
|
||||
msgstr "el argumento de %expect no es un entero"
|
||||
@@ -593,26 +604,26 @@ msgstr "el argumento de %expect no es un entero"
|
||||
# - cll
|
||||
# ok - ngp
|
||||
#
|
||||
#: src/reader.c:838
|
||||
#: src/reader.c:844
|
||||
#, c-format
|
||||
msgid "unrecognized item %s, expected an identifier"
|
||||
msgstr "no se reconoce el ítem %s, se esperaba un identificador"
|
||||
|
||||
#: src/reader.c:862
|
||||
#: src/reader.c:866
|
||||
#, c-format
|
||||
msgid "expected string constant instead of %s"
|
||||
msgstr "se esperaba una cadena constante en lugar de %s"
|
||||
|
||||
#: src/reader.c:1005
|
||||
#: src/reader.c:1014
|
||||
#, c-format
|
||||
msgid "unrecognized: %s"
|
||||
msgstr "no reconocido: %s"
|
||||
|
||||
#: src/reader.c:1010
|
||||
#: src/reader.c:1019
|
||||
msgid "no input grammar"
|
||||
msgstr "no hay gramática de entrada"
|
||||
|
||||
#: src/reader.c:1015
|
||||
#: src/reader.c:1024
|
||||
#, c-format
|
||||
msgid "unknown character: %s"
|
||||
msgstr "carácter desconocido: %s"
|
||||
@@ -621,105 +632,105 @@ msgstr "car
|
||||
# mejor que `sin terminar' que me parece más "computerizado" - cll
|
||||
# quizás un poco cacofónico lo de claúsula inconclusa - ngp
|
||||
#
|
||||
#: src/reader.c:1183
|
||||
#: src/reader.c:1192
|
||||
#, fuzzy, c-format
|
||||
msgid "unterminated %guard clause"
|
||||
msgstr "cláusula %%guard sin terminar"
|
||||
|
||||
#: src/reader.c:1350
|
||||
#: src/reader.c:1359
|
||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||
msgstr "regla mal formada: el símbolo inicial no está seguido por :"
|
||||
|
||||
#: src/reader.c:1357
|
||||
#: src/reader.c:1366
|
||||
msgid "grammar starts with vertical bar"
|
||||
msgstr "la gramática comienza con una barra vertical"
|
||||
|
||||
#: src/reader.c:1388
|
||||
#: src/reader.c:1397
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "se ha dado una regla para %s, que es un terminal"
|
||||
|
||||
#: src/reader.c:1490
|
||||
#: src/reader.c:1499
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "dos @prec en una línea"
|
||||
|
||||
# Insisto, el empleo de participios a secas me parece como hablar en
|
||||
# indio. Por favor, permíteme que añada un "está" :) - cll
|
||||
# ok - ngp
|
||||
#: src/reader.c:1498
|
||||
#: src/reader.c:1507
|
||||
#, c-format
|
||||
msgid "%%guard present but %%semantic_parser not specified"
|
||||
msgstr "%%guard presente pero %%semantic_parser está sin especificar"
|
||||
|
||||
#: src/reader.c:1507
|
||||
#: src/reader.c:1516
|
||||
msgid "two actions at end of one rule"
|
||||
msgstr "dos acciones al final de una regla"
|
||||
|
||||
#: src/reader.c:1521
|
||||
#: src/reader.c:1530
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "los tipos (`%s' `%s') no concuerdan en la acción por defecto"
|
||||
|
||||
#: src/reader.c:1527
|
||||
#: src/reader.c:1536
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "regla vacía para un no terminal con tipo y no hay ninguna acción"
|
||||
|
||||
#: src/reader.c:1571
|
||||
#: src/reader.c:1580
|
||||
#, c-format
|
||||
msgid "invalid input: %s"
|
||||
msgstr "entrada no válida: %s"
|
||||
|
||||
#: src/reader.c:1579
|
||||
#: src/reader.c:1588
|
||||
#, fuzzy, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "demasiados símbolos (terminales y no terminales); máximo %s"
|
||||
|
||||
#: src/reader.c:1582
|
||||
#: src/reader.c:1591
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "no hay reglas en la gramática de entrada"
|
||||
|
||||
# `token' se debe traducir como `literal' - cll
|
||||
# en terminología de compiladores token es más un terminal - ngp
|
||||
#
|
||||
#: src/reader.c:1606
|
||||
#: src/reader.c:1615
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"se usa el símbolo %s, pero no está definido como terminal y no tiene reglas"
|
||||
|
||||
#: src/reader.c:1712
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "precedencias en conflicto entre %s y %s"
|
||||
|
||||
#: src/reader.c:1724
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "conflicto de valores assoc para %s y %s"
|
||||
|
||||
#: src/reader.c:1770
|
||||
#: src/reader.c:1707
|
||||
#, fuzzy, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "los terminales %s y %s tienen asignados ambos el número %s"
|
||||
|
||||
#: src/reader.c:1782
|
||||
#: src/reader.c:1760
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "precedencias en conflicto entre %s y %s"
|
||||
|
||||
#: src/reader.c:1772
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "conflicto de valores assoc para %s y %s"
|
||||
|
||||
#: src/reader.c:1811
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "el símbolo de inicio (axioma) %s no está definido"
|
||||
|
||||
#: src/reader.c:1784
|
||||
#: src/reader.c:1813
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "el símbolo de inicio (axioma) %s es un terminal"
|
||||
|
||||
#: src/reduce.c:401
|
||||
#: src/reduce.c:405
|
||||
#, fuzzy
|
||||
msgid "Useless nonterminals:"
|
||||
msgstr ""
|
||||
"No terminales sin uso:\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:416
|
||||
#: src/reduce.c:419
|
||||
#, fuzzy
|
||||
msgid "Terminals which are not used:"
|
||||
msgstr ""
|
||||
@@ -728,7 +739,7 @@ msgstr ""
|
||||
"Terminales que no se usan:\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:427
|
||||
#: src/reduce.c:430
|
||||
#, fuzzy
|
||||
msgid "Useless rules:"
|
||||
msgstr ""
|
||||
@@ -737,7 +748,7 @@ msgstr ""
|
||||
"Reglas sin uso:\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:456
|
||||
#: src/reduce.c:458
|
||||
msgid ""
|
||||
"Variables\n"
|
||||
"---------\n"
|
||||
@@ -747,7 +758,7 @@ msgstr ""
|
||||
"---------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:458
|
||||
#: src/reduce.c:459
|
||||
msgid "Value Sprec Sassoc Tag\n"
|
||||
msgstr "Valor Sprec Sasoc Tag\n"
|
||||
|
||||
@@ -761,7 +772,7 @@ msgstr ""
|
||||
"------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:474
|
||||
#: src/reduce.c:473
|
||||
msgid ""
|
||||
"Rules interpreted\n"
|
||||
"-----------------\n"
|
||||
@@ -771,31 +782,26 @@ msgstr ""
|
||||
"--------------------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:491
|
||||
#: src/reduce.c:495
|
||||
#, c-format
|
||||
msgid "%d rules never reduced\n"
|
||||
msgstr "%d reglas que nunca se han reducido\n"
|
||||
|
||||
#: src/reduce.c:493
|
||||
#, c-format
|
||||
msgid "%s contains "
|
||||
msgstr "%s contiene "
|
||||
|
||||
#: src/reduce.c:497
|
||||
#: src/reduce.c:501
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal%s"
|
||||
msgstr "%d no terminales %s sin uso"
|
||||
|
||||
#: src/reduce.c:502
|
||||
#: src/reduce.c:506
|
||||
msgid " and "
|
||||
msgstr " y "
|
||||
|
||||
#: src/reduce.c:506
|
||||
#: src/reduce.c:510
|
||||
#, c-format
|
||||
msgid "%d useless rule%s"
|
||||
msgstr "%d regla%s sin uso"
|
||||
|
||||
#: src/reduce.c:539
|
||||
#: src/reduce.c:540
|
||||
#, c-format
|
||||
msgid "Start symbol %s does not derive any sentence"
|
||||
msgstr "El símbolo de inicio (axioma) %s no deriva ninguna sentencia"
|
||||
@@ -812,7 +818,7 @@ msgstr "El s
|
||||
# Te recomiendo `la reducción de %s' en vez de seguir el estilo inglés y
|
||||
# usar participios - cll
|
||||
# un error lo tiene cualquiera - ngp
|
||||
#: src/reduce.c:552
|
||||
#: src/reduce.c:553
|
||||
#, c-format
|
||||
msgid ""
|
||||
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
||||
@@ -820,35 +826,35 @@ msgstr ""
|
||||
"la reducción de %s define %d terminal%s, %d no terminal%s, y %d produccion%"
|
||||
"s.\n"
|
||||
|
||||
#: lib/getopt.c:675
|
||||
#: lib/getopt.c:694
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: la opción `%s' es ambigua\n"
|
||||
|
||||
# Pongo esto como en otros .po. sv
|
||||
#: lib/getopt.c:700
|
||||
#: lib/getopt.c:719
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: la opción `--%s' no admite ningún argumento\n"
|
||||
|
||||
#: lib/getopt.c:705
|
||||
#: lib/getopt.c:724
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: la opción `%c%s' no admite ningún argumento\n"
|
||||
|
||||
#: lib/getopt.c:723 lib/getopt.c:896
|
||||
#: lib/getopt.c:742 lib/getopt.c:915
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: la opción `%s' requiere un argumento\n"
|
||||
|
||||
#. --option
|
||||
#: lib/getopt.c:752
|
||||
#: lib/getopt.c:771
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: opción `--%s' no reconocida\n"
|
||||
|
||||
#. +option or -option
|
||||
#: lib/getopt.c:756
|
||||
#: lib/getopt.c:775
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: opción `%c%s' no reconocida\n"
|
||||
@@ -871,7 +877,7 @@ msgstr "%s: opci
|
||||
# a la cárcel (como mucho se cuelgan, je, je, 0ff0 :-). sv
|
||||
#
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: lib/getopt.c:782
|
||||
#: lib/getopt.c:801
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: opción -- %c ilegal\n"
|
||||
@@ -881,31 +887,31 @@ msgstr "%s: opci
|
||||
# Porque Enrique decía que le recordaba a disminuidos físicos.
|
||||
# Francamente, no creo que haya que andar con estas "fobias".
|
||||
# Pongo inválida. sv
|
||||
#: lib/getopt.c:785
|
||||
#: lib/getopt.c:804
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: opción -- %c inválida\n"
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: lib/getopt.c:815 lib/getopt.c:945
|
||||
#: lib/getopt.c:834 lib/getopt.c:964
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: la opción -- %c requiere un argumento\n"
|
||||
|
||||
#: lib/getopt.c:862
|
||||
#: lib/getopt.c:881
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: la opción `%s' es ambigua\n"
|
||||
|
||||
# Pongo esto como en otros .po. sv
|
||||
#: lib/getopt.c:880
|
||||
#: lib/getopt.c:899
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: la opción `--%s' no admite ningún argumento\n"
|
||||
|
||||
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
|
||||
#. before exiting when memory is exhausted. Goes through gettext.
|
||||
#: lib/obstack.c:477 lib/xmalloc.c:66
|
||||
#: lib/obstack.c:494 lib/obstack.c:497 lib/xmalloc.c:66
|
||||
#, fuzzy
|
||||
msgid "memory exhausted"
|
||||
msgstr "%s: memoria agotada\n"
|
||||
@@ -983,6 +989,15 @@ msgstr ""
|
||||
#~ "\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 ""
|
||||
#~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n"
|
||||
#~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n"
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bison 1.28d\n"
|
||||
"POT-Creation-Date: 2001-10-02 18:30+0200\n"
|
||||
"PO-Revision-Date: 2001-08-29 17:06+02:00\n"
|
||||
"Project-Id-Version: bison 1.30b\n"
|
||||
"POT-Creation-Date: 2001-11-14 15:59+0100\n"
|
||||
"PO-Revision-Date: 2001-11-13 10:42+02:00\n"
|
||||
"Last-Translator: Toomas Soome <[email protected]>\n"
|
||||
"Language-Team: Estonian <[email protected]>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -18,7 +18,7 @@ msgstr ""
|
||||
msgid "too many states (max %d)"
|
||||
msgstr "liiga palju olekuid (maks %d)"
|
||||
|
||||
#: lib/error.c:117 src/complain.c:96
|
||||
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
|
||||
msgid "Unknown system error"
|
||||
msgstr "Tundmatu süsteemi viga"
|
||||
|
||||
@@ -30,77 +30,80 @@ msgstr "hoiatus: "
|
||||
msgid "fatal error: "
|
||||
msgstr "fataalne viga: "
|
||||
|
||||
#: src/conflicts.c:48
|
||||
#: src/conflicts.c:45
|
||||
#, c-format
|
||||
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"
|
||||
|
||||
#: src/conflicts.c:114 src/conflicts.c:137
|
||||
#: src/conflicts.c:111 src/conflicts.c:134
|
||||
msgid "reduce"
|
||||
msgstr "redutseerimine"
|
||||
|
||||
#: src/conflicts.c:120 src/conflicts.c:133
|
||||
#: src/conflicts.c:117 src/conflicts.c:130
|
||||
msgid "shift"
|
||||
msgstr "nihutamine"
|
||||
|
||||
#: src/conflicts.c:141
|
||||
#: src/conflicts.c:138
|
||||
msgid "an error"
|
||||
msgstr "viga"
|
||||
|
||||
#: src/conflicts.c:421
|
||||
msgid " 1 shift/reduce conflict"
|
||||
msgstr " 1 nihutamine/redutseerimine konflikt"
|
||||
|
||||
#: src/conflicts.c:426
|
||||
#: src/conflicts.c:411
|
||||
#, c-format
|
||||
msgid " %d shift/reduce conflicts"
|
||||
msgstr " %d nihutamine/redutseerimine konflikti"
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] "%d nihutamine/redutseerimine konflikt"
|
||||
msgstr[1] "%d nihutamine/redutseerimine konflikti"
|
||||
|
||||
#: src/conflicts.c:432
|
||||
msgid " and"
|
||||
msgstr " ja"
|
||||
#: src/conflicts.c:418
|
||||
msgid "and"
|
||||
msgstr "ja"
|
||||
|
||||
#: src/conflicts.c:438
|
||||
msgid " 1 reduce/reduce conflict"
|
||||
msgstr " 1 redutseerimine/redutseerimine konflikt"
|
||||
|
||||
#: src/conflicts.c:443
|
||||
#: src/conflicts.c:424
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce conflicts"
|
||||
msgstr " %d redutseerimine/redutseerimine konflikti"
|
||||
msgid "%d reduce/reduce conflict"
|
||||
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
|
||||
msgid "State %d contains"
|
||||
msgstr "Olek %d sisaldab"
|
||||
msgid "State %d contains "
|
||||
msgstr "Olek %d sisaldab "
|
||||
|
||||
#. If invoked with `--yacc', use the output format specified by
|
||||
#. POSIX.
|
||||
#: src/conflicts.c:491
|
||||
#: src/conflicts.c:482
|
||||
msgid "conflicts: "
|
||||
msgstr "konfliktid: "
|
||||
|
||||
#: src/conflicts.c:493
|
||||
#: src/conflicts.c:484
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
msgstr " %d nihutamine/redutseerimine"
|
||||
|
||||
#: src/conflicts.c:497
|
||||
#: src/conflicts.c:488
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
msgstr " %d redutseerimine/redutseerimine"
|
||||
|
||||
#: src/conflicts.c:493 src/reduce.c:497
|
||||
#, c-format
|
||||
msgid "%s contains "
|
||||
msgstr "%s sisaldab "
|
||||
|
||||
#: src/conflicts.c:502
|
||||
#, c-format
|
||||
msgid "%s contains"
|
||||
msgstr "%s sisaldab"
|
||||
msgid "expected %d shift/reduce conflict"
|
||||
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
|
||||
msgid " %-4s\t[reduce using rule %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
|
||||
msgid ""
|
||||
" $default\treduce using rule %d (%s)\n"
|
||||
@@ -114,7 +117,7 @@ msgstr ""
|
||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||
msgstr " %-4s\tredutseerin kasutades reeglit %d (%s)\n"
|
||||
|
||||
#: src/conflicts.c:730
|
||||
#: src/conflicts.c:729
|
||||
#, c-format
|
||||
msgid " $default\treduce using rule %d (%s)\n"
|
||||
msgstr " $default\tredutseerin kasutades reeglit %d (%s)\n"
|
||||
@@ -128,27 +131,27 @@ msgstr "DERIVES"
|
||||
msgid "%s derives"
|
||||
msgstr "%s derives"
|
||||
|
||||
#: src/files.c:133
|
||||
#: src/files.c:143
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "faili `%s' ei saa avada"
|
||||
|
||||
#: src/files.c:152
|
||||
#: src/files.c:162
|
||||
msgid "cannot close file"
|
||||
msgstr "faili ei õnnestu sulgeda"
|
||||
|
||||
#. Some efforts were made to ease the translators' task, please
|
||||
#. continue.
|
||||
#: src/getargs.c:83
|
||||
#: src/getargs.c:84
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr "GNU bison genereerib parsereid LALR(1) grammatikatele.\n"
|
||||
|
||||
#: src/getargs.c:87
|
||||
#: src/getargs.c:88
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr "Kasuta: %s [VÕTI]...FAIL\n"
|
||||
|
||||
#: src/getargs.c:91
|
||||
#: src/getargs.c:92
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
@@ -156,7 +159,7 @@ msgstr ""
|
||||
"Kui pikk võti näitab, et argument on kohustuslik, siis on see kohustuslik \n"
|
||||
"ka lühikese võtme korral. Sama ka vabalt valitavate võtmete korral.\n"
|
||||
|
||||
#: src/getargs.c:97
|
||||
#: src/getargs.c:98
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
@@ -168,7 +171,7 @@ msgstr ""
|
||||
" -V, --version esita versiooniinfo ja lõpeta töö\n"
|
||||
" -y, --yacc emuleeri POSIX yacc\n"
|
||||
|
||||
#: src/getargs.c:104
|
||||
#: src/getargs.c:105
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
@@ -188,14 +191,14 @@ msgstr ""
|
||||
" -n, --no-parser genereeri ainult tabelid\n"
|
||||
" -k, --token-table lisa ka sümbolite nimede tabel\n"
|
||||
|
||||
#: src/getargs.c:116
|
||||
#: src/getargs.c:117
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
" -d, --defines also produce a header file\n"
|
||||
" -v, --verbose also produce an explanation of the automaton\n"
|
||||
" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
|
||||
" -o, --output-file=FILE leave output to FILE\n"
|
||||
" -g, --graph also produce a VCG graph description of the "
|
||||
" -o, --output=FILE leave output to FILE\n"
|
||||
" -g, --graph also produce a VCG description of the "
|
||||
"automaton\n"
|
||||
msgstr ""
|
||||
"Väljund:\n"
|
||||
@@ -205,25 +208,25 @@ msgstr ""
|
||||
" -o, --output-file=FAIL jäta väljund FAILi\n"
|
||||
" -g, --graph loo automaadi kirjeldus VCG graafina\n"
|
||||
|
||||
#: src/getargs.c:126
|
||||
#: src/getargs.c:127
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr "Teatage palun vigadest aadressil <[email protected]>.\n"
|
||||
|
||||
#. Some efforts were made to ease the translators' task, please
|
||||
#. continue.
|
||||
#: src/getargs.c:140
|
||||
#: src/getargs.c:141
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:145
|
||||
#: src/getargs.c:146
|
||||
msgid ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
msgstr ""
|
||||
"Autoriõigus 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, "
|
||||
"Inc.\n"
|
||||
|
||||
#: src/getargs.c:149
|
||||
#: src/getargs.c:150
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
@@ -231,22 +234,22 @@ msgstr ""
|
||||
"See on vaba tarkvara; kopeerimistingimused leiate lähtetekstidest. Garantii\n"
|
||||
"PUUDUB; ka müügiks või mingil eesmärgil kasutamiseks.\n"
|
||||
|
||||
#: src/getargs.c:214 src/lex.c:650
|
||||
#: src/getargs.c:215 src/lex.c:694
|
||||
#, c-format
|
||||
msgid "`%s' is no longer supported"
|
||||
msgstr "`%s' ei ole enam toetatud"
|
||||
|
||||
#: src/getargs.c:238
|
||||
#: src/getargs.c:239
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Lisainfo saamiseks proovige `%s --help'.\n"
|
||||
|
||||
#: src/getargs.c:245
|
||||
#: src/getargs.c:246
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: puudub grammatikafail\n"
|
||||
|
||||
#: src/getargs.c:249
|
||||
#: src/getargs.c:250
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: ignoreerin lisaargumente peale `%s'\n"
|
||||
@@ -256,50 +259,60 @@ msgstr "%s: ignoreerin lisaargumente peale `%s'\n"
|
||||
msgid "too many gotos (max %d)"
|
||||
msgstr "liiga palju gotosid (maks %d)"
|
||||
|
||||
#: src/lex.c:78
|
||||
#: src/lex.c:76
|
||||
msgid "unexpected `/' found and ignored"
|
||||
msgstr "leidsin ja ignoreerin ootamatu `/'"
|
||||
|
||||
#: src/lex.c:107 src/reader.c:269
|
||||
#: src/lex.c:105 src/reader.c:269
|
||||
msgid "unterminated comment"
|
||||
msgstr "lõpetamata kommentaar"
|
||||
|
||||
#: src/lex.c:139
|
||||
#: src/lex.c:137
|
||||
msgid "unexpected end of file"
|
||||
msgstr "ootamatu faililõpp"
|
||||
|
||||
#: src/lex.c:168
|
||||
#: src/lex.c:166
|
||||
msgid "unescaped newline in constant"
|
||||
msgstr "paojadata reavahetus konstandis"
|
||||
|
||||
#: src/lex.c:210
|
||||
#: src/lex.c:208
|
||||
#, c-format
|
||||
msgid "octal value outside range 0...255: `\\%o'"
|
||||
msgstr "kaheksandväärtus väljaspool piire 0...255: `\\%o'"
|
||||
|
||||
#: src/lex.c:235
|
||||
#: src/lex.c:233
|
||||
#, c-format
|
||||
msgid "hexadecimal value above 255: `\\x%x'"
|
||||
msgstr "kuueteistkümnendväärtus suurem, kui above 255: `\\x%x'"
|
||||
|
||||
#: src/lex.c:247
|
||||
#: src/lex.c:245
|
||||
#, c-format
|
||||
msgid "unknown escape sequence: `\\' followed by `%s'"
|
||||
msgstr "tundmatu paojada: `\\' järgneb `%s'"
|
||||
|
||||
#: src/lex.c:343
|
||||
#: src/lex.c:342
|
||||
msgid "unterminated type name at end of file"
|
||||
msgstr "lõpetamata tüübinimi faili lõpus"
|
||||
|
||||
#: src/lex.c:346
|
||||
#: src/lex.c:345
|
||||
msgid "unterminated type name"
|
||||
msgstr "lõpetamata tüübinimi"
|
||||
|
||||
#: src/lex.c:437
|
||||
#: src/lex.c:438
|
||||
msgid "use \"...\" for multi-character literal tokens"
|
||||
msgstr "kasuta mitmesümboliliste literaalidega \"...\" konstruktsiooni"
|
||||
|
||||
#: src/main.c:125
|
||||
#: src/lex.c:667
|
||||
#, c-format
|
||||
msgid "`%s' supports no argument: %s"
|
||||
msgstr "`%s' ei toeta argumente: %s"
|
||||
|
||||
#: src/lex.c:683
|
||||
#, c-format
|
||||
msgid "`%s' requires an argument"
|
||||
msgstr "võti `%s' nõuab argumenti"
|
||||
|
||||
#: src/main.c:128
|
||||
#, c-format
|
||||
msgid "%s: internal error: %s\n"
|
||||
msgstr "%s: sisemine viga: %s\n"
|
||||
@@ -313,77 +326,77 @@ msgstr "Entering set_nullable"
|
||||
msgid "maximum table size (%d) exceeded"
|
||||
msgstr "ületati maksimaalset tabelisuurust (%d)"
|
||||
|
||||
#: src/print.c:37
|
||||
#: src/print.c:38
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " tüüp %d on %s\n"
|
||||
|
||||
#: src/print.c:85
|
||||
#: src/print.c:86
|
||||
#, c-format
|
||||
msgid " (rule %d)"
|
||||
msgstr " (reegel %d)"
|
||||
|
||||
#: src/print.c:111
|
||||
#: src/print.c:112
|
||||
msgid " $default\taccept\n"
|
||||
msgstr " $default\taktsepteerin\n"
|
||||
|
||||
#: src/print.c:113
|
||||
#: src/print.c:114
|
||||
msgid " NO ACTIONS\n"
|
||||
msgstr " TEGEVUSI POLE\n"
|
||||
|
||||
#: src/print.c:132
|
||||
#: src/print.c:133
|
||||
#, c-format
|
||||
msgid " $ \tgo to state %d\n"
|
||||
msgstr " $ \tliigu olekule %d\n"
|
||||
|
||||
#: src/print.c:135
|
||||
#: src/print.c:136
|
||||
#, c-format
|
||||
msgid " %-4s\tshift, and go to state %d\n"
|
||||
msgstr " %-4s\tnihuta ja liigu olekule %d\n"
|
||||
|
||||
#: src/print.c:159
|
||||
#: src/print.c:160
|
||||
#, c-format
|
||||
msgid " %-4s\terror (nonassociative)\n"
|
||||
msgstr " %-4s\tviga (mitteassotsiatiivne)\n"
|
||||
|
||||
#: src/print.c:187
|
||||
#: src/print.c:188
|
||||
#, c-format
|
||||
msgid " %-4s\tgo to state %d\n"
|
||||
msgstr " %-4s\tliigu olekule %d\n"
|
||||
|
||||
#: src/print.c:199
|
||||
#: src/print.c:200
|
||||
#, c-format
|
||||
msgid "state %d"
|
||||
msgstr "olek %d"
|
||||
|
||||
#. rule # : LHS -> RHS
|
||||
#: src/print.c:229
|
||||
#: src/print.c:230
|
||||
msgid "Grammar"
|
||||
msgstr "Grammatika"
|
||||
|
||||
#: src/print.c:234
|
||||
#: src/print.c:235
|
||||
#, c-format
|
||||
msgid "rule %-4d %s ->"
|
||||
msgstr "reegel %-4d %s ->"
|
||||
|
||||
#: src/print.c:240
|
||||
#: src/print.c:241
|
||||
msgid "empty"
|
||||
msgstr ""
|
||||
msgstr "tühi"
|
||||
|
||||
#. TERMINAL (type #) : rule #s terminal is on RHS
|
||||
#: src/print.c:244
|
||||
#: src/print.c:246
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr "Terminalid, koos reeglitega, kus nad ilmuvad"
|
||||
|
||||
#: src/print.c:268
|
||||
#: src/print.c:270
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr "Mitteterminalid, koos reeglitega, kus nad ilmuvad"
|
||||
|
||||
#: src/print.c:294
|
||||
#: src/print.c:296
|
||||
msgid " on left:"
|
||||
msgstr " vasakul:"
|
||||
|
||||
#: src/print.c:309
|
||||
#: src/print.c:311
|
||||
msgid " on right:"
|
||||
msgstr " paremal:"
|
||||
|
||||
@@ -457,7 +470,7 @@ msgstr "s
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "sümbol %s on uuesti defineeritud"
|
||||
|
||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1285
|
||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1294
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "%s tüübi uuesti deklareerimine"
|
||||
@@ -467,12 +480,12 @@ msgstr "%s t
|
||||
msgid "`%s' is invalid in %s"
|
||||
msgstr "`%s' ei ole %s sees lubatud"
|
||||
|
||||
#: src/reader.c:558 src/reader.c:717
|
||||
#: src/reader.c:558 src/reader.c:723
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "korduvad %s deklaratsioonid"
|
||||
|
||||
#: src/reader.c:560 src/reader.c:897 src/reader.c:922 src/reader.c:1263
|
||||
#: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1272
|
||||
#, c-format
|
||||
msgid "invalid %s declaration"
|
||||
msgstr "vigane %s deklaratsioon"
|
||||
@@ -501,139 +514,139 @@ msgstr "vigane tekst (%s) - number peab olema peale identifikaatorit"
|
||||
msgid "unexpected item: %s"
|
||||
msgstr "ootamatu element: %s"
|
||||
|
||||
#: src/reader.c:760 src/reader.c:1089 src/reader.c:1160
|
||||
#: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
|
||||
#, c-format
|
||||
msgid "unmatched %s"
|
||||
msgstr "puudub %s"
|
||||
|
||||
#: src/reader.c:792
|
||||
#: src/reader.c:798
|
||||
#, c-format
|
||||
msgid "argument of %%expect is not an integer"
|
||||
msgstr "%%expect argument ei ole täisarv"
|
||||
|
||||
#: src/reader.c:838
|
||||
#: src/reader.c:844
|
||||
#, c-format
|
||||
msgid "unrecognized item %s, expected an identifier"
|
||||
msgstr "tundmatu element %s, eeldasin identifikaatorit"
|
||||
|
||||
#: src/reader.c:862
|
||||
#: src/reader.c:866
|
||||
#, c-format
|
||||
msgid "expected string constant instead of %s"
|
||||
msgstr "eeldasin %s asemel sõnekonstanti"
|
||||
|
||||
#: src/reader.c:1005
|
||||
#: src/reader.c:1014
|
||||
#, c-format
|
||||
msgid "unrecognized: %s"
|
||||
msgstr "tundmatu: %s"
|
||||
|
||||
#: src/reader.c:1010
|
||||
#: src/reader.c:1019
|
||||
msgid "no input grammar"
|
||||
msgstr "sisendgrammatikat pole"
|
||||
|
||||
#: src/reader.c:1015
|
||||
#: src/reader.c:1024
|
||||
#, c-format
|
||||
msgid "unknown character: %s"
|
||||
msgstr "tundmatu sümbol: %s"
|
||||
|
||||
#: src/reader.c:1183
|
||||
#: src/reader.c:1192
|
||||
#, c-format
|
||||
msgid "unterminated %guard clause"
|
||||
msgstr "lõpetamata %guard klausel"
|
||||
|
||||
#: src/reader.c:1350
|
||||
#: src/reader.c:1359
|
||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||
msgstr "vigaselt formeeritud reegel: algsümbolile ei järgne koolonit"
|
||||
|
||||
#: src/reader.c:1357
|
||||
#: src/reader.c:1366
|
||||
msgid "grammar starts with vertical bar"
|
||||
msgstr "grammatika algab püstkriipsuga"
|
||||
|
||||
#: src/reader.c:1388
|
||||
#: src/reader.c:1397
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "%s jaoks on antud reegel, aga see on märk"
|
||||
|
||||
#: src/reader.c:1490
|
||||
#: src/reader.c:1499
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "kaks @prec ühel real"
|
||||
|
||||
#: src/reader.c:1498
|
||||
#: src/reader.c:1507
|
||||
#, c-format
|
||||
msgid "%%guard present but %%semantic_parser not specified"
|
||||
msgstr "%%guard on määratud, aga %%semantic_parser ei ole"
|
||||
|
||||
#: src/reader.c:1507
|
||||
#: src/reader.c:1516
|
||||
msgid "two actions at end of one rule"
|
||||
msgstr "kaks tegevust ühe reegli lõpus"
|
||||
|
||||
#: src/reader.c:1521
|
||||
#: src/reader.c:1530
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "vaikimisi tegevuse tüübikonflikt (`%s' `%s')"
|
||||
|
||||
#: src/reader.c:1527
|
||||
#: src/reader.c:1536
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "tüübiga mitteterminalil on tühi reegel ja puudub tegevus"
|
||||
|
||||
#: src/reader.c:1571
|
||||
#: src/reader.c:1580
|
||||
#, c-format
|
||||
msgid "invalid input: %s"
|
||||
msgstr "vigane sisend: %s"
|
||||
|
||||
#: src/reader.c:1579
|
||||
#: src/reader.c:1588
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "liiga palju sümboleid (märgid ja mitteterminalid); maksimaalne on %d"
|
||||
|
||||
#: src/reader.c:1582
|
||||
#: src/reader.c:1591
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "sisendgrammatikas pole reegleid"
|
||||
|
||||
#: src/reader.c:1606
|
||||
#: src/reader.c:1615
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"kasutatakse sümbolit %s, mis ei ole defineeritud märgina ja millel puuduvad "
|
||||
"reeglid"
|
||||
|
||||
#: src/reader.c:1712
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "%s ja %s omavad konfliktseid prioriteete"
|
||||
|
||||
#: src/reader.c:1724
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "%s ja %s omavad konfliktseid assotsiatiivseid väärtuseid"
|
||||
|
||||
#: src/reader.c:1770
|
||||
#: src/reader.c:1707
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "märkidele %s ja %s on mõlemale omistatud number %d"
|
||||
|
||||
#: src/reader.c:1782
|
||||
#: src/reader.c:1760
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "%s ja %s omavad konfliktseid prioriteete"
|
||||
|
||||
#: src/reader.c:1772
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "%s ja %s omavad konfliktseid assotsiatiivseid väärtuseid"
|
||||
|
||||
#: src/reader.c:1811
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "stardisümbol %s ei ole defineeritud"
|
||||
|
||||
#: src/reader.c:1784
|
||||
#: src/reader.c:1813
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "stardisümbol %s on märk"
|
||||
|
||||
#: src/reduce.c:401
|
||||
#: src/reduce.c:405
|
||||
msgid "Useless nonterminals:"
|
||||
msgstr "Kasutamata mitteterminalid:"
|
||||
|
||||
#: src/reduce.c:416
|
||||
#: src/reduce.c:419
|
||||
msgid "Terminals which are not used:"
|
||||
msgstr "Terminalid, mida ei kasutatud:"
|
||||
|
||||
#: src/reduce.c:427
|
||||
#: src/reduce.c:430
|
||||
msgid "Useless rules:"
|
||||
msgstr "Kasutamata reeglid:"
|
||||
|
||||
#: src/reduce.c:456
|
||||
#: src/reduce.c:458
|
||||
msgid ""
|
||||
"Variables\n"
|
||||
"---------\n"
|
||||
@@ -643,7 +656,7 @@ msgstr ""
|
||||
"--------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:458
|
||||
#: src/reduce.c:459
|
||||
msgid "Value Sprec Sassoc Tag\n"
|
||||
msgstr "Value Sprec Sassoc Tag\n"
|
||||
|
||||
@@ -657,7 +670,7 @@ msgstr ""
|
||||
"-------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:474
|
||||
#: src/reduce.c:473
|
||||
msgid ""
|
||||
"Rules interpreted\n"
|
||||
"-----------------\n"
|
||||
@@ -667,36 +680,31 @@ msgstr ""
|
||||
"------------------------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:491
|
||||
#: src/reduce.c:495
|
||||
#, c-format
|
||||
msgid "%d rules never reduced\n"
|
||||
msgstr "%d reeglit ei redutseeritud\n"
|
||||
|
||||
#: src/reduce.c:493
|
||||
#, c-format
|
||||
msgid "%s contains "
|
||||
msgstr "%s sisaldab "
|
||||
|
||||
#: src/reduce.c:497
|
||||
#: src/reduce.c:501
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal%s"
|
||||
msgstr "%d kasutamata mitteterminali%s"
|
||||
|
||||
#: src/reduce.c:502
|
||||
#: src/reduce.c:506
|
||||
msgid " and "
|
||||
msgstr " ja "
|
||||
|
||||
#: src/reduce.c:506
|
||||
#: src/reduce.c:510
|
||||
#, c-format
|
||||
msgid "%d useless rule%s"
|
||||
msgstr "%d kasutamata reeglit%s"
|
||||
|
||||
#: src/reduce.c:539
|
||||
#: src/reduce.c:540
|
||||
#, c-format
|
||||
msgid "Start symbol %s does not derive any sentence"
|
||||
msgstr "Stardisümbolist %s ei tuletata ühtegi lauset"
|
||||
|
||||
#: src/reduce.c:552
|
||||
#: src/reduce.c:553
|
||||
#, c-format
|
||||
msgid ""
|
||||
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
||||
@@ -704,68 +712,68 @@ msgstr ""
|
||||
"redutseeritud %s defineerib %d terminali%s, %d mitteterminali%s ja %d reeglit"
|
||||
"%s.\n"
|
||||
|
||||
#: lib/getopt.c:675
|
||||
#: lib/getopt.c:694
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: võti `%s' on segane\n"
|
||||
|
||||
#: lib/getopt.c:700
|
||||
#: lib/getopt.c:719
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: võti `--%s' ei luba argumenti\n"
|
||||
|
||||
#: lib/getopt.c:705
|
||||
#: lib/getopt.c:724
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: võti `%c%s' ei luba argumenti\n"
|
||||
|
||||
#: lib/getopt.c:723 lib/getopt.c:896
|
||||
#: lib/getopt.c:742 lib/getopt.c:915
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: võti `%s' nõuab argumenti\n"
|
||||
|
||||
#. --option
|
||||
#: lib/getopt.c:752
|
||||
#: lib/getopt.c:771
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: tundmatu võti `--%s'\n"
|
||||
|
||||
#. +option or -option
|
||||
#: lib/getopt.c:756
|
||||
#: lib/getopt.c:775
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: tundmatu võti `%c%s'\n"
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: lib/getopt.c:782
|
||||
#: lib/getopt.c:801
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: lubamatu võti -- %c\n"
|
||||
|
||||
#: lib/getopt.c:785
|
||||
#: lib/getopt.c:804
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: vigane võti -- %c\n"
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: lib/getopt.c:815 lib/getopt.c:945
|
||||
#: lib/getopt.c:834 lib/getopt.c:964
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: võti nõuab argumenti -- %c\n"
|
||||
|
||||
#: lib/getopt.c:862
|
||||
#: lib/getopt.c:881
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: võti `-W %s' on segane\n"
|
||||
|
||||
#: lib/getopt.c:880
|
||||
#: lib/getopt.c:899
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: võti `-W %s' ei luba argumenti\n"
|
||||
|
||||
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
|
||||
#. before exiting when memory is exhausted. Goes through gettext.
|
||||
#: lib/obstack.c:477 lib/xmalloc.c:66
|
||||
#: lib/obstack.c:494 lib/obstack.c:497 lib/xmalloc.c:66
|
||||
msgid "memory exhausted"
|
||||
msgstr "mälu on otsas"
|
||||
|
||||
@@ -790,12 +798,3 @@ msgstr "`"
|
||||
#: lib/quotearg.c:269
|
||||
msgid "'"
|
||||
msgstr "'"
|
||||
|
||||
#~ msgid "\t\t/* empty */"
|
||||
#~ msgstr "\t\t/* tühi */"
|
||||
|
||||
#~ msgid "multiple %%header_extension declarations"
|
||||
#~ msgstr "korduvad %%header_extension eklaratsioonid"
|
||||
|
||||
#~ msgid "multiple %%source_extension declarations"
|
||||
#~ msgstr "korduvad %%source_extension deklaratsioonid"
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU bison 1.28d\n"
|
||||
"POT-Creation-Date: 2001-10-02 18:30+0200\n"
|
||||
"PO-Revision-Date: 2001-08-29 20:00-0500\n"
|
||||
"Project-Id-Version: GNU bison 1.30a\n"
|
||||
"POT-Creation-Date: 2001-11-14 15:59+0100\n"
|
||||
"PO-Revision-Date: 2001-11-12 08:00-0500\n"
|
||||
"Last-Translator: Michel Robitaille <[email protected]>\n"
|
||||
"Language-Team: French <[email protected]>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -19,7 +19,7 @@ msgstr ""
|
||||
msgid "too many states (max %d)"
|
||||
msgstr "nombre trop grand d'états (max %d)"
|
||||
|
||||
#: lib/error.c:117 src/complain.c:96
|
||||
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
|
||||
msgid "Unknown system error"
|
||||
msgstr "Erreur système inconnue"
|
||||
|
||||
@@ -31,78 +31,79 @@ msgstr "AVERTISSEMENT: "
|
||||
msgid "fatal error: "
|
||||
msgstr "erreur fatale: "
|
||||
|
||||
#: src/conflicts.c:48
|
||||
#: src/conflicts.c:45
|
||||
#, c-format
|
||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||
msgstr ""
|
||||
"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"
|
||||
msgstr "réduction"
|
||||
|
||||
#: src/conflicts.c:120 src/conflicts.c:133
|
||||
#: src/conflicts.c:117 src/conflicts.c:130
|
||||
msgid "shift"
|
||||
msgstr "décalage"
|
||||
|
||||
#: src/conflicts.c:141
|
||||
#: src/conflicts.c:138
|
||||
msgid "an error"
|
||||
msgstr "une erreur"
|
||||
|
||||
#: src/conflicts.c:421
|
||||
msgid " 1 shift/reduce conflict"
|
||||
msgstr " 1 conflit décalage/réduction"
|
||||
#: src/conflicts.c:411
|
||||
#, fuzzy, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] " %d conflits décalage/réduction"
|
||||
|
||||
#: src/conflicts.c:426
|
||||
#, c-format
|
||||
msgid " %d shift/reduce conflicts"
|
||||
msgstr " %d conflits décalage/réduction"
|
||||
|
||||
#: src/conflicts.c:432
|
||||
msgid " and"
|
||||
#: src/conflicts.c:418
|
||||
#, fuzzy
|
||||
msgid "and"
|
||||
msgstr " et"
|
||||
|
||||
#: src/conflicts.c:438
|
||||
msgid " 1 reduce/reduce conflict"
|
||||
msgstr "1 conflit réduction/réduction"
|
||||
#: src/conflicts.c:424
|
||||
#, fuzzy, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] " %d conflits réduction/réduction"
|
||||
|
||||
#: src/conflicts.c:443
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce conflicts"
|
||||
msgstr " %d conflits réduction/réduction"
|
||||
|
||||
#: src/conflicts.c:480
|
||||
#, c-format
|
||||
msgid "State %d contains"
|
||||
#: src/conflicts.c:448
|
||||
#, fuzzy, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "L'état %d contient"
|
||||
|
||||
#. If invoked with `--yacc', use the output format specified by
|
||||
#. POSIX.
|
||||
#: src/conflicts.c:491
|
||||
#: src/conflicts.c:482
|
||||
msgid "conflicts: "
|
||||
msgstr "conflits: "
|
||||
|
||||
#: src/conflicts.c:493
|
||||
#: src/conflicts.c:484
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
msgstr " %d décalage/réduction"
|
||||
|
||||
#: src/conflicts.c:497
|
||||
#: src/conflicts.c:488
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
msgstr " %d réduction/réduction"
|
||||
|
||||
#: src/conflicts.c:502
|
||||
#: src/conflicts.c:493 src/reduce.c:497
|
||||
#, c-format
|
||||
msgid "%s contains"
|
||||
msgstr "%s contient"
|
||||
msgid "%s contains "
|
||||
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
|
||||
msgid " %-4s\t[reduce using rule %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
|
||||
msgid ""
|
||||
" $default\treduce using rule %d (%s)\n"
|
||||
@@ -116,7 +117,7 @@ msgstr ""
|
||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||
msgstr " %-4s\tréduction par la règle %d (%s)\n"
|
||||
|
||||
#: src/conflicts.c:730
|
||||
#: src/conflicts.c:729
|
||||
#, c-format
|
||||
msgid " $default\treduce using rule %d (%s)\n"
|
||||
msgstr " $défaut\tréduction par la règle %d (%s)\n"
|
||||
@@ -130,36 +131,36 @@ msgstr "D
|
||||
msgid "%s derives"
|
||||
msgstr "%s dérive"
|
||||
|
||||
#: src/files.c:133
|
||||
#: src/files.c:143
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "ne peut ouvrir le fichier `%s'"
|
||||
|
||||
#: src/files.c:152
|
||||
#: src/files.c:162
|
||||
msgid "cannot close file"
|
||||
msgstr "ne peut fermer le fichier"
|
||||
|
||||
#. Some efforts were made to ease the translators' task, please
|
||||
#. continue.
|
||||
#: src/getargs.c:83
|
||||
#: src/getargs.c:84
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr "GNU bison génère des analyseurs pour les grammaires de type LALR(1).\n"
|
||||
|
||||
#: src/getargs.c:87
|
||||
#: src/getargs.c:88
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr "Usage: %s [OPTION]... FICHIER\n"
|
||||
|
||||
#: src/getargs.c:91
|
||||
#: src/getargs.c:92
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
msgstr ""
|
||||
"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 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:97
|
||||
#: src/getargs.c:98
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
@@ -171,7 +172,7 @@ msgstr ""
|
||||
" -V, --version afficher le nom et la version du logiciel\n"
|
||||
" -y, --yacc émuler yacc en mode POSIX\n"
|
||||
|
||||
#: src/getargs.c:104
|
||||
#: src/getargs.c:105
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
@@ -193,42 +194,42 @@ msgstr ""
|
||||
" -r, --raw compter les jetons à partir de 3\n"
|
||||
" -k, --token-table inclure la table des noms de jetons\n"
|
||||
|
||||
#: src/getargs.c:116
|
||||
#: src/getargs.c:117
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
" -d, --defines also produce a header file\n"
|
||||
" -v, --verbose also produce an explanation of the automaton\n"
|
||||
" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
|
||||
" -o, --output-file=FILE leave output to FILE\n"
|
||||
" -g, --graph also produce a VCG graph description of the "
|
||||
" -o, --output=FILE leave output to FILE\n"
|
||||
" -g, --graph also produce a VCG description of the "
|
||||
"automaton\n"
|
||||
msgstr ""
|
||||
"Sortie:\n"
|
||||
" -d, --defines produire un fichier d'en-tête\n"
|
||||
" -v, --verbose produire une explication de l'automate\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 "
|
||||
"l'automate\n"
|
||||
|
||||
#: src/getargs.c:126
|
||||
#: src/getargs.c:127
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr "Rapporter toutes anomalies à <[email protected]>.\n"
|
||||
|
||||
#. Some efforts were made to ease the translators' task, please
|
||||
#. continue.
|
||||
#: src/getargs.c:140
|
||||
#: src/getargs.c:141
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:145
|
||||
#: src/getargs.c:146
|
||||
msgid ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
msgstr ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:149
|
||||
#: src/getargs.c:150
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
@@ -237,75 +238,85 @@ msgstr ""
|
||||
"reproduction. AUCUNE garantie n'est donnée; tant pour des raisons\n"
|
||||
"COMMERCIALES que pour RÉPONDRE À UN BESOIN PARTICULIER.\n"
|
||||
|
||||
#: src/getargs.c:214 src/lex.c:650
|
||||
#: src/getargs.c:215 src/lex.c:694
|
||||
#, c-format
|
||||
msgid "`%s' is no longer supported"
|
||||
msgstr "`%s' n'est plus supporté"
|
||||
|
||||
#: src/getargs.c:238
|
||||
#: src/getargs.c:239
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Pour en savoir davantage, faites: `%s --help'.\n"
|
||||
|
||||
#: src/getargs.c:245
|
||||
#: src/getargs.c:246
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: grammaire manquante\n"
|
||||
|
||||
#: src/getargs.c:249
|
||||
#: src/getargs.c:250
|
||||
#, c-format
|
||||
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
|
||||
#, c-format
|
||||
msgid "too many gotos (max %d)"
|
||||
msgstr "nombre trop grand de \"goto\" (Max %d)"
|
||||
|
||||
#: src/lex.c:78
|
||||
#: src/lex.c:76
|
||||
msgid "unexpected `/' found and ignored"
|
||||
msgstr "`/' inattendu et ignoré"
|
||||
|
||||
#: src/lex.c:107 src/reader.c:269
|
||||
#: src/lex.c:105 src/reader.c:269
|
||||
msgid "unterminated comment"
|
||||
msgstr "le commentaire ne se termine pas"
|
||||
|
||||
#: src/lex.c:139
|
||||
#: src/lex.c:137
|
||||
msgid "unexpected end of file"
|
||||
msgstr "Fin de fichier inattendue"
|
||||
|
||||
#: src/lex.c:168
|
||||
#: src/lex.c:166
|
||||
msgid "unescaped newline in constant"
|
||||
msgstr "retour de chariot sans échappement dans une constante"
|
||||
|
||||
#: src/lex.c:210
|
||||
#: src/lex.c:208
|
||||
#, c-format
|
||||
msgid "octal value outside range 0...255: `\\%o'"
|
||||
msgstr "valeur octale à l'extérieur de l'intervalle 0...255: \\%o"
|
||||
|
||||
#: src/lex.c:235
|
||||
#: src/lex.c:233
|
||||
#, c-format
|
||||
msgid "hexadecimal value above 255: `\\x%x'"
|
||||
msgstr "valeur hexadécimale supérieure à 255: \\x%x"
|
||||
|
||||
#: src/lex.c:247
|
||||
#: src/lex.c:245
|
||||
#, c-format
|
||||
msgid "unknown escape sequence: `\\' followed by `%s'"
|
||||
msgstr "séquence d'échappement inconnue: `\\' suivie de `%s'"
|
||||
|
||||
#: src/lex.c:343
|
||||
#: src/lex.c:342
|
||||
msgid "unterminated type name at end of file"
|
||||
msgstr "le nom de type ne se termine pas avant la fin de fichier"
|
||||
|
||||
#: src/lex.c:346
|
||||
#: src/lex.c:345
|
||||
msgid "unterminated type name"
|
||||
msgstr "le nom de type ne se termine pas"
|
||||
|
||||
#: src/lex.c:437
|
||||
#: src/lex.c:438
|
||||
msgid "use \"...\" for multi-character literal tokens"
|
||||
msgstr "utilisez \"...\" pour les terminaux litéraux de plusieurs caractères"
|
||||
|
||||
#: src/main.c:125
|
||||
#: src/lex.c:667
|
||||
#, c-format
|
||||
msgid "`%s' supports no argument: %s"
|
||||
msgstr "`%s' ne supporte aucun argument: %s"
|
||||
|
||||
#: src/lex.c:683
|
||||
#, c-format
|
||||
msgid "`%s' requires an argument"
|
||||
msgstr "`%s': requiert un argument"
|
||||
|
||||
#: src/main.c:128
|
||||
#, c-format
|
||||
msgid "%s: internal error: %s\n"
|
||||
msgstr "%s: erreur interne: %s\n"
|
||||
@@ -319,77 +330,77 @@ msgstr "Entr
|
||||
msgid "maximum table size (%d) exceeded"
|
||||
msgstr "taille maximale de la table (%d) dépassée"
|
||||
|
||||
#: src/print.c:37
|
||||
#: src/print.c:38
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " le type %d est %s\n"
|
||||
|
||||
#: src/print.c:85
|
||||
#: src/print.c:86
|
||||
#, c-format
|
||||
msgid " (rule %d)"
|
||||
msgstr " (règle %d)"
|
||||
|
||||
#: src/print.c:111
|
||||
#: src/print.c:112
|
||||
msgid " $default\taccept\n"
|
||||
msgstr " $défaut\taccepter\n"
|
||||
|
||||
#: src/print.c:113
|
||||
#: src/print.c:114
|
||||
msgid " NO ACTIONS\n"
|
||||
msgstr " PAS D'ACTION\n"
|
||||
|
||||
#: src/print.c:132
|
||||
#: src/print.c:133
|
||||
#, c-format
|
||||
msgid " $ \tgo to state %d\n"
|
||||
msgstr " $ \taller à l'état %d\n"
|
||||
|
||||
#: src/print.c:135
|
||||
#: src/print.c:136
|
||||
#, c-format
|
||||
msgid " %-4s\tshift, and go to state %d\n"
|
||||
msgstr " %-4s\tdécalage et aller à l'état %d\n"
|
||||
|
||||
#: src/print.c:159
|
||||
#: src/print.c:160
|
||||
#, c-format
|
||||
msgid " %-4s\terror (nonassociative)\n"
|
||||
msgstr " %-4s\terreur (non-associatif)\n"
|
||||
|
||||
#: src/print.c:187
|
||||
#: src/print.c:188
|
||||
#, c-format
|
||||
msgid " %-4s\tgo to state %d\n"
|
||||
msgstr " %-4s\taller à l'état %d\n"
|
||||
|
||||
#: src/print.c:199
|
||||
#: src/print.c:200
|
||||
#, c-format
|
||||
msgid "state %d"
|
||||
msgstr "état %d"
|
||||
|
||||
#. rule # : LHS -> RHS
|
||||
#: src/print.c:229
|
||||
#: src/print.c:230
|
||||
msgid "Grammar"
|
||||
msgstr "Grammaire"
|
||||
|
||||
#: src/print.c:234
|
||||
#: src/print.c:235
|
||||
#, c-format
|
||||
msgid "rule %-4d %s ->"
|
||||
msgstr "règle %-4d %s ->"
|
||||
|
||||
#: src/print.c:240
|
||||
#: src/print.c:241
|
||||
msgid "empty"
|
||||
msgstr ""
|
||||
msgstr "vide"
|
||||
|
||||
#. TERMINAL (type #) : rule #s terminal is on RHS
|
||||
#: src/print.c:244
|
||||
#: src/print.c:246
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr "Terminaux, suivis des règles où ils apparaissent"
|
||||
|
||||
#: src/print.c:268
|
||||
#: src/print.c:270
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr "Non-terminaux, suivis des règles où ils apparaissent"
|
||||
|
||||
#: src/print.c:294
|
||||
#: src/print.c:296
|
||||
msgid " on left:"
|
||||
msgstr " à gauche:"
|
||||
|
||||
#: src/print.c:309
|
||||
#: src/print.c:311
|
||||
msgid " on right:"
|
||||
msgstr " à droite:"
|
||||
|
||||
@@ -463,7 +474,7 @@ msgstr "symbole `%s' pr
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "symbole %s redéfini"
|
||||
|
||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1285
|
||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1294
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "redéclaration du type de %s"
|
||||
@@ -473,12 +484,12 @@ msgstr "red
|
||||
msgid "`%s' is invalid in %s"
|
||||
msgstr "`%s' n'est pas valide dans %s"
|
||||
|
||||
#: src/reader.c:558 src/reader.c:717
|
||||
#: src/reader.c:558 src/reader.c:723
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "multiples déclarations %s"
|
||||
|
||||
#: src/reader.c:560 src/reader.c:897 src/reader.c:922 src/reader.c:1263
|
||||
#: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1272
|
||||
#, c-format
|
||||
msgid "invalid %s declaration"
|
||||
msgstr "la déclaration %s n'est pas valide"
|
||||
@@ -508,139 +519,139 @@ msgstr ""
|
||||
msgid "unexpected item: %s"
|
||||
msgstr "item inattendu: %s"
|
||||
|
||||
#: src/reader.c:760 src/reader.c:1089 src/reader.c:1160
|
||||
#: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
|
||||
#, c-format
|
||||
msgid "unmatched %s"
|
||||
msgstr "non appariement de %s"
|
||||
|
||||
#: src/reader.c:792
|
||||
#: src/reader.c:798
|
||||
#, c-format
|
||||
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:838
|
||||
#: src/reader.c:844
|
||||
#, c-format
|
||||
msgid "unrecognized item %s, expected an identifier"
|
||||
msgstr "item %s non reconnu, un identificateur est attendu"
|
||||
|
||||
#: src/reader.c:862
|
||||
#: src/reader.c:866
|
||||
#, c-format
|
||||
msgid "expected string constant instead of %s"
|
||||
msgstr "chaîne de caractères constante attendue plutôt que %s"
|
||||
|
||||
#: src/reader.c:1005
|
||||
#: src/reader.c:1014
|
||||
#, c-format
|
||||
msgid "unrecognized: %s"
|
||||
msgstr "non reconnu: %s"
|
||||
|
||||
#: src/reader.c:1010
|
||||
#: src/reader.c:1019
|
||||
msgid "no input grammar"
|
||||
msgstr "aucune grammaire en entrée"
|
||||
|
||||
#: src/reader.c:1015
|
||||
#: src/reader.c:1024
|
||||
#, c-format
|
||||
msgid "unknown character: %s"
|
||||
msgstr "caractère inconnu: %s"
|
||||
|
||||
#: src/reader.c:1183
|
||||
#: src/reader.c:1192
|
||||
#, c-format
|
||||
msgid "unterminated %guard clause"
|
||||
msgstr "clause %guard non terminée"
|
||||
|
||||
#: src/reader.c:1350
|
||||
#: src/reader.c:1359
|
||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||
msgstr "règle mal formée: le symbole initial n'est pas suivi de `:'"
|
||||
|
||||
#: src/reader.c:1357
|
||||
#: src/reader.c:1366
|
||||
msgid "grammar starts with vertical bar"
|
||||
msgstr "la grammaire débute par une barre verticale"
|
||||
|
||||
#: src/reader.c:1388
|
||||
#: src/reader.c:1397
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "la règle pour %s, qui est un terminal"
|
||||
|
||||
#: src/reader.c:1490
|
||||
#: src/reader.c:1499
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "deux @prec de suite"
|
||||
|
||||
#: src/reader.c:1498
|
||||
#: src/reader.c:1507
|
||||
#, c-format
|
||||
msgid "%%guard present but %%semantic_parser not specified"
|
||||
msgstr "%%guard est présent mais %%semantic_parser n'est pas spécifié"
|
||||
|
||||
#: src/reader.c:1507
|
||||
#: src/reader.c:1516
|
||||
msgid "two actions at end of one rule"
|
||||
msgstr "deux actions à la fin d'une même règle"
|
||||
|
||||
#: src/reader.c:1521
|
||||
#: src/reader.c:1530
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "conflit de type (`%s' `%s') pour l'action par défaut"
|
||||
|
||||
#: src/reader.c:1527
|
||||
#: src/reader.c:1536
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "règle vide pour une catégorie typée et aucune action"
|
||||
|
||||
#: src/reader.c:1571
|
||||
#: src/reader.c:1580
|
||||
#, c-format
|
||||
msgid "invalid input: %s"
|
||||
msgstr "entrée non valide: %s"
|
||||
|
||||
#: src/reader.c:1579
|
||||
#: src/reader.c:1588
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "trop de symboles (jeton plus non terminaux); maximum %d"
|
||||
|
||||
#: src/reader.c:1582
|
||||
#: src/reader.c:1591
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "la grammaire n'a pas de règles"
|
||||
|
||||
#: src/reader.c:1606
|
||||
#: src/reader.c:1615
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"le symbole %s est utilisé mais ce n'est pas un terminal et il ne possède pas "
|
||||
"de règle"
|
||||
|
||||
#: src/reader.c:1712
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "les priorités pour %s et %s entrent en conflit"
|
||||
|
||||
#: src/reader.c:1724
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "les valeurs d'association de %s et %s entrent en conflit"
|
||||
|
||||
#: src/reader.c:1770
|
||||
#: src/reader.c:1707
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "les jetons %s et %s se sont vus assigner le nombre %d"
|
||||
|
||||
#: src/reader.c:1782
|
||||
#: src/reader.c:1760
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "les priorités pour %s et %s entrent en conflit"
|
||||
|
||||
#: src/reader.c:1772
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "les valeurs d'association de %s et %s entrent en conflit"
|
||||
|
||||
#: src/reader.c:1811
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "le symbole de départ %s n'est pas défini"
|
||||
|
||||
#: src/reader.c:1784
|
||||
#: src/reader.c:1813
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "le symbole de départ %s est un terminal"
|
||||
|
||||
#: src/reduce.c:401
|
||||
#: src/reduce.c:405
|
||||
msgid "Useless nonterminals:"
|
||||
msgstr "Non-terminaux inutiles:"
|
||||
|
||||
#: src/reduce.c:416
|
||||
#: src/reduce.c:419
|
||||
msgid "Terminals which are not used:"
|
||||
msgstr "Terminaux non utilisés:"
|
||||
|
||||
#: src/reduce.c:427
|
||||
#: src/reduce.c:430
|
||||
msgid "Useless rules:"
|
||||
msgstr "Règles inutiles:"
|
||||
|
||||
#: src/reduce.c:456
|
||||
#: src/reduce.c:458
|
||||
msgid ""
|
||||
"Variables\n"
|
||||
"---------\n"
|
||||
@@ -650,7 +661,7 @@ msgstr ""
|
||||
"---------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:458
|
||||
#: src/reduce.c:459
|
||||
msgid "Value Sprec Sassoc Tag\n"
|
||||
msgstr "Valeur Spréc Sassoc Tag\n"
|
||||
|
||||
@@ -664,7 +675,7 @@ msgstr ""
|
||||
"------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:474
|
||||
#: src/reduce.c:473
|
||||
msgid ""
|
||||
"Rules interpreted\n"
|
||||
"-----------------\n"
|
||||
@@ -674,36 +685,31 @@ msgstr ""
|
||||
"-------------------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:491
|
||||
#: src/reduce.c:495
|
||||
#, c-format
|
||||
msgid "%d rules never reduced\n"
|
||||
msgstr "%d règles jamais réduites\n"
|
||||
|
||||
#: src/reduce.c:493
|
||||
#, c-format
|
||||
msgid "%s contains "
|
||||
msgstr "%s contient "
|
||||
|
||||
#: src/reduce.c:497
|
||||
#: src/reduce.c:501
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal%s"
|
||||
msgstr "%d catégories non productives%s"
|
||||
|
||||
#: src/reduce.c:502
|
||||
#: src/reduce.c:506
|
||||
msgid " and "
|
||||
msgstr " et "
|
||||
|
||||
#: src/reduce.c:506
|
||||
#: src/reduce.c:510
|
||||
#, c-format
|
||||
msgid "%d useless rule%s"
|
||||
msgstr "%d règle(s) non productive(s)%s"
|
||||
|
||||
#: src/reduce.c:539
|
||||
#: src/reduce.c:540
|
||||
#, c-format
|
||||
msgid "Start symbol %s does not derive any sentence"
|
||||
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
|
||||
msgid ""
|
||||
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
||||
@@ -711,68 +717,68 @@ msgstr ""
|
||||
"la réduction de %s définit %d terminal%s, %d catégorie%s et %d production%"
|
||||
"s.\n"
|
||||
|
||||
#: lib/getopt.c:675
|
||||
#: lib/getopt.c:694
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: l'option %s est ambigüe\n"
|
||||
|
||||
#: lib/getopt.c:700
|
||||
#: lib/getopt.c:719
|
||||
#, c-format
|
||||
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:705
|
||||
#: lib/getopt.c:724
|
||||
#, c-format
|
||||
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:723 lib/getopt.c:896
|
||||
#: lib/getopt.c:742 lib/getopt.c:915
|
||||
#, c-format
|
||||
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
|
||||
#: lib/getopt.c:752
|
||||
#: lib/getopt.c:771
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: l'option --%s est inconnue\n"
|
||||
|
||||
#. +option or -option
|
||||
#: lib/getopt.c:756
|
||||
#: lib/getopt.c:775
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: l'option %c%s est inconnue\n"
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: lib/getopt.c:782
|
||||
#: lib/getopt.c:801
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: option illégale -- %c\n"
|
||||
|
||||
#: lib/getopt.c:785
|
||||
#: lib/getopt.c:804
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: option non valide -- %c\n"
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: lib/getopt.c:815 lib/getopt.c:945
|
||||
#: lib/getopt.c:834 lib/getopt.c:964
|
||||
#, c-format
|
||||
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:862
|
||||
#: lib/getopt.c:881
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: l'option `-W %s' est ambiguë\n"
|
||||
|
||||
#: lib/getopt.c:880
|
||||
#: lib/getopt.c:899
|
||||
#, c-format
|
||||
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
|
||||
#. before exiting when memory is exhausted. Goes through gettext.
|
||||
#: lib/obstack.c:477 lib/xmalloc.c:66
|
||||
#: lib/obstack.c:494 lib/obstack.c:497 lib/xmalloc.c:66
|
||||
msgid "memory exhausted"
|
||||
msgstr "mémoire épuisée"
|
||||
|
||||
@@ -798,6 +804,15 @@ msgstr "`"
|
||||
msgid "'"
|
||||
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 */"
|
||||
#~ msgstr "\t\t/* epsilon */"
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU bison 1.28\n"
|
||||
"POT-Creation-Date: 2001-10-02 18:30+0200\n"
|
||||
"POT-Creation-Date: 2001-11-14 15:59+0100\n"
|
||||
"PO-Revision-Date: 1999-09-28 21:10+0900\n"
|
||||
"Last-Translator: Daisuke Yamashita <[email protected]>\n"
|
||||
"Language-Team: Japanese <[email protected]>\n"
|
||||
@@ -18,7 +18,7 @@ msgstr ""
|
||||
msgid "too many states (max %d)"
|
||||
msgstr "%s の数が多すぎます (最大 %d)"
|
||||
|
||||
#: lib/error.c:117 src/complain.c:96
|
||||
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
|
||||
msgid "Unknown system error"
|
||||
msgstr ""
|
||||
|
||||
@@ -31,77 +31,78 @@ msgstr ""
|
||||
msgid "fatal error: "
|
||||
msgstr "%s: 致命的エラー: "
|
||||
|
||||
#: src/conflicts.c:48
|
||||
#: src/conflicts.c:45
|
||||
#, c-format
|
||||
msgid "Conflict in state %d between rule %d and token %s resolved as %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"
|
||||
msgstr "還元"
|
||||
|
||||
#: src/conflicts.c:120 src/conflicts.c:133
|
||||
#: src/conflicts.c:117 src/conflicts.c:130
|
||||
msgid "shift"
|
||||
msgstr "シフト"
|
||||
|
||||
#: src/conflicts.c:141
|
||||
#: src/conflicts.c:138
|
||||
msgid "an error"
|
||||
msgstr "エラー"
|
||||
|
||||
#: src/conflicts.c:421
|
||||
msgid " 1 shift/reduce conflict"
|
||||
msgstr " 1 シフト/還元衝突"
|
||||
#: src/conflicts.c:411
|
||||
#, fuzzy, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] " %d シフト/還元衝突"
|
||||
|
||||
#: src/conflicts.c:426
|
||||
#, c-format
|
||||
msgid " %d shift/reduce conflicts"
|
||||
msgstr " %d シフト/還元衝突"
|
||||
|
||||
#: src/conflicts.c:432
|
||||
msgid " and"
|
||||
#: src/conflicts.c:418
|
||||
#, fuzzy
|
||||
msgid "and"
|
||||
msgstr " および"
|
||||
|
||||
#: src/conflicts.c:438
|
||||
msgid " 1 reduce/reduce conflict"
|
||||
msgstr " 1 還元/還元衝突"
|
||||
#: src/conflicts.c:424
|
||||
#, fuzzy, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] " %d 還元/還元衝突"
|
||||
|
||||
#: src/conflicts.c:443
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce conflicts"
|
||||
msgstr " %d 還元/還元衝突"
|
||||
|
||||
#: src/conflicts.c:480
|
||||
#, c-format
|
||||
msgid "State %d contains"
|
||||
#: src/conflicts.c:448
|
||||
#, fuzzy, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "状態 %d が含むのは"
|
||||
|
||||
#. If invoked with `--yacc', use the output format specified by
|
||||
#. POSIX.
|
||||
#: src/conflicts.c:491
|
||||
#: src/conflicts.c:482
|
||||
msgid "conflicts: "
|
||||
msgstr "衝突: "
|
||||
|
||||
#: src/conflicts.c:493
|
||||
#: src/conflicts.c:484
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
msgstr " %d シフト/還元"
|
||||
|
||||
#: src/conflicts.c:497
|
||||
#: src/conflicts.c:488
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
msgstr " %d 還元/還元"
|
||||
|
||||
#: src/conflicts.c:502
|
||||
#: src/conflicts.c:493 src/reduce.c:497
|
||||
#, c-format
|
||||
msgid "%s contains"
|
||||
msgstr "%s には、"
|
||||
msgid "%s contains "
|
||||
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
|
||||
msgid " %-4s\t[reduce using rule %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
|
||||
msgid ""
|
||||
" $default\treduce using rule %d (%s)\n"
|
||||
@@ -115,7 +116,7 @@ msgstr ""
|
||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||
msgstr " %-4s\t規則 %d を利用して還元 (%s)\n"
|
||||
|
||||
#: src/conflicts.c:730
|
||||
#: src/conflicts.c:729
|
||||
#, c-format
|
||||
msgid " $default\treduce using rule %d (%s)\n"
|
||||
msgstr " $default\t規則 %d を利用して還元 (%s)\n"
|
||||
@@ -135,33 +136,33 @@ msgstr ""
|
||||
msgid "%s derives"
|
||||
msgstr "%s は以下から派生"
|
||||
|
||||
#: src/files.c:133
|
||||
#: src/files.c:143
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: src/files.c:152
|
||||
#: src/files.c:162
|
||||
msgid "cannot close file"
|
||||
msgstr ""
|
||||
|
||||
#. Some efforts were made to ease the translators' task, please
|
||||
#. continue.
|
||||
#: src/getargs.c:83
|
||||
#: src/getargs.c:84
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:87
|
||||
#: src/getargs.c:88
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:91
|
||||
#: src/getargs.c:92
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:97
|
||||
#: src/getargs.c:98
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
@@ -169,7 +170,7 @@ msgid ""
|
||||
" -y, --yacc emulate POSIX yacc\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:104
|
||||
#: src/getargs.c:105
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
@@ -181,55 +182,55 @@ msgid ""
|
||||
" -k, --token-table include a table of token names\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:116
|
||||
#: src/getargs.c:117
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
" -d, --defines also produce a header file\n"
|
||||
" -v, --verbose also produce an explanation of the automaton\n"
|
||||
" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
|
||||
" -o, --output-file=FILE leave output to FILE\n"
|
||||
" -g, --graph also produce a VCG graph description of the "
|
||||
" -o, --output=FILE leave output to FILE\n"
|
||||
" -g, --graph also produce a VCG description of the "
|
||||
"automaton\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:126
|
||||
#: src/getargs.c:127
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr ""
|
||||
|
||||
#. Some efforts were made to ease the translators' task, please
|
||||
#. continue.
|
||||
#: src/getargs.c:140
|
||||
#: src/getargs.c:141
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:145
|
||||
#: src/getargs.c:146
|
||||
msgid ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:149
|
||||
#: src/getargs.c:150
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:214 src/lex.c:650
|
||||
#: src/getargs.c:215 src/lex.c:694
|
||||
#, c-format
|
||||
msgid "`%s' is no longer supported"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:238
|
||||
#: src/getargs.c:239
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:245
|
||||
#: src/getargs.c:246
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: 文法ファイルが指定されていません\n"
|
||||
|
||||
#: src/getargs.c:249
|
||||
#: src/getargs.c:250
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: '%s' より後ろの余分な引数は無視されました\n"
|
||||
@@ -239,51 +240,61 @@ msgstr "%s: '%s'
|
||||
msgid "too many gotos (max %d)"
|
||||
msgstr "%s の数が多すぎます (最大 %d)"
|
||||
|
||||
#: src/lex.c:78
|
||||
#: src/lex.c:76
|
||||
msgid "unexpected `/' found and ignored"
|
||||
msgstr "予期しない `/' が見つかり、無視されました"
|
||||
|
||||
#: src/lex.c:107 src/reader.c:269
|
||||
#: src/lex.c:105 src/reader.c:269
|
||||
msgid "unterminated comment"
|
||||
msgstr "閉じていないコメントです"
|
||||
|
||||
#: src/lex.c:139
|
||||
#: src/lex.c:137
|
||||
#, fuzzy
|
||||
msgid "unexpected end of file"
|
||||
msgstr "予期しないファイルの終端です"
|
||||
|
||||
#: src/lex.c:168
|
||||
#: src/lex.c:166
|
||||
msgid "unescaped newline in constant"
|
||||
msgstr "定数の中にエスケープされていない改行があります"
|
||||
|
||||
#: src/lex.c:210
|
||||
#: src/lex.c:208
|
||||
#, c-format
|
||||
msgid "octal value outside range 0...255: `\\%o'"
|
||||
msgstr "8 進数の値が 0...255 の範囲外です: `\\%o'"
|
||||
|
||||
#: src/lex.c:235
|
||||
#: src/lex.c:233
|
||||
#, c-format
|
||||
msgid "hexadecimal value above 255: `\\x%x'"
|
||||
msgstr "16 進数の値が 255 を越えています: `\\x%x'"
|
||||
|
||||
#: src/lex.c:247
|
||||
#: src/lex.c:245
|
||||
#, c-format
|
||||
msgid "unknown escape sequence: `\\' followed by `%s'"
|
||||
msgstr "未知のエスケープシーケンス: `\\' の後に `%s'"
|
||||
|
||||
#: src/lex.c:343
|
||||
#: src/lex.c:342
|
||||
msgid "unterminated type name at end of file"
|
||||
msgstr "閉じられていないタイプ名が、ファイル末尾にあります"
|
||||
|
||||
#: src/lex.c:346
|
||||
#: src/lex.c:345
|
||||
msgid "unterminated type name"
|
||||
msgstr "閉じられていないタイプ名があります"
|
||||
|
||||
#: src/lex.c:437
|
||||
#: src/lex.c:438
|
||||
msgid "use \"...\" for multi-character literal tokens"
|
||||
msgstr "複数文字のリテラルトークンには \"...\" を使いましょう"
|
||||
|
||||
#: src/main.c:125
|
||||
#: src/lex.c:667
|
||||
#, c-format
|
||||
msgid "`%s' supports no argument: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/lex.c:683
|
||||
#, fuzzy, c-format
|
||||
msgid "`%s' requires an argument"
|
||||
msgstr "%s: オプション `%s' は引数を要求します\n"
|
||||
|
||||
#: src/main.c:128
|
||||
#, c-format
|
||||
msgid "%s: internal error: %s\n"
|
||||
msgstr "%s: 内部エラー: %s\n"
|
||||
@@ -297,45 +308,45 @@ msgstr "set_nullable
|
||||
msgid "maximum table size (%d) exceeded"
|
||||
msgstr "最大テーブルサイズ (%s) を超えました"
|
||||
|
||||
#: src/print.c:37
|
||||
#: src/print.c:38
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " タイプ %d は %s です\n"
|
||||
|
||||
#: src/print.c:85
|
||||
#: src/print.c:86
|
||||
#, c-format
|
||||
msgid " (rule %d)"
|
||||
msgstr " (規則 %d)"
|
||||
|
||||
#: src/print.c:111
|
||||
#: src/print.c:112
|
||||
msgid " $default\taccept\n"
|
||||
msgstr " $default\taccept\n"
|
||||
|
||||
#: src/print.c:113
|
||||
#: src/print.c:114
|
||||
msgid " NO ACTIONS\n"
|
||||
msgstr " 動作無し\n"
|
||||
|
||||
#: src/print.c:132
|
||||
#: src/print.c:133
|
||||
#, c-format
|
||||
msgid " $ \tgo to state %d\n"
|
||||
msgstr " $ \t状態 %d へ\n"
|
||||
|
||||
#: src/print.c:135
|
||||
#: src/print.c:136
|
||||
#, c-format
|
||||
msgid " %-4s\tshift, and go to state %d\n"
|
||||
msgstr " %-4s\tシフト、および状態 %d へ\n"
|
||||
|
||||
#: src/print.c:159
|
||||
#: src/print.c:160
|
||||
#, c-format
|
||||
msgid " %-4s\terror (nonassociative)\n"
|
||||
msgstr " %-4s\tエラー (非結合)\n"
|
||||
|
||||
#: src/print.c:187
|
||||
#: src/print.c:188
|
||||
#, c-format
|
||||
msgid " %-4s\tgo to state %d\n"
|
||||
msgstr " %-4s\t状態 %d へ\n"
|
||||
|
||||
#: src/print.c:199
|
||||
#: src/print.c:200
|
||||
#, fuzzy, c-format
|
||||
msgid "state %d"
|
||||
msgstr ""
|
||||
@@ -345,24 +356,24 @@ msgstr ""
|
||||
"\n"
|
||||
|
||||
#. rule # : LHS -> RHS
|
||||
#: src/print.c:229
|
||||
#: src/print.c:230
|
||||
#, fuzzy
|
||||
msgid "Grammar"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"文法\n"
|
||||
|
||||
#: src/print.c:234
|
||||
#: src/print.c:235
|
||||
#, c-format
|
||||
msgid "rule %-4d %s ->"
|
||||
msgstr "規則 %-4d %s ->"
|
||||
|
||||
#: src/print.c:240
|
||||
#: src/print.c:241
|
||||
msgid "empty"
|
||||
msgstr ""
|
||||
|
||||
#. TERMINAL (type #) : rule #s terminal is on RHS
|
||||
#: src/print.c:244
|
||||
#: src/print.c:246
|
||||
#, fuzzy
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr ""
|
||||
@@ -370,7 +381,7 @@ msgstr ""
|
||||
"終端トークン、およびそこに現れた規則\n"
|
||||
"\n"
|
||||
|
||||
#: src/print.c:268
|
||||
#: src/print.c:270
|
||||
#, fuzzy
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr ""
|
||||
@@ -378,11 +389,11 @@ msgstr ""
|
||||
"非終端トークン、およびそこに現れた規則\n"
|
||||
"\n"
|
||||
|
||||
#: src/print.c:294
|
||||
#: src/print.c:296
|
||||
msgid " on left:"
|
||||
msgstr " 左辺:"
|
||||
|
||||
#: src/print.c:309
|
||||
#: src/print.c:311
|
||||
msgid " on right:"
|
||||
msgstr " 右辺:"
|
||||
|
||||
@@ -456,7 +467,7 @@ msgstr ""
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "シンボル %s が再定義されました"
|
||||
|
||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1285
|
||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1294
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "%s の型が再定義されました"
|
||||
@@ -466,12 +477,12 @@ msgstr "%s
|
||||
msgid "`%s' is invalid in %s"
|
||||
msgstr "%2$s 内の `%1$s' は無効です"
|
||||
|
||||
#: src/reader.c:558 src/reader.c:717
|
||||
#: src/reader.c:558 src/reader.c:723
|
||||
#, fuzzy, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "複数の %start が宣言されました"
|
||||
|
||||
#: src/reader.c:560 src/reader.c:897 src/reader.c:922 src/reader.c:1263
|
||||
#: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1272
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid %s declaration"
|
||||
msgstr "無効な %start が宣言されました"
|
||||
@@ -500,134 +511,134 @@ msgstr "̵
|
||||
msgid "unexpected item: %s"
|
||||
msgstr "予期せぬアイテム: %s"
|
||||
|
||||
#: src/reader.c:760 src/reader.c:1089 src/reader.c:1160
|
||||
#: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
|
||||
#, fuzzy, c-format
|
||||
msgid "unmatched %s"
|
||||
msgstr "対応のない `{' です"
|
||||
|
||||
#: src/reader.c:792
|
||||
#: src/reader.c:798
|
||||
#, fuzzy, c-format
|
||||
msgid "argument of %%expect is not an integer"
|
||||
msgstr "%expect の引数が整数値ではありません"
|
||||
|
||||
#: src/reader.c:838
|
||||
#: src/reader.c:844
|
||||
#, c-format
|
||||
msgid "unrecognized item %s, expected an identifier"
|
||||
msgstr "認識できないアイテム %s、ここでは識別子が期待されます"
|
||||
|
||||
#: src/reader.c:862
|
||||
#: src/reader.c:866
|
||||
#, c-format
|
||||
msgid "expected string constant instead of %s"
|
||||
msgstr "ここでは %s ではなく文字列定数が期待されます"
|
||||
|
||||
#: src/reader.c:1005
|
||||
#: src/reader.c:1014
|
||||
#, c-format
|
||||
msgid "unrecognized: %s"
|
||||
msgstr "認識できない: %s"
|
||||
|
||||
#: src/reader.c:1010
|
||||
#: src/reader.c:1019
|
||||
msgid "no input grammar"
|
||||
msgstr "文法の入力が無い"
|
||||
|
||||
#: src/reader.c:1015
|
||||
#: src/reader.c:1024
|
||||
#, c-format
|
||||
msgid "unknown character: %s"
|
||||
msgstr "未知の文字: %s"
|
||||
|
||||
#: src/reader.c:1183
|
||||
#: src/reader.c:1192
|
||||
#, fuzzy, c-format
|
||||
msgid "unterminated %guard clause"
|
||||
msgstr "閉じられていない %%guard 節です"
|
||||
|
||||
#: src/reader.c:1350
|
||||
#: src/reader.c:1359
|
||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||
msgstr "邪悪な規則: 初期化シンボルにコロン (:) が続いていません"
|
||||
|
||||
#: src/reader.c:1357
|
||||
#: src/reader.c:1366
|
||||
msgid "grammar starts with vertical bar"
|
||||
msgstr "文法は縦棒 (|) で始めます"
|
||||
|
||||
#: src/reader.c:1388
|
||||
#: src/reader.c:1397
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "%s に規則が与えられ、それはトークンとなります"
|
||||
|
||||
#: src/reader.c:1490
|
||||
#: src/reader.c:1499
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "@prec のもの二つが同列になっています"
|
||||
|
||||
#: src/reader.c:1498
|
||||
#: src/reader.c:1507
|
||||
#, c-format
|
||||
msgid "%%guard present but %%semantic_parser not specified"
|
||||
msgstr "%%guard がありますが %%semantic_parser が指定されていません"
|
||||
|
||||
#: src/reader.c:1507
|
||||
#: src/reader.c:1516
|
||||
msgid "two actions at end of one rule"
|
||||
msgstr "一つの規則の終りに二つの動作を指定しています"
|
||||
|
||||
#: src/reader.c:1521
|
||||
#: src/reader.c:1530
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "初期状態の動作では型 (`%s' `%s') が衝突します"
|
||||
|
||||
#: src/reader.c:1527
|
||||
#: src/reader.c:1536
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "空の型付き非終端アイテム用規則であり、動作が起りません"
|
||||
|
||||
#: src/reader.c:1571
|
||||
#: src/reader.c:1580
|
||||
#, c-format
|
||||
msgid "invalid input: %s"
|
||||
msgstr "無効な入力: %s"
|
||||
|
||||
#: src/reader.c:1579
|
||||
#: src/reader.c:1588
|
||||
#, fuzzy, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "シンボルが多すぎます (トークンと非終端アイテム) -- 最大 %s"
|
||||
|
||||
#: src/reader.c:1582
|
||||
#: src/reader.c:1591
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "入力した文法に規則が定義されていません"
|
||||
|
||||
#: src/reader.c:1606
|
||||
#: src/reader.c:1615
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"シンボル %s が使われていますが、トークンとして定義されておらず、規則を持ちま"
|
||||
"せん"
|
||||
|
||||
#: src/reader.c:1712
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "先行している %s と %s で競合が生じています"
|
||||
|
||||
#: src/reader.c:1724
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "非結合値 %s と %s で競合が生じています"
|
||||
|
||||
#: src/reader.c:1770
|
||||
#: src/reader.c:1707
|
||||
#, fuzzy, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "トークン %s と %s の双方が番号 %s に割り当てられました"
|
||||
|
||||
#: src/reader.c:1782
|
||||
#: src/reader.c:1760
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "先行している %s と %s で競合が生じています"
|
||||
|
||||
#: src/reader.c:1772
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "非結合値 %s と %s で競合が生じています"
|
||||
|
||||
#: src/reader.c:1811
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "開始シンボル %s は定義されていません"
|
||||
|
||||
#: src/reader.c:1784
|
||||
#: src/reader.c:1813
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "開始シンボル %s はトークンです"
|
||||
|
||||
#: src/reduce.c:401
|
||||
#: src/reduce.c:405
|
||||
#, fuzzy
|
||||
msgid "Useless nonterminals:"
|
||||
msgstr ""
|
||||
"不使用非終端子:\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:416
|
||||
#: src/reduce.c:419
|
||||
#, fuzzy
|
||||
msgid "Terminals which are not used:"
|
||||
msgstr ""
|
||||
@@ -636,7 +647,7 @@ msgstr ""
|
||||
"利用されない終端子:\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:427
|
||||
#: src/reduce.c:430
|
||||
#, fuzzy
|
||||
msgid "Useless rules:"
|
||||
msgstr ""
|
||||
@@ -645,7 +656,7 @@ msgstr ""
|
||||
"不使用規則:\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:456
|
||||
#: src/reduce.c:458
|
||||
msgid ""
|
||||
"Variables\n"
|
||||
"---------\n"
|
||||
@@ -655,7 +666,7 @@ msgstr ""
|
||||
"---------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:458
|
||||
#: src/reduce.c:459
|
||||
msgid "Value Sprec Sassoc Tag\n"
|
||||
msgstr "値 前置 結合 タグ\n"
|
||||
|
||||
@@ -669,7 +680,7 @@ msgstr ""
|
||||
"-----\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:474
|
||||
#: src/reduce.c:473
|
||||
msgid ""
|
||||
"Rules interpreted\n"
|
||||
"-----------------\n"
|
||||
@@ -679,36 +690,31 @@ msgstr ""
|
||||
"-----------------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:491
|
||||
#: src/reduce.c:495
|
||||
#, c-format
|
||||
msgid "%d rules never reduced\n"
|
||||
msgstr "%d 個の規則は決して還元されません\n"
|
||||
|
||||
#: src/reduce.c:493
|
||||
#, c-format
|
||||
msgid "%s contains "
|
||||
msgstr "%s には"
|
||||
|
||||
#: src/reduce.c:497
|
||||
#: src/reduce.c:501
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal%s"
|
||||
msgstr "%d 個の不使用非終端子%.0s"
|
||||
|
||||
#: src/reduce.c:502
|
||||
#: src/reduce.c:506
|
||||
msgid " and "
|
||||
msgstr "および"
|
||||
|
||||
#: src/reduce.c:506
|
||||
#: src/reduce.c:510
|
||||
#, c-format
|
||||
msgid "%d useless rule%s"
|
||||
msgstr "%d 個の不使用規則%.0s"
|
||||
|
||||
#: src/reduce.c:539
|
||||
#: src/reduce.c:540
|
||||
#, c-format
|
||||
msgid "Start symbol %s does not derive any sentence"
|
||||
msgstr "開始シンボル %s はどの文にも由来しません"
|
||||
|
||||
#: src/reduce.c:552
|
||||
#: src/reduce.c:553
|
||||
#, c-format
|
||||
msgid ""
|
||||
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
||||
@@ -716,68 +722,68 @@ msgstr ""
|
||||
"還元ファイル %s で %d 個の終端子%.0s, %d 個の非終端子%.0s, %d 個の規則%.0sが"
|
||||
"定義されました\n"
|
||||
|
||||
#: lib/getopt.c:675
|
||||
#: lib/getopt.c:694
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: オプション `%s' は曖昧です\n"
|
||||
|
||||
#: lib/getopt.c:700
|
||||
#: lib/getopt.c:719
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: オプション `--%s' は引数を許しません\n"
|
||||
|
||||
#: lib/getopt.c:705
|
||||
#: lib/getopt.c:724
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: オプション `%c%s' は引数を許しません\n"
|
||||
|
||||
#: lib/getopt.c:723 lib/getopt.c:896
|
||||
#: lib/getopt.c:742 lib/getopt.c:915
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: オプション `%s' は引数を要求します\n"
|
||||
|
||||
#. --option
|
||||
#: lib/getopt.c:752
|
||||
#: lib/getopt.c:771
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: 認識できないオプション `--%s' です\n"
|
||||
|
||||
#. +option or -option
|
||||
#: lib/getopt.c:756
|
||||
#: lib/getopt.c:775
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: 認識できないオプション `%c%s' です\n"
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: lib/getopt.c:782
|
||||
#: lib/getopt.c:801
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: 定格外のオプション -- %c\n"
|
||||
|
||||
#: lib/getopt.c:785
|
||||
#: lib/getopt.c:804
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: 無効なオプション -- %c\n"
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: lib/getopt.c:815 lib/getopt.c:945
|
||||
#: lib/getopt.c:834 lib/getopt.c:964
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: オプションは引数を要求します -- %c\n"
|
||||
|
||||
#: lib/getopt.c:862
|
||||
#: lib/getopt.c:881
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: オプション `-W %s' は曖昧です\n"
|
||||
|
||||
#: lib/getopt.c:880
|
||||
#: lib/getopt.c:899
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: オプション `-W %s' は引数を許しません\n"
|
||||
|
||||
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
|
||||
#. before exiting when memory is exhausted. Goes through gettext.
|
||||
#: lib/obstack.c:477 lib/xmalloc.c:66
|
||||
#: lib/obstack.c:494 lib/obstack.c:497 lib/xmalloc.c:66
|
||||
#, fuzzy
|
||||
msgid "memory exhausted"
|
||||
msgstr "%s: メモリを使い果たしました\n"
|
||||
@@ -850,6 +856,15 @@ msgstr ""
|
||||
#~ "%s は以下から派生\n"
|
||||
#~ "\n"
|
||||
|
||||
#~ msgid " 1 shift/reduce conflict"
|
||||
#~ msgstr " 1 シフト/還元衝突"
|
||||
|
||||
#~ msgid " 1 reduce/reduce conflict"
|
||||
#~ msgstr " 1 還元/還元衝突"
|
||||
|
||||
#~ msgid "%s contains"
|
||||
#~ msgstr "%s には、"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n"
|
||||
#~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bison 1.25\n"
|
||||
"POT-Creation-Date: 2001-10-02 18:30+0200\n"
|
||||
"POT-Creation-Date: 2001-11-14 15:59+0100\n"
|
||||
"PO-Revision-Date: 1996-08-27 15:34 MET DST\n"
|
||||
"Last-Translator: Erick Branderhorst <[email protected]>\n"
|
||||
"Language-Team: Dutch <[email protected]>\n"
|
||||
@@ -18,7 +18,7 @@ msgstr ""
|
||||
msgid "too many states (max %d)"
|
||||
msgstr ""
|
||||
|
||||
#: lib/error.c:117 src/complain.c:96
|
||||
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
|
||||
msgid "Unknown system error"
|
||||
msgstr ""
|
||||
|
||||
@@ -31,77 +31,78 @@ msgstr ""
|
||||
msgid "fatal error: "
|
||||
msgstr "fatale fout: %s\n"
|
||||
|
||||
#: src/conflicts.c:48
|
||||
#: src/conflicts.c:45
|
||||
#, c-format
|
||||
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"
|
||||
|
||||
#: src/conflicts.c:114 src/conflicts.c:137
|
||||
#: src/conflicts.c:111 src/conflicts.c:134
|
||||
msgid "reduce"
|
||||
msgstr "reduceer"
|
||||
|
||||
#: src/conflicts.c:120 src/conflicts.c:133
|
||||
#: src/conflicts.c:117 src/conflicts.c:130
|
||||
msgid "shift"
|
||||
msgstr "verschuif"
|
||||
|
||||
#: src/conflicts.c:141
|
||||
#: src/conflicts.c:138
|
||||
msgid "an error"
|
||||
msgstr "een fout"
|
||||
|
||||
#: src/conflicts.c:421
|
||||
msgid " 1 shift/reduce conflict"
|
||||
msgstr " 1 verschuif/reduceer conflict"
|
||||
#: src/conflicts.c:411
|
||||
#, fuzzy, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] " %d verschuif/reduceer conflicten"
|
||||
|
||||
#: src/conflicts.c:426
|
||||
#, c-format
|
||||
msgid " %d shift/reduce conflicts"
|
||||
msgstr " %d verschuif/reduceer conflicten"
|
||||
|
||||
#: src/conflicts.c:432
|
||||
msgid " and"
|
||||
#: src/conflicts.c:418
|
||||
#, fuzzy
|
||||
msgid "and"
|
||||
msgstr " en"
|
||||
|
||||
#: src/conflicts.c:438
|
||||
msgid " 1 reduce/reduce conflict"
|
||||
msgstr " 1 reduceer/reduceer conflict"
|
||||
#: src/conflicts.c:424
|
||||
#, fuzzy, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] " %d reduceer/reduceer conflicten"
|
||||
|
||||
#: src/conflicts.c:443
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce conflicts"
|
||||
msgstr " %d reduceer/reduceer conflicten"
|
||||
|
||||
#: src/conflicts.c:480
|
||||
#, c-format
|
||||
msgid "State %d contains"
|
||||
#: src/conflicts.c:448
|
||||
#, fuzzy, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "Stadium %d bevat"
|
||||
|
||||
#. If invoked with `--yacc', use the output format specified by
|
||||
#. POSIX.
|
||||
#: src/conflicts.c:491
|
||||
#: src/conflicts.c:482
|
||||
msgid "conflicts: "
|
||||
msgstr "conflictueerd: "
|
||||
|
||||
#: src/conflicts.c:493
|
||||
#: src/conflicts.c:484
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
msgstr " %d vershuif/reduceer"
|
||||
|
||||
#: src/conflicts.c:497
|
||||
#: src/conflicts.c:488
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
msgstr " %d reduceer/reduceer"
|
||||
|
||||
#: src/conflicts.c:502
|
||||
#: src/conflicts.c:493 src/reduce.c:497
|
||||
#, c-format
|
||||
msgid "%s contains"
|
||||
msgid "%s contains "
|
||||
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
|
||||
msgid " %-4s\t[reduce using rule %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
|
||||
msgid ""
|
||||
" $default\treduce using rule %d (%s)\n"
|
||||
@@ -115,7 +116,7 @@ msgstr ""
|
||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/conflicts.c:730
|
||||
#: src/conflicts.c:729
|
||||
#, c-format
|
||||
msgid " $default\treduce using rule %d (%s)\n"
|
||||
msgstr ""
|
||||
@@ -135,33 +136,33 @@ msgstr ""
|
||||
msgid "%s derives"
|
||||
msgstr "%s afgeleiden"
|
||||
|
||||
#: src/files.c:133
|
||||
#: src/files.c:143
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: src/files.c:152
|
||||
#: src/files.c:162
|
||||
msgid "cannot close file"
|
||||
msgstr ""
|
||||
|
||||
#. Some efforts were made to ease the translators' task, please
|
||||
#. continue.
|
||||
#: src/getargs.c:83
|
||||
#: src/getargs.c:84
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:87
|
||||
#: src/getargs.c:88
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:91
|
||||
#: src/getargs.c:92
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:97
|
||||
#: src/getargs.c:98
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
@@ -169,7 +170,7 @@ msgid ""
|
||||
" -y, --yacc emulate POSIX yacc\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:104
|
||||
#: src/getargs.c:105
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
@@ -181,55 +182,55 @@ msgid ""
|
||||
" -k, --token-table include a table of token names\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:116
|
||||
#: src/getargs.c:117
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
" -d, --defines also produce a header file\n"
|
||||
" -v, --verbose also produce an explanation of the automaton\n"
|
||||
" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
|
||||
" -o, --output-file=FILE leave output to FILE\n"
|
||||
" -g, --graph also produce a VCG graph description of the "
|
||||
" -o, --output=FILE leave output to FILE\n"
|
||||
" -g, --graph also produce a VCG description of the "
|
||||
"automaton\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:126
|
||||
#: src/getargs.c:127
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr ""
|
||||
|
||||
#. Some efforts were made to ease the translators' task, please
|
||||
#. continue.
|
||||
#: src/getargs.c:140
|
||||
#: src/getargs.c:141
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:145
|
||||
#: src/getargs.c:146
|
||||
msgid ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:149
|
||||
#: src/getargs.c:150
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:214 src/lex.c:650
|
||||
#: src/getargs.c:215 src/lex.c:694
|
||||
#, c-format
|
||||
msgid "`%s' is no longer supported"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:238
|
||||
#: src/getargs.c:239
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:245
|
||||
#: src/getargs.c:246
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: geen grammatica bestand gegeven\n"
|
||||
|
||||
#: src/getargs.c:249
|
||||
#: src/getargs.c:250
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: extra argumenten genegeerd na '%s'\n"
|
||||
@@ -239,51 +240,61 @@ msgstr "%s: extra argumenten genegeerd na '%s'\n"
|
||||
msgid "too many gotos (max %d)"
|
||||
msgstr ""
|
||||
|
||||
#: src/lex.c:78
|
||||
#: src/lex.c:76
|
||||
msgid "unexpected `/' found and ignored"
|
||||
msgstr "onverwachte `/' gevonden en genegeerd"
|
||||
|
||||
#: src/lex.c:107 src/reader.c:269
|
||||
#: src/lex.c:105 src/reader.c:269
|
||||
msgid "unterminated comment"
|
||||
msgstr "ongetermineerd commentaar"
|
||||
|
||||
#: src/lex.c:139
|
||||
#: src/lex.c:137
|
||||
#, fuzzy
|
||||
msgid "unexpected end of file"
|
||||
msgstr "Onverwacht bestandseinde"
|
||||
|
||||
#: src/lex.c:168
|
||||
#: src/lex.c:166
|
||||
msgid "unescaped newline in constant"
|
||||
msgstr "niet geescapete nieuwe regel in constante"
|
||||
|
||||
#: src/lex.c:210
|
||||
#: src/lex.c:208
|
||||
#, c-format
|
||||
msgid "octal value outside range 0...255: `\\%o'"
|
||||
msgstr "octale waarde buiten domein 0...255: `\\%o'"
|
||||
|
||||
#: src/lex.c:235
|
||||
#: src/lex.c:233
|
||||
#, c-format
|
||||
msgid "hexadecimal value above 255: `\\x%x'"
|
||||
msgstr "hexadecimale waarde boven 255: `\\x%x'"
|
||||
|
||||
#: src/lex.c:247
|
||||
#: src/lex.c:245
|
||||
#, c-format
|
||||
msgid "unknown escape sequence: `\\' followed by `%s'"
|
||||
msgstr "onbekende escape reeks: `\\' gevolgd door `%s'"
|
||||
|
||||
#: src/lex.c:343
|
||||
#: src/lex.c:342
|
||||
msgid "unterminated type name at end of file"
|
||||
msgstr "niet getermineerd type naam aan het einde van bestand"
|
||||
|
||||
#: src/lex.c:346
|
||||
#: src/lex.c:345
|
||||
msgid "unterminated type name"
|
||||
msgstr "niet getermineerd type naam"
|
||||
|
||||
#: src/lex.c:437
|
||||
#: src/lex.c:438
|
||||
msgid "use \"...\" for multi-character literal tokens"
|
||||
msgstr "gebruik \"...\" voor meerdere karakters literal tekens"
|
||||
|
||||
#: src/main.c:125
|
||||
#: src/lex.c:667
|
||||
#, c-format
|
||||
msgid "`%s' supports no argument: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/lex.c:683
|
||||
#, fuzzy, c-format
|
||||
msgid "`%s' requires an argument"
|
||||
msgstr "%s: optie `%s' vereist een argument\n"
|
||||
|
||||
#: src/main.c:128
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: internal error: %s\n"
|
||||
msgstr "interne fout, %s\n"
|
||||
@@ -297,45 +308,45 @@ msgstr "Inkomende set nullable"
|
||||
msgid "maximum table size (%d) exceeded"
|
||||
msgstr "maximale tabel grootte (%s) overschreden"
|
||||
|
||||
#: src/print.c:37
|
||||
#: src/print.c:38
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:85
|
||||
#: src/print.c:86
|
||||
#, c-format
|
||||
msgid " (rule %d)"
|
||||
msgstr " (regel %d)"
|
||||
|
||||
#: src/print.c:111
|
||||
#: src/print.c:112
|
||||
msgid " $default\taccept\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:113
|
||||
#: src/print.c:114
|
||||
msgid " NO ACTIONS\n"
|
||||
msgstr " GEEN AKTIES\n"
|
||||
|
||||
#: src/print.c:132
|
||||
#: src/print.c:133
|
||||
#, c-format
|
||||
msgid " $ \tgo to state %d\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:135
|
||||
#: src/print.c:136
|
||||
#, c-format
|
||||
msgid " %-4s\tshift, and go to state %d\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:159
|
||||
#: src/print.c:160
|
||||
#, c-format
|
||||
msgid " %-4s\terror (nonassociative)\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:187
|
||||
#: src/print.c:188
|
||||
#, c-format
|
||||
msgid " %-4s\tgo to state %d\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:199
|
||||
#: src/print.c:200
|
||||
#, fuzzy, c-format
|
||||
msgid "state %d"
|
||||
msgstr ""
|
||||
@@ -345,24 +356,24 @@ msgstr ""
|
||||
"\n"
|
||||
|
||||
#. rule # : LHS -> RHS
|
||||
#: src/print.c:229
|
||||
#: src/print.c:230
|
||||
#, fuzzy
|
||||
msgid "Grammar"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Grammatica\n"
|
||||
|
||||
#: src/print.c:234
|
||||
#: src/print.c:235
|
||||
#, c-format
|
||||
msgid "rule %-4d %s ->"
|
||||
msgstr "regel %-4d %s ->"
|
||||
|
||||
#: src/print.c:240
|
||||
#: src/print.c:241
|
||||
msgid "empty"
|
||||
msgstr ""
|
||||
|
||||
#. TERMINAL (type #) : rule #s terminal is on RHS
|
||||
#: src/print.c:244
|
||||
#: src/print.c:246
|
||||
#, fuzzy
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr ""
|
||||
@@ -370,7 +381,7 @@ msgstr ""
|
||||
"Terminals, met regels waar ze voorkomen\n"
|
||||
"\n"
|
||||
|
||||
#: src/print.c:268
|
||||
#: src/print.c:270
|
||||
#, fuzzy
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr ""
|
||||
@@ -378,11 +389,11 @@ msgstr ""
|
||||
"Geen terminals, met regels waar ze voorkomen\n"
|
||||
"\n"
|
||||
|
||||
#: src/print.c:294
|
||||
#: src/print.c:296
|
||||
msgid " on left:"
|
||||
msgstr " links:"
|
||||
|
||||
#: src/print.c:309
|
||||
#: src/print.c:311
|
||||
msgid " on right:"
|
||||
msgstr " rechts:"
|
||||
|
||||
@@ -458,7 +469,7 @@ msgstr ""
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "symbool %s opnieuw gedefinieerd"
|
||||
|
||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1285
|
||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1294
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "type herdeclaratie voor %s"
|
||||
@@ -468,12 +479,12 @@ msgstr "type herdeclaratie voor %s"
|
||||
msgid "`%s' is invalid in %s"
|
||||
msgstr "`%s' is onjuist in %s"
|
||||
|
||||
#: src/reader.c:558 src/reader.c:717
|
||||
#: src/reader.c:558 src/reader.c:723
|
||||
#, fuzzy, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "meerdere %start declaraties"
|
||||
|
||||
#: src/reader.c:560 src/reader.c:897 src/reader.c:922 src/reader.c:1263
|
||||
#: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1272
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid %s declaration"
|
||||
msgstr "onjuiste %start declaratie"
|
||||
@@ -502,135 +513,135 @@ msgstr "onjuiste tekst (%s) - nummer hoort na de identifier"
|
||||
msgid "unexpected item: %s"
|
||||
msgstr "onbekend item: %s"
|
||||
|
||||
#: src/reader.c:760 src/reader.c:1089 src/reader.c:1160
|
||||
#: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
|
||||
#, fuzzy, c-format
|
||||
msgid "unmatched %s"
|
||||
msgstr "niet overeenkomstige `{'"
|
||||
|
||||
#: src/reader.c:792
|
||||
#: src/reader.c:798
|
||||
#, fuzzy, c-format
|
||||
msgid "argument of %%expect is not an integer"
|
||||
msgstr "argument van %expect is niet een integer"
|
||||
|
||||
#: src/reader.c:838
|
||||
#: src/reader.c:844
|
||||
#, c-format
|
||||
msgid "unrecognized item %s, expected an identifier"
|
||||
msgstr "onbekend item %s, verwacht een identifier"
|
||||
|
||||
#: src/reader.c:862
|
||||
#: src/reader.c:866
|
||||
#, c-format
|
||||
msgid "expected string constant instead of %s"
|
||||
msgstr "verwacht string constante in plaats van %s"
|
||||
|
||||
#: src/reader.c:1005
|
||||
#: src/reader.c:1014
|
||||
#, c-format
|
||||
msgid "unrecognized: %s"
|
||||
msgstr "onbekend: %s"
|
||||
|
||||
#: src/reader.c:1010
|
||||
#: src/reader.c:1019
|
||||
msgid "no input grammar"
|
||||
msgstr "geen invoer grammatica"
|
||||
|
||||
#: src/reader.c:1015
|
||||
#: src/reader.c:1024
|
||||
#, c-format
|
||||
msgid "unknown character: %s"
|
||||
msgstr "onbekend karakter: %s"
|
||||
|
||||
#: src/reader.c:1183
|
||||
#: src/reader.c:1192
|
||||
#, fuzzy, c-format
|
||||
msgid "unterminated %guard clause"
|
||||
msgstr "niet getermineerde %%guard voorwaarde"
|
||||
|
||||
#: src/reader.c:1350
|
||||
#: src/reader.c:1359
|
||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||
msgstr ""
|
||||
"slecht geformuleerde regel: initieel symbool niet gevolgd door dubbele punt"
|
||||
|
||||
#: src/reader.c:1357
|
||||
#: src/reader.c:1366
|
||||
msgid "grammar starts with vertical bar"
|
||||
msgstr "grammatica start met een verticale bar"
|
||||
|
||||
#: src/reader.c:1388
|
||||
#: src/reader.c:1397
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "regel geven voor %s, welke een teken is"
|
||||
|
||||
#: src/reader.c:1490
|
||||
#: src/reader.c:1499
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "twee @prec's in een regel"
|
||||
|
||||
#: src/reader.c:1498
|
||||
#: src/reader.c:1507
|
||||
#, c-format
|
||||
msgid "%%guard present but %%semantic_parser not specified"
|
||||
msgstr "%%guard aanwezig maar %%semantic_parser niet gespecificeerd"
|
||||
|
||||
#: src/reader.c:1507
|
||||
#: src/reader.c:1516
|
||||
msgid "two actions at end of one rule"
|
||||
msgstr "twee akties aan het einde van een regel"
|
||||
|
||||
#: src/reader.c:1521
|
||||
#: src/reader.c:1530
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "type clash (`%s' `%s') bij standaard aktie"
|
||||
|
||||
#: src/reader.c:1527
|
||||
#: src/reader.c:1536
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "lege regel voor getypte niet terminal, en geen aktie"
|
||||
|
||||
#: src/reader.c:1571
|
||||
#: src/reader.c:1580
|
||||
#, c-format
|
||||
msgid "invalid input: %s"
|
||||
msgstr "ongeldige invoer: %s"
|
||||
|
||||
#: src/reader.c:1579
|
||||
#: src/reader.c:1588
|
||||
#, fuzzy, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "te veel symbolen (tekens plus nietterminals); maximum %s"
|
||||
|
||||
#: src/reader.c:1582
|
||||
#: src/reader.c:1591
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "geen regels voor invoer grammatica"
|
||||
|
||||
#: src/reader.c:1606
|
||||
#: src/reader.c:1615
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"symbool %s is gebruikt, maar is niet gedefinieerd als een teken en\n"
|
||||
"heeft geen regels"
|
||||
|
||||
#: src/reader.c:1712
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "conflictuerende precedentein voor %s en %s"
|
||||
|
||||
#: src/reader.c:1724
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "conflictuerende associatieve waarden voor %s en %s"
|
||||
|
||||
#: src/reader.c:1770
|
||||
#: src/reader.c:1707
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:1782
|
||||
#: src/reader.c:1760
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "conflictuerende precedentein voor %s en %s"
|
||||
|
||||
#: src/reader.c:1772
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "conflictuerende associatieve waarden voor %s en %s"
|
||||
|
||||
#: src/reader.c:1811
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:1784
|
||||
#: src/reader.c:1813
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "het start symbool %s is een token"
|
||||
|
||||
#: src/reduce.c:401
|
||||
#: src/reduce.c:405
|
||||
#, fuzzy
|
||||
msgid "Useless nonterminals:"
|
||||
msgstr ""
|
||||
"Onbruikbare niet terminals:\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:416
|
||||
#: src/reduce.c:419
|
||||
#, fuzzy
|
||||
msgid "Terminals which are not used:"
|
||||
msgstr ""
|
||||
@@ -639,7 +650,7 @@ msgstr ""
|
||||
"Terminals welke niet worden gebruikt:\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:427
|
||||
#: src/reduce.c:430
|
||||
#, fuzzy
|
||||
msgid "Useless rules:"
|
||||
msgstr ""
|
||||
@@ -648,7 +659,7 @@ msgstr ""
|
||||
"Onbruikbare regels:\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:456
|
||||
#: src/reduce.c:458
|
||||
msgid ""
|
||||
"Variables\n"
|
||||
"---------\n"
|
||||
@@ -658,7 +669,7 @@ msgstr ""
|
||||
"----------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:458
|
||||
#: src/reduce.c:459
|
||||
msgid "Value Sprec Sassoc Tag\n"
|
||||
msgstr "Waarde Sprec Sassoc Tag\n"
|
||||
|
||||
@@ -672,7 +683,7 @@ msgstr ""
|
||||
"------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:474
|
||||
#: src/reduce.c:473
|
||||
msgid ""
|
||||
"Rules interpreted\n"
|
||||
"-----------------\n"
|
||||
@@ -682,36 +693,31 @@ msgstr ""
|
||||
"-----------------------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:491
|
||||
#: src/reduce.c:495
|
||||
#, c-format
|
||||
msgid "%d rules never reduced\n"
|
||||
msgstr "%d regels nooit gereduceerd\n"
|
||||
|
||||
#: src/reduce.c:493
|
||||
#, c-format
|
||||
msgid "%s contains "
|
||||
msgstr "%s bevat"
|
||||
|
||||
#: src/reduce.c:497
|
||||
#: src/reduce.c:501
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal%s"
|
||||
msgstr "%d onbruikbare niet terminal%s"
|
||||
|
||||
#: src/reduce.c:502
|
||||
#: src/reduce.c:506
|
||||
msgid " and "
|
||||
msgstr " en "
|
||||
|
||||
#: src/reduce.c:506
|
||||
#: src/reduce.c:510
|
||||
#, c-format
|
||||
msgid "%d useless rule%s"
|
||||
msgstr "%d onbruikbare regels%s"
|
||||
|
||||
#: src/reduce.c:539
|
||||
#: src/reduce.c:540
|
||||
#, c-format
|
||||
msgid "Start symbol %s does not derive any sentence"
|
||||
msgstr "Start symbool %s is niet afkomstig uit een zin"
|
||||
|
||||
#: src/reduce.c:552
|
||||
#: src/reduce.c:553
|
||||
#, c-format
|
||||
msgid ""
|
||||
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
||||
@@ -719,68 +725,68 @@ msgstr ""
|
||||
"gereduceerd %s gedefinieerd %d terminal%s, %d nietterminal%s, en %d productie"
|
||||
"%s.\n"
|
||||
|
||||
#: lib/getopt.c:675
|
||||
#: lib/getopt.c:694
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: optie `%s' is niet eenduidig\n"
|
||||
|
||||
#: lib/getopt.c:700
|
||||
#: lib/getopt.c:719
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: optie `--%s' staat geen argument toe\n"
|
||||
|
||||
#: lib/getopt.c:705
|
||||
#: lib/getopt.c:724
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: optie `%c%s' staat geen argument toe\n"
|
||||
|
||||
#: lib/getopt.c:723 lib/getopt.c:896
|
||||
#: lib/getopt.c:742 lib/getopt.c:915
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: optie `%s' vereist een argument\n"
|
||||
|
||||
#. --option
|
||||
#: lib/getopt.c:752
|
||||
#: lib/getopt.c:771
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: onbekende optie `--%s'\n"
|
||||
|
||||
#. +option or -option
|
||||
#: lib/getopt.c:756
|
||||
#: lib/getopt.c:775
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: onbekende optie `%c%s'\n"
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: lib/getopt.c:782
|
||||
#: lib/getopt.c:801
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: ongeldige optie -- %c\n"
|
||||
|
||||
#: lib/getopt.c:785
|
||||
#: lib/getopt.c:804
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: onjuiste optie -- %c\n"
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: lib/getopt.c:815 lib/getopt.c:945
|
||||
#: lib/getopt.c:834 lib/getopt.c:964
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: optie vereist een argument -- %c\n"
|
||||
|
||||
#: lib/getopt.c:862
|
||||
#: lib/getopt.c:881
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: optie `%s' is niet eenduidig\n"
|
||||
|
||||
#: lib/getopt.c:880
|
||||
#: lib/getopt.c:899
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: optie `--%s' staat geen argument toe\n"
|
||||
|
||||
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
|
||||
#. before exiting when memory is exhausted. Goes through gettext.
|
||||
#: lib/obstack.c:477 lib/xmalloc.c:66
|
||||
#: lib/obstack.c:494 lib/obstack.c:497 lib/xmalloc.c:66
|
||||
#, fuzzy
|
||||
msgid "memory exhausted"
|
||||
msgstr "%s: geen geheugen meer beschikbaar\n"
|
||||
@@ -853,6 +859,15 @@ msgstr ""
|
||||
#~ "%s afgeleiden\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 ""
|
||||
#~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n"
|
||||
#~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bison 1.29\n"
|
||||
"POT-Creation-Date: 2001-10-02 18:30+0200\n"
|
||||
"POT-Creation-Date: 2001-11-14 15:59+0100\n"
|
||||
"PO-Revision-Date: 2001-09-09 13:49+04:00\n"
|
||||
"Last-Translator: Dmitry S. Sivachenko <[email protected]>\n"
|
||||
"Language-Team: Russian <[email protected]>\n"
|
||||
@@ -18,7 +18,7 @@ msgstr ""
|
||||
msgid "too many states (max %d)"
|
||||
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÏÓÔÏÑÎÉÊ (ÍÁËÓÉÍÁÌØÎÏ %d)"
|
||||
|
||||
#: lib/error.c:117 src/complain.c:96
|
||||
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
|
||||
msgid "Unknown system error"
|
||||
msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÓÉÓÔÅÍÎÁÑ ÏÛÉÂËÁ"
|
||||
|
||||
@@ -30,78 +30,79 @@ msgstr "
|
||||
msgid "fatal error: "
|
||||
msgstr "ÆÁÔÁÌØÎÁÑ ÏÛÉÂËÁ: "
|
||||
|
||||
#: src/conflicts.c:48
|
||||
#: src/conflicts.c:45
|
||||
#, c-format
|
||||
msgid "Conflict in state %d between rule %d and token %s resolved as %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"
|
||||
msgstr "×Ù×ÏÄ"
|
||||
|
||||
#: src/conflicts.c:120 src/conflicts.c:133
|
||||
#: src/conflicts.c:117 src/conflicts.c:130
|
||||
msgid "shift"
|
||||
msgstr "ÓÄ×ÉÇ"
|
||||
|
||||
#: src/conflicts.c:141
|
||||
#: src/conflicts.c:138
|
||||
msgid "an error"
|
||||
msgstr "ÏÛÉÂËÁ"
|
||||
|
||||
#: src/conflicts.c:421
|
||||
msgid " 1 shift/reduce conflict"
|
||||
msgstr " 1 ËÏÎÆÌÉËÔ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||
#: src/conflicts.c:411
|
||||
#, fuzzy, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] " %d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||
|
||||
#: src/conflicts.c:426
|
||||
#, c-format
|
||||
msgid " %d shift/reduce conflicts"
|
||||
msgstr " %d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||
|
||||
#: src/conflicts.c:432
|
||||
msgid " and"
|
||||
#: src/conflicts.c:418
|
||||
#, fuzzy
|
||||
msgid "and"
|
||||
msgstr " É"
|
||||
|
||||
#: src/conflicts.c:438
|
||||
msgid " 1 reduce/reduce conflict"
|
||||
msgstr " 1 ËÏÎÆÌÉËÔ ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
|
||||
#: src/conflicts.c:424
|
||||
#, fuzzy, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] " %d ËÏÎÆÌÉËÔÏ× ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
|
||||
|
||||
#: src/conflicts.c:443
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce conflicts"
|
||||
msgstr " %d ËÏÎÆÌÉËÔÏ× ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
|
||||
|
||||
#: src/conflicts.c:480
|
||||
#, c-format
|
||||
msgid "State %d contains"
|
||||
#: src/conflicts.c:448
|
||||
#, fuzzy, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "óÏÓÔÏÑÎÉÅ %d ÓÏÄÅÒÖÉÔ"
|
||||
|
||||
#. If invoked with `--yacc', use the output format specified by
|
||||
#. POSIX.
|
||||
#: src/conflicts.c:491
|
||||
#: src/conflicts.c:482
|
||||
msgid "conflicts: "
|
||||
msgstr "ËÏÎÆÌÉËÔÙ: "
|
||||
|
||||
#: src/conflicts.c:493
|
||||
#: src/conflicts.c:484
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
msgstr " %d ÓÄ×ÉÇ/×Ù×ÏÄ"
|
||||
|
||||
#: src/conflicts.c:497
|
||||
#: src/conflicts.c:488
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
msgstr " %d ×Ù×ÏÄ/×Ù×ÏÄ"
|
||||
|
||||
#: src/conflicts.c:502
|
||||
#: src/conflicts.c:493 src/reduce.c:497
|
||||
#, c-format
|
||||
msgid "%s contains"
|
||||
msgstr "%s ÓÏÄÅÒÖÉÔ"
|
||||
msgid "%s contains "
|
||||
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
|
||||
msgid " %-4s\t[reduce using rule %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
|
||||
msgid ""
|
||||
" $default\treduce using rule %d (%s)\n"
|
||||
@@ -115,7 +116,7 @@ msgstr ""
|
||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||
msgstr " %-4s\t×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)\n"
|
||||
|
||||
#: src/conflicts.c:730
|
||||
#: src/conflicts.c:729
|
||||
#, c-format
|
||||
msgid " $default\treduce using rule %d (%s)\n"
|
||||
msgstr " $default\t×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)\n"
|
||||
@@ -129,27 +130,27 @@ msgstr "DERIVES"
|
||||
msgid "%s derives"
|
||||
msgstr "%s ×Ù×ÏÄÉÔ"
|
||||
|
||||
#: src/files.c:133
|
||||
#: src/files.c:143
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "ÎÅ ÕÄÁÅÔÓÑ ÏÔËÒÙÔØ ÆÁÊÌ `%s'"
|
||||
|
||||
#: src/files.c:152
|
||||
#: src/files.c:162
|
||||
msgid "cannot close file"
|
||||
msgstr "ÎÅ ÕÄÁÅÔÓÑ ÚÁËÒÙÔØ ÆÁÊÌ"
|
||||
|
||||
#. Some efforts were made to ease the translators' task, please
|
||||
#. continue.
|
||||
#: src/getargs.c:83
|
||||
#: src/getargs.c:84
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr "GNU bison ÇÅÎÅÒÉÒÕÅÔ ÁÎÁÌÉÚÁÔÏÒÙ ÄÌÑ ÇÒÁÍÍÁÔÉË LALR(1).\n"
|
||||
|
||||
#: src/getargs.c:87
|
||||
#: src/getargs.c:88
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþé]... æáêì\n"
|
||||
|
||||
#: src/getargs.c:91
|
||||
#: src/getargs.c:92
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
@@ -158,7 +159,7 @@ msgstr ""
|
||||
"Ñ×ÌÑÅÔÓÑ ÏÂÑÚÁÔÅÌØÎÙÍ ÄÌÑ ËÏÒÏÔËÏÊ ÆÏÒÍÙ. ôÏ ÖÅ ËÁÓÁÅÔÓÑ ÎÅÏÂÑÚÁÔÅÌØÎÙÈ\n"
|
||||
"ÁÒÇÕÍÅÎÔÏ×.\n"
|
||||
|
||||
#: src/getargs.c:97
|
||||
#: src/getargs.c:98
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
@@ -170,7 +171,7 @@ msgstr ""
|
||||
" -V, --version ×Ù×ÅÓÔÉ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ\n"
|
||||
" -y, --yacc ÜÍÕÌÉÒÏ×ÁÔØ POSIX yacc\n"
|
||||
|
||||
#: src/getargs.c:104
|
||||
#: src/getargs.c:105
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
@@ -190,14 +191,15 @@ msgstr ""
|
||||
" -n, --no-parser ÇÅÎÅÒÉÒÏ×ÁÔØ ÔÏÌØËÏ ÔÁÂÌÉÃÙ\n"
|
||||
" -k, --token-table ×ËÌÀÞÉÔØ ÔÁÂÌÉÃÕ ÉÍÅÎ ÌÅËÓÅÍ\n"
|
||||
|
||||
#: src/getargs.c:116
|
||||
#: src/getargs.c:117
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
" -d, --defines also produce a header file\n"
|
||||
" -v, --verbose also produce an explanation of the automaton\n"
|
||||
" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
|
||||
" -o, --output-file=FILE leave output to FILE\n"
|
||||
" -g, --graph also produce a VCG graph description of the "
|
||||
" -o, --output=FILE leave output to FILE\n"
|
||||
" -g, --graph also produce a VCG description of the "
|
||||
"automaton\n"
|
||||
msgstr ""
|
||||
"÷Ù×ÏÄ:\n"
|
||||
@@ -208,24 +210,24 @@ msgstr ""
|
||||
" -g, --graph ÓÏÚÄÁÔØ ÔÁËÖÅ ÐÏÑÓÎÅÎÉÑ Ë Á×ÔÏÍÁÔÕ × ×ÉÄÅ \n"
|
||||
"VCG-ÇÒÁÆÁ\n"
|
||||
|
||||
#: src/getargs.c:126
|
||||
#: src/getargs.c:127
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr "ïÛÉÂËÉ ÓÏÏÂÝÁÊÔÅ ÐÏ ÁÄÒÅÓÕ <[email protected]>.\n"
|
||||
|
||||
#. Some efforts were made to ease the translators' task, please
|
||||
#. continue.
|
||||
#: src/getargs.c:140
|
||||
#: src/getargs.c:141
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:145
|
||||
#: src/getargs.c:146
|
||||
msgid ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
msgstr ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:149
|
||||
#: src/getargs.c:150
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
@@ -236,22 +238,22 @@ msgstr ""
|
||||
"ðòéçïäîïóôé\n"
|
||||
"äìñ ïðòåäåìåîîïê ãåìé.\n"
|
||||
|
||||
#: src/getargs.c:214 src/lex.c:650
|
||||
#: src/getargs.c:215 src/lex.c:694
|
||||
#, c-format
|
||||
msgid "`%s' is no longer supported"
|
||||
msgstr "`%s' ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
|
||||
|
||||
#: src/getargs.c:238
|
||||
#: src/getargs.c:239
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "éÓÐÏÌØÚÕÊÔÅ `%s --help' ÄÌÑ ÄÏÐÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n"
|
||||
|
||||
#: src/getargs.c:245
|
||||
#: src/getargs.c:246
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: ÎÅ ÚÁÄÁÎ ÆÁÊÌ Ó ÇÒÁÍÍÁÔÉËÏÊ\n"
|
||||
|
||||
#: src/getargs.c:249
|
||||
#: src/getargs.c:250
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: ÌÉÛÎÉÅ ÁÒÇÕÍÅÎÔÙ ÐÏÓÌÅ `%s' ÉÇÎÏÒÉÒÏ×ÁÎÙ\n"
|
||||
@@ -261,50 +263,60 @@ msgstr "%s:
|
||||
msgid "too many gotos (max %d)"
|
||||
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ goto (ÍÁËÓÉÍÁÌØÎÏ %d)"
|
||||
|
||||
#: src/lex.c:78
|
||||
#: src/lex.c:76
|
||||
msgid "unexpected `/' found and ignored"
|
||||
msgstr "×ÓÔÒÅÞÅÎ É ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎ ÎÅÏÖÉÄÁÎÎÙÊ ÓÉÍ×ÏÌ `/'"
|
||||
|
||||
#: src/lex.c:107 src/reader.c:269
|
||||
#: src/lex.c:105 src/reader.c:269
|
||||
msgid "unterminated comment"
|
||||
msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ËÏÍÍÅÎÔÁÒÉÊ"
|
||||
|
||||
#: src/lex.c:139
|
||||
#: src/lex.c:137
|
||||
msgid "unexpected end of file"
|
||||
msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅÃ ÆÁÊÌÁ"
|
||||
|
||||
#: src/lex.c:168
|
||||
#: src/lex.c:166
|
||||
msgid "unescaped newline in constant"
|
||||
msgstr "ÎÅÜËÒÁÎÉÒÏ×ÁÎÎÙÊ ÐÅÒÅ×ÏÄ ÓÔÒÏËÉ × ËÏÎÓÔÁÎÔÅ"
|
||||
|
||||
#: src/lex.c:210
|
||||
#: src/lex.c:208
|
||||
#, c-format
|
||||
msgid "octal value outside range 0...255: `\\%o'"
|
||||
msgstr "×ÏÓØÍÅÒÉÞÎÁÑ ×ÅÌÉÞÉÎÁ ÚÁ ÐÒÅÄÅÌÁÍÉ ÄÉÁÐÁÚÏÎÁ 0...255: `\\%o'"
|
||||
|
||||
#: src/lex.c:235
|
||||
#: src/lex.c:233
|
||||
#, c-format
|
||||
msgid "hexadecimal value above 255: `\\x%x'"
|
||||
msgstr "ÛÅÓÔÎÁÄÃÁÔÅÒÉÞÎÁÑ ×ÅÌÉÞÉÎÁ ÐÒÅ×ÙÛÁÅÔ 255: `\\x%x'"
|
||||
|
||||
#: src/lex.c:247
|
||||
#: src/lex.c:245
|
||||
#, c-format
|
||||
msgid "unknown escape sequence: `\\' followed by `%s'"
|
||||
msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ: `%s' ÐÏÓÌÅ `\\'"
|
||||
|
||||
#: src/lex.c:343
|
||||
#: src/lex.c:342
|
||||
msgid "unterminated type name at end of file"
|
||||
msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÉÍÑ ÔÉÐÁ × ËÏÎÃÅ ÆÁÊÌÁ"
|
||||
|
||||
#: src/lex.c:346
|
||||
#: src/lex.c:345
|
||||
msgid "unterminated type name"
|
||||
msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÉÍÑ ÔÉÐÁ"
|
||||
|
||||
#: src/lex.c:437
|
||||
#: src/lex.c:438
|
||||
msgid "use \"...\" for multi-character literal tokens"
|
||||
msgstr "ÉÓÐÏÌØÚÕÊÔÅ \"...\" ÄÌÑ ÍÎÏÇÏÓÉÍ×ÏÌØÎÙÈ ÌÉÔÅÒÁÌØÎÙÈ ÌÅËÓÅÍ"
|
||||
|
||||
#: src/main.c:125
|
||||
#: src/lex.c:667
|
||||
#, c-format
|
||||
msgid "`%s' supports no argument: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/lex.c:683
|
||||
#, fuzzy, c-format
|
||||
msgid "`%s' requires an argument"
|
||||
msgstr "%s: ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ\n"
|
||||
|
||||
#: src/main.c:128
|
||||
#, c-format
|
||||
msgid "%s: internal error: %s\n"
|
||||
msgstr "%s: ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ: %s\n"
|
||||
@@ -318,77 +330,77 @@ msgstr "
|
||||
msgid "maximum table size (%d) exceeded"
|
||||
msgstr "ÐÒÅ×ÙÛÅÎ ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ (%d)"
|
||||
|
||||
#: src/print.c:37
|
||||
#: src/print.c:38
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " ÔÉÐ %d Ñ×ÌÑÅÔÓÑ %s\n"
|
||||
|
||||
#: src/print.c:85
|
||||
#: src/print.c:86
|
||||
#, c-format
|
||||
msgid " (rule %d)"
|
||||
msgstr " (ÐÒÁ×ÉÌÏ %d)"
|
||||
|
||||
#: src/print.c:111
|
||||
#: src/print.c:112
|
||||
msgid " $default\taccept\n"
|
||||
msgstr " $default\tÐÒÉÎÑÔÉÅ\n"
|
||||
|
||||
#: src/print.c:113
|
||||
#: src/print.c:114
|
||||
msgid " NO ACTIONS\n"
|
||||
msgstr " îåô äåêóô÷éê\n"
|
||||
|
||||
#: src/print.c:132
|
||||
#: src/print.c:133
|
||||
#, c-format
|
||||
msgid " $ \tgo to state %d\n"
|
||||
msgstr " $ \tÐÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
|
||||
|
||||
#: src/print.c:135
|
||||
#: src/print.c:136
|
||||
#, c-format
|
||||
msgid " %-4s\tshift, and go to state %d\n"
|
||||
msgstr " %-4s\tÓÄ×ÉÇ, É ÐÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
|
||||
|
||||
#: src/print.c:159
|
||||
#: src/print.c:160
|
||||
#, c-format
|
||||
msgid " %-4s\terror (nonassociative)\n"
|
||||
msgstr " %-4s\tÏÛÉÂËÁ (ÎÅÁÓÓÏÃÉÁÔÉ×ÎÁÑ)\n"
|
||||
|
||||
#: src/print.c:187
|
||||
#: src/print.c:188
|
||||
#, c-format
|
||||
msgid " %-4s\tgo to state %d\n"
|
||||
msgstr " %-4s\tÐÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
|
||||
|
||||
#: src/print.c:199
|
||||
#: src/print.c:200
|
||||
#, c-format
|
||||
msgid "state %d"
|
||||
msgstr "ÓÏÓÔÏÑÎÉÅ %d"
|
||||
|
||||
#. rule # : LHS -> RHS
|
||||
#: src/print.c:229
|
||||
#: src/print.c:230
|
||||
msgid "Grammar"
|
||||
msgstr "çÒÁÍÍÁÔÉËÁ"
|
||||
|
||||
#: src/print.c:234
|
||||
#: src/print.c:235
|
||||
#, c-format
|
||||
msgid "rule %-4d %s ->"
|
||||
msgstr "ÐÒÁ×ÉÌÏ %-4d %s ->"
|
||||
|
||||
#: src/print.c:240
|
||||
#: src/print.c:241
|
||||
msgid "empty"
|
||||
msgstr ""
|
||||
|
||||
#. TERMINAL (type #) : rule #s terminal is on RHS
|
||||
#: src/print.c:244
|
||||
#: src/print.c:246
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr "ôÅÒÍÉÎÁÌØÎÙÅ ÓÉÍ×ÏÌÙ Ó ÐÒÁ×ÉÌÁÍÉ, × ËÏÔÏÒÙÈ ÏÎÉ ÐÏÑ×ÌÑÀÔÓÑ"
|
||||
|
||||
#: src/print.c:268
|
||||
#: src/print.c:270
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr "îÅÔÅÒÍÉÎÁÌØÎÙÅ ÓÉÍ×ÏÌÙ Ó ÐÒÁ×ÉÌÁÍÉ, × ËÏÔÏÒÙÈ ÏÎÉ ÐÏÑ×ÌÑÀÔÓÑ"
|
||||
|
||||
#: src/print.c:294
|
||||
#: src/print.c:296
|
||||
msgid " on left:"
|
||||
msgstr " ÎÁÌÅ×Ï:"
|
||||
|
||||
#: src/print.c:309
|
||||
#: src/print.c:311
|
||||
msgid " on right:"
|
||||
msgstr " ÎÁÐÒÁ×Ï:"
|
||||
|
||||
@@ -462,7 +474,7 @@ msgstr ""
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ %s"
|
||||
|
||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1285
|
||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1294
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÉÓÁÎÉÅ ÔÉÐÁ ÄÌÑ %s"
|
||||
@@ -472,12 +484,12 @@ msgstr "
|
||||
msgid "`%s' is invalid in %s"
|
||||
msgstr "`%s' ÎÅ×ÅÒÎÏ × %s"
|
||||
|
||||
#: src/reader.c:558 src/reader.c:717
|
||||
#: src/reader.c:558 src/reader.c:723
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %s"
|
||||
|
||||
#: src/reader.c:560 src/reader.c:897 src/reader.c:922 src/reader.c:1263
|
||||
#: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1272
|
||||
#, c-format
|
||||
msgid "invalid %s declaration"
|
||||
msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %s"
|
||||
@@ -506,138 +518,138 @@ msgstr "
|
||||
msgid "unexpected item: %s"
|
||||
msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ÜÌÅÍÅÎÔ: %s"
|
||||
|
||||
#: src/reader.c:760 src/reader.c:1089 src/reader.c:1160
|
||||
#: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
|
||||
#, c-format
|
||||
msgid "unmatched %s"
|
||||
msgstr "ÎÅÐÁÒÎÁÑ %s"
|
||||
|
||||
#: src/reader.c:792
|
||||
#: src/reader.c:798
|
||||
#, c-format
|
||||
msgid "argument of %%expect is not an integer"
|
||||
msgstr "ÁÒÇÕÍÅÎÔ %%expect ÎÅ Ñ×ÌÑÅÔÓÑ ÃÅÌÙÍ ÞÉÓÌÏÍ"
|
||||
|
||||
#: src/reader.c:838
|
||||
#: src/reader.c:844
|
||||
#, c-format
|
||||
msgid "unrecognized item %s, expected an identifier"
|
||||
msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÜÌÅÍÅÎÔ %s, ÏÖÉÄÁÌÓÑ ÉÄÅÎÔÉÆÉËÁÔÏÒ"
|
||||
|
||||
#: src/reader.c:862
|
||||
#: src/reader.c:866
|
||||
#, c-format
|
||||
msgid "expected string constant instead of %s"
|
||||
msgstr "×ÍÅÓÔÏ %s ÏÖÉÄÁÌÁÓØ ÓÔÒÏËÏ×ÁÑ ÐÏÓÔÏÑÎÎÁÑ"
|
||||
|
||||
#: src/reader.c:1005
|
||||
#: src/reader.c:1014
|
||||
#, c-format
|
||||
msgid "unrecognized: %s"
|
||||
msgstr "ÎÅÒÁÓÐÏÚÎÁÎÏ: %s"
|
||||
|
||||
#: src/reader.c:1010
|
||||
#: src/reader.c:1019
|
||||
msgid "no input grammar"
|
||||
msgstr "ÎÅÔ ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÉ"
|
||||
|
||||
#: src/reader.c:1015
|
||||
#: src/reader.c:1024
|
||||
#, c-format
|
||||
msgid "unknown character: %s"
|
||||
msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ: %s"
|
||||
|
||||
#: src/reader.c:1183
|
||||
#: src/reader.c:1192
|
||||
#, c-format
|
||||
msgid "unterminated %guard clause"
|
||||
msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ÏÐÅÒÁÔÏÒ %guard"
|
||||
|
||||
#: src/reader.c:1350
|
||||
#: src/reader.c:1359
|
||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||
msgstr "ÎÅ×ÅÒÎÏÅ ÐÒÁ×ÉÌÏ: Ä×ÏÅÔÏÞÉÅ ÎÅ ÓÌÅÄÕÅÔ ÚÁ ÎÁÞÁÌØÎÙÍ ÓÉÍ×ÏÌÏÍ"
|
||||
|
||||
#: src/reader.c:1357
|
||||
#: src/reader.c:1366
|
||||
msgid "grammar starts with vertical bar"
|
||||
msgstr "ÇÒÁÍÍÁÔÉËÁ ÎÁÞÉÎÁÅÔÓÑ Ó ×ÅÒÔÉËÁÌØÎÏÊ ÞÅÒÔÙ"
|
||||
|
||||
#: src/reader.c:1388
|
||||
#: src/reader.c:1397
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "ÐÒÁ×ÉÌÏ ÚÁÄÁÎÏ ÄÌÑ %s, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
|
||||
|
||||
#: src/reader.c:1490
|
||||
#: src/reader.c:1499
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "Ä×Á @prec ÐÏÄÒÑÄ"
|
||||
|
||||
#: src/reader.c:1498
|
||||
#: src/reader.c:1507
|
||||
#, c-format
|
||||
msgid "%%guard present but %%semantic_parser not specified"
|
||||
msgstr "%%guard ÐÒÉÓÕÔÓÔ×ÕÅÔ, Á %%semantic_parser ÎÅ ÚÁÄÁÎ"
|
||||
|
||||
#: src/reader.c:1507
|
||||
#: src/reader.c:1516
|
||||
msgid "two actions at end of one rule"
|
||||
msgstr "Ä×Á ÄÅÊÓÔ×ÉÑ × ËÏÎÃÅ ÏÄÎÏÇÏ ÐÒÁ×ÉÌÁ"
|
||||
|
||||
#: src/reader.c:1521
|
||||
#: src/reader.c:1530
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "ËÏÎÆÌÉËÔ ÔÉÐÏ× (`%s' `%s') ÎÁ ÄÅÊÓÔ×ÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ"
|
||||
|
||||
#: src/reader.c:1527
|
||||
#: src/reader.c:1536
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr ""
|
||||
"ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ"
|
||||
|
||||
#: src/reader.c:1571
|
||||
#: src/reader.c:1580
|
||||
#, c-format
|
||||
msgid "invalid input: %s"
|
||||
msgstr "ÎÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ: %s"
|
||||
|
||||
#: src/reader.c:1579
|
||||
#: src/reader.c:1588
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ÐÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %d"
|
||||
|
||||
#: src/reader.c:1582
|
||||
#: src/reader.c:1591
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ"
|
||||
|
||||
#: src/reader.c:1606
|
||||
#: src/reader.c:1615
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr "ÓÉÍ×ÏÌ %s ÉÓÐÏÌØÚÕÅÔÓÑ, ÎÏ ÎÅ ÏÐÒÅÄÅÌÅÎ ËÁË ÌÅËÓÅÍÁ É ÎÅ ÉÍÅÅÔ ÐÒÁ×ÉÌ"
|
||||
|
||||
#: src/reader.c:1712
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÐÒÉÏÒÉÔÅÔÙ ÄÌÑ %s É %s"
|
||||
|
||||
#: src/reader.c:1724
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÚÎÁÞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s É %s"
|
||||
|
||||
#: src/reader.c:1770
|
||||
#: src/reader.c:1707
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "ÏÂÅÉÍ ÌÅËÓÅÍÁÍ %s É %s ÐÒÉÓ×ÏÅÎ ÎÏÍÅÒ %d"
|
||||
|
||||
#: src/reader.c:1782
|
||||
#: src/reader.c:1760
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÐÒÉÏÒÉÔÅÔÙ ÄÌÑ %s É %s"
|
||||
|
||||
#: src/reader.c:1772
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÚÎÁÞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s É %s"
|
||||
|
||||
#: src/reader.c:1811
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅÏÐÒÅÄÅÌÅÎ"
|
||||
|
||||
#: src/reader.c:1784
|
||||
#: src/reader.c:1813
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
|
||||
|
||||
#: src/reduce.c:401
|
||||
#: src/reduce.c:405
|
||||
msgid "Useless nonterminals:"
|
||||
msgstr "âÅÓÐÏÌÅÚÎÙÅ ÎÅÔÅÒÍÉÎÁÌÙ:"
|
||||
|
||||
#: src/reduce.c:416
|
||||
#: src/reduce.c:419
|
||||
msgid "Terminals which are not used:"
|
||||
msgstr "îÅÉÓÐÏÌØÚÏ×ÁÎÎÙÅ ÔÅÒÍÉÎÁÌÙ:"
|
||||
|
||||
#: src/reduce.c:427
|
||||
#: src/reduce.c:430
|
||||
msgid "Useless rules:"
|
||||
msgstr "âÅÓÐÏÌÅÚÎÙÅ ÐÒÁ×ÉÌÁ:"
|
||||
|
||||
#: src/reduce.c:456
|
||||
#: src/reduce.c:458
|
||||
msgid ""
|
||||
"Variables\n"
|
||||
"---------\n"
|
||||
@@ -647,7 +659,7 @@ msgstr ""
|
||||
"----------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:458
|
||||
#: src/reduce.c:459
|
||||
msgid "Value Sprec Sassoc Tag\n"
|
||||
msgstr "úÎÁÞ ðÒÉÏÒ áÓÓÏÃ ôÅÇ\n"
|
||||
|
||||
@@ -661,7 +673,7 @@ msgstr ""
|
||||
"-------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:474
|
||||
#: src/reduce.c:473
|
||||
msgid ""
|
||||
"Rules interpreted\n"
|
||||
"-----------------\n"
|
||||
@@ -671,36 +683,31 @@ msgstr ""
|
||||
"--------------------------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:491
|
||||
#: src/reduce.c:495
|
||||
#, c-format
|
||||
msgid "%d rules never reduced\n"
|
||||
msgstr "%d ÐÒÁ×ÉÌ ÎÅ Ó×ÅÄÅÎÏ\n"
|
||||
|
||||
#: src/reduce.c:493
|
||||
#, c-format
|
||||
msgid "%s contains "
|
||||
msgstr "%s ÓÏÄÅÒÖÉÔ "
|
||||
|
||||
#: src/reduce.c:497
|
||||
#: src/reduce.c:501
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal%s"
|
||||
msgstr "%d ÂÅÓÐÏÌÅÚÎÙÈ ÎÅÔÅÒÍÉÎÁÌÏ×%s"
|
||||
|
||||
#: src/reduce.c:502
|
||||
#: src/reduce.c:506
|
||||
msgid " and "
|
||||
msgstr " É "
|
||||
|
||||
#: src/reduce.c:506
|
||||
#: src/reduce.c:510
|
||||
#, c-format
|
||||
msgid "%d useless rule%s"
|
||||
msgstr "%d ÂÅÓÐÏÌÅÚÎÙÈ ÐÒÁ×ÉÌ%s"
|
||||
|
||||
#: src/reduce.c:539
|
||||
#: src/reduce.c:540
|
||||
#, c-format
|
||||
msgid "Start symbol %s does not derive any sentence"
|
||||
msgstr "îÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅ ×Ù×ÏÄÉÔ ÎÉ ÏÄÎÏÇÏ ÐÒÅÄÌÏÖÅÎÉÑ"
|
||||
|
||||
#: src/reduce.c:552
|
||||
#: src/reduce.c:553
|
||||
#, c-format
|
||||
msgid ""
|
||||
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
||||
@@ -708,68 +715,68 @@ msgstr ""
|
||||
"×Ù×ÅÄÅÎÎÙÊ %s ÏÐÒÅÄÅÌÑÅÔ %d ÔÅÒÍÉÎÁÌÏ×%s, %d ÎÅÔÅÒÍÉÎÁÌÏ×%s, É %d ÐÒÁ×ÉÌ "
|
||||
"×Ù×ÏÄÁ%s.\n"
|
||||
|
||||
#: lib/getopt.c:675
|
||||
#: lib/getopt.c:694
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: ÎÅÏÄÎÏÚÎÁÞÎÙÊ ËÌÀÞ `%s'\n"
|
||||
|
||||
#: lib/getopt.c:700
|
||||
#: lib/getopt.c:719
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: ËÌÀÞ `--%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n"
|
||||
|
||||
#: lib/getopt.c:705
|
||||
#: lib/getopt.c:724
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: ËÌÀÞ `%c%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n"
|
||||
|
||||
#: lib/getopt.c:723 lib/getopt.c:896
|
||||
#: lib/getopt.c:742 lib/getopt.c:915
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ\n"
|
||||
|
||||
#. --option
|
||||
#: lib/getopt.c:752
|
||||
#: lib/getopt.c:771
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ËÌÀÞ `--%s'\n"
|
||||
|
||||
#. +option or -option
|
||||
#: lib/getopt.c:756
|
||||
#: lib/getopt.c:775
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ËÌÀÞ `%c%s'\n"
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: lib/getopt.c:782
|
||||
#: lib/getopt.c:801
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: ÎÅÄÏÐÕÓÔÉÍÙÊ ËÌÀÞ -- %c\n"
|
||||
|
||||
#: lib/getopt.c:785
|
||||
#: lib/getopt.c:804
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: ÎÅ×ÅÒÎÙÊ ËÌÀÞ -- %c\n"
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: lib/getopt.c:815 lib/getopt.c:945
|
||||
#: lib/getopt.c:834 lib/getopt.c:964
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: ËÌÀÞ ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ -- %c\n"
|
||||
|
||||
#: lib/getopt.c:862
|
||||
#: lib/getopt.c:881
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: ÎÅÏÄÎÏÚÎÁÞÎÙÊ ËÌÀÞ `-W %s'\n"
|
||||
|
||||
#: lib/getopt.c:880
|
||||
#: lib/getopt.c:899
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: ËÌÀÞ `-W %s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n"
|
||||
|
||||
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
|
||||
#. before exiting when memory is exhausted. Goes through gettext.
|
||||
#: lib/obstack.c:477 lib/xmalloc.c:66
|
||||
#: lib/obstack.c:494 lib/obstack.c:497 lib/xmalloc.c:66
|
||||
msgid "memory exhausted"
|
||||
msgstr "ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ"
|
||||
|
||||
@@ -795,6 +802,15 @@ msgstr "`"
|
||||
msgid "'"
|
||||
msgstr "'"
|
||||
|
||||
#~ msgid " 1 shift/reduce conflict"
|
||||
#~ msgstr " 1 ËÏÎÆÌÉËÔ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||
|
||||
#~ msgid " 1 reduce/reduce conflict"
|
||||
#~ msgstr " 1 ËÏÎÆÌÉËÔ ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
|
||||
|
||||
#~ msgid "%s contains"
|
||||
#~ msgstr "%s ÓÏÄÅÒÖÉÔ"
|
||||
|
||||
#~ msgid "\t\t/* empty */"
|
||||
#~ msgstr "\t\t/* ÐÕÓÔÏ */"
|
||||
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bison 1.28c\n"
|
||||
"POT-Creation-Date: 2001-10-02 18:30+0200\n"
|
||||
"PO-Revision-Date: 2001-09-10 10:54GMT\n"
|
||||
"Project-Id-Version: bison 1.30\n"
|
||||
"POT-Creation-Date: 2001-11-14 15:59+0100\n"
|
||||
"PO-Revision-Date: 2001-11-02 14:49GMT\n"
|
||||
"Last-Translator: Altug Bayram <[email protected]>\n"
|
||||
"Language-Team: Turkish <[email protected]>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -19,7 +19,7 @@ msgstr ""
|
||||
msgid "too many states (max %d)"
|
||||
msgstr "çok fazla durum (en fazla %d)"
|
||||
|
||||
#: lib/error.c:117 src/complain.c:96
|
||||
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
|
||||
msgid "Unknown system error"
|
||||
msgstr "Bilinmeyen sistem hatasý"
|
||||
|
||||
@@ -31,79 +31,80 @@ msgstr "uyar
|
||||
msgid "fatal error: "
|
||||
msgstr "ölümcül hata:"
|
||||
|
||||
#: src/conflicts.c:48
|
||||
#: src/conflicts.c:45
|
||||
#, c-format
|
||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||
msgstr ""
|
||||
"%d durumu içinde %d kuralý ve %s andaçý arasýndaki çeliþki %s "
|
||||
"olarakçözümlendi.\n"
|
||||
|
||||
#: src/conflicts.c:114 src/conflicts.c:137
|
||||
#: src/conflicts.c:111 src/conflicts.c:134
|
||||
msgid "reduce"
|
||||
msgstr "indirgeme"
|
||||
|
||||
#: src/conflicts.c:120 src/conflicts.c:133
|
||||
#: src/conflicts.c:117 src/conflicts.c:130
|
||||
msgid "shift"
|
||||
msgstr "öteleme"
|
||||
|
||||
#: src/conflicts.c:141
|
||||
#: src/conflicts.c:138
|
||||
msgid "an error"
|
||||
msgstr "bir hata"
|
||||
|
||||
#: src/conflicts.c:421
|
||||
msgid " 1 shift/reduce conflict"
|
||||
msgstr " 1 öteleme/indirgeme çeliþkisi"
|
||||
#: src/conflicts.c:411
|
||||
#, fuzzy, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] " %d öteleme/indirgeme çeliþkisi"
|
||||
|
||||
#: src/conflicts.c:426
|
||||
#, c-format
|
||||
msgid " %d shift/reduce conflicts"
|
||||
msgstr " %d öteleme/indirgeme çeliþkisi"
|
||||
|
||||
#: src/conflicts.c:432
|
||||
msgid " and"
|
||||
#: src/conflicts.c:418
|
||||
#, fuzzy
|
||||
msgid "and"
|
||||
msgstr " ve"
|
||||
|
||||
#: src/conflicts.c:438
|
||||
msgid " 1 reduce/reduce conflict"
|
||||
msgstr " 1 indirgeme/indirgeme çeliþkisi"
|
||||
#: src/conflicts.c:424
|
||||
#, fuzzy, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] " %d indirgeme/indirgeme çeliþkisi"
|
||||
|
||||
#: src/conflicts.c:443
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce conflicts"
|
||||
msgstr " %d indirgeme/indirgeme çeliþkisi"
|
||||
|
||||
#: src/conflicts.c:480
|
||||
#, c-format
|
||||
msgid "State %d contains"
|
||||
#: src/conflicts.c:448
|
||||
#, fuzzy, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "%d durumu içerir"
|
||||
|
||||
#. If invoked with `--yacc', use the output format specified by
|
||||
#. POSIX.
|
||||
#: src/conflicts.c:491
|
||||
#: src/conflicts.c:482
|
||||
msgid "conflicts: "
|
||||
msgstr "çeliþkiler: "
|
||||
|
||||
#: src/conflicts.c:493
|
||||
#: src/conflicts.c:484
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
msgstr " %d öteleme/indirgeme"
|
||||
|
||||
#: src/conflicts.c:497
|
||||
#: src/conflicts.c:488
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
msgstr " %d indirgeme/indirgeme"
|
||||
|
||||
#: src/conflicts.c:502
|
||||
#: src/conflicts.c:493 src/reduce.c:497
|
||||
#, c-format
|
||||
msgid "%s contains"
|
||||
msgstr "%s içerir"
|
||||
msgid "%s contains "
|
||||
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
|
||||
msgid " %-4s\t[reduce using rule %d (%s)]\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
|
||||
msgid ""
|
||||
" $default\treduce using rule %d (%s)\n"
|
||||
@@ -117,7 +118,7 @@ msgstr ""
|
||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||
msgstr " %-4s\tindirgeme kural %d (%s)'i kullanýyor\n"
|
||||
|
||||
#: src/conflicts.c:730
|
||||
#: src/conflicts.c:729
|
||||
#, c-format
|
||||
msgid " $default\treduce using rule %d (%s)\n"
|
||||
msgstr " $default\tindirgeme kural %d (%s)'i kullanýyor\n"
|
||||
@@ -131,48 +132,48 @@ msgstr "T
|
||||
msgid "%s derives"
|
||||
msgstr "%s türetildi"
|
||||
|
||||
#: src/files.c:133
|
||||
#: src/files.c:143
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "`%s' dosyasý açýlamadý"
|
||||
|
||||
#: src/files.c:152
|
||||
#: src/files.c:162
|
||||
msgid "cannot close file"
|
||||
msgstr "dosya kapatýlamýyor"
|
||||
|
||||
#. Some efforts were made to ease the translators' task, please
|
||||
#. continue.
|
||||
#: src/getargs.c:83
|
||||
#: src/getargs.c:84
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr "GNU bison LALR(1) gramerler için ayrýþtýrýcýlar üretir.\n"
|
||||
|
||||
#: src/getargs.c:87
|
||||
#: src/getargs.c:88
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr "Kullaným: %s [SEÇENEK]... DOSYA\n"
|
||||
|
||||
#: src/getargs.c:91
|
||||
#: src/getargs.c:92
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
msgstr ""
|
||||
"Eðer bir uzun seçenek bir argümaný gerektirirse, bu gereklilik, denk olan\n"
|
||||
"kýsa seçenek için de geçerlidir. Bu durum, seçimli argümanlar için de\n"
|
||||
"geçerlidir.\n"
|
||||
"Eðer bir uzun seçenek bir baðýmsýz deðiþkeni zorunlu gibi gösterilirse odenk "
|
||||
"kýsa\n"
|
||||
"seçenek için dahi zorunludur. Seçimli baðýmsýz deðiþkenler için "
|
||||
"benzerþekildedir.\n"
|
||||
|
||||
#: src/getargs.c:97
|
||||
#: src/getargs.c:98
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
" -V, --version output version information and exit\n"
|
||||
" -y, --yacc emulate POSIX yacc\n"
|
||||
msgstr ""
|
||||
"Çalýþma kipleri:\n"
|
||||
" -h, --help bu yardýmý göster ve çýk\n"
|
||||
" -V, --version sürüm bilgisini ver ve çýk\n"
|
||||
" -y, --yacc POSIX yacc öykünmesi\n"
|
||||
|
||||
#: src/getargs.c:104
|
||||
#: src/getargs.c:105
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
@@ -184,23 +185,23 @@ msgid ""
|
||||
" -k, --token-table include a table of token names\n"
|
||||
msgstr ""
|
||||
"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"
|
||||
" --locations konum hesaplamalarýný etkinleþtirir\n"
|
||||
" -p, --name-prefix=ÖNEK dýþ simgelere eklenen ÖNEK\n"
|
||||
" -l, --no-lines `#line' bildirimlerini üretmez\n"
|
||||
" -n, --no-parser sadece tablolarý üretir\n"
|
||||
" -k, --token-table andaç isimlerinin bir tablosunu içerir\n"
|
||||
" --locations konum hesaplamalarýný etkinleþtir\n"
|
||||
" -p, --name-prefix=PREFIX dýþ simgelere hazýr bekletilen ÖNEK\n"
|
||||
" -l, --no-lines `#line' bildirimlerini üretme\n"
|
||||
" -n, --no-parser sadece tablolarý üret\n"
|
||||
" -k, --token-table andaç isimlerinin bir tablosunu içer\n"
|
||||
|
||||
#: src/getargs.c:116
|
||||
#: src/getargs.c:117
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
" -d, --defines also produce a header file\n"
|
||||
" -v, --verbose also produce an explanation of the automaton\n"
|
||||
" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
|
||||
" -o, --output-file=FILE leave output to FILE\n"
|
||||
" -g, --graph also produce a VCG graph description of the "
|
||||
" -o, --output=FILE leave output to FILE\n"
|
||||
" -g, --graph also produce a VCG description of the "
|
||||
"automaton\n"
|
||||
msgstr ""
|
||||
"Çýktý:\n"
|
||||
@@ -208,105 +209,114 @@ msgstr ""
|
||||
" -v, --verbose otomatýn bir açýklamasýný da üretir\n"
|
||||
" -b, --file-prefix=ÖNEK çýktý dosyalarý için bir ÖNEK belirtir\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:126
|
||||
#: src/getargs.c:127
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr ""
|
||||
"Hatalarý <[email protected]>'a,\n"
|
||||
"çeviri hatalarýný <[email protected]>'e bildir.\n"
|
||||
msgstr "Hatalarý <[email protected]>'a bildir.\n"
|
||||
|
||||
#. Some efforts were made to ease the translators' task, please
|
||||
#. continue.
|
||||
#: src/getargs.c:140
|
||||
#: src/getargs.c:141
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:145
|
||||
#: src/getargs.c:146
|
||||
msgid ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
msgstr ""
|
||||
"Telifhakký 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, "
|
||||
"Kopyahakký 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, "
|
||||
"Inc.\n"
|
||||
|
||||
#: src/getargs.c:149
|
||||
#: src/getargs.c:150
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
msgstr ""
|
||||
"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"
|
||||
|
||||
#: src/getargs.c:214 src/lex.c:650
|
||||
#: src/getargs.c:215 src/lex.c:694
|
||||
#, c-format
|
||||
msgid "`%s' is no longer supported"
|
||||
msgstr "`%s' artýk desteklenmiyor"
|
||||
msgstr "`%s' artýk desteklenmeyecek"
|
||||
|
||||
#: src/getargs.c:238
|
||||
#: src/getargs.c:239
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Daha fazla bilgi için `%s --help' yazýn.\n"
|
||||
|
||||
#: src/getargs.c:245
|
||||
#: src/getargs.c:246
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: gramer dosyasý verilmemiþ\n"
|
||||
msgstr "%s: verilen gramer dosyasý yok\n"
|
||||
|
||||
#: src/getargs.c:249
|
||||
#: src/getargs.c:250
|
||||
#, c-format
|
||||
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
|
||||
#, c-format
|
||||
msgid "too many gotos (max %d)"
|
||||
msgstr "gotos çok fazla (en fazla %d)"
|
||||
|
||||
#: src/lex.c:78
|
||||
#: src/lex.c:76
|
||||
msgid "unexpected `/' found and ignored"
|
||||
msgstr "beklenmeyen `/' bulundu ve yoksayýldý"
|
||||
|
||||
#: src/lex.c:107 src/reader.c:269
|
||||
#: src/lex.c:105 src/reader.c:269
|
||||
msgid "unterminated comment"
|
||||
msgstr "sonlandýrýlmamýþ açýklama"
|
||||
|
||||
#: src/lex.c:139
|
||||
#: src/lex.c:137
|
||||
msgid "unexpected end of file"
|
||||
msgstr "beklenmeyen dosya sonu"
|
||||
|
||||
#: src/lex.c:168
|
||||
#: src/lex.c:166
|
||||
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:210
|
||||
#: src/lex.c:208
|
||||
#, c-format
|
||||
msgid "octal value outside range 0...255: `\\%o'"
|
||||
msgstr "sekizli deðer 0...255'in dýþýnda: `\\%o'"
|
||||
|
||||
#: src/lex.c:235
|
||||
#: src/lex.c:233
|
||||
#, c-format
|
||||
msgid "hexadecimal value above 255: `\\x%x'"
|
||||
msgstr "onaltýlýk deðer 255'in üstünde: `\\x%x'"
|
||||
|
||||
#: src/lex.c:247
|
||||
#: src/lex.c:245
|
||||
#, c-format
|
||||
msgid "unknown escape sequence: `\\' followed by `%s'"
|
||||
msgstr "bilinmeyen kaçýþ sýrasý: `\\' `%s' tarafýndan takip edildi"
|
||||
|
||||
#: src/lex.c:343
|
||||
#: src/lex.c:342
|
||||
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:346
|
||||
#: src/lex.c:345
|
||||
msgid "unterminated type name"
|
||||
msgstr "sonlandýrýlmamýþ tip ismi"
|
||||
|
||||
#: src/lex.c:437
|
||||
#: src/lex.c:438
|
||||
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/main.c:125
|
||||
#: src/lex.c:667
|
||||
#, c-format
|
||||
msgid "`%s' supports no argument: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/lex.c:683
|
||||
#, fuzzy, c-format
|
||||
msgid "`%s' requires an argument"
|
||||
msgstr "%s: `%s' seçeneði bir argümanla kullanýlýr\n"
|
||||
|
||||
#: src/main.c:128
|
||||
#, c-format
|
||||
msgid "%s: internal error: %s\n"
|
||||
msgstr "%s: iç hata: %s\n"
|
||||
@@ -320,77 +330,77 @@ msgstr "set_nullable'a girildi"
|
||||
msgid "maximum table size (%d) exceeded"
|
||||
msgstr "en büyük tablo uzunluðu (%d) aþýldý"
|
||||
|
||||
#: src/print.c:37
|
||||
#: src/print.c:38
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " tip %d %s'dir\n"
|
||||
|
||||
#: src/print.c:85
|
||||
#: src/print.c:86
|
||||
#, c-format
|
||||
msgid " (rule %d)"
|
||||
msgstr " (kural %d)"
|
||||
|
||||
#: src/print.c:111
|
||||
#: src/print.c:112
|
||||
msgid " $default\taccept\n"
|
||||
msgstr " $default\tonayla\n"
|
||||
|
||||
#: src/print.c:113
|
||||
#: src/print.c:114
|
||||
msgid " NO ACTIONS\n"
|
||||
msgstr " EYLEM YOK\n"
|
||||
msgstr " EYLEMLER YOK\n"
|
||||
|
||||
#: src/print.c:132
|
||||
#: src/print.c:133
|
||||
#, c-format
|
||||
msgid " $ \tgo to state %d\n"
|
||||
msgstr " $ \tdurum %d'ye git\n"
|
||||
|
||||
#: src/print.c:135
|
||||
#: src/print.c:136
|
||||
#, c-format
|
||||
msgid " %-4s\tshift, and go to state %d\n"
|
||||
msgstr " %-4s\tötele, ve durum %d'ye git\n"
|
||||
|
||||
#: src/print.c:159
|
||||
#: src/print.c:160
|
||||
#, c-format
|
||||
msgid " %-4s\terror (nonassociative)\n"
|
||||
msgstr " %-4s\thata (birleþmeli deðil)\n"
|
||||
|
||||
#: src/print.c:187
|
||||
#: src/print.c:188
|
||||
#, c-format
|
||||
msgid " %-4s\tgo to state %d\n"
|
||||
msgstr " %-4s\tdurum %d'ye git\n"
|
||||
|
||||
#: src/print.c:199
|
||||
#: src/print.c:200
|
||||
#, c-format
|
||||
msgid "state %d"
|
||||
msgstr "durum %d"
|
||||
|
||||
#. rule # : LHS -> RHS
|
||||
#: src/print.c:229
|
||||
#: src/print.c:230
|
||||
msgid "Grammar"
|
||||
msgstr "Gramer"
|
||||
|
||||
#: src/print.c:234
|
||||
#: src/print.c:235
|
||||
#, c-format
|
||||
msgid "rule %-4d %s ->"
|
||||
msgstr "kural %-4d %s ->"
|
||||
|
||||
#: src/print.c:240
|
||||
#: src/print.c:241
|
||||
msgid "empty"
|
||||
msgstr ""
|
||||
msgstr "boþ"
|
||||
|
||||
#. TERMINAL (type #) : rule #s terminal is on RHS
|
||||
#: src/print.c:244
|
||||
#: src/print.c:246
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr "Sabit simgeler, kurallarýnýn bulunduklarý yerde"
|
||||
|
||||
#: src/print.c:268
|
||||
#: src/print.c:270
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr "Deðiþken simgeler, kurallarýnýn bulunduklarý yerde"
|
||||
|
||||
#: src/print.c:294
|
||||
#: src/print.c:296
|
||||
msgid " on left:"
|
||||
msgstr " solda:"
|
||||
|
||||
#: src/print.c:309
|
||||
#: src/print.c:311
|
||||
msgid " on right:"
|
||||
msgstr " saðda:"
|
||||
|
||||
@@ -452,19 +462,19 @@ msgstr "%s'den sonra erken EOF"
|
||||
#: src/reader.c:498
|
||||
#, c-format
|
||||
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
|
||||
#, c-format
|
||||
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
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "%s simgesi yeniden tanýmlandý"
|
||||
|
||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1285
|
||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1294
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "%s için yeniden tip bildirimi"
|
||||
@@ -474,12 +484,12 @@ msgstr "%s i
|
||||
msgid "`%s' is invalid in %s"
|
||||
msgstr "`%s' %s içinde geçersizdir"
|
||||
|
||||
#: src/reader.c:558 src/reader.c:717
|
||||
#: src/reader.c:558 src/reader.c:723
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "çoklu %s bildirimleri"
|
||||
|
||||
#: src/reader.c:560 src/reader.c:897 src/reader.c:922 src/reader.c:1263
|
||||
#: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1272
|
||||
#, c-format
|
||||
msgid "invalid %s declaration"
|
||||
msgstr "geçersiz %s bildirimi"
|
||||
@@ -491,7 +501,7 @@ msgstr "%type bildirimi <tipad
|
||||
#: src/reader.c:615
|
||||
#, c-format
|
||||
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
|
||||
#, c-format
|
||||
@@ -508,138 +518,140 @@ msgstr "ge
|
||||
msgid "unexpected item: %s"
|
||||
msgstr "beklenmeyen öðe: %s"
|
||||
|
||||
#: src/reader.c:760 src/reader.c:1089 src/reader.c:1160
|
||||
#: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
|
||||
#, c-format
|
||||
msgid "unmatched %s"
|
||||
msgstr "eþlenemeyen %s"
|
||||
|
||||
#: src/reader.c:792
|
||||
#: src/reader.c:798
|
||||
#, c-format
|
||||
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:838
|
||||
#: src/reader.c:844
|
||||
#, c-format
|
||||
msgid "unrecognized item %s, expected an identifier"
|
||||
msgstr "%s öðesi tanýnmadý, beklenen bir tanýtýcýdýr"
|
||||
|
||||
#: src/reader.c:862
|
||||
#: src/reader.c:866
|
||||
#, c-format
|
||||
msgid "expected string constant instead of %s"
|
||||
msgstr "%s'in yerine sabit dizge beklendi"
|
||||
msgstr "%s'in yerine beklenen dizgi sabitidir"
|
||||
|
||||
#: src/reader.c:1005
|
||||
#: src/reader.c:1014
|
||||
#, c-format
|
||||
msgid "unrecognized: %s"
|
||||
msgstr "tanýnmayan: %s"
|
||||
|
||||
#: src/reader.c:1010
|
||||
#: src/reader.c:1019
|
||||
msgid "no input grammar"
|
||||
msgstr "girdi grameri yok"
|
||||
|
||||
#: src/reader.c:1015
|
||||
#: src/reader.c:1024
|
||||
#, c-format
|
||||
msgid "unknown character: %s"
|
||||
msgstr "bilinmeyen karakter: %s"
|
||||
|
||||
#: src/reader.c:1183
|
||||
#: src/reader.c:1192
|
||||
#, c-format
|
||||
msgid "unterminated %guard clause"
|
||||
msgstr "sonlandýrýlmamýþ %guard yantümcesi"
|
||||
|
||||
#: src/reader.c:1350
|
||||
#: src/reader.c:1359
|
||||
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:1357
|
||||
#: src/reader.c:1366
|
||||
msgid "grammar starts with vertical bar"
|
||||
msgstr "gramer düþey çubuk ile baþlýyor"
|
||||
|
||||
#: src/reader.c:1388
|
||||
#: src/reader.c:1397
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "bir andaç olan %s için verilen kural"
|
||||
|
||||
#: src/reader.c:1490
|
||||
#: src/reader.c:1499
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "bir satýrda iki @prec"
|
||||
|
||||
#: src/reader.c:1498
|
||||
#: src/reader.c:1507
|
||||
#, c-format
|
||||
msgid "%%guard present but %%semantic_parser not specified"
|
||||
msgstr "%%guard sunulmuþ fakat %%semantic_parser belirlenmemiþ"
|
||||
|
||||
#: src/reader.c:1507
|
||||
#: src/reader.c:1516
|
||||
msgid "two actions at end of one rule"
|
||||
msgstr "bir kuralýn sonunda iki eylem"
|
||||
|
||||
#: src/reader.c:1521
|
||||
#: src/reader.c:1530
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "öntanýmlý eylem üzerinde (`%s' `%s') tip çatýþmasý"
|
||||
|
||||
#: src/reader.c:1527
|
||||
#: src/reader.c:1536
|
||||
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:1571
|
||||
#: src/reader.c:1580
|
||||
#, c-format
|
||||
msgid "invalid input: %s"
|
||||
msgstr "geçersiz girdi: %s"
|
||||
|
||||
#: src/reader.c:1579
|
||||
#: src/reader.c:1588
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "çok fazla simge var (andaçlar ve deðiþken simgeler); en fazla %d"
|
||||
|
||||
#: src/reader.c:1582
|
||||
#: src/reader.c:1591
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "girdi grameri içinde kurallar yok"
|
||||
|
||||
#: src/reader.c:1606
|
||||
#: src/reader.c:1615
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"simge %s kullanýldý, fakat bir andaç olarak tanýmlanmadý vekurallarý yok"
|
||||
"simge %s kullanýldý, fakat bir andaç gibi tanýmlanmadý ve kurallara "
|
||||
"sahipdeðil"
|
||||
|
||||
#: src/reader.c:1712
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "%s ve %s için çeliþen öncelikler"
|
||||
|
||||
#: src/reader.c:1724
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "%s ve %s için çeliþen birleþmeli deðerler"
|
||||
|
||||
#: src/reader.c:1770
|
||||
#: src/reader.c:1707
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "%s ve %s andaçlarýnýn her ikisi %d sayýsýna atandý"
|
||||
|
||||
#: src/reader.c:1782
|
||||
#: src/reader.c:1760
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "%s ve %s için çeliþen öncelikler"
|
||||
|
||||
#: src/reader.c:1772
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "%s ve %s için çeliþen birleþmeli deðerler"
|
||||
|
||||
#: src/reader.c:1811
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "baþlangýç simgesi %s tanýmlanmadý"
|
||||
|
||||
#: src/reader.c:1784
|
||||
#: src/reader.c:1813
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "baþlangýç simgesi %s bir andaçtýr"
|
||||
|
||||
#: src/reduce.c:401
|
||||
#: src/reduce.c:405
|
||||
msgid "Useless nonterminals:"
|
||||
msgstr "Yararsýz kurallar:"
|
||||
|
||||
#: src/reduce.c:416
|
||||
#: src/reduce.c:419
|
||||
msgid "Terminals which are not used:"
|
||||
msgstr "Kullanýlmayan sabit simgeler:"
|
||||
|
||||
#: src/reduce.c:427
|
||||
#: src/reduce.c:430
|
||||
msgid "Useless rules:"
|
||||
msgstr "Yararsýz kurallar:"
|
||||
|
||||
#: src/reduce.c:456
|
||||
#: src/reduce.c:458
|
||||
msgid ""
|
||||
"Variables\n"
|
||||
"---------\n"
|
||||
@@ -649,7 +661,7 @@ msgstr ""
|
||||
"-----------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:458
|
||||
#: src/reduce.c:459
|
||||
msgid "Value Sprec Sassoc Tag\n"
|
||||
msgstr "Deðer Söncel Sbirleþ Etiket\n"
|
||||
|
||||
@@ -663,7 +675,7 @@ msgstr ""
|
||||
"--------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:474
|
||||
#: src/reduce.c:473
|
||||
msgid ""
|
||||
"Rules interpreted\n"
|
||||
"-----------------\n"
|
||||
@@ -673,105 +685,100 @@ msgstr ""
|
||||
"-------------------\n"
|
||||
"\n"
|
||||
|
||||
#: src/reduce.c:491
|
||||
#: src/reduce.c:495
|
||||
#, c-format
|
||||
msgid "%d rules never reduced\n"
|
||||
msgstr "%d kural asla indirgenmedi\n"
|
||||
|
||||
#: src/reduce.c:493
|
||||
#, c-format
|
||||
msgid "%s contains "
|
||||
msgstr "%s içerir "
|
||||
|
||||
#: src/reduce.c:497
|
||||
#: src/reduce.c:501
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal%s"
|
||||
msgstr "%d yararsýz deðiþken simge%s"
|
||||
|
||||
#: src/reduce.c:502
|
||||
#: src/reduce.c:506
|
||||
msgid " and "
|
||||
msgstr " ve "
|
||||
|
||||
#: src/reduce.c:506
|
||||
#: src/reduce.c:510
|
||||
#, c-format
|
||||
msgid "%d useless rule%s"
|
||||
msgstr "%d yararsýz kural%s"
|
||||
|
||||
#: src/reduce.c:539
|
||||
#: src/reduce.c:540
|
||||
#, c-format
|
||||
msgid "Start symbol %s does not derive any sentence"
|
||||
msgstr "Baþlangýç simgesi %s herhangi bir cümleden türemez"
|
||||
|
||||
#: src/reduce.c:552
|
||||
#, fuzzy, c-format
|
||||
#: src/reduce.c:553
|
||||
#, c-format
|
||||
msgid ""
|
||||
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
||||
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"
|
||||
|
||||
#: lib/getopt.c:675
|
||||
#: lib/getopt.c:694
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: `%s' seçeneði belirsiz\n"
|
||||
|
||||
#: lib/getopt.c:700
|
||||
#: lib/getopt.c:719
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: `--%s' seçeneði argümansýz kullanýlýr\n"
|
||||
|
||||
#: lib/getopt.c:705
|
||||
#: lib/getopt.c:724
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: seçenek `%c%s' argümansýz kullanýlýr\n"
|
||||
|
||||
#: lib/getopt.c:723 lib/getopt.c:896
|
||||
#: lib/getopt.c:742 lib/getopt.c:915
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: `%s' seçeneði bir argümanla kullanýlýr\n"
|
||||
|
||||
#. --option
|
||||
#: lib/getopt.c:752
|
||||
#: lib/getopt.c:771
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: `--%s' seçeneði bilinmiyor\n"
|
||||
|
||||
#. +option or -option
|
||||
#: lib/getopt.c:756
|
||||
#: lib/getopt.c:775
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: `%c%s' seçeneði bilinmiyor\n"
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: lib/getopt.c:782
|
||||
#: lib/getopt.c:801
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: kuraldýþý seçenek -- %c\n"
|
||||
|
||||
#: lib/getopt.c:785
|
||||
#: lib/getopt.c:804
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: geçersiz seçenek -- %c\n"
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: lib/getopt.c:815 lib/getopt.c:945
|
||||
#: lib/getopt.c:834 lib/getopt.c:964
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: seçenek bir argümanla kullanýlýr -- %c\n"
|
||||
|
||||
#: lib/getopt.c:862
|
||||
#: lib/getopt.c:881
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: `-W %s' seçeneði belirsiz\n"
|
||||
|
||||
#: lib/getopt.c:880
|
||||
#: lib/getopt.c:899
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: `-W %s' seçeneði argümansýz kullanýlýr\n"
|
||||
|
||||
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
|
||||
#. before exiting when memory is exhausted. Goes through gettext.
|
||||
#: lib/obstack.c:477 lib/xmalloc.c:66
|
||||
#: lib/obstack.c:494 lib/obstack.c:497 lib/xmalloc.c:66
|
||||
msgid "memory exhausted"
|
||||
msgstr "bellek tükendi"
|
||||
|
||||
@@ -797,44 +804,11 @@ msgstr "`"
|
||||
msgid "'"
|
||||
msgstr "'"
|
||||
|
||||
#~ msgid "\t\t/* empty */"
|
||||
#~ msgstr "\t\t/* boþ */"
|
||||
#~ msgid " 1 shift/reduce conflict"
|
||||
#~ msgstr " 1 öteleme/indirgeme çeliþkisi"
|
||||
|
||||
#~ msgid "multiple %%header_extension declarations"
|
||||
#~ msgstr "çoklu %%header_extension bildirimleri"
|
||||
#~ msgid " 1 reduce/reduce conflict"
|
||||
#~ msgstr " 1 indirgeme/indirgeme çeliþkisi"
|
||||
|
||||
#~ msgid "multiple %%source_extension declarations"
|
||||
#~ msgstr "çoklu %%source_extension bildirimleri"
|
||||
|
||||
#~ 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"
|
||||
#~ msgid "%s contains"
|
||||
#~ msgstr "%s içerir"
|
||||
|
||||
+7
-7
@@ -1,4 +1,5 @@
|
||||
# Makefile.in generated automatically by automake 1.5a from Makefile.am.
|
||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
@@ -63,6 +64,7 @@ EXEEXT = @EXEEXT@
|
||||
OBJEXT = @OBJEXT@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOM4TE = @AUTOM4TE@
|
||||
AWK = @AWK@
|
||||
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
|
||||
CATALOGS = @CATALOGS@
|
||||
@@ -71,6 +73,7 @@ CC = @CC@
|
||||
CPP = @CPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
GCC = @GCC@
|
||||
GENCAT = @GENCAT@
|
||||
GLIBC21 = @GLIBC21@
|
||||
GMOFILES = @GMOFILES@
|
||||
@@ -81,9 +84,8 @@ INTLBISON = @INTLBISON@
|
||||
INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||
LIB = @LIB@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
M4 = @M4@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
MSGFMT = @MSGFMT@
|
||||
PACKAGE = @PACKAGE@
|
||||
@@ -186,9 +188,7 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu src/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && \
|
||||
CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
install-binPROGRAMS: $(bin_PROGRAMS)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(bindir)
|
||||
@@ -227,7 +227,7 @@ ANSI2KNR = ../lib/ansi2knr
|
||||
cd ../lib && $(MAKE) $(AM_MAKEFLAGS) ansi2knr
|
||||
|
||||
mostlyclean-kr:
|
||||
-rm -f *_.c
|
||||
-test "$U" = "" || rm -f *_.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/LR0$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/closure$U.Po@am__quote@
|
||||
|
||||
+49
-42
@@ -76,10 +76,27 @@
|
||||
# define YYSTACK_USE_ALLOCA 0
|
||||
#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
|
||||
# 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
|
||||
# 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
|
||||
|
||||
#define yyerrok (yyerrstatus = 0)
|
||||
@@ -291,7 +308,7 @@ yyparse (YYPARSE_PARAM_ARG)
|
||||
|
||||
/* Three stacks and their tools:
|
||||
`yyss': related to states,
|
||||
`yysv': related to semantic values,
|
||||
`yyvs': related to semantic values,
|
||||
`yyls': related to locations.
|
||||
|
||||
Refer to the stacks thru separate pointers, to allow yyoverflow
|
||||
@@ -368,40 +385,38 @@ yyparse (YYPARSE_PARAM_ARG)
|
||||
|
||||
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. */
|
||||
int size = yyssp - yyss + 1;
|
||||
|
||||
#ifdef yyoverflow
|
||||
/* Each stack pointer address is followed by the size of the
|
||||
data in use in that stack, in bytes. */
|
||||
# if YYLSP_NEEDED
|
||||
/* 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);
|
||||
# else
|
||||
yyoverflow ("parser stack overflow",
|
||||
&yyss1, size * sizeof (*yyssp),
|
||||
&yyvs1, size * sizeof (*yyvsp),
|
||||
&yystacksize);
|
||||
# endif
|
||||
{
|
||||
/* 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;
|
||||
|
||||
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
|
||||
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
|
||||
yyss = yyss1;
|
||||
yyvs = yyvs1;
|
||||
}
|
||||
#else /* no yyoverflow */
|
||||
/* Extend the stack our own way. */
|
||||
if (yystacksize >= YYMAXDEPTH)
|
||||
@@ -420,19 +435,11 @@ yyparse (YYPARSE_PARAM_ARG)
|
||||
yystacksize *= 2;
|
||||
if (yystacksize > YYMAXDEPTH)
|
||||
yystacksize = YYMAXDEPTH;
|
||||
# if !YYSTACK_USE_ALLOCA
|
||||
yyfree_stacks = 1;
|
||||
# endif
|
||||
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));
|
||||
|
||||
YYSTACK_REALLOC (short, yyss, yyssa);
|
||||
YYSTACK_REALLOC (YYSTYPE, yyvs, yyvsa);
|
||||
# if YYLSP_NEEDED
|
||||
yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
|
||||
__yy_memcpy ((char *)yyls, (char *)yyls1,
|
||||
size * (unsigned int) sizeof (*yylsp));
|
||||
YYSTACK_REALLOC (YYLTYPE, yyls, yylsa);
|
||||
# endif
|
||||
#endif /* no yyoverflow */
|
||||
|
||||
|
||||
+94
-97
@@ -19,6 +19,7 @@
|
||||
02111-1307, USA. */
|
||||
|
||||
#include "system.h"
|
||||
#include "complain.h"
|
||||
#include "getargs.h"
|
||||
#include "files.h"
|
||||
#include "gram.h"
|
||||
@@ -28,17 +29,13 @@
|
||||
#include "reader.h"
|
||||
#include "LR0.h"
|
||||
|
||||
int any_conflicts = 0;
|
||||
errs **err_table = NULL;
|
||||
int expected_conflicts;
|
||||
/* -1 stands for not specified. */
|
||||
int expected_conflicts = -1;
|
||||
static char *conflicts = NULL;
|
||||
|
||||
static unsigned *shiftset = NULL;
|
||||
static unsigned *lookaheadset = NULL;
|
||||
static int src_total;
|
||||
static int rrc_total;
|
||||
static int src_count;
|
||||
static int rrc_count;
|
||||
|
||||
|
||||
static inline void
|
||||
@@ -246,13 +243,8 @@ set_conflicts (int state)
|
||||
fp3 = lookaheadset;
|
||||
|
||||
while (fp3 < fp4)
|
||||
{
|
||||
if (*fp2++ & *fp3++)
|
||||
{
|
||||
conflicts[state] = 1;
|
||||
any_conflicts = 1;
|
||||
}
|
||||
}
|
||||
if (*fp2++ & *fp3++)
|
||||
conflicts[state] = 1;
|
||||
|
||||
fp2 = fp1;
|
||||
fp3 = lookaheadset;
|
||||
@@ -273,8 +265,6 @@ solve_conflicts (void)
|
||||
|
||||
err_table = XCALLOC (errs *, nstates);
|
||||
|
||||
any_conflicts = 0;
|
||||
|
||||
for (i = 0; i < nstates; i++)
|
||||
set_conflicts (i);
|
||||
}
|
||||
@@ -284,7 +274,7 @@ solve_conflicts (void)
|
||||
| Count the number of shift/reduce conflicts. |
|
||||
`---------------------------------------------*/
|
||||
|
||||
static void
|
||||
static int
|
||||
count_sr_conflicts (int state)
|
||||
{
|
||||
int i;
|
||||
@@ -296,11 +286,11 @@ count_sr_conflicts (int state)
|
||||
unsigned *fp3;
|
||||
int symbol;
|
||||
|
||||
src_count = 0;
|
||||
int src_count = 0;
|
||||
|
||||
shiftp = shift_table[state];
|
||||
if (!shiftp)
|
||||
return;
|
||||
return 0;
|
||||
|
||||
for (i = 0; i < tokensetsize; i++)
|
||||
{
|
||||
@@ -351,6 +341,8 @@ count_sr_conflicts (int state)
|
||||
fp2++;
|
||||
}
|
||||
}
|
||||
|
||||
return src_count;
|
||||
}
|
||||
|
||||
|
||||
@@ -358,33 +350,29 @@ count_sr_conflicts (int state)
|
||||
| Count the number of reduce/reduce conflicts. |
|
||||
`----------------------------------------------*/
|
||||
|
||||
static void
|
||||
static int
|
||||
count_rr_conflicts (int state)
|
||||
{
|
||||
int i;
|
||||
int j;
|
||||
int count;
|
||||
unsigned mask;
|
||||
unsigned *baseword;
|
||||
unsigned *wordp;
|
||||
int m;
|
||||
int n;
|
||||
|
||||
rrc_count = 0;
|
||||
int rrc_count = 0;
|
||||
|
||||
m = lookaheads[state];
|
||||
n = lookaheads[state + 1];
|
||||
int m = lookaheads[state];
|
||||
int n = lookaheads[state + 1];
|
||||
|
||||
if (n - m < 2)
|
||||
return;
|
||||
return 0;
|
||||
|
||||
mask = 1;
|
||||
baseword = LA + m * tokensetsize;
|
||||
for (i = 0; i < ntokens; i++)
|
||||
{
|
||||
wordp = baseword;
|
||||
unsigned *wordp = baseword;
|
||||
|
||||
count = 0;
|
||||
int count = 0;
|
||||
int j;
|
||||
for (j = m; j < n; j++)
|
||||
{
|
||||
if (mask & *wordp)
|
||||
@@ -403,6 +391,8 @@ count_rr_conflicts (int state)
|
||||
baseword++;
|
||||
}
|
||||
}
|
||||
|
||||
return rrc_count;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------.
|
||||
@@ -416,31 +406,23 @@ conflict_report (int src_num, int rrc_num)
|
||||
static char res[4096];
|
||||
char *cp = res;
|
||||
|
||||
if (src_num == 1)
|
||||
if (src_num >= 1)
|
||||
{
|
||||
sprintf (cp, _(" 1 shift/reduce conflict"));
|
||||
cp += strlen (cp);
|
||||
}
|
||||
else if (src_num > 1)
|
||||
{
|
||||
sprintf (cp, _(" %d shift/reduce conflicts"), src_num);
|
||||
sprintf (cp, ngettext ("%d shift/reduce conflict",
|
||||
"%d shift/reduce conflicts", src_num), src_num);
|
||||
cp += strlen (cp);
|
||||
}
|
||||
|
||||
if (src_num > 0 && rrc_num > 0)
|
||||
{
|
||||
sprintf (cp, _(" and"));
|
||||
sprintf (cp, " %s ", _("and"));
|
||||
cp += strlen (cp);
|
||||
}
|
||||
|
||||
if (rrc_num == 1)
|
||||
if (rrc_num >= 1)
|
||||
{
|
||||
sprintf (cp, _(" 1 reduce/reduce conflict"));
|
||||
cp += strlen (cp);
|
||||
}
|
||||
else if (rrc_num > 1)
|
||||
{
|
||||
sprintf (cp, _(" %d reduce/reduce conflicts"), rrc_num);
|
||||
sprintf (cp, ngettext ("%d reduce/reduce conflict",
|
||||
"%d reduce/reduce conflicts", rrc_num), rrc_num);
|
||||
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
|
||||
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;
|
||||
|
||||
src_total = 0;
|
||||
rrc_total = 0;
|
||||
int src_total = 0;
|
||||
int rrc_total = 0;
|
||||
|
||||
/* Count the total number of conflicts, and if wanted, give a
|
||||
detailed report in FOUTPUT. */
|
||||
/* Conflicts by state. */
|
||||
for (i = 0; i < nstates; i++)
|
||||
{
|
||||
if (conflicts[i])
|
||||
{
|
||||
count_sr_conflicts (i);
|
||||
count_rr_conflicts (i);
|
||||
src_total += src_count;
|
||||
rrc_total += rrc_count;
|
||||
if (conflicts[i])
|
||||
{
|
||||
src_total += count_sr_conflicts (i);
|
||||
rrc_total += count_rr_conflicts (i);
|
||||
}
|
||||
|
||||
if (verbose_flag)
|
||||
{
|
||||
fprintf (out, _("State %d contains"), i);
|
||||
fputs (conflict_report (src_count, rrc_count), out);
|
||||
}
|
||||
/* Report the total number of conflicts on STDERR. */
|
||||
if (src_total || rrc_total)
|
||||
{
|
||||
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 (yacc_flag)
|
||||
if (expected_conflicts != -1
|
||||
&& src_total != expected_conflicts)
|
||||
{
|
||||
/* 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);
|
||||
complain_message_count++;
|
||||
fprintf (stderr, ngettext ("expected %d shift/reduce conflict",
|
||||
"expected %d shift/reduce conflicts",
|
||||
expected_conflicts),
|
||||
expected_conflicts);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
print_reductions (int state)
|
||||
print_reductions (FILE *out, int state)
|
||||
{
|
||||
int i;
|
||||
int j;
|
||||
@@ -584,9 +586,8 @@ print_reductions (int state)
|
||||
for (i = 0; i < ntokens; i++)
|
||||
{
|
||||
if (mask & *fp3)
|
||||
obstack_fgrow3 (&output_obstack,
|
||||
_(" %-4s\t[reduce using rule %d (%s)]\n"),
|
||||
tags[i], default_rule, tags[rlhs[default_rule]]);
|
||||
fprintf (out, _(" %-4s\t[reduce using rule %d (%s)]\n"),
|
||||
tags[i], default_rule, tags[rlhs[default_rule]]);
|
||||
|
||||
mask <<= 1;
|
||||
if (mask == 0)
|
||||
@@ -596,9 +597,8 @@ print_reductions (int state)
|
||||
}
|
||||
}
|
||||
|
||||
obstack_fgrow2 (&output_obstack,
|
||||
_(" $default\treduce using rule %d (%s)\n\n"),
|
||||
default_rule, tags[rlhs[default_rule]]);
|
||||
fprintf (out, _(" $default\treduce using rule %d (%s)\n\n"),
|
||||
default_rule, tags[rlhs[default_rule]]);
|
||||
}
|
||||
else if (n - m >= 1)
|
||||
{
|
||||
@@ -685,7 +685,7 @@ print_reductions (int state)
|
||||
if (j != default_LA)
|
||||
{
|
||||
rule = LAruleno[j];
|
||||
obstack_fgrow3 (&output_obstack,
|
||||
fprintf (out,
|
||||
_(" %-4s\treduce using rule %d (%s)\n"),
|
||||
tags[i], rule, tags[rlhs[rule]]);
|
||||
}
|
||||
@@ -699,13 +699,13 @@ print_reductions (int state)
|
||||
if (defaulted)
|
||||
{
|
||||
rule = LAruleno[default_LA];
|
||||
obstack_fgrow3 (&output_obstack,
|
||||
fprintf (out,
|
||||
_(" %-4s\treduce using rule %d (%s)\n"),
|
||||
tags[i], rule, tags[rlhs[rule]]);
|
||||
defaulted = 0;
|
||||
}
|
||||
rule = LAruleno[j];
|
||||
obstack_fgrow3 (&output_obstack,
|
||||
fprintf (out,
|
||||
_(" %-4s\t[reduce using rule %d (%s)]\n"),
|
||||
tags[i], rule, tags[rlhs[rule]]);
|
||||
}
|
||||
@@ -726,11 +726,8 @@ print_reductions (int state)
|
||||
}
|
||||
|
||||
if (default_LA >= 0)
|
||||
obstack_fgrow2 (&output_obstack,
|
||||
_(" $default\treduce using rule %d (%s)\n"),
|
||||
default_rule, tags[rlhs[default_rule]]);
|
||||
|
||||
obstack_1grow (&output_obstack, '\n');
|
||||
fprintf (out, _(" $default\treduce using rule %d (%s)\n"),
|
||||
default_rule, tags[rlhs[default_rule]]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -23,12 +23,12 @@
|
||||
# include "state.h"
|
||||
|
||||
void solve_conflicts PARAMS ((void));
|
||||
void print_conflicts PARAMS ((FILE *out));
|
||||
void print_reductions PARAMS ((int));
|
||||
void conflicts_print PARAMS ((void));
|
||||
void conflicts_output PARAMS ((FILE *out));
|
||||
void print_reductions PARAMS ((FILE*out, int state));
|
||||
void free_conflicts PARAMS ((void));
|
||||
|
||||
/* Were there conflicts? */
|
||||
extern int any_conflicts;
|
||||
extern errs **err_table;
|
||||
extern int expected_conflicts;
|
||||
#endif /* !CONFLICTS_H_ */
|
||||
|
||||
+18
-8
@@ -86,26 +86,36 @@ stringappend (const char *string1, const char *string2)
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------------------.
|
||||
| Computes the macro name used to avoid double inclusion in the |
|
||||
| header of the parser and store it in header_macro_name. |
|
||||
`---------------------------------------------------------------*/
|
||||
/*-----------------------------------------------------------------.
|
||||
| Computes the macro name used to avoid double inclusion in the |
|
||||
| header of the parser and store it in header_macro_name. Be sure |
|
||||
| to produce valid CPP names (don't start with digit, remain |
|
||||
| alphanumerical + underscore). |
|
||||
`-----------------------------------------------------------------*/
|
||||
|
||||
static char *
|
||||
compute_header_macro (void)
|
||||
{
|
||||
const char *prefix = "BISON_";
|
||||
char *macro_name, *cp;
|
||||
|
||||
if (spec_defines_file)
|
||||
macro_name = xstrdup (spec_defines_file);
|
||||
{
|
||||
macro_name = XMALLOC (char,
|
||||
strlen (prefix) +
|
||||
strlen (spec_defines_file) + 1);
|
||||
cp = stpcpy (macro_name, prefix);
|
||||
cp = stpcpy (cp, spec_defines_file);
|
||||
}
|
||||
else
|
||||
{
|
||||
macro_name = XMALLOC (char,
|
||||
strlen (prefix) +
|
||||
strlen (base_name) +
|
||||
strlen (header_extension) + 1);
|
||||
|
||||
stpcpy (macro_name, base_name);
|
||||
strcat (macro_name, header_extension);
|
||||
cp = stpcpy (macro_name, prefix);
|
||||
cp = stpcpy (cp, base_name);
|
||||
cp = stpcpy (cp, header_extension);
|
||||
}
|
||||
|
||||
for (cp = macro_name; *cp; ++cp)
|
||||
|
||||
+4
-3
@@ -63,6 +63,7 @@ static struct option longopts[] =
|
||||
{"defines", optional_argument, 0, 'd'},
|
||||
{"verbose", no_argument, 0, 'v'},
|
||||
{"file-prefix", required_argument, 0, 'b'},
|
||||
{"output", required_argument, 0, 'o'},
|
||||
{"output-file", required_argument, 0, 'o'},
|
||||
{"graph", optional_argument, 0, 'g'},
|
||||
|
||||
@@ -118,9 +119,9 @@ Output:\n\
|
||||
-d, --defines also produce a header file\n\
|
||||
-v, --verbose also produce an explanation of the automaton\n\
|
||||
-b, --file-prefix=PREFIX specify a PREFIX for output files\n\
|
||||
-o, --output-file=FILE leave output to FILE\n\
|
||||
-g, --graph also produce a VCG graph description of the \
|
||||
automaton\n"), stream);
|
||||
-o, --output=FILE leave output to FILE\n\
|
||||
-g, --graph also produce a VCG description of the automaton\n\
|
||||
"), stream);
|
||||
putc ('\n', stream);
|
||||
|
||||
fputs (_("\
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
#include "system.h"
|
||||
#include "getargs.h"
|
||||
#include "files.h"
|
||||
#include "getopt.h" /* for optarg */
|
||||
#include "symtab.h"
|
||||
#include "lex.h"
|
||||
#include "complain.h"
|
||||
@@ -32,14 +31,13 @@
|
||||
struct obstack token_obstack;
|
||||
const char *token_buffer = NULL;
|
||||
|
||||
bucket *symval;
|
||||
bucket *symval = NULL;
|
||||
int numval;
|
||||
|
||||
/* these two describe a token to be reread */
|
||||
/* A token to be reread, see unlex and lex. */
|
||||
static token_t unlexed = tok_undef;
|
||||
/* by the next call to lex */
|
||||
static bucket *unlexed_symval = NULL;
|
||||
|
||||
static const char *unlexed_token_buffer = NULL;
|
||||
|
||||
void
|
||||
lex_init (void)
|
||||
@@ -324,6 +322,7 @@ void
|
||||
unlex (token_t token)
|
||||
{
|
||||
unlexed = token;
|
||||
unlexed_token_buffer = token_buffer;
|
||||
unlexed_symval = symval;
|
||||
}
|
||||
|
||||
@@ -368,6 +367,7 @@ lex (void)
|
||||
{
|
||||
token_t res = unlexed;
|
||||
symval = unlexed_symval;
|
||||
token_buffer = unlexed_token_buffer;
|
||||
unlexed = tok_undef;
|
||||
return res;
|
||||
}
|
||||
@@ -426,7 +426,7 @@ lex (void)
|
||||
/* parse the literal token and compute character code in code */
|
||||
|
||||
{
|
||||
int code, discode;
|
||||
int code;
|
||||
|
||||
obstack_1grow (&token_obstack, '\'');
|
||||
literalchar (&token_obstack, &code, '\'');
|
||||
@@ -434,6 +434,7 @@ lex (void)
|
||||
c = getc (finput);
|
||||
if (c != '\'')
|
||||
{
|
||||
int discode;
|
||||
complain (_("use \"...\" for multi-character literal tokens"));
|
||||
while (1)
|
||||
if (!literalchar (0, &discode, '\''))
|
||||
@@ -444,7 +445,7 @@ lex (void)
|
||||
token_buffer = obstack_finish (&token_obstack);
|
||||
symval = getsym (token_buffer);
|
||||
symval->class = token_sym;
|
||||
if (!symval->user_token_number)
|
||||
if (symval->user_token_number == SUNDEF)
|
||||
symval->user_token_number = code;
|
||||
return tok_identifier;
|
||||
}
|
||||
@@ -552,28 +553,27 @@ struct percent_table_struct percent_table[] =
|
||||
{ "nonassoc", NULL, tok_nonassoc },
|
||||
{ "binary", NULL, tok_nonassoc },
|
||||
{ "prec", NULL, tok_prec },
|
||||
{ "locations", &locations_flag, tok_noop }, /* -l */
|
||||
{ "no_lines", &no_lines_flag, tok_noop }, /* -l */
|
||||
{ "locations", &locations_flag, tok_intopt }, /* -l */
|
||||
{ "no-lines", &no_lines_flag, tok_intopt }, /* -l */
|
||||
{ "raw", NULL, tok_obsolete }, /* -r */
|
||||
{ "token_table", &token_table_flag, tok_noop }, /* -k */
|
||||
{ "yacc", &yacc_flag, tok_noop }, /* -y */
|
||||
{ "fixed_output_files",&yacc_flag, tok_noop }, /* -y */
|
||||
{ "defines", &defines_flag, tok_noop }, /* -d */
|
||||
{ "no_parser", &no_parser_flag, tok_noop }, /* -n */
|
||||
{ "graph", &graph_flag, tok_noop }, /* -g */
|
||||
#if 0
|
||||
/* For the time being, this is not enabled yet, while it's possible
|
||||
though, since we use obstacks. The only risk is with semantic
|
||||
parsers which will output an `include' of an output file: be sure
|
||||
that the name included is indeed the name of the output file. */
|
||||
{ "output_file", &spec_outfile, tok_setopt }, /* -o */
|
||||
{ "file_prefix", &spec_file_prefix, tok_setopt }, /* -b */
|
||||
{ "name_prefix", &spec_name_prefix, tok_setopt }, /* -p */
|
||||
#endif
|
||||
{ "verbose", &verbose_flag, tok_noop }, /* -v */
|
||||
{ "debug", &debug_flag, tok_noop }, /* -t */
|
||||
{ "semantic_parser", &semantic_parser, tok_noop },
|
||||
{ "pure_parser", &pure_parser, tok_noop },
|
||||
{ "token-table", &token_table_flag, tok_intopt }, /* -k */
|
||||
{ "yacc", &yacc_flag, tok_intopt }, /* -y */
|
||||
{ "fixed-output-files",&yacc_flag, tok_intopt }, /* -y */
|
||||
{ "defines", &defines_flag, tok_intopt }, /* -d */
|
||||
{ "no-parser", &no_parser_flag, tok_intopt }, /* -n */
|
||||
{ "graph", &graph_flag, tok_intopt }, /* -g */
|
||||
|
||||
/* FIXME: semantic parsers which will output an `include' of an
|
||||
output file: be sure that the name included is indeed the name of
|
||||
the output file. */
|
||||
{ "output", &spec_outfile, tok_stropt }, /* -o */
|
||||
{ "file-prefix", &spec_file_prefix, tok_stropt }, /* -b */
|
||||
{ "name-prefix", &spec_name_prefix, tok_stropt }, /* -p */
|
||||
|
||||
{ "verbose", &verbose_flag, tok_intopt }, /* -v */
|
||||
{ "debug", &debug_flag, tok_intopt }, /* -t */
|
||||
{ "semantic-parser", &semantic_parser, tok_intopt },
|
||||
{ "pure-parser", &pure_parser, tok_intopt },
|
||||
|
||||
{ NULL, NULL, tok_illegal}
|
||||
};
|
||||
@@ -584,7 +584,10 @@ struct percent_table_struct percent_table[] =
|
||||
token_t
|
||||
parse_percent_token (void)
|
||||
{
|
||||
struct percent_table_struct *tx;
|
||||
struct percent_table_struct *tx = NULL;
|
||||
const char *arg = NULL;
|
||||
/* Where the ARG was found in token_buffer. */
|
||||
size_t arg_offset = 0;
|
||||
|
||||
int c = getc (finput);
|
||||
|
||||
@@ -596,6 +599,8 @@ parse_percent_token (void)
|
||||
case '{':
|
||||
return tok_percent_left_curly;
|
||||
|
||||
/* FIXME: Who the heck are those 5 guys!?! `%<' = `%left'!!!
|
||||
Let's ask for there removal. */
|
||||
case '<':
|
||||
return tok_left;
|
||||
|
||||
@@ -618,42 +623,81 @@ parse_percent_token (void)
|
||||
obstack_1grow (&token_obstack, '%');
|
||||
while (isalpha (c) || c == '_' || c == '-')
|
||||
{
|
||||
if (c == '-')
|
||||
c = '_';
|
||||
if (c == '_')
|
||||
c = '-';
|
||||
obstack_1grow (&token_obstack, c);
|
||||
c = getc (finput);
|
||||
}
|
||||
|
||||
ungetc (c, 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 == '=')
|
||||
{
|
||||
/* End of the directive. We skip the `='. */
|
||||
obstack_1grow (&token_obstack, '\0');
|
||||
/* Fetch the ARG if present. */
|
||||
c = getc (finput);
|
||||
if (c == '"')
|
||||
{
|
||||
int code;
|
||||
arg_offset = obstack_object_size (&token_obstack);
|
||||
/* Read up to and including `"'. Do not append the closing
|
||||
`"' in the output: it's not part of the ARG. */
|
||||
while (literalchar (NULL, &code, '"'))
|
||||
obstack_1grow (&token_obstack, code);
|
||||
}
|
||||
/* else: should be an error. */
|
||||
}
|
||||
else
|
||||
ungetc (c, finput);
|
||||
|
||||
obstack_1grow (&token_obstack, '\0');
|
||||
token_buffer = obstack_finish (&token_obstack);
|
||||
if (arg_offset)
|
||||
arg = token_buffer + arg_offset;
|
||||
|
||||
/* table lookup % directive */
|
||||
for (tx = percent_table; tx->name; tx++)
|
||||
if (strcmp (token_buffer + 1, tx->name) == 0)
|
||||
break;
|
||||
|
||||
if (tx->set_flag)
|
||||
{
|
||||
*((int *) (tx->set_flag)) = 1;
|
||||
return tok_noop;
|
||||
}
|
||||
if (arg && tx->retval != tok_stropt)
|
||||
fatal (_("`%s' supports no argument: %s"), token_buffer, quote (arg));
|
||||
|
||||
switch (tx->retval)
|
||||
{
|
||||
case tok_setopt:
|
||||
*((char **) (tx->set_flag)) = optarg;
|
||||
case tok_stropt:
|
||||
assert (tx->set_flag);
|
||||
if (arg)
|
||||
{
|
||||
/* Keep only the first assignment: command line options have
|
||||
already been processed, and we want them to have
|
||||
precedence. Side effect: if this %-option is used
|
||||
several times, only the first is honored. Bah. */
|
||||
if (!*((char **) (tx->set_flag)))
|
||||
*((char **) (tx->set_flag)) = xstrdup (arg);
|
||||
}
|
||||
else
|
||||
fatal (_("`%s' requires an argument"), token_buffer);
|
||||
return tok_noop;
|
||||
break;
|
||||
|
||||
case tok_intopt:
|
||||
assert (tx->set_flag);
|
||||
*((int *) (tx->set_flag)) = 1;
|
||||
return tok_noop;
|
||||
break;
|
||||
|
||||
case tok_obsolete:
|
||||
fatal (_("`%s' is no longer supported"), token_buffer);
|
||||
return tok_noop;
|
||||
break;
|
||||
|
||||
default:
|
||||
/* Other cases do not apply here. */
|
||||
return tx->retval;
|
||||
break;
|
||||
}
|
||||
|
||||
return tx->retval;
|
||||
abort ();
|
||||
}
|
||||
|
||||
@@ -49,7 +49,8 @@ typedef enum token_e
|
||||
tok_expect,
|
||||
tok_thong,
|
||||
tok_noop,
|
||||
tok_setopt,
|
||||
tok_intopt,
|
||||
tok_stropt,
|
||||
tok_illegal,
|
||||
tok_obsolete
|
||||
} token_t;
|
||||
|
||||
+12
-9
@@ -62,15 +62,16 @@ main (int argc, char *argv[])
|
||||
if (complain_message_count)
|
||||
exit (1);
|
||||
|
||||
/* find useless nonterminals and productions and reduce the grammar. In
|
||||
file reduce.c */
|
||||
/* Find useless nonterminals and productions and reduce the grammar.
|
||||
In file reduce.c. */
|
||||
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_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. */
|
||||
generate_states ();
|
||||
|
||||
@@ -82,6 +83,7 @@ main (int argc, char *argv[])
|
||||
conflicts. Also resolve s/r conflicts based on precedence
|
||||
declarations. */
|
||||
solve_conflicts ();
|
||||
conflicts_print ();
|
||||
|
||||
/* Output file names. */
|
||||
compute_output_file_names ();
|
||||
@@ -91,7 +93,7 @@ main (int argc, char *argv[])
|
||||
if (complain_message_count)
|
||||
exit (1);
|
||||
|
||||
/* Print information about results, if requested. */
|
||||
/* Output the detailed report on the grammar. */
|
||||
print_results ();
|
||||
|
||||
/* 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 ();
|
||||
|
||||
/* Close the input files. */
|
||||
close_files ();
|
||||
|
||||
/* Free the symbol table data structure. */
|
||||
free_symtab ();
|
||||
|
||||
lex_free ();
|
||||
|
||||
/* Close the input files. */
|
||||
close_files ();
|
||||
|
||||
reduce_free ();
|
||||
free_conflicts ();
|
||||
free_nullable ();
|
||||
free_derives ();
|
||||
|
||||
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. */
|
||||
|
||||
+8
-6
@@ -1,5 +1,5 @@
|
||||
/* 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.
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "state.h"
|
||||
#include "reader.h"
|
||||
#include "print.h"
|
||||
#include "reduce.h"
|
||||
|
||||
#if 0
|
||||
static void
|
||||
@@ -173,7 +174,7 @@ print_actions (FILE *out, int state)
|
||||
}
|
||||
else if (redp)
|
||||
{
|
||||
print_reductions (state);
|
||||
print_reductions (out, state);
|
||||
}
|
||||
|
||||
if (i < k)
|
||||
@@ -226,7 +227,7 @@ print_grammar (FILE *out)
|
||||
int column = 0;
|
||||
|
||||
/* rule # : LHS -> RHS */
|
||||
fprintf (out, "\n%s\n", _("Grammar"));
|
||||
fprintf (out, "\n%s\n\n", _("Grammar"));
|
||||
for (i = 1; i <= nrules; i++)
|
||||
/* Don't print rules disabled in reduce_grammar_tables. */
|
||||
if (rlhs[i] >= 0)
|
||||
@@ -237,7 +238,8 @@ print_grammar (FILE *out)
|
||||
while (*rule > 0)
|
||||
fprintf (out, " %s", tags[*rule++]);
|
||||
else
|
||||
fprintf (out, " /* %s */\n", _("empty"));
|
||||
fprintf (out, " /* %s */", _("empty"));
|
||||
fputc ('\n', out);
|
||||
}
|
||||
|
||||
/* TERMINAL (type #) : rule #s terminal is on RHS */
|
||||
@@ -336,8 +338,8 @@ print_results (void)
|
||||
size_t size = obstack_object_size (&output_obstack);
|
||||
fwrite (obstack_finish (&output_obstack), 1, size, out);
|
||||
|
||||
if (any_conflicts)
|
||||
print_conflicts (out);
|
||||
reduce_output (out);
|
||||
conflicts_output (out);
|
||||
|
||||
print_grammar (out);
|
||||
|
||||
|
||||
+88
-56
@@ -1,5 +1,5 @@
|
||||
/* Input parser for bison
|
||||
Copyright 1984, 1986, 1989, 1992, 1998, 2000
|
||||
Copyright 1984, 1986, 1989, 1992, 1998, 2000, 2001
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Bison, the GNU Compiler Compiler.
|
||||
@@ -695,7 +695,6 @@ token_buffer);
|
||||
}
|
||||
|
||||
prev = t;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -712,6 +711,13 @@ parse_union_decl (void)
|
||||
{
|
||||
int c;
|
||||
int count = 0;
|
||||
const char *prologue = "\
|
||||
#ifndef YYSTYPE\n\
|
||||
typedef union";
|
||||
const char *epilogue = "\
|
||||
yystype;\n\
|
||||
# define YYSTYPE yystype\n\
|
||||
#endif\n";
|
||||
|
||||
if (typed)
|
||||
complain (_("multiple %s declarations"), "%union");
|
||||
@@ -724,9 +730,9 @@ parse_union_decl (void)
|
||||
else
|
||||
obstack_1grow (&attrs_obstack, '\n');
|
||||
|
||||
obstack_sgrow (&attrs_obstack, "typedef union");
|
||||
obstack_sgrow (&attrs_obstack, prologue);
|
||||
if (defines_flag)
|
||||
obstack_sgrow (&defines_obstack, "typedef union");
|
||||
obstack_sgrow (&defines_obstack, prologue);
|
||||
|
||||
c = getc (finput);
|
||||
|
||||
@@ -761,9 +767,9 @@ parse_union_decl (void)
|
||||
count--;
|
||||
if (count <= 0)
|
||||
{
|
||||
obstack_sgrow (&attrs_obstack, " YYSTYPE;\n");
|
||||
obstack_sgrow (&attrs_obstack, epilogue);
|
||||
if (defines_flag)
|
||||
obstack_sgrow (&defines_obstack, " YYSTYPE;\n");
|
||||
obstack_sgrow (&defines_obstack, epilogue);
|
||||
/* JF don't choke on trailing semi */
|
||||
c = skip_white_space ();
|
||||
if (c != ';')
|
||||
@@ -821,7 +827,7 @@ parse_thong_decl (void)
|
||||
token_t token;
|
||||
struct bucket *symbol;
|
||||
char *typename = 0;
|
||||
int usrtoknum;
|
||||
int usrtoknum = SUNDEF;
|
||||
|
||||
token = lex (); /* fetch typename or first token */
|
||||
if (token == tok_typename)
|
||||
@@ -852,8 +858,6 @@ parse_thong_decl (void)
|
||||
usrtoknum = numval;
|
||||
token = lex (); /* okay, did number, now get literal */
|
||||
}
|
||||
else
|
||||
usrtoknum = 0;
|
||||
|
||||
/* process literal string token */
|
||||
|
||||
@@ -875,10 +879,11 @@ parse_thong_decl (void)
|
||||
}
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------------.
|
||||
| Parse a double quoted parameter. It was used for %{source,header}_extension. |
|
||||
| For the moment, It is not used since extension features have been removed. |
|
||||
`-----------------------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------------.
|
||||
| Parse a double quoted parameter. It was used for |
|
||||
| %{source,header}_extension. For the moment, It is not used since |
|
||||
| extension features have been removed. |
|
||||
`------------------------------------------------------------------*/
|
||||
|
||||
#if 0
|
||||
|
||||
@@ -938,16 +943,13 @@ parse_dquoted_param (const char *from)
|
||||
static void
|
||||
read_declarations (void)
|
||||
{
|
||||
int c;
|
||||
int tok;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
c = skip_white_space ();
|
||||
int c = skip_white_space ();
|
||||
|
||||
if (c == '%')
|
||||
{
|
||||
tok = parse_percent_token ();
|
||||
token_t tok = parse_percent_token ();
|
||||
|
||||
switch (tok)
|
||||
{
|
||||
@@ -1001,6 +1003,13 @@ read_declarations (void)
|
||||
case tok_noop:
|
||||
break;
|
||||
|
||||
case tok_stropt:
|
||||
case tok_intopt:
|
||||
case tok_obsolete:
|
||||
case tok_illegal:
|
||||
abort ();
|
||||
break;
|
||||
|
||||
default:
|
||||
complain (_("unrecognized: %s"), token_buffer);
|
||||
skip_to_char ('%');
|
||||
@@ -1663,6 +1672,46 @@ output_token_defines (struct obstack *oout)
|
||||
}
|
||||
|
||||
|
||||
/*------------------------------------------------------------------.
|
||||
| Set TOKEN_TRANSLATIONS. Check that no two symbols share the same |
|
||||
| number. |
|
||||
`------------------------------------------------------------------*/
|
||||
|
||||
static void
|
||||
token_translations_init (void)
|
||||
{
|
||||
bucket *bp = NULL;
|
||||
int i;
|
||||
|
||||
token_translations = XCALLOC (short, max_user_token_number + 1);
|
||||
|
||||
/* Initialize all entries for literal tokens to 2, the internal
|
||||
token number for $undefined., which represents all invalid
|
||||
inputs. */
|
||||
for (i = 0; i <= max_user_token_number; i++)
|
||||
token_translations[i] = 2;
|
||||
|
||||
for (bp = firstsymbol; bp; bp = bp->next)
|
||||
{
|
||||
/* Non-terminal? */
|
||||
if (bp->value >= ntokens)
|
||||
continue;
|
||||
/* A token string alias? */
|
||||
if (bp->user_token_number == SALIAS)
|
||||
continue;
|
||||
|
||||
assert (bp->user_token_number != SUNDEF);
|
||||
|
||||
/* A token which translation has already been set? */
|
||||
if (token_translations[bp->user_token_number] != 2)
|
||||
complain (_("tokens %s and %s both assigned number %d"),
|
||||
tags[token_translations[bp->user_token_number]],
|
||||
bp->tag, bp->user_token_number);
|
||||
token_translations[bp->user_token_number] = bp->value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*------------------------------------------------------------------.
|
||||
| Assign symbol numbers, and write definition of token names into |
|
||||
| FDEFINES. Set up vectors TAGS and SPREC of names and precedences |
|
||||
@@ -1674,20 +1723,19 @@ packsymbols (void)
|
||||
{
|
||||
bucket *bp = NULL;
|
||||
int tokno = 1;
|
||||
int i, j;
|
||||
int last_user_token_number;
|
||||
static char DOLLAR[] = "$";
|
||||
|
||||
/* int lossage = 0; JF set but not used */
|
||||
|
||||
tags = XCALLOC (char *, nsyms + 1);
|
||||
tags[0] = DOLLAR;
|
||||
user_toknums = XCALLOC (short, nsyms + 1);
|
||||
user_toknums[0] = 0;
|
||||
|
||||
sprec = XCALLOC (short, nsyms);
|
||||
sassoc = XCALLOC (short, nsyms);
|
||||
|
||||
/* The EOF token. */
|
||||
tags[0] = DOLLAR;
|
||||
user_toknums[0] = 0;
|
||||
|
||||
max_user_token_number = 256;
|
||||
last_user_token_number = 256;
|
||||
|
||||
@@ -1740,7 +1788,7 @@ packsymbols (void)
|
||||
|
||||
if (bp->class == token_sym)
|
||||
{
|
||||
if (!bp->user_token_number)
|
||||
if (bp->user_token_number == SUNDEF)
|
||||
bp->user_token_number = ++last_user_token_number;
|
||||
if (bp->user_token_number > max_user_token_number)
|
||||
max_user_token_number = bp->user_token_number;
|
||||
@@ -1752,26 +1800,7 @@ packsymbols (void)
|
||||
sassoc[bp->value] = bp->assoc;
|
||||
}
|
||||
|
||||
token_translations = XCALLOC (short, max_user_token_number + 1);
|
||||
|
||||
/* initialize all entries for literal tokens to 2, the internal
|
||||
token number for $undefined., which represents all invalid
|
||||
inputs. */
|
||||
for (j = 0; j <= max_user_token_number; j++)
|
||||
token_translations[j] = 2;
|
||||
|
||||
for (bp = firstsymbol; bp; bp = bp->next)
|
||||
{
|
||||
if (bp->value >= ntokens)
|
||||
continue; /* non-terminal */
|
||||
if (bp->user_token_number == SALIAS)
|
||||
continue;
|
||||
if (token_translations[bp->user_token_number] != 2)
|
||||
complain (_("tokens %s and %s both assigned number %d"),
|
||||
tags[token_translations[bp->user_token_number]],
|
||||
bp->tag, bp->user_token_number);
|
||||
token_translations[bp->user_token_number] = bp->value;
|
||||
}
|
||||
token_translations_init ();
|
||||
|
||||
error_token_number = errtoken->value;
|
||||
|
||||
@@ -1800,19 +1829,23 @@ packsymbols (void)
|
||||
}
|
||||
|
||||
if (semantic_parser)
|
||||
for (i = ntokens; i < nsyms; i++)
|
||||
{
|
||||
/* don't make these for dummy nonterminals made by gensym. */
|
||||
if (*tags[i] != '@')
|
||||
obstack_fgrow2 (&defines_obstack,
|
||||
"# define\tNT%s\t%d\n", tags[i], i);
|
||||
}
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = ntokens; i < nsyms; i++)
|
||||
{
|
||||
/* don't make these for dummy nonterminals made by gensym. */
|
||||
if (*tags[i] != '@')
|
||||
obstack_fgrow2 (&defines_obstack,
|
||||
"# define\tNT%s\t%d\n", tags[i], i);
|
||||
}
|
||||
#if 0
|
||||
/* `fdefines' is now a temporary file, so we need to copy its
|
||||
contents in `done', so we can't close it here. */
|
||||
fclose (fdefines);
|
||||
fdefines = NULL;
|
||||
/* `fdefines' is now a temporary file, so we need to copy its
|
||||
contents in `done', so we can't close it here. */
|
||||
fclose (fdefines);
|
||||
fdefines = NULL;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1929,7 +1962,6 @@ reader (void)
|
||||
/* Read the declaration section. Copy %{ ... %} groups to
|
||||
TABLE_OBSTACK and FDEFINES file. Also notice any %token, %left,
|
||||
etc. found there. */
|
||||
obstack_1grow (&table_obstack, '\n');
|
||||
obstack_fgrow3 (&table_obstack, "\
|
||||
/* %s, made from %s\n\
|
||||
by GNU bison %s. */\n\
|
||||
|
||||
+59
-51
@@ -1,5 +1,5 @@
|
||||
/* 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.
|
||||
|
||||
@@ -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;
|
||||
/* short j; JF unused */
|
||||
rule r;
|
||||
bool b;
|
||||
|
||||
if (nuseless_nonterminals > 0)
|
||||
{
|
||||
obstack_sgrow (&output_obstack, _("Useless nonterminals:"));
|
||||
obstack_sgrow (&output_obstack, "\n\n");
|
||||
fprintf (out, _("Useless nonterminals:"));
|
||||
fprintf (out, "\n\n");
|
||||
for (i = ntokens; i < nsyms; i++)
|
||||
if (!BITISSET (V, i))
|
||||
obstack_fgrow1 (&output_obstack, " %s\n", tags[i]);
|
||||
fprintf (out, " %s\n", tags[i]);
|
||||
}
|
||||
b = FALSE;
|
||||
for (i = 0; i < ntokens; i++)
|
||||
@@ -411,81 +415,81 @@ print_results (void)
|
||||
{
|
||||
if (!b)
|
||||
{
|
||||
obstack_sgrow (&output_obstack, "\n\n");
|
||||
obstack_sgrow (&output_obstack,
|
||||
_("Terminals which are not used:"));
|
||||
obstack_sgrow (&output_obstack, "\n\n");
|
||||
fprintf (out, "\n\n");
|
||||
fprintf (out, _("Terminals which are not used:"));
|
||||
fprintf (out, "\n\n");
|
||||
b = TRUE;
|
||||
}
|
||||
obstack_fgrow1 (&output_obstack, " %s\n", tags[i]);
|
||||
fprintf (out, " %s\n", tags[i]);
|
||||
}
|
||||
}
|
||||
|
||||
if (nuseless_productions > 0)
|
||||
{
|
||||
obstack_sgrow (&output_obstack, "\n\n");
|
||||
obstack_sgrow (&output_obstack, _("Useless rules:"));
|
||||
obstack_sgrow (&output_obstack, "\n\n");
|
||||
fprintf (out, "\n\n");
|
||||
fprintf (out, _("Useless rules:"));
|
||||
fprintf (out, "\n\n");
|
||||
for (i = 1; i <= nrules; i++)
|
||||
{
|
||||
if (!BITISSET (P, i))
|
||||
{
|
||||
obstack_fgrow1 (&output_obstack, "#%-4d ", i);
|
||||
obstack_fgrow1 (&output_obstack, "%s :\t", tags[rlhs[i]]);
|
||||
fprintf (out, "#%-4d ", i);
|
||||
fprintf (out, "%s :\t", tags[rlhs[i]]);
|
||||
for (r = &ritem[rrhs[i]]; *r >= 0; r++)
|
||||
obstack_fgrow1 (&output_obstack, " %s", tags[*r]);
|
||||
obstack_sgrow (&output_obstack, ";\n");
|
||||
fprintf (out, " %s", tags[*r]);
|
||||
fprintf (out, ";\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (nuseless_nonterminals > 0 || nuseless_productions > 0 || b)
|
||||
obstack_sgrow (&output_obstack, "\n\n");
|
||||
fprintf (out, "\n\n");
|
||||
}
|
||||
|
||||
#if 0 /* XXX currently unused. */
|
||||
static void
|
||||
dump_grammar (void)
|
||||
dump_grammar (FILE *out)
|
||||
{
|
||||
int i;
|
||||
rule r;
|
||||
|
||||
obstack_fgrow5 (&output_obstack,
|
||||
fprintf (out,
|
||||
"ntokens = %d, nvars = %d, nsyms = %d, nrules = %d, nitems = %d\n\n",
|
||||
ntokens, nvars, nsyms, nrules, nitems);
|
||||
obstack_sgrow (&output_obstack,
|
||||
_("Variables\n---------\n\n"));
|
||||
obstack_sgrow (&output_obstack,
|
||||
_("Value Sprec Sassoc Tag\n"));
|
||||
fprintf (out, _("Variables\n---------\n\n"));
|
||||
fprintf (out, _("Value Sprec Sassoc Tag\n"));
|
||||
for (i = ntokens; i < nsyms; i++)
|
||||
obstack_fgrow4 (&output_obstack,
|
||||
"%5d %5d %5d %s\n", i, sprec[i], sassoc[i], tags[i]);
|
||||
obstack_sgrow (&output_obstack, "\n\n");
|
||||
obstack_sgrow (&output_obstack, _("Rules\n-----\n\n"));
|
||||
fprintf (out, "%5d %5d %5d %s\n", i, sprec[i], sassoc[i], tags[i]);
|
||||
fprintf (out, "\n\n");
|
||||
fprintf (out, _("Rules\n-----\n\n"));
|
||||
for (i = 1; i <= nrules; i++)
|
||||
{
|
||||
obstack_fgrow5 (&output_obstack, "%-5d(%5d%5d)%5d : (@%-5d)",
|
||||
i, rprec[i], rassoc[i], rlhs[i], rrhs[i]);
|
||||
fprintf (out, "%-5d(%5d%5d)%5d : (@%-5d)",
|
||||
i, rprec[i], rassoc[i], rlhs[i], rrhs[i]);
|
||||
for (r = &ritem[rrhs[i]]; *r > 0; r++)
|
||||
obstack_fgrow1 (&output_obstack, "%5d", *r);
|
||||
obstack_fgrow1 (&output_obstack, " [%d]\n", -(*r));
|
||||
fprintf (out, "%5d", *r);
|
||||
fprintf (out, " [%d]\n", -(*r));
|
||||
}
|
||||
obstack_sgrow (&output_obstack, "\n\n");
|
||||
obstack_sgrow (&output_obstack,
|
||||
_("Rules interpreted\n-----------------\n\n"));
|
||||
fprintf (out, "\n\n");
|
||||
fprintf (out, _("Rules interpreted\n-----------------\n\n"));
|
||||
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++)
|
||||
obstack_fgrow1 (&output_obstack, " %s", tags[*r]);
|
||||
obstack_grow1 (&output_obstack, '\n');
|
||||
fprintf (out, " %s", tags[*r]);
|
||||
fputc ('\n', out);
|
||||
}
|
||||
obstack_sgrow (&output_obstack, "\n\n");
|
||||
fprintf (out, "\n\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*-------------------------------.
|
||||
| Report the results to STDERR. |
|
||||
`-------------------------------*/
|
||||
|
||||
static void
|
||||
print_notices (void)
|
||||
reduce_print (void)
|
||||
{
|
||||
if (yacc_flag && 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);
|
||||
|
||||
if (verbose_flag)
|
||||
print_results ();
|
||||
if (!reduced)
|
||||
return;
|
||||
|
||||
if (reduced == FALSE)
|
||||
goto done_reducing;
|
||||
|
||||
print_notices ();
|
||||
reduce_print ();
|
||||
|
||||
if (!BITISSET (N, start_symbol - ntokens))
|
||||
fatal (_("Start symbol %s does not derive any sentence"),
|
||||
@@ -543,7 +544,7 @@ reduce_grammar (void)
|
||||
#if 0
|
||||
if (verbose_flag)
|
||||
{
|
||||
obstack_fgrow1 (&output_obstack, "REDUCED GRAMMAR\n\n");
|
||||
fprintf (out, "REDUCED GRAMMAR\n\n");
|
||||
dump_grammar ();
|
||||
}
|
||||
#endif
|
||||
@@ -558,11 +559,18 @@ reduce_grammar (void)
|
||||
(nvars == 1 ? "" : "s"),
|
||||
nrules,
|
||||
(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 (V);
|
||||
XFREE (V1);
|
||||
XFREE (P);
|
||||
}
|
||||
|
||||
+3
-2
@@ -1,5 +1,5 @@
|
||||
/* 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.
|
||||
|
||||
@@ -22,5 +22,6 @@
|
||||
# define REDUCE_H_
|
||||
|
||||
void reduce_grammar PARAMS ((void));
|
||||
|
||||
void reduce_output PARAMS ((FILE *out));
|
||||
void reduce_free PARAMS ((void));
|
||||
#endif /* !REDUCE_H_ */
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
/* Symbol table manager for Bison,
|
||||
Copyright 1984, 1989, 2000 Free Software Foundation, Inc.
|
||||
Copyright 1984, 1989, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Bison, the GNU Compiler Compiler.
|
||||
|
||||
@@ -58,7 +58,7 @@ bucket_new (const char *tag, int hashval)
|
||||
res->value = 0;
|
||||
res->prec = 0;
|
||||
res->assoc = right_assoc;
|
||||
res->user_token_number = 0;
|
||||
res->user_token_number = SUNDEF;
|
||||
res->alias = NULL;
|
||||
res->class = unknown_sym;
|
||||
|
||||
|
||||
+2
-1
@@ -1,5 +1,5 @@
|
||||
/* Definitions for symtab.c and callers, part of bison,
|
||||
Copyright 1984, 1989, 1992, 2000 Free Software Foundation, Inc.
|
||||
Copyright 1984, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Bison, the GNU Compiler Compiler.
|
||||
|
||||
@@ -33,6 +33,7 @@ typedef enum
|
||||
nterm_sym /* non-terminal */
|
||||
} symbol_class;
|
||||
|
||||
#define SUNDEF -1 /* For undefined user number. */
|
||||
#define SALIAS -9991 /* for symbol generated with an alias */
|
||||
|
||||
typedef struct bucket
|
||||
|
||||
+17
-2
@@ -40,6 +40,18 @@
|
||||
# include <stdlib.h>
|
||||
#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
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
@@ -126,10 +138,13 @@ size_t strnlen PARAMS ((const char *s, size_t maxlen));
|
||||
# include <libintl.h>
|
||||
# define _(Text) gettext (Text)
|
||||
#else
|
||||
# undef bindtextdomain
|
||||
# undef bindtextdomain
|
||||
# define bindtextdomain(Domain, Directory)
|
||||
# undef textdomain
|
||||
# undef textdomain
|
||||
# define textdomain(Domain)
|
||||
# undef ngettext
|
||||
# define ngettext(Singular, Plural, Number) \
|
||||
((Number == 1) ? Singular : Plural)
|
||||
# define _(Text) Text
|
||||
#endif
|
||||
#define N_(Text) Text
|
||||
|
||||
+3
-7
@@ -18,17 +18,16 @@
|
||||
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
## 02111-1307, USA.
|
||||
|
||||
EXTRA_DIST = atlocal.in $(TESTSUITE_AT) testsuite
|
||||
EXTRA_DIST = $(TESTSUITE_AT) testsuite
|
||||
|
||||
DISTCLEANFILES = atconfig atlocal bison package.m4
|
||||
DISTCLEANFILES = atconfig bison package.m4
|
||||
MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE)
|
||||
|
||||
TESTSUITE_AT = \
|
||||
testsuite.at \
|
||||
output.at calc.at regression.at
|
||||
output.at calc.at torture.at regression.at
|
||||
TESTSUITE = $(srcdir)/testsuite
|
||||
|
||||
AUTOM4TE = autom4te
|
||||
AUTOTEST = $(AUTOM4TE) --language=autotest
|
||||
$(srcdir)/$(TESTSUITE): $(TESTSUITE_AT)
|
||||
$(AUTOTEST) -I $(srcdir) testsuite.at -o $@.tmp
|
||||
@@ -37,9 +36,6 @@ $(srcdir)/$(TESTSUITE): $(TESTSUITE_AT)
|
||||
atconfig: $(top_builddir)/config.status
|
||||
cd $(top_builddir) && ./config.status tests/$@
|
||||
|
||||
atlocal: $(srcdir)/atlocal.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && ./config.status tests/$@
|
||||
|
||||
clean-local:
|
||||
$(SHELL) $(TESTSUITE) --clean
|
||||
|
||||
|
||||
+14
-16
@@ -1,4 +1,5 @@
|
||||
# Makefile.in generated automatically by automake 1.5a from Makefile.am.
|
||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
@@ -63,6 +64,7 @@ EXEEXT = @EXEEXT@
|
||||
OBJEXT = @OBJEXT@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOM4TE = @AUTOM4TE@
|
||||
AWK = @AWK@
|
||||
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
|
||||
CATALOGS = @CATALOGS@
|
||||
@@ -71,6 +73,7 @@ CC = @CC@
|
||||
CPP = @CPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
GCC = @GCC@
|
||||
GENCAT = @GENCAT@
|
||||
GLIBC21 = @GLIBC21@
|
||||
GMOFILES = @GMOFILES@
|
||||
@@ -81,9 +84,8 @@ INTLBISON = @INTLBISON@
|
||||
INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||
LIB = @LIB@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
M4 = @M4@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
MSGFMT = @MSGFMT@
|
||||
PACKAGE = @PACKAGE@
|
||||
@@ -99,25 +101,24 @@ am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
install_sh = @install_sh@
|
||||
|
||||
EXTRA_DIST = atlocal.in $(TESTSUITE_AT) testsuite
|
||||
EXTRA_DIST = $(TESTSUITE_AT) testsuite
|
||||
|
||||
DISTCLEANFILES = atconfig atlocal bison package.m4
|
||||
DISTCLEANFILES = atconfig bison package.m4
|
||||
MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE)
|
||||
|
||||
TESTSUITE_AT = \
|
||||
testsuite.at \
|
||||
output.at calc.at regression.at
|
||||
output.at calc.at torture.at regression.at
|
||||
|
||||
TESTSUITE = $(srcdir)/testsuite
|
||||
|
||||
AUTOM4TE = autom4te
|
||||
AUTOTEST = $(AUTOM4TE) --language=autotest
|
||||
subdir = tests
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES = bison
|
||||
CONFIG_CLEAN_FILES = bison atlocal
|
||||
DIST_SOURCES =
|
||||
DIST_COMMON = Makefile.am Makefile.in bison.in
|
||||
DIST_COMMON = Makefile.am Makefile.in atlocal.in bison.in
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@@ -125,11 +126,11 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu tests/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && \
|
||||
CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
bison: $(top_builddir)/config.status bison.in
|
||||
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
atlocal: $(top_builddir)/config.status atlocal.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
uninstall-info-am:
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
@@ -240,9 +241,6 @@ $(srcdir)/$(TESTSUITE): $(TESTSUITE_AT)
|
||||
atconfig: $(top_builddir)/config.status
|
||||
cd $(top_builddir) && ./config.status tests/$@
|
||||
|
||||
atlocal: $(srcdir)/atlocal.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && ./config.status tests/$@
|
||||
|
||||
clean-local:
|
||||
$(SHELL) $(TESTSUITE) --clean
|
||||
|
||||
|
||||
+4
-1
@@ -6,5 +6,8 @@
|
||||
CC='@CC@'
|
||||
CFLAGS='@CFLAGS@'
|
||||
|
||||
# We need to know if the compiler is GCC.
|
||||
GCC='@GCC@'
|
||||
|
||||
# We need `config.h'.
|
||||
CPPFLAGS="-I $top_builddir @CPPFLAGS@"
|
||||
CPPFLAGS="-I $top_buildpath @CPPFLAGS@"
|
||||
|
||||
+26
-13
@@ -64,7 +64,8 @@ static void yyungetc (int c);
|
||||
extern void perror (const char *s);
|
||||
%}
|
||||
|
||||
/* BISON Declarations */
|
||||
/* Bison Declarations */
|
||||
%token CALC_EOF 0
|
||||
%token NUM
|
||||
|
||||
%nonassoc '=' /* comparison */
|
||||
@@ -204,7 +205,7 @@ yylex (void)
|
||||
|
||||
/* Return end-of-file. */
|
||||
if (c == EOF)
|
||||
return 0;
|
||||
return CALC_EOF;
|
||||
|
||||
/* Return single chars. */
|
||||
return c;
|
||||
@@ -256,8 +257,8 @@ main (int argc, const char **argv)
|
||||
# Produce `calc.y'.
|
||||
m4_define([AT_DATA_CALC_Y],
|
||||
[_AT_DATA_CALC_Y($[1], $[2], $[3],
|
||||
[m4_match([$1], [--yyerror-verbose],
|
||||
[[#define YYERROR_VERBOSE]])])])
|
||||
[m4_bmatch([$1], [--yyerror-verbose],
|
||||
[[#define YYERROR_VERBOSE]])])])
|
||||
|
||||
|
||||
|
||||
@@ -273,8 +274,8 @@ m4_define([_AT_CHECK_CALC],
|
||||
]])
|
||||
AT_CHECK([calc input], 0, [], [stderr])dnl
|
||||
AT_CHECK([wc -l <stderr | sed 's/[[^0-9]]//g'], 0,
|
||||
[m4_match([$1], [--debug],
|
||||
[$3], [0])
|
||||
[m4_bmatch([$1], [--debug],
|
||||
[$3], [0])
|
||||
])
|
||||
])
|
||||
|
||||
@@ -302,17 +303,17 @@ AT_CHECK([calc input], 0, [], [stderr])
|
||||
|
||||
|
||||
AT_CHECK([wc -l <stderr | sed 's/[[^0-9]]//g'], 0,
|
||||
[m4_match([$1], [--debug],
|
||||
[$3], [1])
|
||||
[m4_bmatch([$1], [--debug],
|
||||
[$3], [1])
|
||||
])
|
||||
|
||||
egrep -v '^((Start|Enter|Read|Reduc|Shift)ing|state|Error:) ' stderr >at-stderr
|
||||
mv at-stderr stderr
|
||||
|
||||
AT_CHECK([cat stderr], 0,
|
||||
[m4_match([$1], [--location], [$4: ])[]dnl
|
||||
[m4_bmatch([$1], [--location], [$4: ])[]dnl
|
||||
parse error[]dnl
|
||||
m4_match([$1], [--yyerror-verbose], [, $5])[]dnl
|
||||
m4_bmatch([$1], [--yyerror-verbose], [, $5])[]dnl
|
||||
|
||||
])
|
||||
|
||||
@@ -330,9 +331,21 @@ AT_SETUP([Calculator $1])
|
||||
AT_DATA_CALC_Y([$1])
|
||||
|
||||
# Specify the output files to avoid problems on different file systems.
|
||||
AT_CHECK([bison calc.y -o calc.c m4_patsubst([$1], [--yyerror-verbose])],
|
||||
AT_CHECK([bison calc.y -o calc.c m4_bpatsubst([$1], [--yyerror-verbose])],
|
||||
[0], [], [])
|
||||
AT_CHECK([$CC $CFLAGS $CPPFLAGS calc.c -o calc], 0, [], [])
|
||||
|
||||
# Some compilers issue warnings we don't want to hear about.
|
||||
# Maybe some day we will have proper Autoconf macros to disable these
|
||||
# warnings, but this place is not the right one for that.
|
||||
# So let's keep only GCC warnings, which we know are sane.
|
||||
# Well, that's only part of the story: some assemblers issue warnings
|
||||
# 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.
|
||||
_AT_CHECK_CALC([$1],
|
||||
@@ -370,7 +383,7 @@ _AT_CHECK_CALC_ERROR([$1],
|
||||
[2.0:2.1],
|
||||
[unexpected `'+''])
|
||||
|
||||
AT_CLEANUP(calc calc.c calc.h calc.output)
|
||||
AT_CLEANUP
|
||||
])# AT_CHECK_CALC
|
||||
|
||||
|
||||
|
||||
+11
-1
@@ -31,7 +31,7 @@ foo: {}
|
||||
|
||||
AT_CHECK([bison $3 $1], 0)
|
||||
AT_CHECK([ls $4], [], [ignore])
|
||||
AT_CLEANUP($4)
|
||||
AT_CLEANUP
|
||||
])
|
||||
|
||||
AT_CHECK_OUTPUT([foo.y], [], [-dv],
|
||||
@@ -53,6 +53,16 @@ AT_CHECK_OUTPUT([foo.y], [%defines %verbose], [],
|
||||
AT_CHECK_OUTPUT([foo.y], [%defines %verbose %yacc],[],
|
||||
[y.output y.tab.c y.tab.h])
|
||||
|
||||
# Exercise %output and %file-prefix
|
||||
AT_CHECK_OUTPUT([foo.y], [%file-prefix="bar" %defines %verbose], [],
|
||||
[bar.output bar.tab.c bar.tab.h])
|
||||
AT_CHECK_OUTPUT([foo.y], [%output="bar.c" %defines %verbose %yacc],[],
|
||||
[bar.output bar.c bar.h])
|
||||
AT_CHECK_OUTPUT([foo.y],
|
||||
[%file-prefix="baz" %output="bar.c" %defines %verbose %yacc],
|
||||
[],
|
||||
[bar.output bar.c bar.h])
|
||||
|
||||
|
||||
# Check priorities of extension control.
|
||||
AT_CHECK_OUTPUT([foo.yy], [%defines %verbose], [],
|
||||
|
||||
+321
-15
@@ -40,7 +40,285 @@ exp: '(' exp ')' | NUM ;
|
||||
|
||||
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. ##
|
||||
## ---------------------- ##
|
||||
|
||||
|
||||
AT_SETUP([Mixing %token styles])
|
||||
|
||||
# Taken from the documentation.
|
||||
AT_DATA([input.y],
|
||||
[[%token <operator> OR "||"
|
||||
%token <operator> LE 134 "<="
|
||||
%left OR "<="
|
||||
%%
|
||||
exp: ;
|
||||
%%
|
||||
]])
|
||||
|
||||
AT_CHECK([bison -v input.y -o input.c], 0, ignore, ignore)
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
|
||||
|
||||
@@ -63,7 +341,7 @@ exp: {};
|
||||
|
||||
AT_CHECK([bison --defines union.y])
|
||||
|
||||
AT_CLEANUP([union.*])
|
||||
AT_CLEANUP
|
||||
|
||||
|
||||
## --------------------------------------- ##
|
||||
@@ -86,15 +364,15 @@ exp: {};
|
||||
AT_CHECK([bison union-comment.y])
|
||||
AT_CHECK([fgrep '//*' union-comment.tab.c], [1], [])
|
||||
|
||||
AT_CLEANUP([union-comment.*])
|
||||
AT_CLEANUP
|
||||
|
||||
|
||||
## --------------- ##
|
||||
## invalid input. ##
|
||||
## --------------- ##
|
||||
## ----------------- ##
|
||||
## Invalid input 1. ##
|
||||
## ----------------- ##
|
||||
|
||||
|
||||
AT_SETUP([Invalid input])
|
||||
AT_SETUP([Invalid input: 1])
|
||||
|
||||
AT_DATA([input.y],
|
||||
[[%%
|
||||
@@ -109,23 +387,51 @@ input.y:3: fatal error: no rules in the input grammar
|
||||
AT_CLEANUP
|
||||
|
||||
|
||||
## ----------------- ##
|
||||
## Invalid input 2. ##
|
||||
## ----------------- ##
|
||||
|
||||
|
||||
AT_SETUP([Invalid input: 2])
|
||||
|
||||
AT_DATA([input.y],
|
||||
[[%%
|
||||
default: 'a' }
|
||||
]])
|
||||
|
||||
AT_CHECK([bison input.y], [1], [],
|
||||
[input.y:2: invalid input: `}'
|
||||
])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
|
||||
|
||||
## --------------------- ##
|
||||
## Invalid CPP headers. ##
|
||||
## --------------------- ##
|
||||
|
||||
AT_SETUP([Invalid CPP headers])
|
||||
# AT_TEST_CPP_GUARD_H([INPUT-FILE-BASE)
|
||||
# -------------------------------------
|
||||
m4_define([AT_TEST_CPP_GUARD_H],
|
||||
[AT_SETUP([Invalid CPP guards: $1])
|
||||
|
||||
mkdir input
|
||||
# Possibly create inner directories.
|
||||
dirname=`AS_DIRNAME([$1])`
|
||||
AS_MKDIR_P([$dirname])
|
||||
|
||||
AT_DATA([input/input.y],
|
||||
AT_DATA([$1.y],
|
||||
[%%
|
||||
dummy:
|
||||
])
|
||||
|
||||
AT_CHECK([bison --defines input/input.y])
|
||||
AT_CHECK([bison --defines=$1.h $1.y])
|
||||
|
||||
AT_CHECK([sed 1q input/input.tab.h], 0,
|
||||
[[#ifndef INPUT_INPUT_TAB_H
|
||||
]])
|
||||
# CPP should be happy with it.
|
||||
AT_CHECK([$CC -E $1.h], 0, [ignore])
|
||||
|
||||
AT_CLEANUP(input)
|
||||
AT_CLEANUP
|
||||
])
|
||||
|
||||
AT_TEST_CPP_GUARD_H([input/input])
|
||||
AT_TEST_CPP_GUARD_H([9foo])
|
||||
|
||||
+2
-1
@@ -19,7 +19,7 @@
|
||||
# 02111-1307, USA.
|
||||
|
||||
# We need a recent Autotest.
|
||||
m4_version_prereq([2.52e])
|
||||
m4_version_prereq([2.52g])
|
||||
|
||||
AT_INIT
|
||||
|
||||
@@ -27,4 +27,5 @@ AT_TESTED([bison])
|
||||
|
||||
m4_include([output.at])
|
||||
m4_include([calc.at])
|
||||
m4_include([torture.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