mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-08-08 10:15:14 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d0f19d6f43 | ||
|
|
f443a1eb89 | ||
|
|
4eeb7bc9a2 | ||
|
|
5d08b24fba | ||
|
|
3af141b0e3 | ||
|
|
bae3c8d209 | ||
|
|
6f8dd2075e | ||
|
|
5327d634b3 | ||
|
|
3491db2e44 | ||
|
|
9fef6a2a0b | ||
|
|
fe24ffa45a | ||
|
|
28f490e38d | ||
|
|
48dccdf81a | ||
|
|
039e51a37c | ||
|
|
20b9de21c7 | ||
|
|
26ae304aa6 | ||
|
|
2d0bf7bdd5 | ||
|
|
e1fe241dc8 | ||
|
|
e334b4a99b | ||
|
|
1bb14a172a | ||
|
|
cc20bc3166 | ||
|
|
9cbe3c4878 | ||
|
|
d961d172be | ||
|
|
dbbe1eb433 | ||
|
|
0e25677ee2 | ||
|
|
e89a22bfab | ||
|
|
f5c0dc4880 | ||
|
|
7307a21a45 | ||
|
|
63f7fb275a | ||
|
|
4f55c2577d | ||
|
|
62a21d52ce | ||
|
|
27fb1c24b7 | ||
|
|
281a98c77a | ||
|
|
83ce390155 | ||
|
|
c96ef8e0b9 | ||
|
|
501cc96c68 | ||
|
|
a69417c066 | ||
|
|
d138fdbf19 | ||
|
|
9326268a46 | ||
|
|
88964d04d9 | ||
|
|
e803581008 | ||
|
|
015af8c168 | ||
|
|
3a48f72d7e | ||
|
|
3e0f96bc08 | ||
|
|
ef1a77c2c9 | ||
|
|
2842171a4c | ||
|
|
64fa1ea1b8 | ||
|
|
7700a71572 | ||
|
|
7baed3bf89 | ||
|
|
1710ea3d30 | ||
|
|
12de352a6f | ||
|
|
6fc75bfd3a | ||
|
|
96df91407c | ||
|
|
b30efba0d0 | ||
|
|
fd2d280114 | ||
|
|
68e202f30f | ||
|
|
d7848b138c | ||
|
|
40c6b975e9 | ||
|
|
a5fb3dead0 | ||
|
|
ac5ff6a908 | ||
|
|
0b1cb33137 | ||
|
|
9f3c97f74f | ||
|
|
a99566be67 | ||
|
|
ca66b45a86 | ||
|
|
55601256c2 | ||
|
|
43cc2463d2 | ||
|
|
25a46077de | ||
|
|
62d3162c4c | ||
|
|
3f2f7848cc | ||
|
|
c4267a3d35 | ||
|
|
ae774286e8 | ||
|
|
43f8a3245a | ||
|
|
a22d7bd8d6 | ||
|
|
f36280e16e | ||
|
|
38612b10a3 | ||
|
|
ffc03584ad | ||
|
|
dd3c3f3006 | ||
|
|
f1d93aa21c | ||
|
|
a4f0747a2a | ||
|
|
ca69f83c53 | ||
|
|
b06c1dfb75 | ||
|
|
7525f95ed5 | ||
|
|
1daed0de8a | ||
|
|
32e175835b | ||
|
|
ea04a14c5c | ||
|
|
d6b12c2d8b | ||
|
|
f4ffa313a2 | ||
|
|
1214dfb03b | ||
|
|
55b4181996 | ||
|
|
12a04365ce | ||
|
|
6929a4a0e8 | ||
|
|
07cccc8bc6 | ||
|
|
36791b5576 | ||
|
|
dba44a1367 | ||
|
|
d4593e87be | ||
|
|
6b1ec1fb33 | ||
|
|
bfb74f79b8 | ||
|
|
c520f816b1 | ||
|
|
cc6ed5f7f1 | ||
|
|
ac28f67c0b | ||
|
|
f30e1ab65c | ||
|
|
52e9776027 | ||
|
|
21292982fe | ||
|
|
9f0938ad32 | ||
|
|
cb948818d0 |
@@ -1,3 +1,373 @@
|
||||
2002-03-04 Akim Demaille <[email protected]>
|
||||
|
||||
Version 1.33b.
|
||||
|
||||
2002-03-04 Akim Demaille <[email protected]>
|
||||
|
||||
* tests/output.at (AT_CHECK_OUTPUT): Another test, making sure
|
||||
bison fails when trying to output a parser and a header under the
|
||||
same name.
|
||||
* src/files.c (compute_output_file_names): Refuse when parser and
|
||||
header have the same name.
|
||||
|
||||
2002-03-04 Akim Demaille <[email protected]>
|
||||
|
||||
* src/reader.c (readgram): A missing `;' is a warning, not an
|
||||
error!
|
||||
|
||||
2002-03-04 Akim Demaille <[email protected]>
|
||||
|
||||
* tests/sets.at (Broken Closure): Add the ending `;'.
|
||||
* tests/input.at (Invalid $n, Invalid @n): Likewise.
|
||||
* tests/output.at (AT_CHECK_OUTPUT): Likewise.
|
||||
* src/reader.at (readgram): Complain if a rule is not ended with a
|
||||
semi-colon.
|
||||
|
||||
2002-02-28 Akim Demaille <[email protected]>
|
||||
|
||||
* tests/Makefile.am (check_SCRIPTS): New.
|
||||
|
||||
2002-02-28 Akim Demaille <[email protected]>
|
||||
|
||||
Version 1.33a.
|
||||
|
||||
2002-02-25 Akim Demaille <[email protected]>
|
||||
|
||||
* src/bison.simple (yydebug): Fix the comment.
|
||||
From Bruce Lilly.
|
||||
|
||||
2002-02-21 Guerrero, Juan Manuel <[email protected]>
|
||||
|
||||
* src/getargs.c [AS_FILE_NAME] [__DJGPP__]: New macro STRLWR.
|
||||
Check that no NULL pointer is passed to strlwr.
|
||||
|
||||
2002-02-14 Paul Eggert <[email protected]>
|
||||
|
||||
Remove the support for C++ namespace cleanliness; it was
|
||||
causing more problems than it was curing, since it didn't work
|
||||
properly on some nonstandard C++ compilers. This can wait
|
||||
for a proper C++ parser.
|
||||
|
||||
* NEWS: Document this.
|
||||
* doc/bison.texinfo (Bison Parser, Debugging): Remove special mention
|
||||
of C++, as it's treated like C now.
|
||||
* src/bison.simple (YYSTD): Remove.
|
||||
(YYSIZE_T, YYFPRINTF, YYPARSE_PARAM_ARG, YYPARSE_PARAM_DECL):
|
||||
Treat C++ just like Standard C instead of trying to support
|
||||
namespace cleanliness.
|
||||
|
||||
2002-02-14 Akim Demaille <[email protected]>
|
||||
|
||||
* tests/regression.at (else): Adjust to Andreas' change.
|
||||
|
||||
2002-02-13 Andreas Schwab <[email protected]>
|
||||
|
||||
* src/output.c (output_rule_data): Don't output NULL, it might
|
||||
not be defined yet.
|
||||
|
||||
2002-02-13 Guerrero, Juan Manuel <[email protected]>
|
||||
|
||||
* doc/bison.texinfo: Add DJGPP specific information about
|
||||
file name extensions used on different file systems.
|
||||
|
||||
* src/files.c (output_files): MSDOS conditional removed.
|
||||
New macro EXT_TYPE will provide at runtime the appropiate
|
||||
output file extension.
|
||||
(skeleton_find) [MSDOS]: __DJGPP__ conditional added to
|
||||
inhibit the use of DOSish code. POSIX like behaviour.
|
||||
|
||||
* src/getargs.c [AS_FILE_NAME]: __DJGPP__ conditional added.
|
||||
Check at runtime if LFN-API (case preserving) is available or not.
|
||||
Do not unconditionly convert upper case strings in lower case strings.
|
||||
|
||||
* src/system.h [MSDOS] [__GO32__]: __DJGPP__ conditional added.
|
||||
__GO32__ is obsolete and its use is deprecated.
|
||||
[MSDOS]: __DJGPP__ conditional added. Use pathconf
|
||||
to choose POSIX or DOS file extensions at run time.
|
||||
[MSDOS] [__DJGPP__]: New macro EXT_TYPE. If LFN-API is
|
||||
available, the src or header file extension (.c or .h) will be
|
||||
added to the output file name. If no LFN-API is available no src
|
||||
or header file extension will be added to the output file name.
|
||||
[MSDOS] [!__DJGPP__]: New macro EXT_TYPE. Src file and header
|
||||
file extension will never be added to the output file name.
|
||||
[!MSDOS]: New macro EXT_TYPE. Src file and header file
|
||||
extensions will always be added to the output file name.
|
||||
|
||||
2002-02-11 Akim Demaille <[email protected]>
|
||||
|
||||
* tests/regression.at (%nonassoc and eof): Don't include non
|
||||
portable headers.
|
||||
|
||||
2002-02-07 Akim Demaille <[email protected]>
|
||||
|
||||
Version 1.33.
|
||||
|
||||
2002-02-07 Akim Demaille <[email protected]>
|
||||
|
||||
* tests/regression.at, tests/torture.at, tests/calc.at: Adjust to
|
||||
newest Autotest, where `.' is not in the PATH.
|
||||
|
||||
2002-02-07 Florian Krohm <[email protected]>
|
||||
|
||||
* src/reader.c (copy_at): Detect invalid @N values.
|
||||
|
||||
2002-02-07 Akim Demaille <[email protected]>
|
||||
|
||||
* tests/input.at: New.
|
||||
|
||||
2002-01-29 Paul Eggert <[email protected]>
|
||||
|
||||
* src/bison.simple (YYSIZE_T): Do not define merely because
|
||||
YYSTACK_USE_ALLOCA is nonzero or alloca or _ALLOCA_H are defined.
|
||||
On some platforms, <alloca.h> does not declare YYSTD (size_t).
|
||||
|
||||
2002-01-25 Akim Demaille <[email protected]>
|
||||
|
||||
* tests/regression.at (%nonassoc and eof): New.
|
||||
Suggested by Robert Anisko.
|
||||
|
||||
2002-01-23 Akim Demaille <[email protected]>
|
||||
|
||||
Version 1.32.
|
||||
|
||||
2002-01-23 Akim Demaille <[email protected]>
|
||||
|
||||
* src/getargs.c (version): Bump to 2002.
|
||||
Patch the PO files to help translators.
|
||||
|
||||
2002-01-22 Akim Demaille <[email protected]>
|
||||
|
||||
Bison dumps core when trying to complain about broken input files.
|
||||
Reported by Cris van Pelt.
|
||||
|
||||
* src/lex.c (parse_percent_token): Be sure to set token_buffer.
|
||||
* tests/regression.at (Invalid input: 1, Invalid input: 2): Merge
|
||||
into...
|
||||
(Invalid inputs): Strengthen: exercise parse_percent_token.
|
||||
|
||||
2002-01-21 Paolo Bonzini <[email protected]>
|
||||
|
||||
* po/it.po: New.
|
||||
|
||||
2002-01-21 Kees Zeelenberg <[email protected]>
|
||||
|
||||
* src/files.c (skeleton_find) [MSDOS]: Fix cp definition.
|
||||
|
||||
2002-01-20 Marc Autret <[email protected]>
|
||||
|
||||
* src/system.h: Need to define __attribute__ away for non-GCC
|
||||
compilers as well (i.e. the vendor C compiler).
|
||||
Suggested by Albert Chin-A-Young.
|
||||
|
||||
2002-01-19 Marc Autret <[email protected]>
|
||||
|
||||
* tests/output.at: New test.
|
||||
* src/files.c (compute_base_names): Don't map extensions when
|
||||
the YACC flag is set, use defaults.
|
||||
Reported by Evgeny Stambulchik.
|
||||
|
||||
2002-01-19 Marc Autret <[email protected]>
|
||||
|
||||
* configure.in, doc/version.texi: Bump to 1.31a.
|
||||
|
||||
2002-01-14 Akim Demaille <[email protected]>
|
||||
|
||||
Version 1.31.
|
||||
|
||||
2002-01-14 Akim Demaille <[email protected]>
|
||||
|
||||
* tests/regression.at (Invalid CPP headers): Remove.
|
||||
|
||||
2002-01-12 Akim Demaille <[email protected]>
|
||||
|
||||
Version 1.30l.
|
||||
|
||||
2002-01-12 Akim Demaille <[email protected]>
|
||||
|
||||
* lib/Makefile.am (EXTRA_DIST): Add strnlen.c: Automake is still
|
||||
not using Autoconf traces and does not see Autoconf's AC_LIBOBJ.
|
||||
|
||||
2002-01-11 Akim Demaille <[email protected]>
|
||||
|
||||
Version 1.30k.
|
||||
|
||||
2002-01-11 Akim Demaille <[email protected]>
|
||||
|
||||
* configure.in: Use AC_FUNC_STRNLEN.
|
||||
Fixes the failures observed on AIX 4.3 by H.Merijn Brand.
|
||||
|
||||
2002-01-09 Akim Demaille <[email protected]>
|
||||
|
||||
Version 1.30j.
|
||||
|
||||
2002-01-09 Akim Demaille <[email protected]>
|
||||
|
||||
* configure.in (WERROR_CFLAGS): Compute it.
|
||||
* src/Makefile.am (CFLAGS): Pass it.
|
||||
* tests/atlocal.in (CFLAGS): Idem.
|
||||
|
||||
2002-01-08 Akim Demaille <[email protected]>
|
||||
|
||||
* lib/Makefile.am (libbison_a_SOURCES): Add xstrndup.c.
|
||||
* src/getargs.c (AS_FILE_NAME): New.
|
||||
(getargs): Use it to convert DOSish file names.
|
||||
* src/files.c (base_name): Rename as full_base_name to avoid
|
||||
clashes with `base_name ()'.
|
||||
(get_extension_index): Remove.
|
||||
(filename_split): New.
|
||||
(compute_base_names): N-th rewrite, using filename_split.
|
||||
|
||||
2002-01-08 Akim Demaille <[email protected]>
|
||||
|
||||
* lib/basename.c, lib/dirname.h, lib/dirname.c, lib/memrchr.c,
|
||||
* lib/xstrndup.c, lib/strchr.c:
|
||||
New, stolen from the Fileutils 4.1.
|
||||
* lib/Makefile.am (libbison_a_SOURCES): Adjust.
|
||||
* configure.in: Check for the presence of memrchr, strchr,
|
||||
strnlen, and of their prototypes.
|
||||
Don't check for strndup: we no longer use it.
|
||||
* src/system.h: Adjust the prototypes.
|
||||
|
||||
2002-01-07 Akim Demaille <[email protected]>
|
||||
|
||||
* src/conflicts.c (count_rr_conflicts): The previous RR conflicts
|
||||
patch was improperly applied: fix it.
|
||||
|
||||
2002-01-07 Akim Demaille <[email protected]>
|
||||
|
||||
* tests/torture.at (GNU Cim Grammar): Reintroduce their weird
|
||||
'switch' without a following semicolon.
|
||||
* tests/regression.at (braces parsing): New.
|
||||
|
||||
2002-01-06 Akim Demaille <[email protected]>
|
||||
|
||||
Bison is dead wrong in its RR conflict reports.
|
||||
|
||||
* tests/torture.at (GNU Cim Grammar): New.
|
||||
* src/conflicts.c (count_rr_conflicts): Fix.
|
||||
|
||||
2002-01-06 Akim Demaille <[email protected]>
|
||||
|
||||
Creating package.m4 from configure.ac causes too many problems.
|
||||
|
||||
* tests/Makefile.am (package.m4): Create it by hand,
|
||||
AC_CONFIG_TESTDIR no longer does in the most recent CVS Autoconf.
|
||||
|
||||
2002-01-04 Paul Eggert <[email protected]>
|
||||
|
||||
* doc/bison.texinfo (Debugging):
|
||||
Remove YYSTDERR; it's no longer defined or used.
|
||||
Also, s/cstdio.h/cstdio/.
|
||||
|
||||
2002-01-03 Akim Demaille <[email protected]>
|
||||
|
||||
* src/files.h: Add it prototype.
|
||||
|
||||
2002-01-03 Akim Demaille <[email protected]>
|
||||
|
||||
* src/files.c, src/files.h (strsuffix): Not static.
|
||||
* src/conflicts.c (conflicts_print): Don't consider it is an error
|
||||
to have a %expectation violation on a file ending by `plural.y'.
|
||||
Eek.
|
||||
|
||||
2002-01-03 Akim Demaille <[email protected]>
|
||||
|
||||
* tests/bison.in: Adjust to CVS Autoconf.
|
||||
* tests/calc.at (exp): We no longer need to special case GCC as
|
||||
the warning flags are passed by configure.
|
||||
* tests/atlocal.in: Adjust.
|
||||
* configure.in: Bump to 1.30j.
|
||||
|
||||
2002-01-03 Akim Demaille <[email protected]>
|
||||
|
||||
Version 1.30i.
|
||||
|
||||
2002-01-03 Akim Demaille <[email protected]>
|
||||
|
||||
* src/bison.simple (YYSTDERR): Remove, replace `stderr'.
|
||||
The ISO C++ standard is extremely clear about it: stderr is
|
||||
considered a macro, not a regular symbol (see table 94 `Header
|
||||
<cstdio> synopsis', [lib.c.files] 27.8.2 C Library files).
|
||||
Therefore std:: does not apply to it. It still does with fprintf.
|
||||
Also, s/cstdio.h/cstdio/.
|
||||
|
||||
2002-01-03 Akim Demaille <[email protected]>
|
||||
|
||||
* lib/quotearg.c: Use `#include "..."' instead of `#include <...>'
|
||||
for non system headers.
|
||||
|
||||
2001-12-27 Paul Eggert <[email protected]>
|
||||
|
||||
* src/bison.simple (YYSTACK_ALLOC, YYSIZE_T): Remove special
|
||||
cases for non-GNU systems like AIX, HP-UX, SGI, Sun, and
|
||||
Sparc, as they were causing more porting problems than the
|
||||
(minor) performance improvement was worth.
|
||||
|
||||
2001-12-22 Akim Demaille <[email protected]>
|
||||
|
||||
* src/output.c (output_short_table, output_short_or_char_table):
|
||||
Change the prototype to use `int' for array ranges: some
|
||||
invocations do pass an int, not a short.
|
||||
Reported by Wayne Green.
|
||||
|
||||
2001-12-22 Akim Demaille <[email protected]>
|
||||
|
||||
Some actions of web2c.y are improperly triggered.
|
||||
Reported by Mike Castle.
|
||||
|
||||
* src/lalr.c (traverse): s/F (i)[k] = F (j)[k]/F (j)[k] = F (i)[k]/.
|
||||
* tests/regression.at (Web2c): Rename as...
|
||||
(Web2c Report): this.
|
||||
(Web2c Actions): New.
|
||||
|
||||
2001-12-22 Akim Demaille <[email protected]>
|
||||
|
||||
Reductions in web2c.y are improperly reported.
|
||||
Reported by Mike Castle.
|
||||
|
||||
* src/conflicts.c (print_reductions): Fix.
|
||||
* tests/regression.at (Web2c): New.
|
||||
|
||||
2001-12-18 Akim Demaille <[email protected]>
|
||||
|
||||
Version 1.30h.
|
||||
|
||||
2001-12-18 Akim Demaille <[email protected]>
|
||||
|
||||
Some host fail on `assert (!"foo")', which expands to
|
||||
((!"foo") ? (void)0 : __assert("!"foo."", __FILE__, __LINE__))
|
||||
Reported by Nelson Beebee.
|
||||
|
||||
* src/output.c, src/vcg.c: Replace `assert (!"it succeeded")' with
|
||||
`#define it_succeeded 0' and `assert (it_succeeded)'.
|
||||
|
||||
2001-12-17 Paul Eggert <[email protected]>
|
||||
|
||||
* src/bison.simple (YYSTD): New macro.
|
||||
(YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE, YYFPRINTF, YYSTDERR): Use
|
||||
it to simplify macros, and fix some C++ porting problems reported
|
||||
by Hans Aberg.
|
||||
|
||||
* src/output.c (output): Define YYDEBUG to 0 if it is not defined
|
||||
and if we are not debugging. POSIX requires this.
|
||||
* NEWS, doc/bison.texinfo, doc/bison.1, doc/bison.rnh: Document this.
|
||||
|
||||
* src/output.c (output_gram, output_rule_data): Do not assume that
|
||||
the user defines YYDEBUG to a properly parenthesized expression.
|
||||
|
||||
2001-12-15 Akim Demaille <[email protected]>
|
||||
|
||||
* src/nullable.c (set_nullable): Useless rules must be skipped,
|
||||
otherwise, since we range over their symbols, we might look at a
|
||||
nonterminal which no longer ``exists'', i.e., it is not counted in
|
||||
`nvars', hence we overflow our arrays.
|
||||
|
||||
2001-12-15 Akim Demaille <[email protected]>
|
||||
|
||||
* src/reader.c (copy_action): When --yacc, don't append a `;'
|
||||
to the user action: let it fail if lacking.
|
||||
Suggested by Arnold Robbins and Tom Tromey.
|
||||
|
||||
2001-12-13 Akim Demaille <[email protected]>
|
||||
|
||||
Version 1.30g.
|
||||
|
||||
+49
-29
@@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
||||
# Makefile.in generated by automake 1.5c from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@@ -13,7 +13,6 @@
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
@@ -48,6 +47,7 @@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
@@ -92,11 +92,13 @@ PACKAGE = @PACKAGE@
|
||||
POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
RANLIB = @RANLIB@
|
||||
STRIP = @STRIP@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
VERSION = @VERSION@
|
||||
WARNING_CFLAGS = @WARNING_CFLAGS@
|
||||
WERROR_CFLAGS = @WERROR_CFLAGS@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
install_sh = @install_sh@
|
||||
@@ -149,7 +151,7 @@ $(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) && $(SHELL) ./config.status $@
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
|
||||
|
||||
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
@@ -234,16 +236,19 @@ tags-recursive:
|
||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||
done
|
||||
|
||||
ETAGS = etags
|
||||
ETAGSFLAGS =
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique $(LISP)
|
||||
mkid -fID $$unique
|
||||
|
||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
@@ -254,14 +259,15 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
|
||||
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
|
||||
list='$(SOURCES) $(HEADERS) config.hin $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)config.hin$$unique$(LISP)$$tags" \
|
||||
|| etags $(ETAGS_ARGS) $$tags config.hin $$unique $(LISP)
|
||||
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|
||||
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
@@ -270,14 +276,18 @@ GTAGS:
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = .
|
||||
# Avoid unsightly `./'.
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
|
||||
am__remove_distdir = \
|
||||
{ test ! -d $(distdir) \
|
||||
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -fr $(distdir); }; }
|
||||
|
||||
GZIP_ENV = --best
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@if sed 15q $(srcdir)/NEWS | fgrep -e "$(VERSION)" >/dev/null; \
|
||||
@@ -285,17 +295,20 @@ distdir: $(DISTFILES)
|
||||
echo "NEWS not updated; not releasing" 1>&2; \
|
||||
exit 1; \
|
||||
fi
|
||||
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
|
||||
$(am__remove_distdir)
|
||||
mkdir $(distdir)
|
||||
$(mkinstalldirs) $(distdir)/intl $(distdir)/po $(distdir)/tests
|
||||
@for file in $(DISTFILES); do \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||
dir="/$$dir"; \
|
||||
$(mkinstalldirs) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pR $$d/$$file $(distdir) \
|
||||
cp -pR $$d/$$file $(distdir)$$dir \
|
||||
|| exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
@@ -303,7 +316,7 @@ distdir: $(DISTFILES)
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
for subdir in $(SUBDIRS); do \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -d $(distdir)/$$subdir \
|
||||
|| mkdir $(distdir)/$$subdir \
|
||||
@@ -323,22 +336,22 @@ distdir: $(DISTFILES)
|
||||
|| chmod -R a+r $(distdir)
|
||||
dist-gzip: distdir
|
||||
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-bzip2: distdir
|
||||
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist dist-all: distdir
|
||||
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
|
||||
$(am__remove_distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
-chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
|
||||
$(am__remove_distdir)
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
|
||||
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||
mkdir $(distdir)/=build
|
||||
@@ -348,6 +361,7 @@ distcheck: dist
|
||||
&& cd $(distdir)/=build \
|
||||
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
|
||||
--with-included-gettext \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
@@ -359,15 +373,20 @@ distcheck: dist
|
||||
find $$dc_install_base -type f -print ; \
|
||||
exit 1; } >&2 ) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distclean \
|
||||
&& rm -f $(distdir).tar.gz \
|
||||
&& (test `find . -type f -print | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left after distclean:" ; \
|
||||
find . -type f -print ; \
|
||||
exit 1; } >&2 )
|
||||
-chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
||||
$(am__remove_distdir)
|
||||
@echo "$(distdir).tar.gz is ready for distribution" | \
|
||||
sed 'h;s/./=/g;p;x;p;x'
|
||||
distcleancheck: distclean
|
||||
if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-recursive
|
||||
all-am: Makefile config.h
|
||||
@@ -385,6 +404,7 @@ install-am: all-am
|
||||
installcheck: installcheck-recursive
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
@@ -439,9 +459,9 @@ uninstall-info: uninstall-info-recursive
|
||||
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
|
||||
clean-generic clean-recursive dist dist-all dist-bzip2 \
|
||||
dist-gzip distcheck distclean distclean-generic distclean-hdr \
|
||||
distclean-recursive distclean-tags distdir dvi dvi-am \
|
||||
dvi-recursive info info-am info-recursive install install-am \
|
||||
install-data install-data-am install-data-recursive \
|
||||
distclean-recursive distclean-tags distcleancheck distdir dvi \
|
||||
dvi-am dvi-recursive info info-am info-recursive install \
|
||||
install-am install-data install-data-am install-data-recursive \
|
||||
install-exec install-exec-am install-exec-recursive \
|
||||
install-info install-info-am install-info-recursive install-man \
|
||||
install-recursive install-strip installcheck installcheck-am \
|
||||
|
||||
@@ -1,14 +1,71 @@
|
||||
Bison News
|
||||
----------
|
||||
|
||||
Changes in version 1.30g:
|
||||
Changes in version 1.33b:
|
||||
|
||||
* Bug fixes
|
||||
* File name clashes are detected
|
||||
$ bison foo.y -d -o foo.x
|
||||
fatal error: header and parser would be both named `foo.x'
|
||||
|
||||
* A missing `;' ending a rule triggers a warning
|
||||
In accordance with POSIX, and in agreement with other
|
||||
Yacc implementations, Bison will mandate this semicolon in a near
|
||||
future. This eases the implementation of a Bison parser of Bison
|
||||
grammars by making this grammar LALR(1) instead of LR(2). To
|
||||
facilitate the transition, this release introduces a warning.
|
||||
|
||||
* Revert the C++ namespace changes introduced in 1.31, as they caused too
|
||||
many portability hassles.
|
||||
|
||||
* DJGPP support added.
|
||||
|
||||
* Fix portability problems within the test suite.
|
||||
|
||||
Changes in version 1.33, 2002-02-07:
|
||||
|
||||
* Fix C++ issues
|
||||
Groff could not be compiled for the definition of size_t was lacking
|
||||
under some conditions.
|
||||
|
||||
* Catch invalid @n
|
||||
As is done with $n.
|
||||
|
||||
Changes in version 1.32, 2002-01-23:
|
||||
|
||||
* Fix Yacc output file names
|
||||
|
||||
* Portability fixes
|
||||
|
||||
* Italian, Dutch translations
|
||||
|
||||
Changes in version 1.31, 2002-01-14:
|
||||
|
||||
* Many Bug Fixes
|
||||
|
||||
* GNU Gettext and %expect
|
||||
GNU Gettext asserts 10 s/r conflicts, but there are 7. Now that
|
||||
Bison dies on incorrect %expectations, we fear there will be
|
||||
too many bug reports for Gettext, so _for the time being_, %expect
|
||||
does not trigger an error when the input file is named `plural.y'.
|
||||
|
||||
* Use of alloca in parsers
|
||||
If YYSTACK_USE_ALLOCA is defined to 0, then the parsers will use
|
||||
malloc exclusively. Since 1.29, but was not NEWS'ed.
|
||||
|
||||
alloca is used only when compiled with GCC, to avoid portability
|
||||
problems as on AIX.
|
||||
|
||||
* When the generated parser lacks debugging code, YYDEBUG is now 0
|
||||
(as POSIX requires) instead of being undefined.
|
||||
|
||||
* User Actions
|
||||
Bison has always permitted actions such as { $$ = $1 }: it adds the
|
||||
ending semicolon. Now if in Yacc compatibility mode, the semicolon
|
||||
is no longer output: one has to write { $$ = $1; }.
|
||||
|
||||
* Better C++ compliance
|
||||
The output parsers try to respect C++ namespaces.
|
||||
|
||||
Changes in version 1.30f:
|
||||
[This turned out to be a failed experiment, and it was reverted later.]
|
||||
|
||||
* Reduced Grammars
|
||||
Fixed bugs when reporting useless nonterminals.
|
||||
@@ -16,8 +73,6 @@ Changes in version 1.30f:
|
||||
* 64 bit hosts
|
||||
The parsers work properly on 64 bit hosts.
|
||||
|
||||
Changes in version 1.30e:
|
||||
|
||||
* Error messages
|
||||
Some calls to strerror resulted in scrambled or missing error messages.
|
||||
|
||||
@@ -29,8 +84,6 @@ Changes in version 1.30e:
|
||||
|
||||
* Rule line numbers are fixed in traces.
|
||||
|
||||
Changes in version 1.30d:
|
||||
|
||||
* Swedish translation
|
||||
|
||||
* Parse errors
|
||||
@@ -38,17 +91,6 @@ Changes in version 1.30d:
|
||||
Before: parse error: unexpected `'/'', expecting `"number"' or `'-'' or `'(''
|
||||
Now: parse error: unexpected '/', expecting "number" or '-' or '('
|
||||
|
||||
* Fixed VCG output
|
||||
Was broken when strings aliases for symbols were used.
|
||||
|
||||
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.
|
||||
|
||||
Vendored
+141
-35
@@ -1,6 +1,6 @@
|
||||
# aclocal.m4 generated automatically by aclocal 1.5a -*- Autoconf -*-
|
||||
# aclocal.m4 generated automatically by aclocal 1.5c -*- Autoconf -*-
|
||||
|
||||
# Copyright 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Free Software Foundation, Inc.
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@@ -16,7 +16,8 @@
|
||||
# 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.
|
||||
# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# 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
|
||||
@@ -33,7 +34,7 @@
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
# serial 6
|
||||
# serial 8
|
||||
|
||||
# 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,
|
||||
@@ -48,30 +49,46 @@ AC_PREREQ([2.52])
|
||||
# the ones we care about.
|
||||
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
|
||||
|
||||
# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE])
|
||||
# ----------------------------------------------
|
||||
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
|
||||
# AM_INIT_AUTOMAKE([OPTIONS])
|
||||
# -----------------------------------------------
|
||||
# The call with PACKAGE and VERSION arguments is the old style
|
||||
# call (pre autoconf-2.50), which is being phased out. PACKAGE
|
||||
# and VERSION should now be passed to AC_INIT and removed from
|
||||
# the call to AM_INIT_AUTOMAKE.
|
||||
# We support both call styles for the transition. After
|
||||
# the next Automake release, Autoconf can make the AC_INIT
|
||||
# arguments mandatory, and then we can depend on a new Autoconf
|
||||
# release and drop the old call support.
|
||||
AC_DEFUN([AM_INIT_AUTOMAKE],
|
||||
[AC_REQUIRE([AC_PROG_INSTALL])dnl
|
||||
[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
|
||||
AC_REQUIRE([AC_PROG_INSTALL])dnl
|
||||
# test to see if srcdir already configured
|
||||
if test "`cd $srcdir && pwd`" != "`pwd`" &&
|
||||
test -f $srcdir/config.status; then
|
||||
AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first])
|
||||
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
|
||||
fi
|
||||
|
||||
# Define the identity of the package.
|
||||
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])])
|
||||
dnl Distinguish between old-style and new-style calls.
|
||||
m4_ifval([$2],
|
||||
[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
|
||||
AC_SUBST([PACKAGE], [$1])dnl
|
||||
AC_SUBST([VERSION], [$2])],
|
||||
[_AM_SET_OPTIONS([$1])dnl
|
||||
AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])dnl
|
||||
AC_SUBST([VERSION], [AC_PACKAGE_VERSION])])dnl
|
||||
|
||||
_AM_IF_OPTION([no-define],,
|
||||
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
|
||||
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
|
||||
|
||||
# Some tools Automake needs.
|
||||
AC_REQUIRE([AM_SANITY_CHECK])dnl
|
||||
AC_REQUIRE([AC_ARG_PROGRAM])dnl
|
||||
AM_MISSING_PROG(ACLOCAL, aclocal)
|
||||
AM_MISSING_PROG(ACLOCAL, "aclocal-${am__api_version}")
|
||||
AM_MISSING_PROG(AUTOCONF, autoconf)
|
||||
AM_MISSING_PROG(AUTOMAKE, automake)
|
||||
AM_MISSING_PROG(AUTOMAKE, "automake-${am__api_version}")
|
||||
AM_MISSING_PROG(AUTOHEADER, autoheader)
|
||||
AM_MISSING_PROG(MAKEINFO, makeinfo)
|
||||
AM_MISSING_PROG(AMTAR, tar)
|
||||
@@ -81,9 +98,9 @@ AM_PROG_INSTALL_STRIP
|
||||
# some platforms.
|
||||
AC_REQUIRE([AC_PROG_AWK])dnl
|
||||
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
||||
AC_REQUIRE([AM_DEP_TRACK])dnl
|
||||
AC_REQUIRE([AM_SET_DEPDIR])dnl
|
||||
AC_PROVIDE_IFELSE([AC_PROG_][CC],
|
||||
|
||||
_AM_IF_OPTION([no-dependencies],,
|
||||
[AC_PROVIDE_IFELSE([AC_PROG_][CC],
|
||||
[_AM_DEPENDENCIES(CC)],
|
||||
[define([AC_PROG_][CC],
|
||||
defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl
|
||||
@@ -92,6 +109,80 @@ AC_PROVIDE_IFELSE([AC_PROG_][CXX],
|
||||
[define([AC_PROG_][CXX],
|
||||
defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl
|
||||
])
|
||||
])
|
||||
|
||||
# Copyright 2002 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
|
||||
|
||||
# AM_AUTOMAKE_VERSION(VERSION)
|
||||
# ----------------------------
|
||||
# Automake X.Y traces this macro to ensure aclocal.m4 has been
|
||||
# generated from the m4 files accompanying Automake X.Y.
|
||||
AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.5c"])
|
||||
|
||||
# AM_SET_CURRENT_AUTOMAKE_VERSION
|
||||
# -------------------------------
|
||||
# Call AM_AUTOMAKE_VERSION so it can be traced.
|
||||
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
|
||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||
[AM_AUTOMAKE_VERSION([1.5c])])
|
||||
|
||||
# Helper functions for option handling. -*- Autoconf -*-
|
||||
|
||||
# Copyright 2001, 2002 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_MANGLE_OPTION(NAME)
|
||||
# -----------------------
|
||||
AC_DEFUN([_AM_MANGLE_OPTION],
|
||||
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
|
||||
|
||||
# _AM_SET_OPTION(NAME)
|
||||
# ------------------------------
|
||||
# Set option NAME. Presently that only means defining a flag for this option.
|
||||
AC_DEFUN([_AM_SET_OPTION],
|
||||
[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
|
||||
|
||||
# _AM_SET_OPTIONS(OPTIONS)
|
||||
# ----------------------------------
|
||||
# OPTIONS is a space-separated list of Automake options.
|
||||
AC_DEFUN([_AM_SET_OPTIONS],
|
||||
[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
|
||||
|
||||
# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
|
||||
# -------------------------------------------
|
||||
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
|
||||
AC_DEFUN([_AM_IF_OPTION],
|
||||
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
||||
|
||||
#
|
||||
# Check to make sure that the build environment is sane.
|
||||
@@ -177,7 +268,7 @@ AC_MSG_RESULT(yes)])
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
# serial 2
|
||||
# serial 3
|
||||
|
||||
# AM_MISSING_PROG(NAME, PROGRAM)
|
||||
# ------------------------------
|
||||
@@ -199,8 +290,7 @@ if eval "$MISSING --run true"; then
|
||||
am_missing_run="$MISSING --run "
|
||||
else
|
||||
am_missing_run=
|
||||
am_backtick='`'
|
||||
AC_MSG_WARN([${am_backtick}missing' script is too old or missing])
|
||||
AC_MSG_WARN([`missing' script is too old or missing])
|
||||
fi
|
||||
])
|
||||
|
||||
@@ -323,6 +413,14 @@ AC_SUBST(install_sh)])
|
||||
# STRIPPROG with the value of the STRIP variable (set by the user).
|
||||
AC_DEFUN([AM_PROG_INSTALL_STRIP],
|
||||
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
|
||||
# Installed binaries are usually stripped using `strip' when the user
|
||||
# run `make install-strip'. However `strip' might not be the right
|
||||
# tool to use in cross-compilation environments, therefore Automake
|
||||
# will honor the `STRIP' environment variable to overrule this program.
|
||||
dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
|
||||
if test "$cross_compiling" != no; then
|
||||
AC_CHECK_TOOL([STRIP], [strip], :)
|
||||
fi
|
||||
INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
|
||||
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
||||
|
||||
@@ -357,7 +455,7 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
||||
# _AM_DEPENDENCIES(NAME)
|
||||
# ----------------------
|
||||
# See how the compiler implements dependency checking.
|
||||
# NAME is "CC", "CXX" or "OBJC".
|
||||
# NAME is "CC", "CXX", "GCJ", or "OBJC".
|
||||
# We try a few techniques and use that to set a single cache variable.
|
||||
#
|
||||
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
|
||||
@@ -495,11 +593,13 @@ AC_SUBST([AMDEPBACKSLASH])
|
||||
# ------------------------------
|
||||
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||
[for mf in $CONFIG_FILES; do
|
||||
case $mf in
|
||||
Makefile) dirpart=.;;
|
||||
*/Makefile) dirpart=`AS_DIRNAME("$mf")`;;
|
||||
*) continue;;
|
||||
esac
|
||||
# Strip MF so we end up with the name of the file.
|
||||
mf=`echo "$mf" | sed -e 's/:.*$//'`
|
||||
if (head -1 $mf | fgrep 'generated by automake') > /dev/null 2>&1; then
|
||||
dirpart=`AS_DIRNAME("$mf")`
|
||||
else
|
||||
dirpart=
|
||||
fi
|
||||
grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
|
||||
# Extract the definition of DEP_FILES from the Makefile without
|
||||
# running `make'.
|
||||
@@ -546,11 +646,7 @@ AC_DEFUN([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.
|
||||
# Copyright 2001 Free Software Foundation, Inc. -*- Autoconf -*-
|
||||
|
||||
# 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
|
||||
@@ -567,6 +663,11 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
# serial 2
|
||||
|
||||
# AM_MAKE_INCLUDE()
|
||||
# -----------------
|
||||
# Check to see how make treats includes.
|
||||
AC_DEFUN([AM_MAKE_INCLUDE],
|
||||
[am_make=${MAKE-make}
|
||||
cat > confinc << 'END'
|
||||
@@ -575,7 +676,7 @@ doit:
|
||||
END
|
||||
# If we don't find an include directive, just comment out the code.
|
||||
AC_MSG_CHECKING([for style of include used by $am_make])
|
||||
am__include='#'
|
||||
am__include="#"
|
||||
am__quote=
|
||||
_am_result=none
|
||||
# First try GNU make style include.
|
||||
@@ -595,7 +696,7 @@ if test "$am__include" = "#"; then
|
||||
echo '.include "confinc"' > confmf
|
||||
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
|
||||
am__include=.include
|
||||
am__quote='"'
|
||||
am__quote="\""
|
||||
_am_result=BSD
|
||||
fi
|
||||
fi
|
||||
@@ -642,7 +743,12 @@ if $2; then
|
||||
else
|
||||
$1_TRUE='#'
|
||||
$1_FALSE=
|
||||
fi])
|
||||
fi
|
||||
AC_CONFIG_COMMANDS_PRE(
|
||||
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
|
||||
AC_MSG_ERROR([conditional \"$1\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally.])
|
||||
fi])])
|
||||
|
||||
# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*-
|
||||
|
||||
|
||||
+30
-10
@@ -35,10 +35,18 @@
|
||||
*/
|
||||
#undef HAVE_DECL_MEMCHR
|
||||
|
||||
/* Define to 1 if you have the declaration of `memrchr', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL_MEMRCHR
|
||||
|
||||
/* Define to 1 if you have the declaration of `stpcpy', and to 0 if you don't.
|
||||
*/
|
||||
#undef HAVE_DECL_STPCPY
|
||||
|
||||
/* Define to 1 if you have the declaration of `strchr', and to 0 if you don't.
|
||||
*/
|
||||
#undef HAVE_DECL_STRCHR
|
||||
|
||||
/* Define to 1 if you have the declaration of `strerror', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL_STRERROR
|
||||
@@ -47,14 +55,14 @@
|
||||
don't. */
|
||||
#undef HAVE_DECL_STRERROR_R
|
||||
|
||||
/* Define to 1 if you have the declaration of `strndup', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL_STRNDUP
|
||||
|
||||
/* Define to 1 if you have the declaration of `strnlen', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL_STRNLEN
|
||||
|
||||
/* Define to 1 if you have the declaration of `strspn', and to 0 if you don't.
|
||||
*/
|
||||
#undef HAVE_DECL_STRSPN
|
||||
|
||||
/* Define if the malloc check has been performed. */
|
||||
#undef HAVE_DONE_WORKING_MALLOC_CHECK
|
||||
|
||||
@@ -133,6 +141,9 @@
|
||||
/* Define to 1 if you have the `mempcpy' function. */
|
||||
#undef HAVE_MEMPCPY
|
||||
|
||||
/* Define to 1 if you have the `memrchr' function. */
|
||||
#undef HAVE_MEMRCHR
|
||||
|
||||
/* Define to 1 if you have the `mkstemp' function. */
|
||||
#undef HAVE_MKSTEMP
|
||||
|
||||
@@ -190,12 +201,6 @@
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the `strndup' function. */
|
||||
#undef HAVE_STRNDUP
|
||||
|
||||
/* Define to 1 if you have the `strnlen' function. */
|
||||
#undef HAVE_STRNLEN
|
||||
|
||||
/* Define to 1 if you have the `strspn' function. */
|
||||
#undef HAVE_STRSPN
|
||||
|
||||
@@ -241,6 +246,21 @@
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Define if compiler has function prototypes */
|
||||
#undef PROTOTYPES
|
||||
|
||||
|
||||
+13
-9
@@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
||||
# Makefile.in generated by automake 1.5c from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@@ -13,7 +13,6 @@
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
@@ -48,6 +47,7 @@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
@@ -92,15 +92,16 @@ PACKAGE = @PACKAGE@
|
||||
POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
RANLIB = @RANLIB@
|
||||
STRIP = @STRIP@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
VERSION = @VERSION@
|
||||
WARNING_CFLAGS = @WARNING_CFLAGS@
|
||||
WERROR_CFLAGS = @WERROR_CFLAGS@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
install_sh = @install_sh@
|
||||
|
||||
EXTRA_DIST = move-if-change prev-version.txt
|
||||
subdir = config
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
|
||||
@@ -116,12 +117,11 @@ $(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) && $(SHELL) ./config.status $(subdir)/$@
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||
uninstall-info-am:
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = ..
|
||||
@@ -129,13 +129,16 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@for file in $(DISTFILES); do \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||
dir="/$$dir"; \
|
||||
$(mkinstalldirs) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pR $$d/$$file $(distdir) \
|
||||
cp -pR $$d/$$file $(distdir)$$dir \
|
||||
|| exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
@@ -160,6 +163,7 @@ install-am: all-am
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
Vendored
+27
-16
@@ -1,9 +1,9 @@
|
||||
#! /bin/sh
|
||||
# Attempt to guess a canonical system name.
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
# 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2001-12-12'
|
||||
timestamp='2002-03-04'
|
||||
|
||||
# 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
|
||||
@@ -24,7 +24,7 @@ timestamp='2001-12-12'
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Originally written by Per Bothner <bothner@cygnus.com>.
|
||||
# Originally written by Per Bothner <per@bothner.com>.
|
||||
# Please send patches to <[email protected]>. Submit a context
|
||||
# diff and a properly formatted ChangeLog entry.
|
||||
#
|
||||
@@ -138,8 +138,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
#
|
||||
# Note: NetBSD doesn't particularly care about the vendor
|
||||
# portion of the name. We always set it to "unknown".
|
||||
UNAME_MACHINE_ARCH=`(uname -p) 2>/dev/null` || \
|
||||
UNAME_MACHINE_ARCH=unknown
|
||||
sysctl="sysctl -n hw.machine_arch"
|
||||
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
|
||||
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
|
||||
case "${UNAME_MACHINE_ARCH}" in
|
||||
arm*) machine=arm-unknown ;;
|
||||
sh3el) machine=shl-unknown ;;
|
||||
@@ -289,6 +290,9 @@ EOF
|
||||
*:[Aa]miga[Oo][Ss]:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-amigaos
|
||||
exit 0 ;;
|
||||
*:[Mm]orph[Oo][Ss]:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-morphos
|
||||
exit 0 ;;
|
||||
*:OS/390:*:*)
|
||||
echo i370-ibm-openedition
|
||||
exit 0 ;;
|
||||
@@ -337,7 +341,7 @@ EOF
|
||||
echo m68k-sun-sunos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
sun*:*:4.2BSD:*)
|
||||
UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
|
||||
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
|
||||
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
|
||||
case "`/bin/arch`" in
|
||||
sun3)
|
||||
@@ -506,7 +510,7 @@ EOF
|
||||
fi
|
||||
exit 0 ;;
|
||||
*:AIX:*:[45])
|
||||
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
|
||||
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
|
||||
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
|
||||
IBM_ARCH=rs6000
|
||||
else
|
||||
@@ -680,9 +684,6 @@ EOF
|
||||
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
|
||||
echo c4-convex-bsd
|
||||
exit 0 ;;
|
||||
CRAY*X-MP:*:*:*)
|
||||
echo xmp-cray-unicos
|
||||
exit 0 ;;
|
||||
CRAY*Y-MP:*:*:*)
|
||||
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
||||
exit 0 ;;
|
||||
@@ -704,9 +705,6 @@ EOF
|
||||
CRAY*SV1:*:*:*)
|
||||
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
||||
exit 0 ;;
|
||||
CRAY-2:*:*:*)
|
||||
echo cray2-cray-unicos
|
||||
exit 0 ;;
|
||||
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
|
||||
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||
@@ -734,6 +732,9 @@ EOF
|
||||
i*:PW*:*)
|
||||
echo ${UNAME_MACHINE}-pc-pw32
|
||||
exit 0 ;;
|
||||
x86:Interix*:3*)
|
||||
echo i386-pc-interix3
|
||||
exit 0 ;;
|
||||
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
|
||||
# How do we know it's Interix rather than the generic POSIX subsystem?
|
||||
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
|
||||
@@ -767,6 +768,9 @@ EOF
|
||||
mips:Linux:*:*)
|
||||
eval $set_cc_for_build
|
||||
sed 's/^ //' << EOF >$dummy.c
|
||||
#undef CPU
|
||||
#undef mips
|
||||
#undef mipsel
|
||||
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
|
||||
CPU=mipsel
|
||||
#else
|
||||
@@ -828,7 +832,8 @@ EOF
|
||||
# The BFD linker knows what the default object file format is, so
|
||||
# first see if it will tell us. cd to the root directory to prevent
|
||||
# problems with other programs or directories called `ld' in the path.
|
||||
ld_supported_targets=`cd /; ld --help 2>&1 \
|
||||
# Set LC_ALL=C to ensure ld outputs messages in English.
|
||||
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
|
||||
| sed -ne '/supported targets:/!d
|
||||
s/[ ][ ]*/ /g
|
||||
s/.*supported targets: *//
|
||||
@@ -865,8 +870,12 @@ EOF
|
||||
LIBC=gnulibc1
|
||||
# endif
|
||||
#else
|
||||
#ifdef __INTEL_COMPILER
|
||||
LIBC=gnu
|
||||
#else
|
||||
LIBC=gnuaout
|
||||
#endif
|
||||
#endif
|
||||
EOF
|
||||
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
|
||||
rm -f $dummy.c
|
||||
@@ -1052,8 +1061,10 @@ EOF
|
||||
*:procnto*:*:* | *:QNX:[0123456789]*:*)
|
||||
if test "${UNAME_MACHINE}" = "x86pc"; then
|
||||
UNAME_MACHINE=pc
|
||||
echo i386-${UNAME_MACHINE}-nto-qnx
|
||||
else
|
||||
echo `uname -p`-${UNAME_MACHINE}-nto-qnx
|
||||
fi
|
||||
echo `uname -p`-${UNAME_MACHINE}-nto-qnx
|
||||
exit 0 ;;
|
||||
*:QNX:*:4*)
|
||||
echo i386-pc-qnx
|
||||
|
||||
Vendored
+57
-48
@@ -1,9 +1,9 @@
|
||||
#! /bin/sh
|
||||
# Configuration validation subroutine script.
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
# 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2001-12-10'
|
||||
timestamp='2002-03-04'
|
||||
|
||||
# This file is (in principle) common to ALL GNU software.
|
||||
# The presence of a machine in this file suggests that SOME GNU software
|
||||
@@ -118,7 +118,7 @@ esac
|
||||
# Here we must recognize all the valid KERNEL-OS combinations.
|
||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||
case $maybe_os in
|
||||
nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*)
|
||||
nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*)
|
||||
os=-$maybe_os
|
||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||
;;
|
||||
@@ -227,6 +227,7 @@ case $basic_machine in
|
||||
1750a | 580 \
|
||||
| a29k \
|
||||
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
|
||||
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
||||
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
|
||||
| c4x | clipper \
|
||||
| d10v | d30v | dsp16xx \
|
||||
@@ -234,19 +235,19 @@ case $basic_machine in
|
||||
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||
| i370 | i860 | i960 | ia64 \
|
||||
| m32r | m68000 | m68k | m88k | mcore \
|
||||
| mips16 | mips64 | mips64el | mips64orion | mips64orionel \
|
||||
| mips | mips16 | mips64 | mips64el | mips64orion | mips64orionel \
|
||||
| mips64vr4100 | mips64vr4100el | mips64vr4300 \
|
||||
| mips64vr4300el | mips64vr5000 | mips64vr5000el \
|
||||
| mipsbe | mipseb | mipsel | mipsle | mipstx39 | mipstx39el \
|
||||
| mipsisa32 \
|
||||
| mn10200 | mn10300 \
|
||||
| ns16k | ns32k \
|
||||
| openrisc \
|
||||
| openrisc | or32 \
|
||||
| pdp10 | pdp11 | pj | pjl \
|
||||
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
|
||||
| pyramid \
|
||||
| sh | sh[34] | sh[34]eb | shbe | shle \
|
||||
| sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \
|
||||
| sh | sh[34] | sh[34]eb | shbe | shle | sh64 \
|
||||
| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
|
||||
| strongarm \
|
||||
| tahoe | thumb | tic80 | tron \
|
||||
| v850 | v850e \
|
||||
@@ -278,12 +279,13 @@ case $basic_machine in
|
||||
580-* \
|
||||
| a29k-* \
|
||||
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
|
||||
| alphapca5[67]-* | arc-* \
|
||||
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
|
||||
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
|
||||
| arm-* | armbe-* | armle-* | armv*-* \
|
||||
| avr-* \
|
||||
| bs2000-* \
|
||||
| c[123]* | c30-* | [cjt]90-* | c54x-* \
|
||||
| clipper-* | cray2-* | cydra-* \
|
||||
| clipper-* | cydra-* \
|
||||
| d10v-* | d30v-* \
|
||||
| elxsi-* \
|
||||
| f30[01]-* | f700-* | fr30-* | fx80-* \
|
||||
@@ -291,7 +293,7 @@ case $basic_machine in
|
||||
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
||||
| i*86-* | i860-* | i960-* | ia64-* \
|
||||
| m32r-* \
|
||||
| m68000-* | m680[01234]0-* | m68360-* | m683?2-* | m68k-* \
|
||||
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
||||
| m88110-* | m88k-* | mcore-* \
|
||||
| mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \
|
||||
| mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \
|
||||
@@ -303,13 +305,13 @@ case $basic_machine in
|
||||
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
|
||||
| pyramid-* \
|
||||
| romp-* | rs6000-* \
|
||||
| sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \
|
||||
| sparc-* | sparc64-* | sparc86x-* | sparclite-* \
|
||||
| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* \
|
||||
| t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
|
||||
| sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* | sh64-* \
|
||||
| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
|
||||
| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
|
||||
| tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
|
||||
| v850-* | v850e-* | vax-* \
|
||||
| we32k-* \
|
||||
| x86-* | x86_64-* | xmp-* | xps100-* | xscale-* | xstormy16-* \
|
||||
| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
|
||||
| xtensa-* \
|
||||
| ymp-* \
|
||||
| z8k-*)
|
||||
@@ -375,6 +377,10 @@ case $basic_machine in
|
||||
basic_machine=ns32k-sequent
|
||||
os=-dynix
|
||||
;;
|
||||
c90)
|
||||
basic_machine=c90-cray
|
||||
os=-unicos
|
||||
;;
|
||||
convex-c1)
|
||||
basic_machine=c1-convex
|
||||
os=-bsd
|
||||
@@ -395,16 +401,8 @@ case $basic_machine in
|
||||
basic_machine=c38-convex
|
||||
os=-bsd
|
||||
;;
|
||||
cray | ymp)
|
||||
basic_machine=ymp-cray
|
||||
os=-unicos
|
||||
;;
|
||||
cray2)
|
||||
basic_machine=cray2-cray
|
||||
os=-unicos
|
||||
;;
|
||||
[cjt]90)
|
||||
basic_machine=${basic_machine}-cray
|
||||
cray | j90)
|
||||
basic_machine=j90-cray
|
||||
os=-unicos
|
||||
;;
|
||||
crds | unos)
|
||||
@@ -607,14 +605,6 @@ case $basic_machine in
|
||||
basic_machine=m68k-atari
|
||||
os=-mint
|
||||
;;
|
||||
mipsel*-linux*)
|
||||
basic_machine=mipsel-unknown
|
||||
os=-linux-gnu
|
||||
;;
|
||||
mips*-linux*)
|
||||
basic_machine=mips-unknown
|
||||
os=-linux-gnu
|
||||
;;
|
||||
mips3*-*)
|
||||
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
|
||||
;;
|
||||
@@ -629,6 +619,10 @@ case $basic_machine in
|
||||
basic_machine=m68k-rom68k
|
||||
os=-coff
|
||||
;;
|
||||
morphos)
|
||||
basic_machine=powerpc-unknown
|
||||
os=-morphos
|
||||
;;
|
||||
msdos)
|
||||
basic_machine=i386-pc
|
||||
os=-msdos
|
||||
@@ -708,6 +702,10 @@ case $basic_machine in
|
||||
basic_machine=hppa1.1-oki
|
||||
os=-proelf
|
||||
;;
|
||||
or32 | or32-*)
|
||||
basic_machine=or32-unknown
|
||||
os=-coff
|
||||
;;
|
||||
OSE68000 | ose68000)
|
||||
basic_machine=m68000-ericsson
|
||||
os=-ose
|
||||
@@ -868,7 +866,7 @@ case $basic_machine in
|
||||
sun386 | sun386i | roadrunner)
|
||||
basic_machine=i386-sun
|
||||
;;
|
||||
sv1)
|
||||
sv1)
|
||||
basic_machine=sv1-cray
|
||||
os=-unicos
|
||||
;;
|
||||
@@ -876,8 +874,16 @@ case $basic_machine in
|
||||
basic_machine=i386-sequent
|
||||
os=-dynix
|
||||
;;
|
||||
t3d)
|
||||
basic_machine=alpha-cray
|
||||
os=-unicos
|
||||
;;
|
||||
t3e)
|
||||
basic_machine=t3e-cray
|
||||
basic_machine=alphaev5-cray
|
||||
os=-unicos
|
||||
;;
|
||||
t90)
|
||||
basic_machine=t90-cray
|
||||
os=-unicos
|
||||
;;
|
||||
tic54x | c54x*)
|
||||
@@ -944,13 +950,13 @@ case $basic_machine in
|
||||
basic_machine=i386-pc
|
||||
os=-windows32-msvcrt
|
||||
;;
|
||||
xmp)
|
||||
basic_machine=xmp-cray
|
||||
os=-unicos
|
||||
;;
|
||||
xps | xps100)
|
||||
basic_machine=xps100-honeywell
|
||||
;;
|
||||
ymp)
|
||||
basic_machine=ymp-cray
|
||||
os=-unicos
|
||||
;;
|
||||
z8k-*-coff)
|
||||
basic_machine=z8k-unknown
|
||||
os=-sim
|
||||
@@ -971,13 +977,6 @@ case $basic_machine in
|
||||
op60c)
|
||||
basic_machine=hppa1.1-oki
|
||||
;;
|
||||
mips)
|
||||
if [ x$os = x-linux-gnu ]; then
|
||||
basic_machine=mips-unknown
|
||||
else
|
||||
basic_machine=mips-mips
|
||||
fi
|
||||
;;
|
||||
romp)
|
||||
basic_machine=romp-ibm
|
||||
;;
|
||||
@@ -1000,6 +999,9 @@ case $basic_machine in
|
||||
sh3 | sh4 | sh3eb | sh4eb)
|
||||
basic_machine=sh-unknown
|
||||
;;
|
||||
sh64)
|
||||
basic_machine=sh64-unknown
|
||||
;;
|
||||
sparc | sparcv9 | sparcv9b)
|
||||
basic_machine=sparc-sun
|
||||
;;
|
||||
@@ -1087,7 +1089,8 @@ case $os in
|
||||
| -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
|
||||
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
||||
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus*)
|
||||
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
||||
| -morphos* | -superux* | -rtmk* | -rtmk-nova*)
|
||||
# Remember, each alternative MUST END IN *, to match a version number.
|
||||
;;
|
||||
-qnx*)
|
||||
@@ -1148,6 +1151,9 @@ case $os in
|
||||
-ctix* | -uts*)
|
||||
os=-sysv
|
||||
;;
|
||||
-nova*)
|
||||
os=-rtmk-nova
|
||||
;;
|
||||
-ns2 )
|
||||
os=-nextstep2
|
||||
;;
|
||||
@@ -1253,6 +1259,9 @@ case $basic_machine in
|
||||
mips*-*)
|
||||
os=-elf
|
||||
;;
|
||||
or32-*)
|
||||
os=-coff
|
||||
;;
|
||||
*-tti) # must be before sparc entry or we get the wrong os.
|
||||
os=-sysv3
|
||||
;;
|
||||
|
||||
+28
-3
@@ -31,7 +31,16 @@ if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||
fi
|
||||
# `libtool' can also be set to `yes' or `no'.
|
||||
|
||||
depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`}
|
||||
if test -z "$depfile"; then
|
||||
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
|
||||
dir=`echo "$object" | sed 's,/.*$,/,'`
|
||||
if test "$dir" = "$object"; then
|
||||
dir=
|
||||
fi
|
||||
# FIXME: should be _deps on DOS.
|
||||
depfile="$dir.deps/$base"
|
||||
fi
|
||||
|
||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||
|
||||
rm -f "$tmpdepfile"
|
||||
@@ -204,8 +213,9 @@ tru64)
|
||||
# dependencies in `foo.d' instead, so we check for that too.
|
||||
# Subdirectories are respected.
|
||||
|
||||
tmpdepfile1="$object.d"
|
||||
tmpdepfile2=`echo "$object" | sed -e 's/.o$/.d/'`
|
||||
base=`echo "$object" | sed -e 's/\.o$/.d/' -e 's/\.lo$/.d/'`
|
||||
tmpdepfile1="$base.o.d"
|
||||
tmpdepfile2="$base.d"
|
||||
if test "$libtool" = yes; then
|
||||
"$@" -Wc,-MD
|
||||
else
|
||||
@@ -382,6 +392,21 @@ msvisualcpp)
|
||||
done
|
||||
;;
|
||||
esac
|
||||
for arg
|
||||
do
|
||||
case "$arg" in
|
||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||
set fnord "$@"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
"$@" -E |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
|
||||
) &
|
||||
|
||||
+2
-2
@@ -87,7 +87,7 @@ Supported PROGRAM values:
|
||||
exit 1
|
||||
;;
|
||||
|
||||
aclocal)
|
||||
aclocal*)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
@@ -139,7 +139,7 @@ WARNING: \`$1' is missing on your system. You should only need it if
|
||||
touch $touch_files
|
||||
;;
|
||||
|
||||
automake)
|
||||
automake*)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
|
||||
@@ -1 +1 @@
|
||||
1.30f
|
||||
1.33a
|
||||
|
||||
+236
-199
@@ -3,10 +3,10 @@
|
||||
% Load plain if necessary, i.e., if running under initex.
|
||||
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
||||
%
|
||||
\def\texinfoversion{2001-07-25.07}
|
||||
\def\texinfoversion{2002-03-01.06}
|
||||
%
|
||||
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
|
||||
% 2000, 01 Free Software Foundation, Inc.
|
||||
% 2000, 01, 02 Free Software Foundation, Inc.
|
||||
%
|
||||
% This texinfo.tex file is free software; you can redistribute it and/or
|
||||
% modify it under the terms of the GNU General Public License as
|
||||
@@ -30,14 +30,17 @@
|
||||
% Please try the latest version of texinfo.tex before submitting bug
|
||||
% reports; you can get the latest version from:
|
||||
% ftp://ftp.gnu.org/gnu/texinfo.tex
|
||||
% (and all GNU mirrors, see http://www.gnu.org/order/ftp.html)
|
||||
% ftp://texinfo.org/tex/texinfo.tex
|
||||
% ftp://us.ctan.org/macros/texinfo/texinfo.tex
|
||||
% (and all CTAN mirrors, finger [email protected] for a list).
|
||||
% /home/gd/gnu/doc/texinfo.tex on the GNU machines.
|
||||
% (and all GNU mirrors, see http://www.gnu.org/order/ftp.html)
|
||||
% ftp://texinfo.org/texinfo/texinfo.tex
|
||||
% ftp://tug.org/tex/texinfo.tex
|
||||
% (and all CTAN mirrors, see http://www.ctan.org),
|
||||
% and /home/gd/gnu/doc/texinfo.tex on the GNU machines.
|
||||
%
|
||||
% The texinfo.tex in any given Texinfo distribution could well be out
|
||||
% of date, so if that's what you're using, please check.
|
||||
% Texinfo has a small home page at http://texinfo.org/.
|
||||
%
|
||||
% Texinfo has a small home page at http://texinfo.org/ and also
|
||||
% http://www.gnu.org/software/texinfo.
|
||||
%
|
||||
% Send bug reports to [email protected]. Please include including a
|
||||
% complete document in each bug report with which we can reproduce the
|
||||
@@ -51,12 +54,12 @@
|
||||
% tex foo.texi
|
||||
% tex foo.texi
|
||||
% dvips foo.dvi -o # or whatever, to process the dvi file; this makes foo.ps.
|
||||
% The extra runs of TeX get the cross-reference information correct.
|
||||
% The extra TeX runs get the cross-reference information correct.
|
||||
% Sometimes one run after texindex suffices, and sometimes you need more
|
||||
% than two; texi2dvi does it as many times as necessary.
|
||||
%
|
||||
% It is possible to adapt texinfo.tex for other languages. You can get
|
||||
% the existing language-specific files from ftp://ftp.gnu.org/gnu/texinfo/.
|
||||
% the existing language-specific files from the full Texinfo distribution.
|
||||
|
||||
\message{Loading texinfo [version \texinfoversion]:}
|
||||
|
||||
@@ -833,18 +836,32 @@ where each line of input produces a line of output.}
|
||||
%
|
||||
\def\asis#1{#1}
|
||||
|
||||
% @math means output in math mode.
|
||||
% We don't use $'s directly in the definition of \math because control
|
||||
% sequences like \math are expanded when the toc file is written. Then,
|
||||
% we read the toc file back, the $'s will be normal characters (as they
|
||||
% should be, according to the definition of Texinfo). So we must use a
|
||||
% control sequence to switch into and out of math mode.
|
||||
% @math outputs its argument in math mode.
|
||||
% We don't use $'s directly in the definition of \math because we need
|
||||
% to set catcodes according to plain TeX first, to allow for subscripts,
|
||||
% superscripts, special math chars, etc.
|
||||
%
|
||||
% @math does not do math typesetting in section titles, index
|
||||
% entries, and other such contexts where the catcodes are set before
|
||||
% @math gets a chance to work. This could perhaps be fixed, but for now
|
||||
% at least we can have real math in the main text, where it's needed most.
|
||||
%
|
||||
% This isn't quite enough for @math to work properly in indices, but it
|
||||
% seems unlikely it will ever be needed there.
|
||||
%
|
||||
\let\implicitmath = $%$ font-lock fix
|
||||
%
|
||||
\let\implicitmath = $
|
||||
\def\math#1{\implicitmath #1\implicitmath}
|
||||
% One complication: _ usually means subscripts, but it could also mean
|
||||
% an actual _ character, as in @math{@var{some_variable} + 1}. So make
|
||||
% _ within @math be active (mathcode "8000), and distinguish by seeing
|
||||
% if the current family is \slfam, which is what @var uses.
|
||||
%
|
||||
{\catcode95 = \active % 95 = _
|
||||
\gdef\mathunderscore{%
|
||||
\catcode95=\active
|
||||
\def_{\ifnum\fam=\slfam\_\else\sb\fi}%
|
||||
}}
|
||||
%
|
||||
\def\math{\tex\mathcode`\_="8000\mathunderscore \implicitmath\finishmath}
|
||||
\def\finishmath#1{#1\implicitmath\Etex}
|
||||
|
||||
% @bullet and @minus need the same treatment as @math, just above.
|
||||
\def\bullet{\implicitmath\ptexbullet\implicitmath}
|
||||
@@ -927,10 +944,12 @@ where each line of input produces a line of output.}
|
||||
\def\dopdfimage#1#2#3{%
|
||||
\def\imagewidth{#2}%
|
||||
\def\imageheight{#3}%
|
||||
% without \immediate, pdftex seg faults when the same image is
|
||||
% included twice. (Version 3.14159-pre-1.0-unofficial-20010704.)
|
||||
\ifnum\pdftexversion < 14
|
||||
\pdfimage
|
||||
\immediate\pdfimage
|
||||
\else
|
||||
\pdfximage
|
||||
\immediate\pdfximage
|
||||
\fi
|
||||
\ifx\empty\imagewidth\else width \imagewidth \fi
|
||||
\ifx\empty\imageheight\else height \imageheight \fi
|
||||
@@ -943,7 +962,7 @@ where each line of input produces a line of output.}
|
||||
\pdfrefximage \pdflastximage
|
||||
\fi}
|
||||
\def\pdfmkdest#1{{\normalturnoffactive \pdfdest name{#1} xyz}}
|
||||
\def\pdfmkpgn#1{#1@}
|
||||
\def\pdfmkpgn#1{#1}
|
||||
\let\linkcolor = \Blue % was Cyan, but that seems light?
|
||||
\def\endlink{\Black\pdfendlink}
|
||||
% Adding outlines to PDF; macros for calculating structure of outlines
|
||||
@@ -955,7 +974,7 @@ where each line of input produces a line of output.}
|
||||
\expandafter\xdef\csname#1\endcsname{\the\tempnum}}
|
||||
\def\pdfmakeoutlines{{%
|
||||
\openin 1 \jobname.toc
|
||||
\ifeof 1\else\bgroup
|
||||
\ifeof 1\else\begingroup
|
||||
\closein 1
|
||||
\indexnofonts
|
||||
\def\tt{}
|
||||
@@ -965,6 +984,7 @@ where each line of input produces a line of output.}
|
||||
\edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
|
||||
%
|
||||
\def\chapentry ##1##2##3{}
|
||||
\let\appendixentry = \chapentry
|
||||
\def\unnumbchapentry ##1##2{}
|
||||
\def\secentry ##1##2##3##4{\advancenumber{chap##2}}
|
||||
\def\unnumbsecentry ##1##2{}
|
||||
@@ -975,6 +995,7 @@ where each line of input produces a line of output.}
|
||||
\input \jobname.toc
|
||||
\def\chapentry ##1##2##3{%
|
||||
\pdfoutline goto name{\pdfmkpgn{##3}}count-\expnumber{chap##2}{##1}}
|
||||
\let\appendixentry = \chapentry
|
||||
\def\unnumbchapentry ##1##2{%
|
||||
\pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
|
||||
\def\secentry ##1##2##3##4{%
|
||||
@@ -990,7 +1011,7 @@ where each line of input produces a line of output.}
|
||||
\def\unnumbsubsubsecentry ##1##2{%
|
||||
\pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
|
||||
\input \jobname.toc
|
||||
\egroup\fi
|
||||
\endgroup\fi
|
||||
}}
|
||||
\def\makelinks #1,{%
|
||||
\def\params{#1}\def\E{END}%
|
||||
@@ -1107,9 +1128,6 @@ where each line of input produces a line of output.}
|
||||
}%
|
||||
}
|
||||
|
||||
% Use Computer Modern fonts at \magstephalf (11pt).
|
||||
\newcount\mainmagstep \mainmagstep=\magstephalf
|
||||
|
||||
% Set the font macro #1 to the font named #2, adding on the
|
||||
% specified font prefix (normally `cm').
|
||||
% #3 is the font's design size, #4 is a scale factor
|
||||
@@ -1138,13 +1156,16 @@ where each line of input produces a line of output.}
|
||||
\def\scshape{csc}
|
||||
\def\scbshape{csc}
|
||||
|
||||
\newcount\mainmagstep
|
||||
\ifx\bigger\relax
|
||||
\let\mainmagstep=\magstep1
|
||||
\setfont\textrm\rmshape{12}{1000}
|
||||
\setfont\texttt\ttshape{12}{1000}
|
||||
% not really supported.
|
||||
\let\mainmagstep=\magstep1
|
||||
\setfont\textrm\rmshape{12}{1000}
|
||||
\setfont\texttt\ttshape{12}{1000}
|
||||
\else
|
||||
\setfont\textrm\rmshape{10}{\mainmagstep}
|
||||
\setfont\texttt\ttshape{10}{\mainmagstep}
|
||||
\mainmagstep=\magstephalf
|
||||
\setfont\textrm\rmshape{10}{\mainmagstep}
|
||||
\setfont\texttt\ttshape{10}{\mainmagstep}
|
||||
\fi
|
||||
% Instead of cmb10, you many want to use cmbx10.
|
||||
% cmbx10 is a prettier font on its own, but cmb10
|
||||
@@ -1224,20 +1245,6 @@ where each line of input produces a line of output.}
|
||||
\font\seci=cmmi12 scaled \magstep1
|
||||
\font\secsy=cmsy10 scaled \magstep2
|
||||
|
||||
% \setfont\ssecrm\bxshape{10}{\magstep1} % This size an font looked bad.
|
||||
% \setfont\ssecit\itshape{10}{\magstep1} % The letters were too crowded.
|
||||
% \setfont\ssecsl\slshape{10}{\magstep1}
|
||||
% \setfont\ssectt\ttshape{10}{\magstep1}
|
||||
% \setfont\ssecsf\sfshape{10}{\magstep1}
|
||||
|
||||
%\setfont\ssecrm\bfshape{10}{1315} % Note the use of cmb rather than cmbx.
|
||||
%\setfont\ssecit\itshape{10}{1315} % Also, the size is a little larger than
|
||||
%\setfont\ssecsl\slshape{10}{1315} % being scaled magstep1.
|
||||
%\setfont\ssectt\ttshape{10}{1315}
|
||||
%\setfont\ssecsf\sfshape{10}{1315}
|
||||
|
||||
%\let\ssecbf=\ssecrm
|
||||
|
||||
% Subsection fonts (13.15pt).
|
||||
\setfont\ssecrm\rmbshape{12}{\magstephalf}
|
||||
\setfont\ssecit\itbshape{10}{1315}
|
||||
@@ -1254,17 +1261,16 @@ where each line of input produces a line of output.}
|
||||
|
||||
% In order for the font changes to affect most math symbols and letters,
|
||||
% we have to define the \textfont of the standard families. Since
|
||||
% texinfo doesn't allow for producing subscripts and superscripts, we
|
||||
% don't bother to reset \scriptfont and \scriptscriptfont (which would
|
||||
% also require loading a lot more fonts).
|
||||
% texinfo doesn't allow for producing subscripts and superscripts except
|
||||
% in the main text, we don't bother to reset \scriptfont and
|
||||
% \scriptscriptfont (which would also require loading a lot more fonts).
|
||||
%
|
||||
\def\resetmathfonts{%
|
||||
\textfont0 = \tenrm \textfont1 = \teni \textfont2 = \tensy
|
||||
\textfont\itfam = \tenit \textfont\slfam = \tensl \textfont\bffam = \tenbf
|
||||
\textfont\ttfam = \tentt \textfont\sffam = \tensf
|
||||
\textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
|
||||
\textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf
|
||||
\textfont\ttfam=\tentt \textfont\sffam=\tensf
|
||||
}
|
||||
|
||||
|
||||
% The font-changing commands redefine the meanings of \tenSTYLE, instead
|
||||
% of just \STYLE. We do this so that font changes will continue to work
|
||||
% in math mode, where it is the current \fam that is relevant in most
|
||||
@@ -2753,9 +2759,23 @@ width0pt\relax} \fi
|
||||
\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
|
||||
\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
|
||||
|
||||
% Take care of texinfo commands likely to appear in an index entry.
|
||||
% (Must be a way to avoid doing expansion at all, and thus not have to
|
||||
% laboriously list every single command here.)
|
||||
%
|
||||
\def\indexdummies{%
|
||||
\def\ { }%
|
||||
\def\@{@}% change to @@ when we switch to @ as escape char in aux files.
|
||||
% Need these in case \tex is in effect and \{ is a \delimiter again.
|
||||
% But can't use \lbracecmd and \rbracecmd because texindex assumes
|
||||
% braces and backslashes are used only as delimiters.
|
||||
\let\{ = \mylbrace
|
||||
\let\} = \myrbrace
|
||||
\def\_{{\realbackslash _}}%
|
||||
\normalturnoffactive
|
||||
%
|
||||
% Take care of the plain tex accent commands.
|
||||
\def\,##1{\realbackslash ,{##1}}%
|
||||
\def\"{\realbackslash "}%
|
||||
\def\`{\realbackslash `}%
|
||||
\def\'{\realbackslash '}%
|
||||
@@ -2768,69 +2788,66 @@ width0pt\relax} \fi
|
||||
\def\u{\realbackslash u}%
|
||||
\def\v{\realbackslash v}%
|
||||
\def\H{\realbackslash H}%
|
||||
% Take care of the plain tex special European modified letters.
|
||||
\def\oe{\realbackslash oe}%
|
||||
\def\ae{\realbackslash ae}%
|
||||
\def\aa{\realbackslash aa}%
|
||||
\def\OE{\realbackslash OE}%
|
||||
\def\AE{\realbackslash AE}%
|
||||
\def\AA{\realbackslash AA}%
|
||||
\def\o{\realbackslash o}%
|
||||
\def\O{\realbackslash O}%
|
||||
\def\l{\realbackslash l}%
|
||||
\def\L{\realbackslash L}%
|
||||
\def\ss{\realbackslash ss}%
|
||||
% Take care of texinfo commands likely to appear in an index entry.
|
||||
% (Must be a way to avoid doing expansion at all, and thus not have to
|
||||
% laboriously list every single command here.)
|
||||
\def\@{@}% will be @@ when we switch to @ as escape char.
|
||||
% Need these in case \tex is in effect and \{ is a \delimiter again.
|
||||
% But can't use \lbracecmd and \rbracecmd because texindex assumes
|
||||
% braces and backslashes are used only as delimiters.
|
||||
\let\{ = \mylbrace
|
||||
\let\} = \myrbrace
|
||||
\def\_{{\realbackslash _}}%
|
||||
\def\w{\realbackslash w }%
|
||||
\def\bf{\realbackslash bf }%
|
||||
%\def\rm{\realbackslash rm }%
|
||||
\def\sl{\realbackslash sl }%
|
||||
\def\sf{\realbackslash sf}%
|
||||
\def\tt{\realbackslash tt}%
|
||||
\def\gtr{\realbackslash gtr}%
|
||||
\def\less{\realbackslash less}%
|
||||
\def\hat{\realbackslash hat}%
|
||||
\def\TeX{\realbackslash TeX}%
|
||||
\def\dots{\realbackslash dots }%
|
||||
\def\result{\realbackslash result}%
|
||||
\def\equiv{\realbackslash equiv}%
|
||||
\def\expansion{\realbackslash expansion}%
|
||||
\def\print{\realbackslash print}%
|
||||
\def\error{\realbackslash error}%
|
||||
\def\point{\realbackslash point}%
|
||||
\def\copyright{\realbackslash copyright}%
|
||||
\def\tclose##1{\realbackslash tclose {##1}}%
|
||||
\def\code##1{\realbackslash code {##1}}%
|
||||
\def\uref##1{\realbackslash uref {##1}}%
|
||||
\def\url##1{\realbackslash url {##1}}%
|
||||
\def\env##1{\realbackslash env {##1}}%
|
||||
\def\command##1{\realbackslash command {##1}}%
|
||||
\def\option##1{\realbackslash option {##1}}%
|
||||
\def\dotless##1{\realbackslash dotless {##1}}%
|
||||
\def\samp##1{\realbackslash samp {##1}}%
|
||||
\def\,##1{\realbackslash ,{##1}}%
|
||||
% Take care of the plain tex special European modified letters.
|
||||
\def\AA{\realbackslash AA}%
|
||||
\def\AE{\realbackslash AE}%
|
||||
\def\L{\realbackslash L}%
|
||||
\def\OE{\realbackslash OE}%
|
||||
\def\O{\realbackslash O}%
|
||||
\def\aa{\realbackslash aa}%
|
||||
\def\ae{\realbackslash ae}%
|
||||
\def\l{\realbackslash l}%
|
||||
\def\oe{\realbackslash oe}%
|
||||
\def\o{\realbackslash o}%
|
||||
\def\ss{\realbackslash ss}%
|
||||
%
|
||||
% Although these internals commands shouldn't show up, sometimes they do.
|
||||
\def\bf{\realbackslash bf }%
|
||||
\def\gtr{\realbackslash gtr}%
|
||||
\def\hat{\realbackslash hat}%
|
||||
\def\less{\realbackslash less}%
|
||||
%\def\rm{\realbackslash rm }%
|
||||
\def\sf{\realbackslash sf}%
|
||||
\def\sl{\realbackslash sl }%
|
||||
\def\tclose##1{\realbackslash tclose {##1}}%
|
||||
\def\tt{\realbackslash tt}%
|
||||
%
|
||||
\def\b##1{\realbackslash b {##1}}%
|
||||
\def\i##1{\realbackslash i {##1}}%
|
||||
\def\sc##1{\realbackslash sc {##1}}%
|
||||
\def\t##1{\realbackslash t {##1}}%
|
||||
\def\r##1{\realbackslash r {##1}}%
|
||||
\def\i##1{\realbackslash i {##1}}%
|
||||
\def\b##1{\realbackslash b {##1}}%
|
||||
\def\sc##1{\realbackslash sc {##1}}%
|
||||
\def\cite##1{\realbackslash cite {##1}}%
|
||||
\def\key##1{\realbackslash key {##1}}%
|
||||
\def\file##1{\realbackslash file {##1}}%
|
||||
\def\var##1{\realbackslash var {##1}}%
|
||||
\def\kbd##1{\realbackslash kbd {##1}}%
|
||||
\def\dfn##1{\realbackslash dfn {##1}}%
|
||||
\def\emph##1{\realbackslash emph {##1}}%
|
||||
%
|
||||
\def\TeX{\realbackslash TeX}%
|
||||
\def\acronym##1{\realbackslash acronym {##1}}%
|
||||
\def\cite##1{\realbackslash cite {##1}}%
|
||||
\def\code##1{\realbackslash code {##1}}%
|
||||
\def\command##1{\realbackslash command {##1}}%
|
||||
\def\dfn##1{\realbackslash dfn {##1}}%
|
||||
\def\dots{\realbackslash dots }%
|
||||
\def\emph##1{\realbackslash emph {##1}}%
|
||||
\def\env##1{\realbackslash env {##1}}%
|
||||
\def\file##1{\realbackslash file {##1}}%
|
||||
\def\kbd##1{\realbackslash kbd {##1}}%
|
||||
\def\key##1{\realbackslash key {##1}}%
|
||||
\def\math##1{\realbackslash math {##1}}%
|
||||
\def\option##1{\realbackslash option {##1}}%
|
||||
\def\samp##1{\realbackslash samp {##1}}%
|
||||
\def\strong##1{\realbackslash strong {##1}}%
|
||||
\def\uref##1{\realbackslash uref {##1}}%
|
||||
\def\url##1{\realbackslash url {##1}}%
|
||||
\def\var##1{\realbackslash var {##1}}%
|
||||
\def\w{\realbackslash w }%
|
||||
%
|
||||
% These math commands don't seem likely to be used in index entries.
|
||||
\def\copyright{\realbackslash copyright}%
|
||||
\def\equiv{\realbackslash equiv}%
|
||||
\def\error{\realbackslash error}%
|
||||
\def\expansion{\realbackslash expansion}%
|
||||
\def\point{\realbackslash point}%
|
||||
\def\print{\realbackslash print}%
|
||||
\def\result{\realbackslash result}%
|
||||
%
|
||||
% Handle some cases of @value -- where the variable name does not
|
||||
% contain - or _, and the value does not contain any
|
||||
@@ -2855,7 +2872,10 @@ width0pt\relax} \fi
|
||||
\def\indexdummydots{...}
|
||||
|
||||
\def\indexnofonts{%
|
||||
% Just ignore accents.
|
||||
\def\@{@}%
|
||||
% how to handle braces?
|
||||
\def\_{\normalunderscore}%
|
||||
%
|
||||
\let\,=\indexdummyfont
|
||||
\let\"=\indexdummyfont
|
||||
\let\`=\indexdummyfont
|
||||
@@ -2871,45 +2891,49 @@ width0pt\relax} \fi
|
||||
\let\H=\indexdummyfont
|
||||
\let\dotless=\indexdummyfont
|
||||
% Take care of the plain tex special European modified letters.
|
||||
\def\oe{oe}%
|
||||
\def\ae{ae}%
|
||||
\def\aa{aa}%
|
||||
\def\OE{OE}%
|
||||
\def\AE{AE}%
|
||||
\def\AA{AA}%
|
||||
\def\o{o}%
|
||||
\def\O{O}%
|
||||
\def\l{l}%
|
||||
\def\AE{AE}%
|
||||
\def\L{L}%
|
||||
\def\OE{OE}%
|
||||
\def\O{O}%
|
||||
\def\aa{aa}%
|
||||
\def\ae{ae}%
|
||||
\def\l{l}%
|
||||
\def\oe{oe}%
|
||||
\def\o{o}%
|
||||
\def\ss{ss}%
|
||||
\let\w=\indexdummyfont
|
||||
\let\t=\indexdummyfont
|
||||
\let\r=\indexdummyfont
|
||||
\let\i=\indexdummyfont
|
||||
\let\b=\indexdummyfont
|
||||
\let\emph=\indexdummyfont
|
||||
\let\strong=\indexdummyfont
|
||||
\let\cite=\indexdummyfont
|
||||
\let\sc=\indexdummyfont
|
||||
%Don't no-op \tt, since it isn't a user-level command
|
||||
% and is used in the definitions of the active chars like <, >, |...
|
||||
%
|
||||
% Don't no-op \tt, since it isn't a user-level command
|
||||
% and is used in the definitions of the active chars like <, >, |, etc.
|
||||
% Likewise with the other plain tex font commands.
|
||||
%\let\tt=\indexdummyfont
|
||||
\let\tclose=\indexdummyfont
|
||||
\let\code=\indexdummyfont
|
||||
\let\url=\indexdummyfont
|
||||
\let\uref=\indexdummyfont
|
||||
\let\env=\indexdummyfont
|
||||
%
|
||||
\let\b=\indexdummyfont
|
||||
\let\i=\indexdummyfont
|
||||
\let\r=\indexdummyfont
|
||||
\let\sc=\indexdummyfont
|
||||
\let\t=\indexdummyfont
|
||||
%
|
||||
\let\TeX=\indexdummytex
|
||||
\let\acronym=\indexdummyfont
|
||||
\let\cite=\indexdummyfont
|
||||
\let\code=\indexdummyfont
|
||||
\let\command=\indexdummyfont
|
||||
\let\option=\indexdummyfont
|
||||
\let\dfn=\indexdummyfont
|
||||
\let\dots=\indexdummydots
|
||||
\let\emph=\indexdummyfont
|
||||
\let\env=\indexdummyfont
|
||||
\let\file=\indexdummyfont
|
||||
\let\samp=\indexdummyfont
|
||||
\let\kbd=\indexdummyfont
|
||||
\let\key=\indexdummyfont
|
||||
\let\math=\indexdummyfont
|
||||
\let\option=\indexdummyfont
|
||||
\let\samp=\indexdummyfont
|
||||
\let\strong=\indexdummyfont
|
||||
\let\uref=\indexdummyfont
|
||||
\let\url=\indexdummyfont
|
||||
\let\var=\indexdummyfont
|
||||
\let\TeX=\indexdummytex
|
||||
\let\dots=\indexdummydots
|
||||
\def\@{@}%
|
||||
\let\w=\indexdummyfont
|
||||
}
|
||||
|
||||
% To define \realbackslash, we must make \ not be an escape.
|
||||
@@ -3511,8 +3535,8 @@ width0pt\relax} \fi
|
||||
\gdef\thischaptername{#1}%
|
||||
\xdef\thischapter{\putwordAppendix{} \appendixletter: \noexpand\thischaptername}%
|
||||
\toks0 = {#1}%
|
||||
\edef\temp{\noexpand\writetocentry{\realbackslash chapentry{\the\toks0}%
|
||||
{\putwordAppendix{} \appendixletter}}}%
|
||||
\edef\temp{\noexpand\writetocentry{\realbackslash appendixentry{\the\toks0}%
|
||||
{\appendixletter}}}%
|
||||
\temp
|
||||
\appendixnoderef
|
||||
\global\let\section = \appendixsec
|
||||
@@ -3945,6 +3969,7 @@ width0pt\relax} \fi
|
||||
\startcontents{\putwordShortTOC}%
|
||||
%
|
||||
\let\chapentry = \shortchapentry
|
||||
\let\appendixentry = \shortappendixentry
|
||||
\let\unnumbchapentry = \shortunnumberedentry
|
||||
% We want a true roman here for the page numbers.
|
||||
\secfonts
|
||||
@@ -3980,16 +4005,23 @@ width0pt\relax} \fi
|
||||
% The last argument is the page number.
|
||||
% The arguments in between are the chapter number, section number, ...
|
||||
|
||||
% Chapter-level things, for both the long and short contents.
|
||||
% Chapters, in the main contents.
|
||||
\def\chapentry#1#2#3{\dochapentry{#2\labelspace#1}{#3}}
|
||||
|
||||
% See comments in \dochapentry re vbox and related settings
|
||||
%
|
||||
% Chapters, in the short toc.
|
||||
% See comments in \dochapentry re vbox and related settings.
|
||||
\def\shortchapentry#1#2#3{%
|
||||
\tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#3\egroup}%
|
||||
}
|
||||
|
||||
% Appendices, in the main contents.
|
||||
\def\appendixentry#1#2#3{\dochapentry{\putwordAppendix{} #2\labelspace#1}{#3}}
|
||||
%
|
||||
% Appendices, in the short toc.
|
||||
\let\shortappendixentry = \shortchapentry
|
||||
|
||||
% Typeset the label for a chapter or appendix for the short contents.
|
||||
% The arg is, e.g. `Appendix A' for an appendix, or `3' for a chapter.
|
||||
% The arg is, e.g., `Appendix A' for an appendix, or `3' for a chapter.
|
||||
% We could simplify the code here by writing out an \appendixentry
|
||||
% command in the toc file for appendices, instead of using \chapentry
|
||||
% for both, but it doesn't seem worth it.
|
||||
@@ -3997,23 +4029,16 @@ width0pt\relax} \fi
|
||||
\newdimen\shortappendixwidth
|
||||
%
|
||||
\def\shortchaplabel#1{%
|
||||
% Compute width of word "Appendix", may change with language.
|
||||
\setbox0 = \hbox{\shortcontrm \putwordAppendix}%
|
||||
\shortappendixwidth = \wd0
|
||||
%
|
||||
% We typeset #1 in a box of constant width, regardless of the text of
|
||||
% #1, so the chapter titles will come out aligned.
|
||||
\setbox0 = \hbox{#1}%
|
||||
\dimen0 = \ifdim\wd0 > \shortappendixwidth \shortappendixwidth \else 0pt \fi
|
||||
%
|
||||
% This space should be plenty, since a single number is .5em, and the
|
||||
% This space should be enough, since a single number is .5em, and the
|
||||
% widest letter (M) is 1em, at least in the Computer Modern fonts.
|
||||
% But use \hss just in case.
|
||||
% (This space doesn't include the extra space that gets added after
|
||||
% the label; that gets put in by \shortchapentry above.)
|
||||
\advance\dimen0 by 1.1em
|
||||
\hbox to \dimen0{#1\hfil}%
|
||||
\dimen0 = 1em
|
||||
\hbox to \dimen0{#1\hss}%
|
||||
}
|
||||
|
||||
% Unnumbered chapters.
|
||||
\def\unnumbchapentry#1#2{\dochapentry{#1}{#2}}
|
||||
\def\shortunnumberedentry#1#2{\tocentry{#1}{\doshortpageno\bgroup#2\egroup}}
|
||||
|
||||
@@ -4069,7 +4094,7 @@ width0pt\relax} \fi
|
||||
\def\tocentry#1#2{\begingroup
|
||||
\vskip 0pt plus1pt % allow a little stretch for the sake of nice page breaks
|
||||
% Do not use \turnoffactive in these arguments. Since the toc is
|
||||
% typeset in cmr, so characters such as _ would come out wrong; we
|
||||
% typeset in cmr, characters such as _ would come out wrong; we
|
||||
% have to do the usual translation tricks.
|
||||
\entry{#1}{#2}%
|
||||
\endgroup}
|
||||
@@ -4898,7 +4923,7 @@ width0pt\relax} \fi
|
||||
% #1 is the data type, #2 the name, #3 the args.
|
||||
\def\deftypefunheaderx #1#2 #3\relax{%
|
||||
\doind {fn}{\code{#2}}% Make entry in function index
|
||||
\begingroup\defname {\defheaderxcond#1\relax$$$#2}{\putwordDeftypefun}%
|
||||
\begingroup\defname {\defheaderxcond#1\relax$.$#2}{\putwordDeftypefun}%
|
||||
\deftypefunargs {#3}\endgroup %
|
||||
\catcode 61=\other % Turn off change made in \defparsebody
|
||||
}
|
||||
@@ -4907,9 +4932,9 @@ width0pt\relax} \fi
|
||||
|
||||
\def\deftypefn{\defmethparsebody\Edeftypefn\deftypefnx\deftypefnheader}
|
||||
|
||||
% \defheaderxcond#1\relax$$$
|
||||
% \defheaderxcond#1\relax$.$
|
||||
% puts #1 in @code, followed by a space, but does nothing if #1 is null.
|
||||
\def\defheaderxcond#1#2$$${\ifx#1\relax\else\code{#1#2} \fi}
|
||||
\def\defheaderxcond#1#2$.${\ifx#1\relax\else\code{#1#2} \fi}
|
||||
|
||||
% #1 is the classification. #2 is the data type. #3 is the name and args.
|
||||
\def\deftypefnheader #1#2#3{\deftypefnheaderx{#1}{#2}#3 \relax}
|
||||
@@ -4919,7 +4944,7 @@ width0pt\relax} \fi
|
||||
\begingroup
|
||||
\normalparens % notably, turn off `&' magic, which prevents
|
||||
% at least some C++ text from working
|
||||
\defname {\defheaderxcond#2\relax$$$#3}{#1}%
|
||||
\defname {\defheaderxcond#2\relax$.$#3}{#1}%
|
||||
\deftypefunargs {#4}\endgroup %
|
||||
\catcode 61=\other % Turn off change made in \defparsebody
|
||||
}
|
||||
@@ -4965,7 +4990,7 @@ width0pt\relax} \fi
|
||||
\def\deftypeopheader#1#2#3#4{%
|
||||
\dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index
|
||||
\begingroup
|
||||
\defname{\defheaderxcond#2\relax$$$#3}
|
||||
\defname{\defheaderxcond#2\relax$.$#3}
|
||||
{\deftypeopcategory\ \putwordon\ \code{#1}}%
|
||||
\deftypefunargs{#4}%
|
||||
\endgroup
|
||||
@@ -4980,7 +5005,7 @@ width0pt\relax} \fi
|
||||
\def\deftypemethodheader#1#2#3#4{%
|
||||
\dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index
|
||||
\begingroup
|
||||
\defname{\defheaderxcond#2\relax$$$#3}{\putwordMethodon\ \code{#1}}%
|
||||
\defname{\defheaderxcond#2\relax$.$#3}{\putwordMethodon\ \code{#1}}%
|
||||
\deftypefunargs{#4}%
|
||||
\endgroup
|
||||
}
|
||||
@@ -4994,7 +5019,7 @@ width0pt\relax} \fi
|
||||
\def\deftypeivarheader#1#2#3{%
|
||||
\dosubind{vr}{\code{#3}}{\putwordof\ \code{#1}}% entry in variable index
|
||||
\begingroup
|
||||
\defname{\defheaderxcond#2\relax$$$#3}
|
||||
\defname{\defheaderxcond#2\relax$.$#3}
|
||||
{\putwordInstanceVariableof\ \code{#1}}%
|
||||
\defvarargs{#3}%
|
||||
\endgroup
|
||||
@@ -5077,7 +5102,7 @@ width0pt\relax} \fi
|
||||
% is actually part of the data type, which should not be put into the index.
|
||||
\def\deftypevarheader #1#2{%
|
||||
\dovarind#2 \relax% Make entry in variables index
|
||||
\begingroup\defname {\defheaderxcond#1\relax$$$#2}{\putwordDeftypevar}%
|
||||
\begingroup\defname {\defheaderxcond#1\relax$.$#2}{\putwordDeftypevar}%
|
||||
\interlinepenalty=10000
|
||||
\endgraf\nobreak\vskip -\parskip\nobreak
|
||||
\endgroup}
|
||||
@@ -5088,7 +5113,7 @@ width0pt\relax} \fi
|
||||
\def\deftypevr{\defvrparsebody\Edeftypevr\deftypevrx\deftypevrheader}
|
||||
|
||||
\def\deftypevrheader #1#2#3{\dovarind#3 \relax%
|
||||
\begingroup\defname {\defheaderxcond#2\relax$$$#3}{#1}
|
||||
\begingroup\defname {\defheaderxcond#2\relax$.$#3}{#1}
|
||||
\interlinepenalty=10000
|
||||
\endgraf\nobreak\vskip -\parskip\nobreak
|
||||
\endgroup}
|
||||
@@ -5799,8 +5824,15 @@ width0pt\relax} \fi
|
||||
%
|
||||
\smallfonts \rm
|
||||
%
|
||||
% Hang the footnote text off the number.
|
||||
\hang
|
||||
% Because we use hanging indentation in footnotes, a @noindent appears
|
||||
% to exdent this text, so make it be a no-op. makeinfo does not use
|
||||
% hanging indentation so @noindent can still be needed within footnote
|
||||
% text after an @example or the like (not that this is good style).
|
||||
\let\noindent = \relax
|
||||
%
|
||||
% Hang the footnote text off the number. Use \everypar in case the
|
||||
% footnote extends for more than one paragraph.
|
||||
\everypar = {\hang}%
|
||||
\textindent{\thisfootno}%
|
||||
%
|
||||
% Don't crash into the line above the footnote text. Since this
|
||||
@@ -5881,7 +5913,7 @@ width0pt\relax} \fi
|
||||
\global\warnednoepsftrue
|
||||
\fi
|
||||
\else
|
||||
\imagexxx #1,,,\finish
|
||||
\imagexxx #1,,,,,\finish
|
||||
\fi
|
||||
}
|
||||
%
|
||||
@@ -5891,33 +5923,34 @@ width0pt\relax} \fi
|
||||
% #4 is (ignored optional) html alt text.
|
||||
% #5 is (ignored optional) extension.
|
||||
% #6 is just the usual extra ignored arg for parsing this stuff.
|
||||
\def\imagexxx#1,#2,#3,#4,#5,#6\finish{%
|
||||
\newif\ifimagevmode
|
||||
\def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup
|
||||
\catcode`\^^M = 5 % in case we're inside an example
|
||||
\normalturnoffactive % allow _ et al. in names
|
||||
% If the image is by itself, center it.
|
||||
\ifvmode
|
||||
\imagevmodetrue
|
||||
\nobreak\bigskip
|
||||
% Usually we'll have text after the image which will insert
|
||||
% \parskip glue, so insert it here too to equalize the space
|
||||
% above and below.
|
||||
\nobreak\vskip\parskip
|
||||
\nobreak
|
||||
\line\bgroup\hss
|
||||
\fi
|
||||
%
|
||||
% Output the image.
|
||||
\ifpdf
|
||||
\centerline{\dopdfimage{#1}{#2}{#3}}%
|
||||
\dopdfimage{#1}{#2}{#3}%
|
||||
\else
|
||||
% \epsfbox itself resets \epsf?size at each figure.
|
||||
\setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
|
||||
\setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
|
||||
\begingroup
|
||||
\catcode`\^^M = 5 % in case we're inside an example
|
||||
\normalturnoffactive % allow _ et al. in names
|
||||
% If the image is by itself, center it.
|
||||
\ifvmode
|
||||
\nobreak\bigskip
|
||||
% Usually we'll have text after the image which will insert
|
||||
% \parskip glue, so insert it here too to equalize the space
|
||||
% above and below.
|
||||
\nobreak\vskip\parskip
|
||||
\nobreak
|
||||
\centerline{\epsfbox{#1.eps}}%
|
||||
\bigbreak
|
||||
\else
|
||||
% In the middle of a paragraph, no extra space.
|
||||
\epsfbox{#1.eps}%
|
||||
\fi
|
||||
\endgroup
|
||||
\epsfbox{#1.eps}%
|
||||
\fi
|
||||
}
|
||||
%
|
||||
\ifimagevmode \hss \egroup \bigbreak \fi % space after the image
|
||||
\endgroup}
|
||||
|
||||
|
||||
\message{localization,}
|
||||
@@ -6087,6 +6120,10 @@ should work if nowhere else does.}
|
||||
%
|
||||
\afourpaper
|
||||
\internalpagesizes{237mm}{150mm}{3.6mm}{3.6mm}{3mm}{7mm}%
|
||||
%
|
||||
% Must explicitly reset to 0 because we call \afourpaper, apparently,
|
||||
% although this does not entirely make sense.
|
||||
\globaldefs = 0
|
||||
}}
|
||||
|
||||
% Use @afourwide to print on European A4 paper in wide format.
|
||||
@@ -6136,7 +6173,7 @@ should work if nowhere else does.}
|
||||
\def\normalless{<}
|
||||
\def\normalgreater{>}
|
||||
\def\normalplus{+}
|
||||
\def\normaldollar{$}
|
||||
\def\normaldollar{$}%$ font-lock fix
|
||||
|
||||
% This macro is used to make a character print one way in ttfont
|
||||
% where it can probably just be output, and another way in other fonts,
|
||||
@@ -6185,7 +6222,7 @@ should work if nowhere else does.}
|
||||
\catcode`\+=\active
|
||||
\def+{{\tt \char 43}}
|
||||
\catcode`\$=\active
|
||||
\def${\ifusingit{{\sl\$}}\normaldollar}
|
||||
\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
|
||||
%\catcode 27=\active
|
||||
%\def^^[{$\diamondsuit$}
|
||||
|
||||
@@ -6230,7 +6267,7 @@ should work if nowhere else does.}
|
||||
@let<=@normalless
|
||||
@let>=@normalgreater
|
||||
@let+=@normalplus
|
||||
@let$=@normaldollar}
|
||||
@let$=@normaldollar}%$ font-lock fix
|
||||
|
||||
@def@normalturnoffactive{@let"=@normaldoublequote
|
||||
@let\=@normalbackslash
|
||||
@@ -6241,7 +6278,7 @@ should work if nowhere else does.}
|
||||
@let<=@normalless
|
||||
@let>=@normalgreater
|
||||
@let+=@normalplus
|
||||
@let$=@normaldollar}
|
||||
@let$=@normaldollar}%$ font-lock fix
|
||||
|
||||
% Make _ and + \other characters, temporarily.
|
||||
% This is canceled by @fixbackslash.
|
||||
|
||||
+10
-7
@@ -1,6 +1,6 @@
|
||||
# Configure template for GNU Bison. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright 2001 Free Software Foundation, Inc.
|
||||
# Copyright 2001, 2002 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
|
||||
@@ -20,10 +20,10 @@
|
||||
# We need a recent Autoconf to run a recent Autotest.
|
||||
AC_PREREQ(2.52g)
|
||||
|
||||
AC_INIT([GNU Bison], [1.30g], [[email protected]])
|
||||
AC_INIT([GNU Bison], [1.33b], [[email protected]])
|
||||
AC_CONFIG_AUX_DIR(config)
|
||||
|
||||
AM_INIT_AUTOMAKE([bison], [1.30g])
|
||||
AM_INIT_AUTOMAKE([bison], [1.33b])
|
||||
AM_CONFIG_HEADER(config.h:config.hin)
|
||||
|
||||
# Initialize the test suite.
|
||||
@@ -49,6 +49,9 @@ AC_ARG_ENABLE(gcc-warnings,
|
||||
esac],
|
||||
[enableval=no])
|
||||
if test "${enableval}" = yes; then
|
||||
BISON_WARNING(-Werror)
|
||||
AC_SUBST([WERROR_CFLAGS], [$WARNING_CFLAGS])
|
||||
WARNING_CFLAGS=
|
||||
BISON_WARNING(-Wall)
|
||||
BISON_WARNING(-W)
|
||||
BISON_WARNING(-Wbad-function-cast)
|
||||
@@ -61,7 +64,6 @@ if test "${enableval}" = yes; then
|
||||
BISON_WARNING(-Wshadow)
|
||||
BISON_WARNING(-Wstrict-prototypes)
|
||||
BISON_WARNING(-Wwrite-strings)
|
||||
BISON_WARNING(-Werror)
|
||||
fi
|
||||
|
||||
# Checks for libraries.
|
||||
@@ -84,16 +86,17 @@ AM_C_PROTOTYPES
|
||||
AC_FUNC_ALLOCA
|
||||
AC_FUNC_OBSTACK
|
||||
AC_FUNC_ERROR_AT_LINE
|
||||
AC_FUNC_STRNLEN
|
||||
AC_CHECK_FUNCS(mkstemp setlocale)
|
||||
AC_CHECK_DECLS([stpcpy, strndup, strnlen, memchr])
|
||||
AC_REPLACE_FUNCS(stpcpy strndup strnlen strspn memchr)
|
||||
AC_CHECK_DECLS([stpcpy, strchr, strspn, strnlen, memchr, memrchr])
|
||||
AC_REPLACE_FUNCS(stpcpy strchr strspn memchr memrchr)
|
||||
jm_FUNC_MALLOC
|
||||
jm_FUNC_REALLOC
|
||||
jm_PREREQ_QUOTEARG
|
||||
jm_PREREQ_ERROR
|
||||
AM_WITH_DMALLOC
|
||||
|
||||
ALL_LINGUAS="de es et fr ja nl ru sv tr"
|
||||
ALL_LINGUAS="de es et fr it ja nl ru sv tr"
|
||||
AM_GNU_GETTEXT(, need-ngettext)
|
||||
|
||||
# This is necessary so that .o files in LIBOBJS are also built via
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
Makefile Makefile.in
|
||||
*.aux *.dvi *.log *.info* *.pdf *.ps
|
||||
stamp-*
|
||||
auto
|
||||
bison.cp
|
||||
bison.cps
|
||||
bison.fn
|
||||
|
||||
+2
-2
@@ -262,9 +262,9 @@ and so on.
|
||||
.ns
|
||||
.TP
|
||||
.B \-\-debug
|
||||
Output a definition of the macro
|
||||
In the parser file, define the macro
|
||||
.B YYDEBUG
|
||||
into the parser file,
|
||||
to 1 if it is not already defined,
|
||||
so that the debugging facilities are compiled.
|
||||
.TP
|
||||
.B \-v
|
||||
|
||||
+2
-1
@@ -56,7 +56,8 @@ foo_tab.c.
|
||||
.indent -1
|
||||
2 /DEBUG
|
||||
.skip
|
||||
Output a definition of the macro YYDEBUG into the parser file,
|
||||
In the parser file,
|
||||
define the macro YYDEBUG to 1 if it is not already defined,
|
||||
so that the debugging facilities are compiled.
|
||||
.skip
|
||||
.indent -1
|
||||
|
||||
+59
-22
@@ -304,6 +304,8 @@ Invoking Bison
|
||||
* Bison Options:: All the options described in detail,
|
||||
in alphabetical order by short options.
|
||||
* Option Cross Key:: Alphabetical list of long options.
|
||||
* Extension Limitations Under DOS:: Bison output files extension differences
|
||||
depending on the DOS/Windows file system flavour used.
|
||||
* VMS Invocation:: Bison command syntax on VMS.
|
||||
|
||||
Copying This Manual
|
||||
@@ -706,10 +708,9 @@ In some cases the Bison parser file includes system headers, and in
|
||||
those cases your code should respect the identifiers reserved by those
|
||||
headers. On some non-@sc{gnu} hosts, @code{<alloca.h>},
|
||||
@code{<stddef.h>}, and @code{<stdlib.h>} are included as needed to
|
||||
declare memory allocators and related types. In the same situation,
|
||||
C++ parsers may include @code{<cstddef>} and @code{<cstdlib>} instead.
|
||||
Other system headers may be included if you define @code{YYDEBUG}
|
||||
(@pxref{Debugging, ,Debugging Your Parser}).
|
||||
declare memory allocators and related types.
|
||||
Other system headers may be included if you define @code{YYDEBUG} to a
|
||||
nonzero value (@pxref{Debugging, ,Debugging Your Parser}).
|
||||
|
||||
@node Stages
|
||||
@section Stages in Using Bison
|
||||
@@ -3235,9 +3236,9 @@ directives:
|
||||
|
||||
@table @code
|
||||
@item %debug
|
||||
Output a definition of the macro @code{YYDEBUG} into the parser file, so
|
||||
that the debugging facilities are compiled. @xref{Debugging, ,Debugging
|
||||
Your Parser}.
|
||||
In the parser file, define the macro @code{YYDEBUG} to 1 if it is not
|
||||
already defined, so that the debugging facilities are compiled.
|
||||
@xref{Debugging, ,Debugging Your Parser}.
|
||||
|
||||
@item %defines
|
||||
Write an extra output file containing macro definitions for the token
|
||||
@@ -4925,21 +4926,21 @@ If a Bison grammar compiles properly but doesn't do what you want when it
|
||||
runs, the @code{yydebug} parser-trace feature can help you figure out why.
|
||||
|
||||
To enable compilation of trace facilities, you must define the macro
|
||||
@code{YYDEBUG} when you compile the parser. You could use
|
||||
@samp{-DYYDEBUG=1} as a compiler option or you could put @samp{#define
|
||||
YYDEBUG 1} in the C declarations section of the grammar file
|
||||
(@pxref{C Declarations, ,The C Declarations Section}). Alternatively, use the @samp{-t} option when
|
||||
you run Bison (@pxref{Invocation, ,Invoking Bison}). We always define @code{YYDEBUG} so that
|
||||
debugging is always possible.
|
||||
@code{YYDEBUG} to a nonzero value when you compile the parser. You
|
||||
could use @samp{-DYYDEBUG=1} as a compiler option or you could put
|
||||
@samp{#define YYDEBUG 1} in the C declarations section of the grammar
|
||||
file (@pxref{C Declarations, ,The C Declarations Section}).
|
||||
Alternatively, use the @samp{-t} option when you run Bison
|
||||
(@pxref{Invocation, ,Invoking Bison}) or the @code{%debug} declaration
|
||||
(@pxref{Decl Summary, ,Bison Declaration Summary}). We suggest that
|
||||
you always define @code{YYDEBUG} so that debugging is always possible.
|
||||
|
||||
The trace facility outputs messages with macro calls of the form
|
||||
@code{YYFPRINTF (YYSTDERR, @var{format}, @var{args})} where
|
||||
@code{YYFPRINTF (stderr, @var{format}, @var{args})} where
|
||||
@var{format} and @var{args} are the usual @code{printf} format and
|
||||
arguments. If you define @code{YYDEBUG} but do not define
|
||||
@code{YYFPRINTF}, @code{<stdio.h>} is automatically included and the
|
||||
macros are defined to @code{fprintf} and @code{stderr}. In the same
|
||||
situation, C++ parsers include @code{<cstdio.h>} instead, and use
|
||||
@code{std::fprintf} and @code{std::stderr}.
|
||||
arguments. If you define @code{YYDEBUG} to a nonzero value but do not
|
||||
define @code{YYFPRINTF}, @code{<stdio.h>} is automatically included
|
||||
and @code{YYPRINTF} is defined to @code{fprintf}.
|
||||
|
||||
Once you have compiled the program with trace facilities, the way to
|
||||
request a trace is to store a nonzero value in the variable @code{yydebug}.
|
||||
@@ -5045,6 +5046,8 @@ will produce @file{output.c++} and @file{outfile.h++}.
|
||||
in alphabetical order by short options.
|
||||
* Environment Variables:: Variables which affect Bison execution.
|
||||
* Option Cross Key:: Alphabetical list of long options.
|
||||
* Extension Limitations Under DOS:: Bison output files extension differences
|
||||
depending on the DOS/Windows file system flavour used.
|
||||
* VMS Invocation:: Bison command syntax on VMS.
|
||||
@end menu
|
||||
|
||||
@@ -5100,9 +5103,9 @@ you are developing Bison.
|
||||
|
||||
@item -t
|
||||
@itemx --debug
|
||||
Output a definition of the macro @code{YYDEBUG} into the parser file, so
|
||||
that the debugging facilities are compiled. @xref{Debugging, ,Debugging
|
||||
Your Parser}.
|
||||
In the parser file, define the macro @code{YYDEBUG} to 1 if it is not
|
||||
already defined, so that the debugging facilities are compiled.
|
||||
@xref{Debugging, ,Debugging Your Parser}.
|
||||
|
||||
@item --locations
|
||||
Pretend that @code{%locations} was specified. @xref{Decl Summary}.
|
||||
@@ -5242,6 +5245,40 @@ the corresponding short option.
|
||||
@end example
|
||||
@end ifinfo
|
||||
|
||||
@node Extension Limitations Under DOS
|
||||
@section Extension Limitations under DOS
|
||||
@cindex extension limitations under DOS
|
||||
@cindex DOS
|
||||
|
||||
On DOS/Windows 9X systems the file name extensions of the output files,
|
||||
like @file{.tab.c}, that may be used depend on the file system in use.
|
||||
The plain DOS file system has limited file name length, does not allow
|
||||
the use of a set of certain illicit characters and does not allow more
|
||||
than a single dot in the file name.
|
||||
|
||||
The DJGPP port of @code{bison} will detect at runtime if (LFN) long file
|
||||
name support is available or not. LFN support will be available in a
|
||||
DOS session under Windows 9X and successors. Windows NT 4.0 needs a
|
||||
special LFN driver (@file{ntlfn08b.zip}) or later available at any
|
||||
simtelnet mirror in the /v2misc dir) for proper LFN support in a DOS
|
||||
session. If LFN support is available the DJGPP port of @code{bison}
|
||||
will use the standard POSIX file name extensions of the output files.
|
||||
If LFN support is not available, then the DJGPP port of @code{bison}
|
||||
will use DOS specific file name extensions.
|
||||
|
||||
@noindent This table summarizes the used extensions:
|
||||
|
||||
@multitable @columnfractions 0.1 0.45 0.45
|
||||
@item @tab LFN extension (Win9X) @tab SFN extension (plain DOS)
|
||||
@item @tab @file{.tab.c} @tab @file{_tab.c}
|
||||
@item @tab @file{.tab.h} @tab @file{_tab.h}
|
||||
@item @tab @file{.tab.cpp} @tab @file{_tab.cpp}
|
||||
@item @tab @file{.tab.hpp} @tab @file{_tab.hpp}
|
||||
@item @tab @file{.output} @tab @file{.out}
|
||||
@item @tab @file{.stype.h} @tab @file{.sth}
|
||||
@item @tab @file{.guard.c} @tab @file{.guc}
|
||||
@end multitable
|
||||
|
||||
@node VMS Invocation
|
||||
@section Invoking Bison under VMS
|
||||
@cindex invoking Bison under VMS
|
||||
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
@set UPDATED 13 December 2001
|
||||
@set UPDATED-MONTH December 2001
|
||||
@set EDITION 1.30g
|
||||
@set VERSION 1.30g
|
||||
@set UPDATED 25 February 2002
|
||||
@set UPDATED-MONTH February 2002
|
||||
@set EDITION 1.33b
|
||||
@set VERSION 1.33b
|
||||
|
||||
+6
-5
@@ -1,4 +1,4 @@
|
||||
## Copyright 2001 Free Software Foundation, Inc.
|
||||
## Copyright 2001, 2002 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
|
||||
@@ -24,14 +24,15 @@ noinst_LIBRARIES = libbison.a
|
||||
INCLUDES = -I.. -I$(srcdir) -I../intl
|
||||
|
||||
# Heck, we are still using an old version of Automake which does not
|
||||
# understand LIBOBJ additions using $objext...
|
||||
|
||||
EXTRA_DIST = malloc.c realloc.c
|
||||
# understand inner AC_LIBOBJ (i.e., from Autoconf itself, not from
|
||||
# configure.in).
|
||||
EXTRA_DIST = malloc.c realloc.c strnlen.c
|
||||
|
||||
libbison_a_SOURCES = \
|
||||
basename.c dirname.h dirname.c \
|
||||
getopt.h getopt.c getopt1.c \
|
||||
quote.h quote.c quotearg.h quotearg.c \
|
||||
xalloc.h xmalloc.c xstrdup.c
|
||||
xalloc.h xmalloc.c xstrdup.c xstrndup.c
|
||||
|
||||
libbison_a_LIBADD = @LIBOBJS@ @ALLOCA@
|
||||
libbison_a_DEPENDENCIES = $(libbison_a_LIBADD)
|
||||
|
||||
+86
-62
@@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
||||
# Makefile.in generated by automake 1.5c from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@@ -13,7 +13,6 @@
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
@@ -48,6 +47,7 @@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
@@ -92,11 +92,13 @@ PACKAGE = @PACKAGE@
|
||||
POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
RANLIB = @RANLIB@
|
||||
STRIP = @STRIP@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
VERSION = @VERSION@
|
||||
WARNING_CFLAGS = @WARNING_CFLAGS@
|
||||
WERROR_CFLAGS = @WERROR_CFLAGS@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
install_sh = @install_sh@
|
||||
@@ -109,15 +111,16 @@ noinst_LIBRARIES = libbison.a
|
||||
|
||||
INCLUDES = -I.. -I$(srcdir) -I../intl
|
||||
|
||||
|
||||
# Heck, we are still using an old version of Automake which does not
|
||||
# understand LIBOBJ additions using $objext...
|
||||
EXTRA_DIST = malloc.c realloc.c
|
||||
# understand inner AC_LIBOBJ (i.e., from Autoconf itself, not from
|
||||
# configure.in).
|
||||
EXTRA_DIST = malloc.c realloc.c strnlen.c
|
||||
|
||||
libbison_a_SOURCES = \
|
||||
basename.c dirname.h dirname.c \
|
||||
getopt.h getopt.c getopt1.c \
|
||||
quote.h quote.c quotearg.h quotearg.c \
|
||||
xalloc.h xmalloc.c xstrdup.c
|
||||
xalloc.h xmalloc.c xstrdup.c xstrndup.c
|
||||
|
||||
|
||||
libbison_a_LIBADD = @LIBOBJS@ @ALLOCA@
|
||||
@@ -129,9 +132,10 @@ CONFIG_CLEAN_FILES =
|
||||
LIBRARIES = $(noinst_LIBRARIES)
|
||||
|
||||
libbison_a_AR = $(AR) cru
|
||||
am_libbison_a_OBJECTS = getopt$U.$(OBJEXT) getopt1$U.$(OBJEXT) \
|
||||
quote$U.$(OBJEXT) quotearg$U.$(OBJEXT) xmalloc$U.$(OBJEXT) \
|
||||
xstrdup$U.$(OBJEXT)
|
||||
am_libbison_a_OBJECTS = basename$U.$(OBJEXT) dirname$U.$(OBJEXT) \
|
||||
getopt$U.$(OBJEXT) getopt1$U.$(OBJEXT) quote$U.$(OBJEXT) \
|
||||
quotearg$U.$(OBJEXT) xmalloc$U.$(OBJEXT) xstrdup$U.$(OBJEXT) \
|
||||
xstrndup$U.$(OBJEXT)
|
||||
libbison_a_OBJECTS = $(am_libbison_a_OBJECTS)
|
||||
|
||||
DEFS = @DEFS@
|
||||
@@ -140,22 +144,25 @@ CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/alloca.Po $(DEPDIR)/error.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/getopt$U.Po $(DEPDIR)/getopt1$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/malloc.Po $(DEPDIR)/memchr.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/obstack.Po $(DEPDIR)/quote$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/quotearg$U.Po $(DEPDIR)/realloc.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/stpcpy.Po $(DEPDIR)/strndup.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/strnlen.Po $(DEPDIR)/strspn.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/xmalloc$U.Po $(DEPDIR)/xstrdup$U.Po
|
||||
@AMDEP_TRUE@ $(DEPDIR)/memrchr.Po $(DEPDIR)/obstack.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/realloc.Po $(DEPDIR)/stpcpy.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/strchr.Po $(DEPDIR)/strspn.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/basename$U.Po ./$(DEPDIR)/dirname$U.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/getopt$U.Po ./$(DEPDIR)/getopt1$U.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/quote$U.Po ./$(DEPDIR)/quotearg$U.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/xmalloc$U.Po ./$(DEPDIR)/xstrdup$U.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/xstrndup$U.Po
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
DIST_SOURCES = $(libbison_a_SOURCES)
|
||||
DIST_COMMON = Makefile.am Makefile.in alloca.c ansi2knr.1 ansi2knr.c \
|
||||
error.c error.h malloc.c memchr.c obstack.c obstack.h realloc.c \
|
||||
stpcpy.c strndup.c strnlen.c strspn.c
|
||||
error.c error.h malloc.c memchr.c memrchr.c obstack.c obstack.h \
|
||||
realloc.c stpcpy.c strchr.c strspn.c
|
||||
SOURCES = $(libbison_a_SOURCES)
|
||||
|
||||
all: all-am
|
||||
@@ -166,7 +173,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) && $(SHELL) ./config.status $(subdir)/$@
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||
|
||||
AR = ar
|
||||
|
||||
@@ -196,23 +203,26 @@ mostlyclean-kr:
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/error.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getopt$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getopt1$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/malloc.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memchr.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memrchr.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/obstack.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/quote$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/quotearg$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/realloc.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/stpcpy.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strndup.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strnlen.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strchr.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strspn.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/xmalloc$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/xstrdup$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quote$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quotearg$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrdup$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrndup$U.Po@am__quote@
|
||||
|
||||
distclean-depend:
|
||||
-rm -rf $(DEPDIR)
|
||||
-rm -rf $(DEPDIR) ./$(DEPDIR)
|
||||
|
||||
.c.o:
|
||||
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@@ -226,68 +236,79 @@ distclean-depend:
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c `cygpath -w $<`
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
alloca_.c: alloca.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/alloca.c; then echo $(srcdir)/alloca.c; else echo alloca.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > alloca_.c || rm -f alloca_.c
|
||||
error_.c: error.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/error.c; then echo $(srcdir)/error.c; else echo error.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > error_.c || rm -f error_.c
|
||||
alloca_.c: lib/alloca.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/lib/alloca.c; then echo $(srcdir)/lib/alloca.c; else echo lib/alloca.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > alloca_.c || rm -f alloca_.c
|
||||
basename_.c: basename.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/basename.c; then echo $(srcdir)/basename.c; else echo basename.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > basename_.c || rm -f basename_.c
|
||||
dirname_.c: dirname.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/dirname.c; then echo $(srcdir)/dirname.c; else echo dirname.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > dirname_.c || rm -f dirname_.c
|
||||
error_.c: lib/error.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/lib/error.c; then echo $(srcdir)/lib/error.c; else echo lib/error.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > error_.c || rm -f error_.c
|
||||
getopt_.c: getopt.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/getopt.c; then echo $(srcdir)/getopt.c; else echo getopt.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > getopt_.c || rm -f getopt_.c
|
||||
getopt1_.c: getopt1.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/getopt1.c; then echo $(srcdir)/getopt1.c; else echo getopt1.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > getopt1_.c || rm -f getopt1_.c
|
||||
malloc_.c: malloc.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/malloc.c; then echo $(srcdir)/malloc.c; else echo malloc.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > malloc_.c || rm -f malloc_.c
|
||||
memchr_.c: memchr.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/memchr.c; then echo $(srcdir)/memchr.c; else echo memchr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > memchr_.c || rm -f memchr_.c
|
||||
obstack_.c: obstack.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/obstack.c; then echo $(srcdir)/obstack.c; else echo obstack.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > obstack_.c || rm -f obstack_.c
|
||||
malloc_.c: lib/malloc.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/lib/malloc.c; then echo $(srcdir)/lib/malloc.c; else echo lib/malloc.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > malloc_.c || rm -f malloc_.c
|
||||
memchr_.c: lib/memchr.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/lib/memchr.c; then echo $(srcdir)/lib/memchr.c; else echo lib/memchr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > memchr_.c || rm -f memchr_.c
|
||||
memrchr_.c: lib/memrchr.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/lib/memrchr.c; then echo $(srcdir)/lib/memrchr.c; else echo lib/memrchr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > memrchr_.c || rm -f memrchr_.c
|
||||
obstack_.c: lib/obstack.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/lib/obstack.c; then echo $(srcdir)/lib/obstack.c; else echo lib/obstack.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > obstack_.c || rm -f obstack_.c
|
||||
quote_.c: quote.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/quote.c; then echo $(srcdir)/quote.c; else echo quote.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > quote_.c || rm -f quote_.c
|
||||
quotearg_.c: quotearg.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/quotearg.c; then echo $(srcdir)/quotearg.c; else echo quotearg.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > quotearg_.c || rm -f quotearg_.c
|
||||
realloc_.c: realloc.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/realloc.c; then echo $(srcdir)/realloc.c; else echo realloc.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > realloc_.c || rm -f realloc_.c
|
||||
stpcpy_.c: stpcpy.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/stpcpy.c; then echo $(srcdir)/stpcpy.c; else echo stpcpy.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > stpcpy_.c || rm -f stpcpy_.c
|
||||
strndup_.c: strndup.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strndup.c; then echo $(srcdir)/strndup.c; else echo strndup.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > strndup_.c || rm -f strndup_.c
|
||||
strnlen_.c: strnlen.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strnlen.c; then echo $(srcdir)/strnlen.c; else echo strnlen.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > strnlen_.c || rm -f strnlen_.c
|
||||
strspn_.c: strspn.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strspn.c; then echo $(srcdir)/strspn.c; else echo strspn.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > strspn_.c || rm -f strspn_.c
|
||||
realloc_.c: lib/realloc.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/lib/realloc.c; then echo $(srcdir)/lib/realloc.c; else echo lib/realloc.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > realloc_.c || rm -f realloc_.c
|
||||
stpcpy_.c: lib/stpcpy.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/lib/stpcpy.c; then echo $(srcdir)/lib/stpcpy.c; else echo lib/stpcpy.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > stpcpy_.c || rm -f stpcpy_.c
|
||||
strchr_.c: lib/strchr.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/lib/strchr.c; then echo $(srcdir)/lib/strchr.c; else echo lib/strchr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > strchr_.c || rm -f strchr_.c
|
||||
strspn_.c: lib/strspn.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/lib/strspn.c; then echo $(srcdir)/lib/strspn.c; else echo lib/strspn.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > strspn_.c || rm -f strspn_.c
|
||||
xmalloc_.c: xmalloc.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/xmalloc.c; then echo $(srcdir)/xmalloc.c; else echo xmalloc.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > xmalloc_.c || rm -f xmalloc_.c
|
||||
xstrdup_.c: xstrdup.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/xstrdup.c; then echo $(srcdir)/xstrdup.c; else echo xstrdup.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > xstrdup_.c || rm -f xstrdup_.c
|
||||
alloca_.$(OBJEXT) error_.$(OBJEXT) getopt_.$(OBJEXT) getopt1_.$(OBJEXT) \
|
||||
malloc_.$(OBJEXT) memchr_.$(OBJEXT) obstack_.$(OBJEXT) quote_.$(OBJEXT) \
|
||||
quotearg_.$(OBJEXT) realloc_.$(OBJEXT) stpcpy_.$(OBJEXT) \
|
||||
strndup_.$(OBJEXT) strnlen_.$(OBJEXT) strspn_.$(OBJEXT) \
|
||||
xmalloc_.$(OBJEXT) xstrdup_.$(OBJEXT) : $(ANSI2KNR)
|
||||
xstrndup_.c: xstrndup.c $(ANSI2KNR)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/xstrndup.c; then echo $(srcdir)/xstrndup.c; else echo xstrndup.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > xstrndup_.c || rm -f xstrndup_.c
|
||||
alloca_.$(OBJEXT) basename_.$(OBJEXT) dirname_.$(OBJEXT) \
|
||||
error_.$(OBJEXT) getopt_.$(OBJEXT) getopt1_.$(OBJEXT) malloc_.$(OBJEXT) \
|
||||
memchr_.$(OBJEXT) memrchr_.$(OBJEXT) obstack_.$(OBJEXT) \
|
||||
quote_.$(OBJEXT) quotearg_.$(OBJEXT) realloc_.$(OBJEXT) \
|
||||
stpcpy_.$(OBJEXT) strchr_.$(OBJEXT) strspn_.$(OBJEXT) \
|
||||
xmalloc_.$(OBJEXT) xstrdup_.$(OBJEXT) xstrndup_.$(OBJEXT) : $(ANSI2KNR)
|
||||
uninstall-info-am:
|
||||
|
||||
ETAGS = etags
|
||||
ETAGSFLAGS =
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique $(LISP)
|
||||
mkid -fID $$unique
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
||||
|| etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
|
||||
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|
||||
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
@@ -296,7 +317,6 @@ GTAGS:
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = ..
|
||||
@@ -304,13 +324,16 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@for file in $(DISTFILES); do \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||
dir="/$$dir"; \
|
||||
$(mkinstalldirs) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pR $$d/$$file $(distdir) \
|
||||
cp -pR $$d/$$file $(distdir)$$dir \
|
||||
|| exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
@@ -335,6 +358,7 @@ install-am: all-am
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
/* basename.c -- return the last element in a path
|
||||
Copyright (C) 1990, 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. */
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <assert.h>
|
||||
|
||||
#ifndef FILESYSTEM_PREFIX_LEN
|
||||
# define FILESYSTEM_PREFIX_LEN(Filename) 0
|
||||
#endif
|
||||
|
||||
#ifndef PARAMS
|
||||
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
# define PARAMS(Args) Args
|
||||
# else
|
||||
# define PARAMS(Args) ()
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef ISSLASH
|
||||
# define ISSLASH(C) ((C) == '/')
|
||||
#endif
|
||||
|
||||
char *base_name PARAMS ((char const *name));
|
||||
|
||||
/* In general, we can't use the builtin `basename' function if available,
|
||||
since it has different meanings in different environments.
|
||||
In some environments the builtin `basename' modifies its argument.
|
||||
If NAME is all slashes, be sure to return `/'. */
|
||||
|
||||
char *
|
||||
base_name (char const *name)
|
||||
{
|
||||
char const *base = name += FILESYSTEM_PREFIX_LEN (name);
|
||||
int all_slashes = 1;
|
||||
char const *p;
|
||||
|
||||
for (p = name; *p; p++)
|
||||
{
|
||||
if (ISSLASH (*p))
|
||||
base = p + 1;
|
||||
else
|
||||
all_slashes = 0;
|
||||
}
|
||||
|
||||
/* If NAME is all slashes, arrange to return `/'. */
|
||||
if (*base == '\0' && ISSLASH (*name) && all_slashes)
|
||||
--base;
|
||||
|
||||
/* Make sure the last byte is not a slash. */
|
||||
assert (all_slashes || !ISSLASH (*(p - 1)));
|
||||
|
||||
return (char *) base;
|
||||
}
|
||||
+189
@@ -0,0 +1,189 @@
|
||||
/* dirname.c -- return all but the last element in a path
|
||||
Copyright (C) 1990, 1998, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#ifdef STDC_HEADERS
|
||||
# include <stdlib.h>
|
||||
#else
|
||||
char *malloc ();
|
||||
#endif
|
||||
#if defined STDC_HEADERS || defined HAVE_STRING_H
|
||||
# include <string.h>
|
||||
#else
|
||||
# include <strings.h>
|
||||
# ifndef strrchr
|
||||
# define strrchr rindex
|
||||
# endif
|
||||
#endif
|
||||
#include <assert.h>
|
||||
|
||||
#ifndef HAVE_DECL_MEMRCHR
|
||||
"this configure-time declaration test was not run"
|
||||
#endif
|
||||
#if !HAVE_DECL_MEMRCHR
|
||||
void *memrchr ();
|
||||
#endif
|
||||
|
||||
#include "dirname.h"
|
||||
|
||||
#ifndef FILESYSTEM_PREFIX_LEN
|
||||
# define FILESYSTEM_PREFIX_LEN(Filename) 0
|
||||
#endif
|
||||
|
||||
#ifndef ISSLASH
|
||||
# define ISSLASH(C) ((C) == '/')
|
||||
#endif
|
||||
|
||||
#define BACKSLASH_IS_PATH_SEPARATOR ISSLASH ('\\')
|
||||
|
||||
/* Return the length of `dirname (PATH)' and set *RESULT to point
|
||||
to PATH or to `"."', as appropriate. Works properly even if
|
||||
there are trailing slashes (by effectively ignoring them).
|
||||
WARNING: This function doesn't work for cwd-relative names like
|
||||
`a:foo' that are specified with a drive-letter prefix. That case
|
||||
is handled in the caller. */
|
||||
static size_t
|
||||
dir_name_r (char const *path, char const **result)
|
||||
{
|
||||
char const *slash;
|
||||
size_t length; /* Length of result, not including NUL. */
|
||||
|
||||
slash = strrchr (path, '/');
|
||||
if (BACKSLASH_IS_PATH_SEPARATOR)
|
||||
{
|
||||
char const *b = strrchr (path, '\\');
|
||||
if (b && slash < b)
|
||||
slash = b;
|
||||
}
|
||||
|
||||
/* If the last byte of PATH is a slash, decrement SLASH until it's
|
||||
pointing at the leftmost in a sequence of trailing slashes. */
|
||||
if (slash && slash[1] == 0)
|
||||
{
|
||||
while (path < slash && ISSLASH (slash[-1]))
|
||||
{
|
||||
--slash;
|
||||
}
|
||||
|
||||
if (path < slash)
|
||||
{
|
||||
size_t len = slash - path;
|
||||
slash = memrchr (path, '/', len);
|
||||
if (BACKSLASH_IS_PATH_SEPARATOR)
|
||||
{
|
||||
char const *b = memrchr (path, '\\', len);
|
||||
if (b && slash < b)
|
||||
slash = b;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (slash == 0)
|
||||
{
|
||||
/* File is in the current directory. */
|
||||
|
||||
length = FILESYSTEM_PREFIX_LEN (path);
|
||||
|
||||
if (length == 0)
|
||||
{
|
||||
path = ".";
|
||||
length = 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Remove any trailing slashes from the result. If we have a
|
||||
canonicalized "d:/path", leave alone the root case "d:/". */
|
||||
char const *lim = path + FILESYSTEM_PREFIX_LEN (path);
|
||||
|
||||
while (lim < slash && ISSLASH (*slash))
|
||||
--slash;
|
||||
|
||||
length = slash - path + 1;
|
||||
}
|
||||
|
||||
*result = path;
|
||||
return length;
|
||||
}
|
||||
|
||||
/* Return the leading directories part of PATH,
|
||||
allocated with malloc. If out of memory, return 0.
|
||||
Works properly even if there are trailing slashes
|
||||
(by effectively ignoring them). */
|
||||
|
||||
char *
|
||||
dir_name (char const *path)
|
||||
{
|
||||
char const *result;
|
||||
size_t length = dir_name_r (path, &result);
|
||||
int append_dot = (length && length == FILESYSTEM_PREFIX_LEN (newpath));
|
||||
char *newpath = (char *) malloc (length + append_dot + 1);
|
||||
if (newpath == 0)
|
||||
return 0;
|
||||
strncpy (newpath, result, length);
|
||||
/* If PATH is "d:foo", return "d:.", the CWD on drive d: */
|
||||
if (append_dot)
|
||||
newpath[length++] = '.';
|
||||
newpath[length] = 0;
|
||||
return newpath;
|
||||
}
|
||||
|
||||
#ifdef TEST_DIRNAME
|
||||
/*
|
||||
|
||||
Run the test like this (expect no output):
|
||||
gcc -DHAVE_CONFIG_H -DTEST_DIRNAME -I.. -O -Wall memrchr.c dirname.c
|
||||
sed -n '/^BEGIN-DATA$/,/^END-DATA$/p' dirname.c|grep -v DATA|./a.out
|
||||
|
||||
BEGIN-DATA
|
||||
foo//// .
|
||||
bar/foo//// bar
|
||||
foo/ .
|
||||
/ /
|
||||
. .
|
||||
a .
|
||||
END-DATA
|
||||
|
||||
*/
|
||||
|
||||
# define MAX_BUFF_LEN 1024
|
||||
# include <stdio.h>
|
||||
# include <stdlib.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
char buff[MAX_BUFF_LEN + 1];
|
||||
|
||||
buff[MAX_BUFF_LEN] = 0;
|
||||
while (fgets (buff, MAX_BUFF_LEN, stdin) && buff[0])
|
||||
{
|
||||
char path[MAX_BUFF_LEN];
|
||||
char expected_result[MAX_BUFF_LEN];
|
||||
char const *result;
|
||||
sscanf (buff, "%s %s", path, expected_result);
|
||||
result = dir_name (path);
|
||||
if (strcmp (result, expected_result))
|
||||
printf ("%s: got %s, expected %s\n", path, result, expected_result);
|
||||
}
|
||||
exit (0);
|
||||
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,31 @@
|
||||
/* Copyright (C) 1998 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. */
|
||||
|
||||
#ifndef DIRNAME_H_
|
||||
# define DIRNAME_H_ 1
|
||||
|
||||
# ifndef PARAMS
|
||||
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
# define PARAMS(Args) Args
|
||||
# else
|
||||
# define PARAMS(Args) ()
|
||||
# endif
|
||||
# endif
|
||||
|
||||
char *
|
||||
dir_name PARAMS ((const char *path));
|
||||
|
||||
#endif /* not DIRNAME_H_ */
|
||||
+209
@@ -0,0 +1,209 @@
|
||||
/* memrchr -- find the last occurrence of a byte in a memory block
|
||||
Copyright (C) 1991, 93, 96, 97, 99, 2000 Free Software Foundation, Inc.
|
||||
Based on strlen implementation by Torbjorn Granlund ([email protected]),
|
||||
with help from Dan Sahlin ([email protected]) and
|
||||
commentary by Jim Blandy ([email protected]);
|
||||
adaptation to memchr suggested by Dick Karpinski ([email protected]),
|
||||
and implemented by Roland McGrath ([email protected]).
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#undef __ptr_t
|
||||
#if defined (__cplusplus) || (defined (__STDC__) && __STDC__)
|
||||
# define __ptr_t void *
|
||||
#else /* Not C++ or ANSI C. */
|
||||
# define __ptr_t char *
|
||||
#endif /* C++ or ANSI C. */
|
||||
|
||||
#if defined (_LIBC)
|
||||
# include <string.h>
|
||||
# include <memcopy.h>
|
||||
#else
|
||||
# define reg_char char
|
||||
#endif
|
||||
|
||||
#if defined (HAVE_LIMITS_H) || defined (_LIBC)
|
||||
# include <limits.h>
|
||||
#endif
|
||||
|
||||
#define LONG_MAX_32_BITS 2147483647
|
||||
|
||||
#ifndef LONG_MAX
|
||||
# define LONG_MAX LONG_MAX_32_BITS
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#undef __memrchr
|
||||
#undef memrchr
|
||||
|
||||
#ifndef weak_alias
|
||||
# define __memrchr memrchr
|
||||
#endif
|
||||
|
||||
/* Search no more than N bytes of S for C. */
|
||||
__ptr_t
|
||||
__memrchr (s, c_in, n)
|
||||
const __ptr_t s;
|
||||
int c_in;
|
||||
size_t n;
|
||||
{
|
||||
const unsigned char *char_ptr;
|
||||
const unsigned long int *longword_ptr;
|
||||
unsigned long int longword, magic_bits, charmask;
|
||||
unsigned reg_char c;
|
||||
|
||||
c = (unsigned char) c_in;
|
||||
|
||||
/* Handle the last few characters by reading one character at a time.
|
||||
Do this until CHAR_PTR is aligned on a longword boundary. */
|
||||
for (char_ptr = (const unsigned char *) s + n;
|
||||
n > 0 && ((unsigned long int) char_ptr
|
||||
& (sizeof (longword) - 1)) != 0;
|
||||
--n)
|
||||
if (*--char_ptr == c)
|
||||
return (__ptr_t) char_ptr;
|
||||
|
||||
/* All these elucidatory comments refer to 4-byte longwords,
|
||||
but the theory applies equally well to 8-byte longwords. */
|
||||
|
||||
longword_ptr = (unsigned long int *) char_ptr;
|
||||
|
||||
/* Bits 31, 24, 16, and 8 of this number are zero. Call these bits
|
||||
the "holes." Note that there is a hole just to the left of
|
||||
each byte, with an extra at the end:
|
||||
|
||||
bits: 01111110 11111110 11111110 11111111
|
||||
bytes: AAAAAAAA BBBBBBBB CCCCCCCC DDDDDDDD
|
||||
|
||||
The 1-bits make sure that carries propagate to the next 0-bit.
|
||||
The 0-bits provide holes for carries to fall into. */
|
||||
|
||||
if (sizeof (longword) != 4 && sizeof (longword) != 8)
|
||||
abort ();
|
||||
|
||||
#if LONG_MAX <= LONG_MAX_32_BITS
|
||||
magic_bits = 0x7efefeff;
|
||||
#else
|
||||
magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff;
|
||||
#endif
|
||||
|
||||
/* Set up a longword, each of whose bytes is C. */
|
||||
charmask = c | (c << 8);
|
||||
charmask |= charmask << 16;
|
||||
#if LONG_MAX > LONG_MAX_32_BITS
|
||||
charmask |= charmask << 32;
|
||||
#endif
|
||||
|
||||
/* Instead of the traditional loop which tests each character,
|
||||
we will test a longword at a time. The tricky part is testing
|
||||
if *any of the four* bytes in the longword in question are zero. */
|
||||
while (n >= sizeof (longword))
|
||||
{
|
||||
/* We tentatively exit the loop if adding MAGIC_BITS to
|
||||
LONGWORD fails to change any of the hole bits of LONGWORD.
|
||||
|
||||
1) Is this safe? Will it catch all the zero bytes?
|
||||
Suppose there is a byte with all zeros. Any carry bits
|
||||
propagating from its left will fall into the hole at its
|
||||
least significant bit and stop. Since there will be no
|
||||
carry from its most significant bit, the LSB of the
|
||||
byte to the left will be unchanged, and the zero will be
|
||||
detected.
|
||||
|
||||
2) Is this worthwhile? Will it ignore everything except
|
||||
zero bytes? Suppose every byte of LONGWORD has a bit set
|
||||
somewhere. There will be a carry into bit 8. If bit 8
|
||||
is set, this will carry into bit 16. If bit 8 is clear,
|
||||
one of bits 9-15 must be set, so there will be a carry
|
||||
into bit 16. Similarly, there will be a carry into bit
|
||||
24. If one of bits 24-30 is set, there will be a carry
|
||||
into bit 31, so all of the hole bits will be changed.
|
||||
|
||||
The one misfire occurs when bits 24-30 are clear and bit
|
||||
31 is set; in this case, the hole at bit 31 is not
|
||||
changed. If we had access to the processor carry flag,
|
||||
we could close this loophole by putting the fourth hole
|
||||
at bit 32!
|
||||
|
||||
So it ignores everything except 128's, when they're aligned
|
||||
properly.
|
||||
|
||||
3) But wait! Aren't we looking for C, not zero?
|
||||
Good point. So what we do is XOR LONGWORD with a longword,
|
||||
each of whose bytes is C. This turns each byte that is C
|
||||
into a zero. */
|
||||
|
||||
longword = *--longword_ptr ^ charmask;
|
||||
|
||||
/* Add MAGIC_BITS to LONGWORD. */
|
||||
if ((((longword + magic_bits)
|
||||
|
||||
/* Set those bits that were unchanged by the addition. */
|
||||
^ ~longword)
|
||||
|
||||
/* Look at only the hole bits. If any of the hole bits
|
||||
are unchanged, most likely one of the bytes was a
|
||||
zero. */
|
||||
& ~magic_bits) != 0)
|
||||
{
|
||||
/* Which of the bytes was C? If none of them were, it was
|
||||
a misfire; continue the search. */
|
||||
|
||||
const unsigned char *cp = (const unsigned char *) longword_ptr;
|
||||
|
||||
#if LONG_MAX > 2147483647
|
||||
if (cp[7] == c)
|
||||
return (__ptr_t) &cp[7];
|
||||
if (cp[6] == c)
|
||||
return (__ptr_t) &cp[6];
|
||||
if (cp[5] == c)
|
||||
return (__ptr_t) &cp[5];
|
||||
if (cp[4] == c)
|
||||
return (__ptr_t) &cp[4];
|
||||
#endif
|
||||
if (cp[3] == c)
|
||||
return (__ptr_t) &cp[3];
|
||||
if (cp[2] == c)
|
||||
return (__ptr_t) &cp[2];
|
||||
if (cp[1] == c)
|
||||
return (__ptr_t) &cp[1];
|
||||
if (cp[0] == c)
|
||||
return (__ptr_t) cp;
|
||||
}
|
||||
|
||||
n -= sizeof (longword);
|
||||
}
|
||||
|
||||
char_ptr = (const unsigned char *) longword_ptr;
|
||||
|
||||
while (n-- > 0)
|
||||
{
|
||||
if (*--char_ptr == c)
|
||||
return (__ptr_t) char_ptr;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#ifdef weak_alias
|
||||
weak_alias (__memrchr, memrchr)
|
||||
#endif
|
||||
+19
-2
@@ -1,3 +1,20 @@
|
||||
/* quote.c - quote arguments for output
|
||||
Copyright (C) 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. */
|
||||
|
||||
/* Written by Paul Eggert <[email protected]> */
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
@@ -8,8 +25,8 @@
|
||||
# include <stddef.h> /* For the definition of size_t on windows w/MSVC. */
|
||||
#endif
|
||||
#include <sys/types.h>
|
||||
#include <quotearg.h>
|
||||
#include <quote.h>
|
||||
#include "quotearg.h"
|
||||
#include "quote.h"
|
||||
|
||||
/* Return an unambiguous printable representated, allocated in slot N,
|
||||
for NAME, suitable for diagnostics. */
|
||||
|
||||
+17
-1
@@ -1,4 +1,20 @@
|
||||
/* prototypes for quote.c */
|
||||
/* quote.h - prototypes for quote.c
|
||||
Copyright (C) 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. */
|
||||
|
||||
|
||||
#ifndef PARAMS
|
||||
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
|
||||
+2
-2
@@ -25,8 +25,8 @@
|
||||
# include <stddef.h> /* For the definition of size_t on windows w/MSVC. */
|
||||
#endif
|
||||
#include <sys/types.h>
|
||||
#include <quotearg.h>
|
||||
#include <xalloc.h>
|
||||
#include "quotearg.h"
|
||||
#include "xalloc.h"
|
||||
|
||||
#include <ctype.h>
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
/* Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
|
||||
This program 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.
|
||||
|
||||
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 this program; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place -
|
||||
Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_STRING_H
|
||||
# include <string.h>
|
||||
#else
|
||||
# include <strings.h>
|
||||
#endif
|
||||
|
||||
char *
|
||||
strchr (const char *s, int c)
|
||||
{
|
||||
return index (s, c);
|
||||
}
|
||||
@@ -1,7 +1,4 @@
|
||||
/* Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the GNU C Library.
|
||||
Bugs can be reported to bug-glibc@prep.ai.mit.edu.
|
||||
/* Copyright (C) 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
|
||||
@@ -17,20 +14,20 @@
|
||||
along with this program; 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"
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#if defined _LIBC || defined STDC_HEADERS
|
||||
# include <stdlib.h>
|
||||
#if STDC_HEADERS || HAVE_STRING_H
|
||||
# include <string.h>
|
||||
#else
|
||||
char *malloc ();
|
||||
# include <strings.h>
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#include "xalloc.h"
|
||||
|
||||
#ifndef HAVE_DECL_STRNLEN
|
||||
"this configure-time declaration test was not run"
|
||||
#endif
|
||||
@@ -38,18 +35,13 @@ char *malloc ();
|
||||
size_t strnlen ();
|
||||
#endif
|
||||
|
||||
#undef __strndup
|
||||
#undef strndup
|
||||
|
||||
#ifndef weak_alias
|
||||
# define __strndup strndup
|
||||
#endif
|
||||
char *xstrndup (const char *s, size_t n);
|
||||
|
||||
char *
|
||||
__strndup (const char *s, size_t n)
|
||||
xstrndup (const char *s, size_t n)
|
||||
{
|
||||
size_t len = strnlen (s, n);
|
||||
char *new = malloc (len + 1);
|
||||
char *new = xmalloc (len + 1);
|
||||
|
||||
if (new == NULL)
|
||||
return NULL;
|
||||
@@ -57,6 +49,3 @@ __strndup (const char *s, size_t n)
|
||||
new[len] = '\0';
|
||||
return (char *) memcpy (new, s, len);
|
||||
}
|
||||
#ifdef weak_alias
|
||||
weak_alias (__strndup, strndup)
|
||||
#endif
|
||||
+13
-9
@@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
||||
# Makefile.in generated by automake 1.5c from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@@ -13,7 +13,6 @@
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
@@ -48,6 +47,7 @@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
@@ -92,15 +92,16 @@ PACKAGE = @PACKAGE@
|
||||
POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
RANLIB = @RANLIB@
|
||||
STRIP = @STRIP@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
VERSION = @VERSION@
|
||||
WARNING_CFLAGS = @WARNING_CFLAGS@
|
||||
WERROR_CFLAGS = @WERROR_CFLAGS@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
install_sh = @install_sh@
|
||||
|
||||
EXTRA_DIST = \
|
||||
c-bs-a.m4 \
|
||||
codeset.m4 \
|
||||
@@ -133,12 +134,11 @@ $(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) && $(SHELL) ./config.status $(subdir)/$@
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||
uninstall-info-am:
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = ..
|
||||
@@ -146,13 +146,16 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@for file in $(DISTFILES); do \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||
dir="/$$dir"; \
|
||||
$(mkinstalldirs) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pR $$d/$$file $(distdir) \
|
||||
cp -pR $$d/$$file $(distdir)$$dir \
|
||||
|| exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
@@ -177,6 +180,7 @@ install-am: all-am
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
2002-01-21 gettextize <[email protected]>
|
||||
|
||||
* Makefile.in.in: Upgrade to gettext-0.10.40.
|
||||
|
||||
2001-09-27 gettextize <[email protected]>
|
||||
|
||||
* Makefile.in.in: Upgrade to gettext-0.10.40.
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU bison 1.25\n"
|
||||
"POT-Creation-Date: 2001-12-13 11:59+0100\n"
|
||||
"POT-Creation-Date: 2002-03-04 19:13+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"
|
||||
@@ -149,18 +149,18 @@ msgstr " %d reducci
|
||||
msgid "%s contains "
|
||||
msgstr "%s contiene "
|
||||
|
||||
#: src/conflicts.c:405
|
||||
#: src/conflicts.c:412
|
||||
#, fuzzy, c-format
|
||||
msgid "expected %d shift/reduce conflict\n"
|
||||
msgid_plural "expected %d shift/reduce conflicts\n"
|
||||
msgstr[0] " %d conflictos desplazamiento/reducción"
|
||||
|
||||
#: src/conflicts.c:457 src/conflicts.c:534
|
||||
#: src/conflicts.c:463 src/conflicts.c:540
|
||||
#, c-format
|
||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||
msgstr " %-4s\t[reduce usando la regla %d (%s)]\n"
|
||||
|
||||
#: src/conflicts.c:461 src/print.c:154
|
||||
#: src/conflicts.c:467 src/print.c:154
|
||||
#, c-format
|
||||
msgid ""
|
||||
" $default\treduce using rule %d (%s)\n"
|
||||
@@ -169,22 +169,22 @@ msgstr ""
|
||||
" $default\treduce usando la regla %d (%s)\n"
|
||||
"\n"
|
||||
|
||||
#: src/conflicts.c:515 src/conflicts.c:528
|
||||
#: src/conflicts.c:521 src/conflicts.c:534
|
||||
#, c-format
|
||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||
msgstr " %-4s\treduce usando la regla %d (%s)\n"
|
||||
|
||||
#: src/conflicts.c:544
|
||||
#: src/conflicts.c:550
|
||||
#, c-format
|
||||
msgid " $default\treduce using rule %d (%s)\n"
|
||||
msgstr " $default\treduce usando la regla %d (%s)\n"
|
||||
|
||||
#: src/files.c:144
|
||||
#: src/files.c:151
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: src/files.c:163
|
||||
#: src/files.c:170
|
||||
msgid "cannot close file"
|
||||
msgstr ""
|
||||
|
||||
@@ -249,34 +249,35 @@ msgstr ""
|
||||
|
||||
#: src/getargs.c:146
|
||||
msgid ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001, 2002\n"
|
||||
"Free Software Foundation, Inc.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:150
|
||||
#: src/getargs.c:151
|
||||
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:215 src/lex.c:694
|
||||
#: src/getargs.c:230 src/lex.c:705
|
||||
#, c-format
|
||||
msgid "`%s' is no longer supported"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:239
|
||||
#: src/getargs.c:254
|
||||
#, 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:246
|
||||
#: src/getargs.c:261
|
||||
#, 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:250
|
||||
#: src/getargs.c:265
|
||||
#, 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"
|
||||
@@ -333,12 +334,12 @@ msgstr "nombre de tipo sin terminar"
|
||||
msgid "use \"...\" for multi-character literal tokens"
|
||||
msgstr "use \"...\" para terminales literales multicarácter"
|
||||
|
||||
#: src/lex.c:667
|
||||
#: src/lex.c:678
|
||||
#, c-format
|
||||
msgid "`%s' supports no argument: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/lex.c:683
|
||||
#: src/lex.c:694
|
||||
#, fuzzy, c-format
|
||||
msgid "`%s' requires an argument"
|
||||
msgstr "%s: la opción `%s' requiere un argumento\n"
|
||||
@@ -485,75 +486,80 @@ msgstr "cadena sin terminar al final del fichero"
|
||||
msgid "unterminated string"
|
||||
msgstr "cadena sin terminar"
|
||||
|
||||
#: src/reader.c:336 src/reader.c:400
|
||||
#: src/reader.c:339
|
||||
#, fuzzy
|
||||
msgid "invalid @ value"
|
||||
msgstr "valor $ no válido"
|
||||
|
||||
#: src/reader.c:352 src/reader.c:416
|
||||
#, fuzzy, c-format
|
||||
msgid "%s is invalid"
|
||||
msgstr "@%s no es válido"
|
||||
|
||||
#: src/reader.c:376
|
||||
#: src/reader.c:392
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "$$ de `%s' no tiene tipo declarado"
|
||||
|
||||
#: src/reader.c:393
|
||||
#: src/reader.c:409
|
||||
#, fuzzy, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "$%s de `%s' no tiene tipo declarado"
|
||||
|
||||
#: src/reader.c:447
|
||||
#: src/reader.c:463
|
||||
msgid "unterminated `%{' definition"
|
||||
msgstr "definición `%{' sin terminar"
|
||||
|
||||
#: src/reader.c:492 src/reader.c:607 src/reader.c:657
|
||||
#: src/reader.c:508 src/reader.c:623 src/reader.c:673
|
||||
#, c-format
|
||||
msgid "Premature EOF after %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:509
|
||||
#: src/reader.c:525
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:512
|
||||
#: src/reader.c:528
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:533 src/reader.c:676
|
||||
#: src/reader.c:549 src/reader.c:692
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "redefinido el símbolo %s"
|
||||
|
||||
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1292
|
||||
#: src/reader.c:559 src/reader.c:638 src/reader.c:699 src/reader.c:1314
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "redeclaración del tipo de %s"
|
||||
|
||||
#: src/reader.c:552
|
||||
#: src/reader.c:568
|
||||
#, c-format
|
||||
msgid "`%s' is invalid in %s"
|
||||
msgstr "`%s' no es válido en %s"
|
||||
|
||||
#: src/reader.c:570 src/reader.c:735
|
||||
#: src/reader.c:586 src/reader.c:751
|
||||
#, fuzzy, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "múltiples declaraciones de %start"
|
||||
|
||||
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1270
|
||||
#: src/reader.c:588 src/reader.c:930 src/reader.c:955 src/reader.c:1292
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid %s declaration"
|
||||
msgstr "declaración de %start no válida"
|
||||
|
||||
#: src/reader.c:592
|
||||
#: src/reader.c:608
|
||||
msgid "%type declaration has no <typename>"
|
||||
msgstr "la declaración %type no tiene <nombre-tipo>"
|
||||
|
||||
#: src/reader.c:627
|
||||
#: src/reader.c:643
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid %%type declaration due to item: %s"
|
||||
msgstr "declaración de %%type no válida debido al ítem: `%s'"
|
||||
|
||||
#: src/reader.c:672
|
||||
#: src/reader.c:688
|
||||
#, c-format
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "redefinición de la precedencia de %s"
|
||||
@@ -562,7 +568,7 @@ msgstr "redefinici
|
||||
# de "to must" y aquí se emplea en su forma condicional. Por eso, he
|
||||
# cambiado `debe' por `debería' - cll
|
||||
# ahí me has pillado en un olvido del inglés - ngp
|
||||
#: src/reader.c:695
|
||||
#: src/reader.c:711
|
||||
#, c-format
|
||||
msgid "invalid text (%s) - number should be after identifier"
|
||||
msgstr ""
|
||||
@@ -572,18 +578,18 @@ msgstr ""
|
||||
# otras, como `inesperado'. Cualquiera es correcta, por supuesto y, en
|
||||
# este caso, la segunda me parece más apropiada - cll
|
||||
# ok - ngp
|
||||
#: src/reader.c:705
|
||||
#: src/reader.c:721
|
||||
#, c-format
|
||||
msgid "unexpected item: %s"
|
||||
msgstr "ítem inesperado: %s"
|
||||
|
||||
# Cambio el orden y el sexo. Ahora está "en español". sv
|
||||
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1181
|
||||
#: src/reader.c:794 src/reader.c:1126 src/reader.c:1203
|
||||
#, fuzzy, c-format
|
||||
msgid "unmatched %s"
|
||||
msgstr "`{' desemparejada"
|
||||
|
||||
#: src/reader.c:810
|
||||
#: src/reader.c:826
|
||||
#, fuzzy, c-format
|
||||
msgid "argument of %%expect is not an integer"
|
||||
msgstr "el argumento de %expect no es un entero"
|
||||
@@ -594,26 +600,26 @@ msgstr "el argumento de %expect no es un entero"
|
||||
# - cll
|
||||
# ok - ngp
|
||||
#
|
||||
#: src/reader.c:856
|
||||
#: src/reader.c:872
|
||||
#, c-format
|
||||
msgid "unrecognized item %s, expected an identifier"
|
||||
msgstr "no se reconoce el ítem %s, se esperaba un identificador"
|
||||
|
||||
#: src/reader.c:878
|
||||
#: src/reader.c:894
|
||||
#, c-format
|
||||
msgid "expected string constant instead of %s"
|
||||
msgstr "se esperaba una cadena constante en lugar de %s"
|
||||
|
||||
#: src/reader.c:1026
|
||||
#: src/reader.c:1042
|
||||
#, c-format
|
||||
msgid "unrecognized: %s"
|
||||
msgstr "no reconocido: %s"
|
||||
|
||||
#: src/reader.c:1031
|
||||
#: src/reader.c:1047
|
||||
msgid "no input grammar"
|
||||
msgstr "no hay gramática de entrada"
|
||||
|
||||
#: src/reader.c:1036
|
||||
#: src/reader.c:1052
|
||||
#, c-format
|
||||
msgid "unknown character: %s"
|
||||
msgstr "carácter desconocido: %s"
|
||||
@@ -622,93 +628,97 @@ msgstr "car
|
||||
# mejor que `sin terminar' que me parece más "computerizado" - cll
|
||||
# quizás un poco cacofónico lo de claúsula inconclusa - ngp
|
||||
#
|
||||
#: src/reader.c:1204
|
||||
#: src/reader.c:1226
|
||||
#, fuzzy, c-format
|
||||
msgid "unterminated %guard clause"
|
||||
msgstr "cláusula %%guard sin terminar"
|
||||
|
||||
#: src/reader.c:1357
|
||||
#: src/reader.c:1379
|
||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||
msgstr "regla mal formada: el símbolo inicial no está seguido por :"
|
||||
|
||||
#: src/reader.c:1364
|
||||
#: src/reader.c:1386
|
||||
msgid "grammar starts with vertical bar"
|
||||
msgstr "la gramática comienza con una barra vertical"
|
||||
|
||||
#: src/reader.c:1392
|
||||
#: src/reader.c:1414
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "se ha dado una regla para %s, que es un terminal"
|
||||
|
||||
#: src/reader.c:1492
|
||||
#: src/reader.c:1444 src/reader.c:1556
|
||||
msgid "previous rule lacks an ending `;'"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:1517
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "dos @prec en una línea"
|
||||
|
||||
# Insisto, el empleo de participios a secas me parece como hablar en
|
||||
# indio. Por favor, permíteme que añada un "está" :) - cll
|
||||
# ok - ngp
|
||||
#: src/reader.c:1500
|
||||
#: src/reader.c:1525
|
||||
#, c-format
|
||||
msgid "%%guard present but %%semantic_parser not specified"
|
||||
msgstr "%%guard presente pero %%semantic_parser está sin especificar"
|
||||
|
||||
#: src/reader.c:1509
|
||||
#: src/reader.c:1534
|
||||
msgid "two actions at end of one rule"
|
||||
msgstr "dos acciones al final de una regla"
|
||||
|
||||
#: src/reader.c:1523
|
||||
#: src/reader.c:1548
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "los tipos (`%s' `%s') no concuerdan en la acción por defecto"
|
||||
|
||||
#: src/reader.c:1529
|
||||
#: src/reader.c:1554
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "regla vacía para un no terminal con tipo y no hay ninguna acción"
|
||||
|
||||
#: src/reader.c:1573
|
||||
#: src/reader.c:1600
|
||||
#, c-format
|
||||
msgid "invalid input: %s"
|
||||
msgstr "entrada no válida: %s"
|
||||
|
||||
#: src/reader.c:1581
|
||||
#: src/reader.c:1608
|
||||
#, fuzzy, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "demasiados símbolos (terminales y no terminales); máximo %s"
|
||||
|
||||
#: src/reader.c:1584
|
||||
#: src/reader.c:1611
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "no hay reglas en la gramática de entrada"
|
||||
|
||||
# `token' se debe traducir como `literal' - cll
|
||||
# en terminología de compiladores token es más un terminal - ngp
|
||||
#
|
||||
#: src/reader.c:1608
|
||||
#: src/reader.c:1635
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"se usa el símbolo %s, pero no está definido como terminal y no tiene reglas"
|
||||
|
||||
#: src/reader.c:1743
|
||||
#: src/reader.c:1770
|
||||
#, fuzzy, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "los terminales %s y %s tienen asignados ambos el número %s"
|
||||
|
||||
#: src/reader.c:1796
|
||||
#: src/reader.c:1823
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "precedencias en conflicto entre %s y %s"
|
||||
|
||||
#: src/reader.c:1808
|
||||
#: src/reader.c:1835
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "conflicto de valores assoc para %s y %s"
|
||||
|
||||
#: src/reader.c:1847
|
||||
#: src/reader.c:1874
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "el símbolo de inicio (axioma) %s no está definido"
|
||||
|
||||
#: src/reader.c:1849
|
||||
#: src/reader.c:1876
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "el símbolo de inicio (axioma) %s es un terminal"
|
||||
|
||||
@@ -4,14 +4,15 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bison 1.30f\n"
|
||||
"POT-Creation-Date: 2001-12-13 11:59+0100\n"
|
||||
"PO-Revision-Date: 2001-12-05 20:35+0200\n"
|
||||
"Project-Id-Version: bison 1.33\n"
|
||||
"POT-Creation-Date: 2002-03-04 19:13+0100\n"
|
||||
"PO-Revision-Date: 2002-02-08 00:15+0200\n"
|
||||
"Last-Translator: Toomas Soome <[email protected]>\n"
|
||||
"Language-Team: Estonian <[email protected]>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=ISO-8859-15\n"
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: src/LR0.c:189
|
||||
#, c-format
|
||||
@@ -91,19 +92,19 @@ msgstr " %d redutseerimine/redutseerimine"
|
||||
msgid "%s contains "
|
||||
msgstr "%s sisaldab "
|
||||
|
||||
#: src/conflicts.c:405
|
||||
#: src/conflicts.c:412
|
||||
#, c-format
|
||||
msgid "expected %d shift/reduce conflict\n"
|
||||
msgid_plural "expected %d shift/reduce conflicts\n"
|
||||
msgstr[0] "eeldasime %d nihutamine/redutseerimine konflikti\n"
|
||||
msgstr[1] "eeldasime %d nihutamine/redutseerimine konflikti\n"
|
||||
|
||||
#: src/conflicts.c:457 src/conflicts.c:534
|
||||
#: src/conflicts.c:463 src/conflicts.c:540
|
||||
#, c-format
|
||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||
msgstr " %-4s\t[redutseerin, kasutades reeglit %d (%s)]\n"
|
||||
|
||||
#: src/conflicts.c:461 src/print.c:154
|
||||
#: src/conflicts.c:467 src/print.c:154
|
||||
#, c-format
|
||||
msgid ""
|
||||
" $default\treduce using rule %d (%s)\n"
|
||||
@@ -112,22 +113,22 @@ msgstr ""
|
||||
" $default\tredutseerin kasutades reeglit %d (%s)\n"
|
||||
"\n"
|
||||
|
||||
#: src/conflicts.c:515 src/conflicts.c:528
|
||||
#: src/conflicts.c:521 src/conflicts.c:534
|
||||
#, c-format
|
||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||
msgstr " %-4s\tredutseerin kasutades reeglit %d (%s)\n"
|
||||
|
||||
#: src/conflicts.c:544
|
||||
#: src/conflicts.c:550
|
||||
#, c-format
|
||||
msgid " $default\treduce using rule %d (%s)\n"
|
||||
msgstr " $default\tredutseerin kasutades reeglit %d (%s)\n"
|
||||
|
||||
#: src/files.c:144
|
||||
#: src/files.c:151
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "faili `%s' ei saa avada"
|
||||
|
||||
#: src/files.c:163
|
||||
#: src/files.c:170
|
||||
msgid "cannot close file"
|
||||
msgstr "faili ei õnnestu sulgeda"
|
||||
|
||||
@@ -212,12 +213,13 @@ msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:146
|
||||
msgid ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001, 2002\n"
|
||||
"Free Software Foundation, Inc.\n"
|
||||
msgstr ""
|
||||
"Autoriõigus 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, "
|
||||
"Inc.\n"
|
||||
"Autoriõigus 1984, 1986, 1989, 1992, 2000, 2001, 2002\n"
|
||||
"Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:150
|
||||
#: src/getargs.c:151
|
||||
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"
|
||||
@@ -225,22 +227,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:215 src/lex.c:694
|
||||
#: src/getargs.c:230 src/lex.c:705
|
||||
#, c-format
|
||||
msgid "`%s' is no longer supported"
|
||||
msgstr "`%s' ei ole enam toetatud"
|
||||
|
||||
#: src/getargs.c:239
|
||||
#: src/getargs.c:254
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Lisainfo saamiseks proovige `%s --help'.\n"
|
||||
|
||||
#: src/getargs.c:246
|
||||
#: src/getargs.c:261
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: puudub grammatikafail\n"
|
||||
|
||||
#: src/getargs.c:250
|
||||
#: src/getargs.c:265
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: ignoreerin lisaargumente peale `%s'\n"
|
||||
@@ -293,12 +295,12 @@ msgstr "l
|
||||
msgid "use \"...\" for multi-character literal tokens"
|
||||
msgstr "kasuta mitmesümboliliste literaalidega \"...\" konstruktsiooni"
|
||||
|
||||
#: src/lex.c:667
|
||||
#: src/lex.c:678
|
||||
#, c-format
|
||||
msgid "`%s' supports no argument: %s"
|
||||
msgstr "`%s' ei toeta argumente: %s"
|
||||
|
||||
#: src/lex.c:683
|
||||
#: src/lex.c:694
|
||||
#, c-format
|
||||
msgid "`%s' requires an argument"
|
||||
msgstr "võti `%s' nõuab argumenti"
|
||||
@@ -426,205 +428,213 @@ msgstr "l
|
||||
msgid "unterminated string"
|
||||
msgstr "lõpetamata sõne"
|
||||
|
||||
#: src/reader.c:336 src/reader.c:400
|
||||
#: src/reader.c:339
|
||||
msgid "invalid @ value"
|
||||
msgstr "vigane @ väärtus"
|
||||
|
||||
#: src/reader.c:352 src/reader.c:416
|
||||
#, c-format
|
||||
msgid "%s is invalid"
|
||||
msgstr "%s on vigane"
|
||||
|
||||
#: src/reader.c:376
|
||||
#: src/reader.c:392
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "`%s' $$ ei oma deklareeritud tüüpi"
|
||||
|
||||
#: src/reader.c:393
|
||||
#: src/reader.c:409
|
||||
#, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "$%d `%s' ei oma deklareeritud tüüpi"
|
||||
|
||||
#: src/reader.c:447
|
||||
#: src/reader.c:463
|
||||
msgid "unterminated `%{' definition"
|
||||
msgstr "lõpetamata `%{' definitsioon"
|
||||
|
||||
#: src/reader.c:492 src/reader.c:607 src/reader.c:657
|
||||
#: src/reader.c:508 src/reader.c:623 src/reader.c:673
|
||||
#, c-format
|
||||
msgid "Premature EOF after %s"
|
||||
msgstr "Enneaegne EOF peale %s"
|
||||
|
||||
#: src/reader.c:509
|
||||
#: src/reader.c:525
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr "sümbolit `%s' on kasutatud enam kui kord literaal sõnena"
|
||||
|
||||
#: src/reader.c:512
|
||||
#: src/reader.c:528
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr "sümbolile `%s' on antud enam kui üks literaal sõne"
|
||||
|
||||
#: src/reader.c:533 src/reader.c:676
|
||||
#: src/reader.c:549 src/reader.c:692
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "sümbol %s on uuesti defineeritud"
|
||||
|
||||
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1292
|
||||
#: src/reader.c:559 src/reader.c:638 src/reader.c:699 src/reader.c:1314
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "%s tüübi uuesti deklareerimine"
|
||||
|
||||
#: src/reader.c:552
|
||||
#: src/reader.c:568
|
||||
#, c-format
|
||||
msgid "`%s' is invalid in %s"
|
||||
msgstr "`%s' ei ole %s sees lubatud"
|
||||
|
||||
#: src/reader.c:570 src/reader.c:735
|
||||
#: src/reader.c:586 src/reader.c:751
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "korduvad %s deklaratsioonid"
|
||||
|
||||
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1270
|
||||
#: src/reader.c:588 src/reader.c:930 src/reader.c:955 src/reader.c:1292
|
||||
#, c-format
|
||||
msgid "invalid %s declaration"
|
||||
msgstr "vigane %s deklaratsioon"
|
||||
|
||||
#: src/reader.c:592
|
||||
#: src/reader.c:608
|
||||
msgid "%type declaration has no <typename>"
|
||||
msgstr "%type deklaratsioonis puudub <tüübinimi>"
|
||||
|
||||
#: src/reader.c:627
|
||||
#: src/reader.c:643
|
||||
#, c-format
|
||||
msgid "invalid %%type declaration due to item: %s"
|
||||
msgstr "vigane %%type deklaratsioon, element: %s"
|
||||
|
||||
#: src/reader.c:672
|
||||
#: src/reader.c:688
|
||||
#, c-format
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "%s prioriteedi uus definitsioon"
|
||||
|
||||
#: src/reader.c:695
|
||||
#: src/reader.c:711
|
||||
#, c-format
|
||||
msgid "invalid text (%s) - number should be after identifier"
|
||||
msgstr "vigane tekst (%s) - number peab olema peale identifikaatorit"
|
||||
|
||||
#: src/reader.c:705
|
||||
#: src/reader.c:721
|
||||
#, c-format
|
||||
msgid "unexpected item: %s"
|
||||
msgstr "ootamatu element: %s"
|
||||
|
||||
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1181
|
||||
#: src/reader.c:794 src/reader.c:1126 src/reader.c:1203
|
||||
#, c-format
|
||||
msgid "unmatched %s"
|
||||
msgstr "puudub %s"
|
||||
|
||||
#: src/reader.c:810
|
||||
#: src/reader.c:826
|
||||
#, c-format
|
||||
msgid "argument of %%expect is not an integer"
|
||||
msgstr "%%expect argument ei ole täisarv"
|
||||
|
||||
#: src/reader.c:856
|
||||
#: src/reader.c:872
|
||||
#, c-format
|
||||
msgid "unrecognized item %s, expected an identifier"
|
||||
msgstr "tundmatu element %s, eeldasin identifikaatorit"
|
||||
|
||||
#: src/reader.c:878
|
||||
#: src/reader.c:894
|
||||
#, c-format
|
||||
msgid "expected string constant instead of %s"
|
||||
msgstr "eeldasin %s asemel sõnekonstanti"
|
||||
|
||||
#: src/reader.c:1026
|
||||
#: src/reader.c:1042
|
||||
#, c-format
|
||||
msgid "unrecognized: %s"
|
||||
msgstr "tundmatu: %s"
|
||||
|
||||
#: src/reader.c:1031
|
||||
#: src/reader.c:1047
|
||||
msgid "no input grammar"
|
||||
msgstr "sisendgrammatikat pole"
|
||||
|
||||
#: src/reader.c:1036
|
||||
#: src/reader.c:1052
|
||||
#, c-format
|
||||
msgid "unknown character: %s"
|
||||
msgstr "tundmatu sümbol: %s"
|
||||
|
||||
#: src/reader.c:1204
|
||||
#: src/reader.c:1226
|
||||
#, c-format
|
||||
msgid "unterminated %guard clause"
|
||||
msgstr "lõpetamata %guard klausel"
|
||||
|
||||
#: src/reader.c:1357
|
||||
#: src/reader.c:1379
|
||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||
msgstr "vigaselt formeeritud reegel: algsümbolile ei järgne koolonit"
|
||||
|
||||
#: src/reader.c:1364
|
||||
#: src/reader.c:1386
|
||||
msgid "grammar starts with vertical bar"
|
||||
msgstr "grammatika algab püstkriipsuga"
|
||||
|
||||
#: src/reader.c:1392
|
||||
#: src/reader.c:1414
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "%s jaoks on antud reegel, aga see on märk"
|
||||
|
||||
#: src/reader.c:1492
|
||||
#: src/reader.c:1444 src/reader.c:1556
|
||||
msgid "previous rule lacks an ending `;'"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:1517
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "kaks @prec ühel real"
|
||||
|
||||
#: src/reader.c:1500
|
||||
#: src/reader.c:1525
|
||||
#, c-format
|
||||
msgid "%%guard present but %%semantic_parser not specified"
|
||||
msgstr "%%guard on määratud, aga %%semantic_parser ei ole"
|
||||
|
||||
#: src/reader.c:1509
|
||||
#: src/reader.c:1534
|
||||
msgid "two actions at end of one rule"
|
||||
msgstr "kaks tegevust ühe reegli lõpus"
|
||||
|
||||
#: src/reader.c:1523
|
||||
#: src/reader.c:1548
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "vaikimisi tegevuse tüübikonflikt (`%s' `%s')"
|
||||
|
||||
#: src/reader.c:1529
|
||||
#: src/reader.c:1554
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "tüübiga mitteterminalil on tühi reegel ja puudub tegevus"
|
||||
|
||||
#: src/reader.c:1573
|
||||
#: src/reader.c:1600
|
||||
#, c-format
|
||||
msgid "invalid input: %s"
|
||||
msgstr "vigane sisend: %s"
|
||||
|
||||
#: src/reader.c:1581
|
||||
#: src/reader.c:1608
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "liiga palju sümboleid (märgid ja mitteterminalid); maksimaalne on %d"
|
||||
|
||||
#: src/reader.c:1584
|
||||
#: src/reader.c:1611
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "sisendgrammatikas pole reegleid"
|
||||
|
||||
#: src/reader.c:1608
|
||||
#: src/reader.c:1635
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"kasutatakse sümbolit %s, mis ei ole defineeritud märgina ja millel puuduvad "
|
||||
"reeglid"
|
||||
|
||||
#: src/reader.c:1743
|
||||
#: src/reader.c:1770
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "märkidele %s ja %s on mõlemale omistatud number %d"
|
||||
|
||||
#: src/reader.c:1796
|
||||
#: src/reader.c:1823
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "%s ja %s omavad konfliktseid prioriteete"
|
||||
|
||||
#: src/reader.c:1808
|
||||
#: src/reader.c:1835
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "%s ja %s omavad konfliktseid assotsiatiivseid väärtuseid"
|
||||
|
||||
#: src/reader.c:1847
|
||||
#: src/reader.c:1874
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "stardisümbol %s ei ole defineeritud"
|
||||
|
||||
#: src/reader.c:1849
|
||||
#: src/reader.c:1876
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "stardisümbol %s on märk"
|
||||
|
||||
@@ -5,14 +5,15 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU bison 1.30f\n"
|
||||
"POT-Creation-Date: 2001-12-13 11:59+0100\n"
|
||||
"PO-Revision-Date: 2001-12-05 13:00-0500\n"
|
||||
"Project-Id-Version: GNU bison 1.33\n"
|
||||
"POT-Creation-Date: 2002-03-04 19:13+0100\n"
|
||||
"PO-Revision-Date: 2002-02-11 08:00-0500\n"
|
||||
"Last-Translator: Michel Robitaille <[email protected]>\n"
|
||||
"Language-Team: French <[email protected]>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=ISO-8859-1\n"
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: src/LR0.c:189
|
||||
#, c-format
|
||||
@@ -53,7 +54,8 @@ msgstr "une erreur"
|
||||
#, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] "%d conflits par décalage/réduction"
|
||||
msgstr[0] "%d conflit par décalage/réduction"
|
||||
msgstr[1] "%d conflits par décalage/réduction"
|
||||
|
||||
#: src/conflicts.c:309
|
||||
msgid "and"
|
||||
@@ -63,7 +65,8 @@ msgstr "et"
|
||||
#, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] "%d conflits par réduction/réduction"
|
||||
msgstr[0] "%d conflit par réduction/réduction"
|
||||
msgstr[1] "%d conflits par réduction/réduction"
|
||||
|
||||
#: src/conflicts.c:340
|
||||
#, c-format
|
||||
@@ -91,18 +94,19 @@ msgstr " %d r
|
||||
msgid "%s contains "
|
||||
msgstr "%s contient "
|
||||
|
||||
#: src/conflicts.c:405
|
||||
#: src/conflicts.c:412
|
||||
#, c-format
|
||||
msgid "expected %d shift/reduce conflict\n"
|
||||
msgid_plural "expected %d shift/reduce conflicts\n"
|
||||
msgstr[0] "attendu %d conflits décalage/réduction\n"
|
||||
msgstr[0] "attendait %d conflit par décalage/réduction\n"
|
||||
msgstr[1] "attendait %d conflits par décalage/réduction\n"
|
||||
|
||||
#: src/conflicts.c:457 src/conflicts.c:534
|
||||
#: src/conflicts.c:463 src/conflicts.c:540
|
||||
#, c-format
|
||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||
msgstr " %-4s\t[réduction par la règle %d (%s)\n"
|
||||
msgstr " %-4s\t[réduction par la règle %d (%s)]\n"
|
||||
|
||||
#: src/conflicts.c:461 src/print.c:154
|
||||
#: src/conflicts.c:467 src/print.c:154
|
||||
#, c-format
|
||||
msgid ""
|
||||
" $default\treduce using rule %d (%s)\n"
|
||||
@@ -111,22 +115,22 @@ msgstr ""
|
||||
" $défaut\tréduction par la règle %d (%s)\n"
|
||||
"\n"
|
||||
|
||||
#: src/conflicts.c:515 src/conflicts.c:528
|
||||
#: src/conflicts.c:521 src/conflicts.c:534
|
||||
#, c-format
|
||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||
msgstr " %-4s\tréduction par la règle %d (%s)\n"
|
||||
|
||||
#: src/conflicts.c:544
|
||||
#: src/conflicts.c:550
|
||||
#, c-format
|
||||
msgid " $default\treduce using rule %d (%s)\n"
|
||||
msgstr " $défaut\tréduction par la règle %d (%s)\n"
|
||||
|
||||
#: src/files.c:144
|
||||
#: src/files.c:151
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "ne peut ouvrir le fichier `%s'"
|
||||
|
||||
#: src/files.c:163
|
||||
#: src/files.c:170
|
||||
msgid "cannot close file"
|
||||
msgstr "ne peut fermer le fichier"
|
||||
|
||||
@@ -215,11 +219,13 @@ msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:146
|
||||
msgid ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001, 2002\n"
|
||||
"Free Software Foundation, Inc.\n"
|
||||
msgstr ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001, 2002 Free Software Foundation, "
|
||||
"Inc.\n"
|
||||
|
||||
#: src/getargs.c:150
|
||||
#: src/getargs.c:151
|
||||
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"
|
||||
@@ -228,22 +234,22 @@ 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:215 src/lex.c:694
|
||||
#: src/getargs.c:230 src/lex.c:705
|
||||
#, c-format
|
||||
msgid "`%s' is no longer supported"
|
||||
msgstr "`%s' n'est plus supporté"
|
||||
|
||||
#: src/getargs.c:239
|
||||
#: src/getargs.c:254
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Pour en savoir davantage, faites: `%s --help'.\n"
|
||||
|
||||
#: src/getargs.c:246
|
||||
#: src/getargs.c:261
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: grammaire manquante\n"
|
||||
|
||||
#: src/getargs.c:250
|
||||
#: src/getargs.c:265
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: arguments supplémentaires ignorés après `%s'\n"
|
||||
@@ -296,12 +302,12 @@ msgstr "le nom de type ne se termine pas"
|
||||
msgid "use \"...\" for multi-character literal tokens"
|
||||
msgstr "utilisez \"...\" pour les terminaux litéraux de plusieurs caractères"
|
||||
|
||||
#: src/lex.c:667
|
||||
#: src/lex.c:678
|
||||
#, c-format
|
||||
msgid "`%s' supports no argument: %s"
|
||||
msgstr "`%s' ne supporte aucun argument: %s"
|
||||
|
||||
#: src/lex.c:683
|
||||
#: src/lex.c:694
|
||||
#, c-format
|
||||
msgid "`%s' requires an argument"
|
||||
msgstr "`%s': requiert un argument"
|
||||
@@ -429,206 +435,214 @@ msgstr "cha
|
||||
msgid "unterminated string"
|
||||
msgstr "chaîne de caractère non terminée"
|
||||
|
||||
#: src/reader.c:336 src/reader.c:400
|
||||
#: src/reader.c:339
|
||||
msgid "invalid @ value"
|
||||
msgstr "valeur @ invalide"
|
||||
|
||||
#: src/reader.c:352 src/reader.c:416
|
||||
#, c-format
|
||||
msgid "%s is invalid"
|
||||
msgstr "%s n'est pas valide"
|
||||
|
||||
#: src/reader.c:376
|
||||
#: src/reader.c:392
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "$$ de `%s' n'a pas son type déclaré"
|
||||
|
||||
#: src/reader.c:393
|
||||
#: src/reader.c:409
|
||||
#, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "$%d de `%s' n'a pas de type déclaré"
|
||||
|
||||
#: src/reader.c:447
|
||||
#: src/reader.c:463
|
||||
msgid "unterminated `%{' definition"
|
||||
msgstr "La section de définition (%{) ne termine pas avant la fin du fichier"
|
||||
|
||||
#: src/reader.c:492 src/reader.c:607 src/reader.c:657
|
||||
#: src/reader.c:508 src/reader.c:623 src/reader.c:673
|
||||
#, c-format
|
||||
msgid "Premature EOF after %s"
|
||||
msgstr "Fin de fichier prématutée après %s"
|
||||
|
||||
#: src/reader.c:509
|
||||
#: src/reader.c:525
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr "symbole `%s' utilisé plus d'une fois dans une chaîne litérale"
|
||||
|
||||
#: src/reader.c:512
|
||||
#: src/reader.c:528
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr "symbole `%s' présent dans plus d'une chaîne litérale"
|
||||
|
||||
#: src/reader.c:533 src/reader.c:676
|
||||
#: src/reader.c:549 src/reader.c:692
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "symbole %s redéfini"
|
||||
|
||||
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1292
|
||||
#: src/reader.c:559 src/reader.c:638 src/reader.c:699 src/reader.c:1314
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "redéclaration du type de %s"
|
||||
|
||||
#: src/reader.c:552
|
||||
#: src/reader.c:568
|
||||
#, c-format
|
||||
msgid "`%s' is invalid in %s"
|
||||
msgstr "`%s' n'est pas valide dans %s"
|
||||
|
||||
#: src/reader.c:570 src/reader.c:735
|
||||
#: src/reader.c:586 src/reader.c:751
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "multiples déclarations %s"
|
||||
|
||||
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1270
|
||||
#: src/reader.c:588 src/reader.c:930 src/reader.c:955 src/reader.c:1292
|
||||
#, c-format
|
||||
msgid "invalid %s declaration"
|
||||
msgstr "la déclaration %s n'est pas valide"
|
||||
|
||||
#: src/reader.c:592
|
||||
#: src/reader.c:608
|
||||
msgid "%type declaration has no <typename>"
|
||||
msgstr "la déclaration %type n'a pas de <nom_de_type>"
|
||||
|
||||
#: src/reader.c:627
|
||||
#: src/reader.c:643
|
||||
#, c-format
|
||||
msgid "invalid %%type declaration due to item: %s"
|
||||
msgstr "la déclaration %%type n'est pas valide en raison de l'item: %s"
|
||||
|
||||
#: src/reader.c:672
|
||||
#: src/reader.c:688
|
||||
#, c-format
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "redéfinition du niveau de priorité de %s"
|
||||
|
||||
#: src/reader.c:695
|
||||
#: src/reader.c:711
|
||||
#, c-format
|
||||
msgid "invalid text (%s) - number should be after identifier"
|
||||
msgstr ""
|
||||
"le texte n'est pas valide (%s) - le nombre devrait suivre l'identificateur"
|
||||
|
||||
#: src/reader.c:705
|
||||
#: src/reader.c:721
|
||||
#, c-format
|
||||
msgid "unexpected item: %s"
|
||||
msgstr "item inattendu: %s"
|
||||
|
||||
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1181
|
||||
#: src/reader.c:794 src/reader.c:1126 src/reader.c:1203
|
||||
#, c-format
|
||||
msgid "unmatched %s"
|
||||
msgstr "non appariement de %s"
|
||||
|
||||
#: src/reader.c:810
|
||||
#: src/reader.c:826
|
||||
#, c-format
|
||||
msgid "argument of %%expect is not an integer"
|
||||
msgstr "l'argument de %%expect n'est pas un entier"
|
||||
|
||||
#: src/reader.c:856
|
||||
#: src/reader.c:872
|
||||
#, c-format
|
||||
msgid "unrecognized item %s, expected an identifier"
|
||||
msgstr "item %s non reconnu, un identificateur est attendu"
|
||||
|
||||
#: src/reader.c:878
|
||||
#: src/reader.c:894
|
||||
#, c-format
|
||||
msgid "expected string constant instead of %s"
|
||||
msgstr "chaîne de caractères constante attendue plutôt que %s"
|
||||
|
||||
#: src/reader.c:1026
|
||||
#: src/reader.c:1042
|
||||
#, c-format
|
||||
msgid "unrecognized: %s"
|
||||
msgstr "non reconnu: %s"
|
||||
|
||||
#: src/reader.c:1031
|
||||
#: src/reader.c:1047
|
||||
msgid "no input grammar"
|
||||
msgstr "aucune grammaire en entrée"
|
||||
|
||||
#: src/reader.c:1036
|
||||
#: src/reader.c:1052
|
||||
#, c-format
|
||||
msgid "unknown character: %s"
|
||||
msgstr "caractère inconnu: %s"
|
||||
|
||||
#: src/reader.c:1204
|
||||
#: src/reader.c:1226
|
||||
#, c-format
|
||||
msgid "unterminated %guard clause"
|
||||
msgstr "clause %guard non terminée"
|
||||
|
||||
#: src/reader.c:1357
|
||||
#: src/reader.c:1379
|
||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||
msgstr "règle mal formée: le symbole initial n'est pas suivi de `:'"
|
||||
|
||||
#: src/reader.c:1364
|
||||
#: src/reader.c:1386
|
||||
msgid "grammar starts with vertical bar"
|
||||
msgstr "la grammaire débute par une barre verticale"
|
||||
|
||||
#: src/reader.c:1392
|
||||
#: src/reader.c:1414
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "la règle pour %s, qui est un terminal"
|
||||
|
||||
#: src/reader.c:1492
|
||||
#: src/reader.c:1444 src/reader.c:1556
|
||||
msgid "previous rule lacks an ending `;'"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:1517
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "deux @prec de suite"
|
||||
|
||||
#: src/reader.c:1500
|
||||
#: src/reader.c:1525
|
||||
#, c-format
|
||||
msgid "%%guard present but %%semantic_parser not specified"
|
||||
msgstr "%%guard est présent mais %%semantic_parser n'est pas spécifié"
|
||||
|
||||
#: src/reader.c:1509
|
||||
#: src/reader.c:1534
|
||||
msgid "two actions at end of one rule"
|
||||
msgstr "deux actions à la fin d'une même règle"
|
||||
|
||||
#: src/reader.c:1523
|
||||
#: src/reader.c:1548
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "conflit de type (`%s' `%s') pour l'action par défaut"
|
||||
|
||||
#: src/reader.c:1529
|
||||
#: src/reader.c:1554
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "règle vide pour une catégorie typée et aucune action"
|
||||
|
||||
#: src/reader.c:1573
|
||||
#: src/reader.c:1600
|
||||
#, c-format
|
||||
msgid "invalid input: %s"
|
||||
msgstr "entrée non valide: %s"
|
||||
|
||||
#: src/reader.c:1581
|
||||
#: src/reader.c:1608
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "trop de symboles (jeton plus non terminaux); maximum %d"
|
||||
|
||||
#: src/reader.c:1584
|
||||
#: src/reader.c:1611
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "la grammaire n'a pas de règles"
|
||||
|
||||
#: src/reader.c:1608
|
||||
#: src/reader.c:1635
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"le symbole %s est utilisé mais ce n'est pas un terminal et il ne possède pas "
|
||||
"de règle"
|
||||
|
||||
#: src/reader.c:1743
|
||||
#: src/reader.c:1770
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "les jetons %s et %s se sont vus assigner le nombre %d"
|
||||
|
||||
#: src/reader.c:1796
|
||||
#: src/reader.c:1823
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "les priorités pour %s et %s entrent en conflit"
|
||||
|
||||
#: src/reader.c:1808
|
||||
#: src/reader.c:1835
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "les valeurs d'association de %s et %s entrent en conflit"
|
||||
|
||||
#: src/reader.c:1847
|
||||
#: src/reader.c:1874
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "le symbole de départ %s n'est pas défini"
|
||||
|
||||
#: src/reader.c:1849
|
||||
#: src/reader.c:1876
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "le symbole de départ %s est un terminal"
|
||||
@@ -649,8 +663,8 @@ msgstr "R
|
||||
#, c-format
|
||||
msgid "%d rule never reduced\n"
|
||||
msgid_plural "%d rules never reduced\n"
|
||||
msgstr[0] "%d règle qui n'a jamais été réduite\n"
|
||||
msgstr[1] "%d règles qui n'ont jamais été réduites\n"
|
||||
msgstr[0] "%d règle n'a jamais été réduite\n"
|
||||
msgstr[1] "%d règles n'ont jamais été réduites\n"
|
||||
|
||||
#: src/reduce.c:511
|
||||
#, c-format
|
||||
|
||||
@@ -0,0 +1,777 @@
|
||||
# Italian translation for message of GNU bison.
|
||||
# Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
# Paolo Bonzini <[email protected]>, 2002.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bison 1.31\n"
|
||||
"POT-Creation-Date: 2002-03-04 19:13+0100\n"
|
||||
"PO-Revision-Date: 2002-01-23 14:16+0100\n"
|
||||
"Last-Translator: Paolo Bonzini <[email protected]>\n"
|
||||
"Language-Team: Italian <[email protected]>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=ISO-8859-1\n"
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: src/LR0.c:189
|
||||
#, c-format
|
||||
msgid "too many states (max %d)"
|
||||
msgstr "troppi stati (massimo %d)"
|
||||
|
||||
#: lib/error.c:128 lib/error.c:156 src/complain.c:99
|
||||
msgid "Unknown system error"
|
||||
msgstr "Errore di sistema sconosciuto"
|
||||
|
||||
#: src/complain.c:150
|
||||
msgid "warning: "
|
||||
msgstr "attenzione: "
|
||||
|
||||
#: src/complain.c:238
|
||||
msgid "fatal error: "
|
||||
msgstr "errore fatale: "
|
||||
|
||||
#: src/conflicts.c:44
|
||||
#, c-format
|
||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||
msgstr ""
|
||||
"Conflitto nello stato %d tra la regola %d e il token %s risolto come %s.\n"
|
||||
|
||||
#: src/conflicts.c:94 src/conflicts.c:119
|
||||
msgid "reduce"
|
||||
msgstr "riduzione"
|
||||
|
||||
#: src/conflicts.c:101 src/conflicts.c:115
|
||||
msgid "shift"
|
||||
msgstr "shift"
|
||||
|
||||
#: src/conflicts.c:123
|
||||
msgid "an error"
|
||||
msgstr "un errore"
|
||||
|
||||
#: src/conflicts.c:302
|
||||
#, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] "%d conflitto shift/riduzione"
|
||||
msgstr[1] "%d conflitti shift/riduzione"
|
||||
|
||||
#: src/conflicts.c:309
|
||||
msgid "and"
|
||||
msgstr "e"
|
||||
|
||||
#: src/conflicts.c:315
|
||||
#, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] "%d conflitto riduzione/riduzione"
|
||||
msgstr[1] "%d conflitti riduzione/riduzione"
|
||||
|
||||
#: src/conflicts.c:340
|
||||
#, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "Lo stato %d contiene"
|
||||
|
||||
#. If invoked with `--yacc', use the output format specified by
|
||||
#. POSIX.
|
||||
#: src/conflicts.c:387
|
||||
msgid "conflicts: "
|
||||
msgstr "conflitti: "
|
||||
|
||||
#: src/conflicts.c:389
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
msgstr " %d shift/riduzione"
|
||||
|
||||
#: src/conflicts.c:393
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
msgstr " %d riduzione/riduzione"
|
||||
|
||||
#: src/conflicts.c:398 src/reduce.c:508
|
||||
#, c-format
|
||||
msgid "%s contains "
|
||||
msgstr "%s contiene "
|
||||
|
||||
#: src/conflicts.c:412
|
||||
#, c-format
|
||||
msgid "expected %d shift/reduce conflict\n"
|
||||
msgid_plural "expected %d shift/reduce conflicts\n"
|
||||
msgstr[0] "atteso %d conflitto shift/riduzione\n"
|
||||
msgstr[1] "attesi %d conflitti shift/riduzione\n"
|
||||
|
||||
#: src/conflicts.c:463 src/conflicts.c:540
|
||||
#, c-format
|
||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||
msgstr " %-4s\t[riduzione con la regole %d (%s)]\n"
|
||||
|
||||
#: src/conflicts.c:467 src/print.c:154
|
||||
#, c-format
|
||||
msgid ""
|
||||
" $default\treduce using rule %d (%s)\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
" $default\triduzione con la regola %d (%s)\n"
|
||||
"\n"
|
||||
|
||||
#: src/conflicts.c:521 src/conflicts.c:534
|
||||
#, c-format
|
||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||
msgstr " %-4s\triduzione con la regola %d (%s)\n"
|
||||
|
||||
#: src/conflicts.c:550
|
||||
#, c-format
|
||||
msgid " $default\treduce using rule %d (%s)\n"
|
||||
msgstr " $default\triduzione con la regola %d (%s)\n"
|
||||
|
||||
#: src/files.c:151
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "impossibile aprire il file `%s'"
|
||||
|
||||
#: src/files.c:170
|
||||
msgid "cannot close file"
|
||||
msgstr "impossibile chiudere il file `%s'"
|
||||
|
||||
#. Some efforts were made to ease the translators' task, please
|
||||
#. continue.
|
||||
#: src/getargs.c:84
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr "GNU bison genera parser per grammatiche LALR(1).\n"
|
||||
|
||||
#: src/getargs.c:88
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr "Utilizzo: %s [OPZIONE]... FILE\n"
|
||||
|
||||
#: src/getargs.c:92
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
msgstr ""
|
||||
"Se un argomento è indicato come obbligatorio in un'opzione lunga, allora\n"
|
||||
"è obbligatorio anche per l'equivalente opzione corta. Analogamente per\n"
|
||||
"gli argomenti opzionali.\n"
|
||||
|
||||
#: 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 ""
|
||||
"Modalità operative:\n"
|
||||
" -h, --help mostra questo aiuto ed esce\n"
|
||||
" -V, --version mostra informazioni sulla versione ed esce\n"
|
||||
" -y, --yacc emula il comportamento di POSIX yacc\n"
|
||||
|
||||
#: src/getargs.c:105
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
" -t, --debug instrument the parser for debugging\n"
|
||||
" --locations enable locations computation\n"
|
||||
" -p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n"
|
||||
" -l, --no-lines don't generate `#line' directives\n"
|
||||
" -n, --no-parser generate the tables only\n"
|
||||
" -k, --token-table include a table of token names\n"
|
||||
msgstr ""
|
||||
" -S, --skeleton=FILE specifica lo scheletro da usare\n"
|
||||
" -t, --debug aggiunge informazioni di debug al parser\n"
|
||||
" --locations abilita il calcolo delle locazioni (@N)\n"
|
||||
" -p, --name-prefix=PREFIX prepone PREFIX ai simboli globali\n"
|
||||
" -l, --no-lines non genera direttive `#line'\n"
|
||||
" -n, --no-parser genera le sole tabelle\n"
|
||||
" -k, --token-table include una tabella di nomi dei token\n"
|
||||
|
||||
#: 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 leave output to FILE\n"
|
||||
" -g, --graph also produce a VCG description of the "
|
||||
"automaton\n"
|
||||
msgstr ""
|
||||
"Output:\n"
|
||||
" -d, --defines produce anche uno header\n"
|
||||
" -v, --verbose produce anche una spiegazione dell'automa\n"
|
||||
" -b, --file-prefix=PREFIX specifica un prefisso per il file di output\n"
|
||||
" -o, --output=FILE lascia l'output in FILE\n"
|
||||
" -g, --graph produce anche una descrizione VCG dell'automa\n"
|
||||
|
||||
#: src/getargs.c:127
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr "Segnalare eventuali bug a <[email protected]>.\n"
|
||||
|
||||
#. Some efforts were made to ease the translators' task, please
|
||||
#. continue.
|
||||
#: src/getargs.c:141
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:146
|
||||
msgid ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001, 2002\n"
|
||||
"Free Software Foundation, Inc.\n"
|
||||
msgstr ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001, 2002\n"
|
||||
"Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:151
|
||||
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 ""
|
||||
"Questo e' software libero; vedere il sorgente per le condizioni cui e'\n"
|
||||
"sottoposta la copia. NON c'è ALCUNA garanzia, neanche di\n"
|
||||
"COMMERCIABILITA` o di ADEGUATEZZA AD UN PARTICOLARE SCOPO.\n"
|
||||
|
||||
#: src/getargs.c:230 src/lex.c:705
|
||||
#, c-format
|
||||
msgid "`%s' is no longer supported"
|
||||
msgstr "`%s' non è più supportato"
|
||||
|
||||
#: src/getargs.c:254
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Provare `%s --help' per ulteriori informazioni.\n"
|
||||
|
||||
#: src/getargs.c:261
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: nessun file grammatica specificato\n"
|
||||
|
||||
#: src/getargs.c:265
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: ignorati gli argomenti successivi a `%s'\n"
|
||||
|
||||
#: src/lalr.c:256
|
||||
#, c-format
|
||||
msgid "too many gotos (max %d)"
|
||||
msgstr "troppi goto (max %d)"
|
||||
|
||||
#: src/lex.c:76
|
||||
msgid "unexpected `/' found and ignored"
|
||||
msgstr "`/' inatteso, trovato e ignorato"
|
||||
|
||||
#: src/lex.c:105 src/reader.c:280
|
||||
msgid "unterminated comment"
|
||||
msgstr "commento non terminato"
|
||||
|
||||
#: src/lex.c:137
|
||||
msgid "unexpected end of file"
|
||||
msgstr "fine del file inattesa"
|
||||
|
||||
# Oder soll man den Begriff "Escapezeichen" verwenden?
|
||||
#: src/lex.c:166
|
||||
msgid "unescaped newline in constant"
|
||||
msgstr "fine di linea non preceduta da `\\' in una costante"
|
||||
|
||||
#: src/lex.c:208
|
||||
#, c-format
|
||||
msgid "octal value outside range 0...255: `\\%o'"
|
||||
msgstr "valore ottale fuori dall'intervallo 0...255: `\\%o'"
|
||||
|
||||
#: src/lex.c:233
|
||||
#, c-format
|
||||
msgid "hexadecimal value above 255: `\\x%x'"
|
||||
msgstr "valore esadecimale superiore a 255: `\\x%x'"
|
||||
|
||||
#: src/lex.c:245
|
||||
#, c-format
|
||||
msgid "unknown escape sequence: `\\' followed by `%s'"
|
||||
msgstr "sequenza di escape sconosciuta: `\\' seguito da `%s'"
|
||||
|
||||
#: src/lex.c:342
|
||||
msgid "unterminated type name at end of file"
|
||||
msgstr "nome di tipo non terminato a fine file"
|
||||
|
||||
#: src/lex.c:345
|
||||
msgid "unterminated type name"
|
||||
msgstr "nome di tipo non terminato"
|
||||
|
||||
#: src/lex.c:438
|
||||
msgid "use \"...\" for multi-character literal tokens"
|
||||
msgstr "usa \"...\" per token letterali di più caratteri"
|
||||
|
||||
#: src/lex.c:678
|
||||
#, c-format
|
||||
msgid "`%s' supports no argument: %s"
|
||||
msgstr "`%s' non supporta argomenti: %s"
|
||||
|
||||
#: src/lex.c:694
|
||||
#, c-format
|
||||
msgid "`%s' requires an argument"
|
||||
msgstr "`%s' richiede un argomento"
|
||||
|
||||
#: src/output.c:951
|
||||
#, c-format
|
||||
msgid "maximum table size (%d) exceeded"
|
||||
msgstr "ecceduta la dimensione massima di una tabella (%d)"
|
||||
|
||||
#: src/print.c:39
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " il tipo %d è %s\n"
|
||||
|
||||
#: src/print.c:88
|
||||
#, c-format
|
||||
msgid " (rule %d)"
|
||||
msgstr " (regola %d)"
|
||||
|
||||
#: src/print.c:108
|
||||
msgid " $default\taccept\n"
|
||||
msgstr " $default\taccetta\n"
|
||||
|
||||
#: src/print.c:110
|
||||
msgid " NO ACTIONS\n"
|
||||
msgstr " NESSUNA AZIONE\n"
|
||||
|
||||
#: src/print.c:124
|
||||
#, c-format
|
||||
msgid " $ \tgo to state %d\n"
|
||||
msgstr " $ \tprosecuzione allo stato %d\n"
|
||||
|
||||
#: src/print.c:127
|
||||
#, c-format
|
||||
msgid " %-4s\tshift, and go to state %d\n"
|
||||
msgstr " %-4s\tshift e prosecuzione allo stato %d\n"
|
||||
|
||||
#: src/print.c:142
|
||||
#, c-format
|
||||
msgid " %-4s\terror (nonassociative)\n"
|
||||
msgstr " %-4s\terrore (non associativo)\n"
|
||||
|
||||
#: src/print.c:169
|
||||
#, c-format
|
||||
msgid " %-4s\tgo to state %d\n"
|
||||
msgstr " %-4s\tprosecuzione allo stato %d\n"
|
||||
|
||||
#: src/print.c:180
|
||||
#, c-format
|
||||
msgid "state %d"
|
||||
msgstr "stato %d"
|
||||
|
||||
#. rule # : LHS -> RHS
|
||||
#: src/print.c:211
|
||||
msgid "Grammar"
|
||||
msgstr "Grammatica"
|
||||
|
||||
#: src/print.c:212
|
||||
msgid "Number, Line, Rule"
|
||||
msgstr "Numero, Linea, Regola"
|
||||
|
||||
#: src/print.c:217
|
||||
#, c-format
|
||||
msgid " %3d %3d %s ->"
|
||||
msgstr " %3d %3d %s ->"
|
||||
|
||||
#: src/print.c:224
|
||||
msgid "empty"
|
||||
msgstr "vuoto"
|
||||
|
||||
#. TERMINAL (type #) : rule #s terminal is on RHS
|
||||
#: src/print.c:231
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr "Simboli terminali e regole in cui appaiono"
|
||||
|
||||
#: src/print.c:256
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr "Simboli nonterminali e regole in cui appaiono"
|
||||
|
||||
#: src/print.c:282
|
||||
msgid " on left:"
|
||||
msgstr " nel primo membro:"
|
||||
|
||||
#: src/print.c:297
|
||||
msgid " on right:"
|
||||
msgstr " nel secondo membro:"
|
||||
|
||||
#. If something has been added in the NODE_OBSTACK after
|
||||
#. the declaration of the label, then we need a `\n'.
|
||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||
#. obstack_sgrow (node_obstack, "\n");
|
||||
#.
|
||||
#: src/print_graph.c:146
|
||||
#, c-format
|
||||
msgid "%-4s\terror (nonassociative)"
|
||||
msgstr "%-4s\terrore (non associativo)"
|
||||
|
||||
#.
|
||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||
#. obstack_sgrow (node_obstack, "\n");
|
||||
#.
|
||||
#: src/print_graph.c:161
|
||||
#, c-format
|
||||
msgid "$default\treduce using rule %d (%s)"
|
||||
msgstr "$default\triduzione con la regola %d (%s)"
|
||||
|
||||
#: src/reader.c:89
|
||||
msgid " Skipping to next \\n"
|
||||
msgstr " Passo al successivo \\n"
|
||||
|
||||
#: src/reader.c:91
|
||||
#, c-format
|
||||
msgid " Skipping to next %c"
|
||||
msgstr " Passo al successivo %c"
|
||||
|
||||
#: src/reader.c:142 src/reader.c:154
|
||||
msgid "invalid $ value"
|
||||
msgstr "valore $ non valido"
|
||||
|
||||
#: src/reader.c:180 src/reader.c:195
|
||||
msgid "unterminated string at end of file"
|
||||
msgstr "stringa non terminata alla fine del file"
|
||||
|
||||
#: src/reader.c:183
|
||||
msgid "unterminated string"
|
||||
msgstr "stringa non terminata"
|
||||
|
||||
#: src/reader.c:339
|
||||
#, fuzzy
|
||||
msgid "invalid @ value"
|
||||
msgstr "valore $ non valido"
|
||||
|
||||
#: src/reader.c:352 src/reader.c:416
|
||||
#, c-format
|
||||
msgid "%s is invalid"
|
||||
msgstr "%s non è valido"
|
||||
|
||||
#: src/reader.c:392
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "Manca una dichiarazione di tipo per $$ di `%s'"
|
||||
|
||||
#: src/reader.c:409
|
||||
#, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "Manca una dichiarazione di tipo per $%d di `%s'"
|
||||
|
||||
#: src/reader.c:463
|
||||
msgid "unterminated `%{' definition"
|
||||
msgstr "definizione `%{' non terminata"
|
||||
|
||||
#: src/reader.c:508 src/reader.c:623 src/reader.c:673
|
||||
#, c-format
|
||||
msgid "Premature EOF after %s"
|
||||
msgstr "Fine di file prematura dopo %s"
|
||||
|
||||
#: src/reader.c:525
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr "simbolo `%s' usato più di una volta in una stringa letterale"
|
||||
|
||||
#: src/reader.c:528
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr "il simbolo `%s' dà pi` di una stringa letterale"
|
||||
|
||||
#: src/reader.c:549 src/reader.c:692
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "simbolo %s ridefinito"
|
||||
|
||||
#: src/reader.c:559 src/reader.c:638 src/reader.c:699 src/reader.c:1314
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "tipo dichiarato due volte per %s"
|
||||
|
||||
#: src/reader.c:568
|
||||
#, c-format
|
||||
msgid "`%s' is invalid in %s"
|
||||
msgstr "`%s' non è valido in %s"
|
||||
|
||||
#: src/reader.c:586 src/reader.c:751
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "dichiarazioni multiple per %s"
|
||||
|
||||
#: src/reader.c:588 src/reader.c:930 src/reader.c:955 src/reader.c:1292
|
||||
#, c-format
|
||||
msgid "invalid %s declaration"
|
||||
msgstr "dichiarazione %s non valida"
|
||||
|
||||
#: src/reader.c:608
|
||||
msgid "%type declaration has no <typename>"
|
||||
msgstr "dichiarazione %type senza <nome di tipo>"
|
||||
|
||||
#: src/reader.c:643
|
||||
#, c-format
|
||||
msgid "invalid %%type declaration due to item: %s"
|
||||
msgstr "dichiarazione %%type non valida per la presenza di `%s'"
|
||||
|
||||
#: src/reader.c:688
|
||||
#, c-format
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "precedenza di `%s' definita due volte"
|
||||
|
||||
#: src/reader.c:711
|
||||
#, c-format
|
||||
msgid "invalid text (%s) - number should be after identifier"
|
||||
msgstr "testo non valido (%s) - il numero dovrebbe seguire l'identificatore"
|
||||
|
||||
#: src/reader.c:721
|
||||
#, c-format
|
||||
msgid "unexpected item: %s"
|
||||
msgstr "elemento inatteso: %s"
|
||||
|
||||
#: src/reader.c:794 src/reader.c:1126 src/reader.c:1203
|
||||
#, c-format
|
||||
msgid "unmatched %s"
|
||||
msgstr "%s non bilanciato"
|
||||
|
||||
#: src/reader.c:826
|
||||
#, c-format
|
||||
msgid "argument of %%expect is not an integer"
|
||||
msgstr "L'argomento di %%expect non è un intero"
|
||||
|
||||
#: src/reader.c:872
|
||||
#, c-format
|
||||
msgid "unrecognized item %s, expected an identifier"
|
||||
msgstr "elemento %s non riconosciuto, atteso un identificatore"
|
||||
|
||||
#: src/reader.c:894
|
||||
#, c-format
|
||||
msgid "expected string constant instead of %s"
|
||||
msgstr "attesa una costante stringa invece di %s"
|
||||
|
||||
#: src/reader.c:1042
|
||||
#, c-format
|
||||
msgid "unrecognized: %s"
|
||||
msgstr "non riconosciuto: %s"
|
||||
|
||||
#: src/reader.c:1047
|
||||
msgid "no input grammar"
|
||||
msgstr "nessuna grammatica di input"
|
||||
|
||||
#: src/reader.c:1052
|
||||
#, c-format
|
||||
msgid "unknown character: %s"
|
||||
msgstr "carattere sconosciuto: %s"
|
||||
|
||||
#: src/reader.c:1226
|
||||
#, c-format
|
||||
msgid "unterminated %guard clause"
|
||||
msgstr "clausola %guard non terminata"
|
||||
|
||||
#: src/reader.c:1379
|
||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||
msgstr "regola malformata: simbolo iniziale non seguito da `:'"
|
||||
|
||||
#: src/reader.c:1386
|
||||
msgid "grammar starts with vertical bar"
|
||||
msgstr "la grammatica comincia con un `|'"
|
||||
|
||||
#: src/reader.c:1414
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "fornita una regola per il token %s"
|
||||
|
||||
#: src/reader.c:1444 src/reader.c:1556
|
||||
msgid "previous rule lacks an ending `;'"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:1517
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "due @prec di seguito"
|
||||
|
||||
#: src/reader.c:1525
|
||||
#, c-format
|
||||
msgid "%%guard present but %%semantic_parser not specified"
|
||||
msgstr "trovato %%guard senza che sia specificato %%semantic_parser"
|
||||
|
||||
#: src/reader.c:1534
|
||||
msgid "two actions at end of one rule"
|
||||
msgstr "due azioni alla fine di una regola"
|
||||
|
||||
#: src/reader.c:1548
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "conflitto di tipo (`%s' e `%s') nell'azione di default"
|
||||
|
||||
#: src/reader.c:1554
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "regola vuota e nessuna azione per un nonterminale con tipo"
|
||||
|
||||
#: src/reader.c:1600
|
||||
#, c-format
|
||||
msgid "invalid input: %s"
|
||||
msgstr "input non valido: %s"
|
||||
|
||||
#: src/reader.c:1608
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "troppi simboli (token e nonterminali); il massimo è %d"
|
||||
|
||||
#: src/reader.c:1611
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "nessuna regola nella grammatica di input"
|
||||
|
||||
#: src/reader.c:1635
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr "usato il simbolo %s, ma non è un token e non ha regole"
|
||||
|
||||
#: src/reader.c:1770
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "i token %s e %s hanno lo stesso numero %d"
|
||||
|
||||
#: src/reader.c:1823
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "precedenze in conflitto per %s und %s"
|
||||
|
||||
#: src/reader.c:1835
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "associatività in conflitto per %s e %s"
|
||||
|
||||
#: src/reader.c:1874
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "simbolo iniziale %s non definito"
|
||||
|
||||
#: src/reader.c:1876
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "specificato il token %s come simbolo iniziale"
|
||||
|
||||
#: src/reduce.c:409
|
||||
msgid "Useless nonterminals:"
|
||||
msgstr "Simboli nonterminali inutili:"
|
||||
|
||||
#: src/reduce.c:422
|
||||
msgid "Terminals which are not used:"
|
||||
msgstr "Simboli terminali inutilizzati:"
|
||||
|
||||
#: src/reduce.c:433
|
||||
msgid "Useless rules:"
|
||||
msgstr "Regole inutili:"
|
||||
|
||||
#: src/reduce.c:503
|
||||
#, c-format
|
||||
msgid "%d rule never reduced\n"
|
||||
msgid_plural "%d rules never reduced\n"
|
||||
msgstr[0] "%d regola non applicata\n"
|
||||
msgstr[1] "%d regole non applicate\n"
|
||||
|
||||
#: src/reduce.c:511
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal"
|
||||
msgid_plural "%d useless nonterminals"
|
||||
msgstr[0] "%d simbolo nonterminale inutilizzato"
|
||||
msgstr[1] "%d simboli nonterminali inutilizzati"
|
||||
|
||||
#: src/reduce.c:517
|
||||
msgid " and "
|
||||
msgstr " e "
|
||||
|
||||
#: src/reduce.c:520
|
||||
#, c-format
|
||||
msgid "%d useless rule"
|
||||
msgid_plural "%d useless rules"
|
||||
msgstr[0] "%d regola inutile"
|
||||
msgstr[1] "%d regole inutili"
|
||||
|
||||
#: src/reduce.c:551
|
||||
#, c-format
|
||||
msgid "Start symbol %s does not derive any sentence"
|
||||
msgstr "dal simbolo iniziale %s non deriva alcuna frase"
|
||||
|
||||
#: lib/getopt.c:694
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: l'opzione `%s' è ambigua\n"
|
||||
|
||||
#: lib/getopt.c:719
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: l'opzione `--%s' non ammette argomenti\n"
|
||||
|
||||
#: lib/getopt.c:724
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: l'opzione `%c%s' non ammette argomenti\n"
|
||||
|
||||
#: lib/getopt.c:742 lib/getopt.c:915
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: l'opzione `%s' richiede un argomento\n"
|
||||
|
||||
#. --option
|
||||
#: lib/getopt.c:771
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: opzione sconosciuta `--%s'\n"
|
||||
|
||||
#. +option or -option
|
||||
#: lib/getopt.c:775
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: opzione sconosciuta `%c%s'\n"
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: lib/getopt.c:801
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: opzione non valida -- %c\n"
|
||||
|
||||
#: lib/getopt.c:804
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: opzione non valida -- %c\n"
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: lib/getopt.c:834 lib/getopt.c:964
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: l'opzione richiede un argomento -- %c\n"
|
||||
|
||||
#: lib/getopt.c:881
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: l'opzione `-W %s' è ambigua\n"
|
||||
|
||||
#: lib/getopt.c:899
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: l'opzione `-W %s' non ammette un argomento\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:494 lib/obstack.c:497 lib/xmalloc.c:66
|
||||
msgid "memory exhausted"
|
||||
msgstr "memoria esaurita"
|
||||
|
||||
#. Get translations for open and closing quotation marks.
|
||||
#.
|
||||
#. The message catalog should translate "`" to a left
|
||||
#. quotation mark suitable for the locale, and similarly for
|
||||
#. "'". If the catalog has no translation,
|
||||
#. locale_quoting_style quotes `like this', and
|
||||
#. clocale_quoting_style quotes "like this".
|
||||
#.
|
||||
#. For example, an American English Unicode locale should
|
||||
#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
|
||||
#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
|
||||
#. MARK). A British English Unicode locale should instead
|
||||
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
|
||||
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
|
||||
#: lib/quotearg.c:274
|
||||
msgid "`"
|
||||
msgstr "`"
|
||||
|
||||
#: lib/quotearg.c:275
|
||||
msgid "'"
|
||||
msgstr "'"
|
||||
|
||||
#~ msgid "invalid value: %s%d"
|
||||
#~ msgstr "valore non valido: %s%d"
|
||||
|
||||
#~ msgid "too many items (max %d)"
|
||||
#~ msgstr "troppi elementi (max %d)"
|
||||
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU bison 1.30f\n"
|
||||
"POT-Creation-Date: 2001-12-13 11:59+0100\n"
|
||||
"POT-Creation-Date: 2002-03-04 19:13+0100\n"
|
||||
"PO-Revision-Date: 2001-12-10 15:59+0900\n"
|
||||
"Last-Translator: Daisuke Yamashita <[email protected]>\n"
|
||||
"Language-Team: Japanese <[email protected]>\n"
|
||||
@@ -89,18 +89,18 @@ msgstr " %d
|
||||
msgid "%s contains "
|
||||
msgstr "%s の中身は"
|
||||
|
||||
#: src/conflicts.c:405
|
||||
#: src/conflicts.c:412
|
||||
#, c-format
|
||||
msgid "expected %d shift/reduce conflict\n"
|
||||
msgid_plural "expected %d shift/reduce conflicts\n"
|
||||
msgstr[0] "本来 %d 個のシフト/還元衝突であるはずです\n"
|
||||
|
||||
#: src/conflicts.c:457 src/conflicts.c:534
|
||||
#: src/conflicts.c:463 src/conflicts.c:540
|
||||
#, c-format
|
||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||
msgstr " %-4s\t[規則 %d を利用して還元 (%s)]\n"
|
||||
|
||||
#: src/conflicts.c:461 src/print.c:154
|
||||
#: src/conflicts.c:467 src/print.c:154
|
||||
#, c-format
|
||||
msgid ""
|
||||
" $default\treduce using rule %d (%s)\n"
|
||||
@@ -109,22 +109,22 @@ msgstr ""
|
||||
" $default\t規則 %d を利用して還元 (%s)\n"
|
||||
"\n"
|
||||
|
||||
#: src/conflicts.c:515 src/conflicts.c:528
|
||||
#: src/conflicts.c:521 src/conflicts.c:534
|
||||
#, c-format
|
||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||
msgstr " %-4s\t規則 %d を利用して還元 (%s)\n"
|
||||
|
||||
#: src/conflicts.c:544
|
||||
#: src/conflicts.c:550
|
||||
#, c-format
|
||||
msgid " $default\treduce using rule %d (%s)\n"
|
||||
msgstr " $default\t規則 %d を利用して還元 (%s)\n"
|
||||
|
||||
#: src/files.c:144
|
||||
#: src/files.c:151
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "ファイル `%s' を開けません"
|
||||
|
||||
#: src/files.c:163
|
||||
#: src/files.c:170
|
||||
msgid "cannot close file"
|
||||
msgstr "ファイルを閉じることができません"
|
||||
|
||||
@@ -208,12 +208,14 @@ msgid "bison (GNU Bison) %s"
|
||||
msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:146
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001, 2002\n"
|
||||
"Free Software Foundation, Inc.\n"
|
||||
msgstr ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:150
|
||||
#: src/getargs.c:151
|
||||
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"
|
||||
@@ -224,22 +226,22 @@ msgstr ""
|
||||
"これはフリーソフトウェアです -- 複製についての条件はソースを見ましょう。\n"
|
||||
"一切の保証はありません -- 商業性や目的適合性についての保証すらありません。\n"
|
||||
|
||||
#: src/getargs.c:215 src/lex.c:694
|
||||
#: src/getargs.c:230 src/lex.c:705
|
||||
#, c-format
|
||||
msgid "`%s' is no longer supported"
|
||||
msgstr "`%s' は最早サポートされません"
|
||||
|
||||
#: src/getargs.c:239
|
||||
#: src/getargs.c:254
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "`%s --help' で詳細情報を参照してください\n"
|
||||
|
||||
#: src/getargs.c:246
|
||||
#: src/getargs.c:261
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: 文法ファイルが指定されていません\n"
|
||||
|
||||
#: src/getargs.c:250
|
||||
#: src/getargs.c:265
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: `%s' の後ろの余分な引数は無視されました\n"
|
||||
@@ -292,12 +294,12 @@ msgstr "
|
||||
msgid "use \"...\" for multi-character literal tokens"
|
||||
msgstr "複数文字のリテラルトークンには \"...\" を使いましょう"
|
||||
|
||||
#: src/lex.c:667
|
||||
#: src/lex.c:678
|
||||
#, c-format
|
||||
msgid "`%s' supports no argument: %s"
|
||||
msgstr "`%s' は引数を受け付けません: %s"
|
||||
|
||||
#: src/lex.c:683
|
||||
#: src/lex.c:694
|
||||
#, c-format
|
||||
msgid "`%s' requires an argument"
|
||||
msgstr "`%s' オプションは引数を要求します"
|
||||
@@ -425,205 +427,214 @@ msgstr "
|
||||
msgid "unterminated string"
|
||||
msgstr "閉じられていない文字列"
|
||||
|
||||
#: src/reader.c:336 src/reader.c:400
|
||||
#: src/reader.c:339
|
||||
#, fuzzy
|
||||
msgid "invalid @ value"
|
||||
msgstr "不適切な $ の値"
|
||||
|
||||
#: src/reader.c:352 src/reader.c:416
|
||||
#, c-format
|
||||
msgid "%s is invalid"
|
||||
msgstr "%s は不適切です"
|
||||
|
||||
#: src/reader.c:376
|
||||
#: src/reader.c:392
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "`%s' の $$ に宣言のない型があります"
|
||||
|
||||
#: src/reader.c:393
|
||||
#: src/reader.c:409
|
||||
#, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "$%d 個の `%s' が宣言された型を持っていません"
|
||||
|
||||
#: src/reader.c:447
|
||||
#: src/reader.c:463
|
||||
msgid "unterminated `%{' definition"
|
||||
msgstr "`%{' 定義 が閉じられていません"
|
||||
|
||||
#: src/reader.c:492 src/reader.c:607 src/reader.c:657
|
||||
#: src/reader.c:508 src/reader.c:623 src/reader.c:673
|
||||
#, c-format
|
||||
msgid "Premature EOF after %s"
|
||||
msgstr "%s の後ろに早くも EOF があります"
|
||||
|
||||
#: src/reader.c:509
|
||||
#: src/reader.c:525
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr "シンボル `%s' はリテラル文字列として複数回使われました"
|
||||
|
||||
#: src/reader.c:512
|
||||
#: src/reader.c:528
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr "シンボル `%s' は複数のリテラル文字列が与えられました"
|
||||
|
||||
#: src/reader.c:533 src/reader.c:676
|
||||
#: src/reader.c:549 src/reader.c:692
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "シンボル %s が再定義されました"
|
||||
|
||||
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1292
|
||||
#: src/reader.c:559 src/reader.c:638 src/reader.c:699 src/reader.c:1314
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "%s の型が再定義されました"
|
||||
|
||||
#: src/reader.c:552
|
||||
#: src/reader.c:568
|
||||
#, c-format
|
||||
msgid "`%s' is invalid in %s"
|
||||
msgstr "`%s' は %s 内では不適切です"
|
||||
|
||||
#: src/reader.c:570 src/reader.c:735
|
||||
#: src/reader.c:586 src/reader.c:751
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "%s が複数個宣言されました"
|
||||
|
||||
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1270
|
||||
#: src/reader.c:588 src/reader.c:930 src/reader.c:955 src/reader.c:1292
|
||||
#, c-format
|
||||
msgid "invalid %s declaration"
|
||||
msgstr "%s の宣言が不適切です"
|
||||
|
||||
#: src/reader.c:592
|
||||
#: src/reader.c:608
|
||||
msgid "%type declaration has no <typename>"
|
||||
msgstr "%type 宣言に <タイプ名> がありません"
|
||||
|
||||
#: src/reader.c:627
|
||||
#: src/reader.c:643
|
||||
#, c-format
|
||||
msgid "invalid %%type declaration due to item: %s"
|
||||
msgstr "アイテムの為の %%type 宣言が不適切です: %s"
|
||||
|
||||
#: src/reader.c:672
|
||||
#: src/reader.c:688
|
||||
#, c-format
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "%s に先行した再定義です"
|
||||
|
||||
#: src/reader.c:695
|
||||
#: src/reader.c:711
|
||||
#, c-format
|
||||
msgid "invalid text (%s) - number should be after identifier"
|
||||
msgstr "不適切なテキスト (%s) - 数値は識別子の後ろにあるべきです"
|
||||
|
||||
#: src/reader.c:705
|
||||
#: src/reader.c:721
|
||||
#, c-format
|
||||
msgid "unexpected item: %s"
|
||||
msgstr "予期せぬアイテム: %s"
|
||||
|
||||
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1181
|
||||
#: src/reader.c:794 src/reader.c:1126 src/reader.c:1203
|
||||
#, c-format
|
||||
msgid "unmatched %s"
|
||||
msgstr "対応のない %s です"
|
||||
|
||||
#: src/reader.c:810
|
||||
#: src/reader.c:826
|
||||
#, c-format
|
||||
msgid "argument of %%expect is not an integer"
|
||||
msgstr "%%expect の引数が整数値ではありません"
|
||||
|
||||
#: src/reader.c:856
|
||||
#: src/reader.c:872
|
||||
#, c-format
|
||||
msgid "unrecognized item %s, expected an identifier"
|
||||
msgstr "認識できないアイテム %s、ここでは識別子が期待されます"
|
||||
|
||||
#: src/reader.c:878
|
||||
#: src/reader.c:894
|
||||
#, c-format
|
||||
msgid "expected string constant instead of %s"
|
||||
msgstr "ここでは %s ではなく文字列定数が期待されます"
|
||||
|
||||
#: src/reader.c:1026
|
||||
#: src/reader.c:1042
|
||||
#, c-format
|
||||
msgid "unrecognized: %s"
|
||||
msgstr "認識できない: %s"
|
||||
|
||||
#: src/reader.c:1031
|
||||
#: src/reader.c:1047
|
||||
msgid "no input grammar"
|
||||
msgstr "文法の入力が無い"
|
||||
|
||||
#: src/reader.c:1036
|
||||
#: src/reader.c:1052
|
||||
#, c-format
|
||||
msgid "unknown character: %s"
|
||||
msgstr "未知の文字: %s"
|
||||
|
||||
#: src/reader.c:1204
|
||||
#: src/reader.c:1226
|
||||
#, c-format
|
||||
msgid "unterminated %guard clause"
|
||||
msgstr "%guard 節が閉じられていません"
|
||||
|
||||
#: src/reader.c:1357
|
||||
#: src/reader.c:1379
|
||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||
msgstr "邪悪な規則: 初期化シンボルにコロン (:) が続いていません"
|
||||
|
||||
#: src/reader.c:1364
|
||||
#: src/reader.c:1386
|
||||
msgid "grammar starts with vertical bar"
|
||||
msgstr "文法は縦棒 (|) で始めます"
|
||||
|
||||
#: src/reader.c:1392
|
||||
#: src/reader.c:1414
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "%s に規則が与えられ、それはトークンとなります"
|
||||
|
||||
#: src/reader.c:1492
|
||||
#: src/reader.c:1444 src/reader.c:1556
|
||||
msgid "previous rule lacks an ending `;'"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:1517
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "@prec のもの二つが同列になっています"
|
||||
|
||||
#: src/reader.c:1500
|
||||
#: src/reader.c:1525
|
||||
#, c-format
|
||||
msgid "%%guard present but %%semantic_parser not specified"
|
||||
msgstr "%%guard がありますが %%semantic_parser が指定されていません"
|
||||
|
||||
#: src/reader.c:1509
|
||||
#: src/reader.c:1534
|
||||
msgid "two actions at end of one rule"
|
||||
msgstr "一つの規則の終りに二つの動作を指定しています"
|
||||
|
||||
#: src/reader.c:1523
|
||||
#: src/reader.c:1548
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "初期状態の動作では型 (`%s' `%s') が衝突します"
|
||||
|
||||
#: src/reader.c:1529
|
||||
#: src/reader.c:1554
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "空の型付き非終端アイテム用規則であり、動作が起りません"
|
||||
|
||||
#: src/reader.c:1573
|
||||
#: src/reader.c:1600
|
||||
#, c-format
|
||||
msgid "invalid input: %s"
|
||||
msgstr "不適切な入力: %s"
|
||||
|
||||
#: src/reader.c:1581
|
||||
#: src/reader.c:1608
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "シンボルが多すぎます (トークン + 非終端アイテム) -- 最大 %d"
|
||||
|
||||
#: src/reader.c:1584
|
||||
#: src/reader.c:1611
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "入力した文法に規則が定義されていません"
|
||||
|
||||
#: src/reader.c:1608
|
||||
#: src/reader.c:1635
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"シンボル %s が使われていますが、トークンとして定義されておらず、規則を持ちま"
|
||||
"せん"
|
||||
|
||||
#: src/reader.c:1743
|
||||
#: src/reader.c:1770
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "トークン %s と %s の双方が番号 %d に割り当てられました"
|
||||
|
||||
#: src/reader.c:1796
|
||||
#: src/reader.c:1823
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "先行している %s と %s で競合が生じています"
|
||||
|
||||
#: src/reader.c:1808
|
||||
#: src/reader.c:1835
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "非結合値 %s と %s で競合が生じています"
|
||||
|
||||
#: src/reader.c:1847
|
||||
#: src/reader.c:1874
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "開始シンボル %s は定義されていません"
|
||||
|
||||
#: src/reader.c:1849
|
||||
#: src/reader.c:1876
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "開始シンボル %s はトークンです"
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# ðÅÒÅ×ÏÄ ÓÏÏÂÝÅÎÉÊ bison.
|
||||
# Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
# Dmitry S. Sivachenko <[email protected]>, 1999,2000,2001.
|
||||
# Dmitry S. Sivachenko <[email protected]>, 1999,2000,2001,2002.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bison 1.29\n"
|
||||
"POT-Creation-Date: 2001-12-13 11:59+0100\n"
|
||||
"PO-Revision-Date: 2001-09-09 13:49+04:00\n"
|
||||
"Project-Id-Version: bison 1.32\n"
|
||||
"POT-Creation-Date: 2002-03-04 19:13+0100\n"
|
||||
"PO-Revision-Date: 2002-01-25 12:19+0300\n"
|
||||
"Last-Translator: Dmitry S. Sivachenko <[email protected]>\n"
|
||||
"Language-Team: Russian <[email protected]>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -49,26 +49,29 @@ msgid "an error"
|
||||
msgstr "ÏÛÉÂËÁ"
|
||||
|
||||
#: src/conflicts.c:302
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] " %d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||
msgstr[0] "%d ËÏÎÆÌÉËÔ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||
msgstr[1] "%d ËÏÎÆÌÉËÔÁ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||
msgstr[2] "%d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||
|
||||
#: src/conflicts.c:309
|
||||
#, fuzzy
|
||||
msgid "and"
|
||||
msgstr " É"
|
||||
msgstr "É"
|
||||
|
||||
#: src/conflicts.c:315
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] " %d ËÏÎÆÌÉËÔÏ× ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
|
||||
msgstr[0] "%d ËÏÎÆÌÉËÔ ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
|
||||
msgstr[1] "%d ËÏÎÆÌÉËÔÁ ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
|
||||
msgstr[2] "%d ËÏÎÆÌÉËÔÏ× ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
|
||||
|
||||
#: src/conflicts.c:340
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "óÏÓÔÏÑÎÉÅ %d ÓÏÄÅÒÖÉÔ"
|
||||
msgstr "óÏÓÔÏÑÎÉÅ %d ÓÏÄÅÒÖÉÔ "
|
||||
|
||||
#. If invoked with `--yacc', use the output format specified by
|
||||
#. POSIX.
|
||||
@@ -91,18 +94,20 @@ msgstr " %d
|
||||
msgid "%s contains "
|
||||
msgstr "%s ÓÏÄÅÒÖÉÔ "
|
||||
|
||||
#: src/conflicts.c:405
|
||||
#, fuzzy, c-format
|
||||
#: src/conflicts.c:412
|
||||
#, c-format
|
||||
msgid "expected %d shift/reduce conflict\n"
|
||||
msgid_plural "expected %d shift/reduce conflicts\n"
|
||||
msgstr[0] " %d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||
msgstr[0] "ÏÖÉÄÁÌÓÑ %d ËÏÎÆÌÉËÔ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ\n"
|
||||
msgstr[1] "ÏÖÉÄÁÌÏÓØ %d ËÏÎÆÌÉËÔÁ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ\n"
|
||||
msgstr[2] "ÏÖÉÄÁÌÏÓØ %d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ\n"
|
||||
|
||||
#: src/conflicts.c:457 src/conflicts.c:534
|
||||
#: src/conflicts.c:463 src/conflicts.c:540
|
||||
#, c-format
|
||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||
msgstr " %-4s\t[×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)]\n"
|
||||
|
||||
#: src/conflicts.c:461 src/print.c:154
|
||||
#: src/conflicts.c:467 src/print.c:154
|
||||
#, c-format
|
||||
msgid ""
|
||||
" $default\treduce using rule %d (%s)\n"
|
||||
@@ -111,22 +116,22 @@ msgstr ""
|
||||
" $default\t×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)\n"
|
||||
"\n"
|
||||
|
||||
#: src/conflicts.c:515 src/conflicts.c:528
|
||||
#: src/conflicts.c:521 src/conflicts.c:534
|
||||
#, c-format
|
||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||
msgstr " %-4s\t×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)\n"
|
||||
|
||||
#: src/conflicts.c:544
|
||||
#: src/conflicts.c:550
|
||||
#, c-format
|
||||
msgid " $default\treduce using rule %d (%s)\n"
|
||||
msgstr " $default\t×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)\n"
|
||||
|
||||
#: src/files.c:144
|
||||
#: src/files.c:151
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "ÎÅ ÕÄÁÅÔÓÑ ÏÔËÒÙÔØ ÆÁÊÌ `%s'"
|
||||
|
||||
#: src/files.c:163
|
||||
#: src/files.c:170
|
||||
msgid "cannot close file"
|
||||
msgstr "ÎÅ ÕÄÁÅÔÓÑ ÚÁËÒÙÔØ ÆÁÊÌ"
|
||||
|
||||
@@ -183,7 +188,6 @@ msgstr ""
|
||||
" -k, --token-table ×ËÌÀÞÉÔØ ÔÁÂÌÉÃÕ ÉÍÅÎ ÌÅËÓÅÍ\n"
|
||||
|
||||
#: src/getargs.c:117
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
" -d, --defines also produce a header file\n"
|
||||
@@ -197,7 +201,7 @@ msgstr ""
|
||||
" -d, --defines ÓÏÚÄÁÔØ ÔÁËÖÅ ÆÁÊÌ ÚÁÇÏÌÏ×ËÏ×\n"
|
||||
" -v, --verbose ÓÏÚÄÁÔØ ÔÁËÖÅ ÐÏÑÓÎÅÎÉÑ × Á×ÔÏÍÁÔÕ\n"
|
||||
" -b, --file-prefix=ðòåæéëó ÕËÁÚÁÔØ ðòåæéëó ÄÌÑ ×ÙÈÏÄÎÙÈ ÆÁÊÌÏ×\n"
|
||||
" -o, --output-file=æáêì ÐÏÍÅÓÔÉÔØ ÒÅÚÕÌØÔÁÔ × æáêì\n"
|
||||
" -o, --output=æáêì ÐÏÍÅÓÔÉÔØ ÒÅÚÕÌØÔÁÔ × æáêì\n"
|
||||
" -g, --graph ÓÏÚÄÁÔØ ÔÁËÖÅ ÐÏÑÓÎÅÎÉÑ Ë Á×ÔÏÍÁÔÕ × ×ÉÄÅ \n"
|
||||
"VCG-ÇÒÁÆÁ\n"
|
||||
|
||||
@@ -214,11 +218,13 @@ msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:146
|
||||
msgid ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001, 2002\n"
|
||||
"Free Software Foundation, Inc.\n"
|
||||
msgstr ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001, 2002\n"
|
||||
"Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:150
|
||||
#: src/getargs.c:151
|
||||
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"
|
||||
@@ -229,22 +235,22 @@ msgstr ""
|
||||
"ðòéçïäîïóôé\n"
|
||||
"äìñ ïðòåäåìåîîïê ãåìé.\n"
|
||||
|
||||
#: src/getargs.c:215 src/lex.c:694
|
||||
#: src/getargs.c:230 src/lex.c:705
|
||||
#, c-format
|
||||
msgid "`%s' is no longer supported"
|
||||
msgstr "`%s' ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
|
||||
|
||||
#: src/getargs.c:239
|
||||
#: src/getargs.c:254
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "éÓÐÏÌØÚÕÊÔÅ `%s --help' ÄÌÑ ÄÏÐÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n"
|
||||
|
||||
#: src/getargs.c:246
|
||||
#: src/getargs.c:261
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: ÎÅ ÚÁÄÁÎ ÆÁÊÌ Ó ÇÒÁÍÍÁÔÉËÏÊ\n"
|
||||
|
||||
#: src/getargs.c:250
|
||||
#: src/getargs.c:265
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: ÌÉÛÎÉÅ ÁÒÇÕÍÅÎÔÙ ÐÏÓÌÅ `%s' ÉÇÎÏÒÉÒÏ×ÁÎÙ\n"
|
||||
@@ -297,15 +303,15 @@ msgstr "
|
||||
msgid "use \"...\" for multi-character literal tokens"
|
||||
msgstr "ÉÓÐÏÌØÚÕÊÔÅ \"...\" ÄÌÑ ÍÎÏÇÏÓÉÍ×ÏÌØÎÙÈ ÌÉÔÅÒÁÌØÎÙÈ ÌÅËÓÅÍ"
|
||||
|
||||
#: src/lex.c:667
|
||||
#: src/lex.c:678
|
||||
#, c-format
|
||||
msgid "`%s' supports no argument: %s"
|
||||
msgstr ""
|
||||
msgstr "`%s' ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÁÒÇÕÍÅÎÔÁ %s"
|
||||
|
||||
#: src/lex.c:683
|
||||
#, fuzzy, c-format
|
||||
#: src/lex.c:694
|
||||
#, c-format
|
||||
msgid "`%s' requires an argument"
|
||||
msgstr "%s: ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ\n"
|
||||
msgstr "ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ"
|
||||
|
||||
#: src/output.c:951
|
||||
#, c-format
|
||||
@@ -362,16 +368,16 @@ msgstr "
|
||||
|
||||
#: src/print.c:212
|
||||
msgid "Number, Line, Rule"
|
||||
msgstr ""
|
||||
msgstr "îÏÍÅÒ, óÔÒÏËÁ, ðÒÁ×ÉÌÏ"
|
||||
|
||||
#: src/print.c:217
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid " %3d %3d %s ->"
|
||||
msgstr "ÐÒÁ×ÉÌÏ %-4d %s ->"
|
||||
msgstr " %3d %3d %s ->"
|
||||
|
||||
#: src/print.c:224
|
||||
msgid "empty"
|
||||
msgstr ""
|
||||
msgstr "ÐÕÓÔÏ"
|
||||
|
||||
#. TERMINAL (type #) : rule #s terminal is on RHS
|
||||
#: src/print.c:231
|
||||
@@ -430,204 +436,213 @@ msgstr "
|
||||
msgid "unterminated string"
|
||||
msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ"
|
||||
|
||||
#: src/reader.c:336 src/reader.c:400
|
||||
#: src/reader.c:339
|
||||
#, fuzzy
|
||||
msgid "invalid @ value"
|
||||
msgstr "ÎÅ×ÅÒÎÏÅ $ ÚÎÁÞÅÎÉÅ"
|
||||
|
||||
#: src/reader.c:352 src/reader.c:416
|
||||
#, c-format
|
||||
msgid "%s is invalid"
|
||||
msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË %s"
|
||||
|
||||
#: src/reader.c:376
|
||||
#: src/reader.c:392
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "$$ × `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
|
||||
|
||||
#: src/reader.c:393
|
||||
#: src/reader.c:409
|
||||
#, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "$%d ÉÚ `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
|
||||
|
||||
#: src/reader.c:447
|
||||
#: src/reader.c:463
|
||||
msgid "unterminated `%{' definition"
|
||||
msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ `%{'"
|
||||
|
||||
#: src/reader.c:492 src/reader.c:607 src/reader.c:657
|
||||
#: src/reader.c:508 src/reader.c:623 src/reader.c:673
|
||||
#, c-format
|
||||
msgid "Premature EOF after %s"
|
||||
msgstr "ðÒÅÖÄÅ×ÒÅÍÅÎÎÙÊ ËÏÎÅà ÆÁÊÌÁ ÐÏÓÌÅ %s"
|
||||
|
||||
#: src/reader.c:509
|
||||
#: src/reader.c:525
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:512
|
||||
#: src/reader.c:528
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:533 src/reader.c:676
|
||||
#: src/reader.c:549 src/reader.c:692
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ %s"
|
||||
|
||||
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1292
|
||||
#: src/reader.c:559 src/reader.c:638 src/reader.c:699 src/reader.c:1314
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÉÓÁÎÉÅ ÔÉÐÁ ÄÌÑ %s"
|
||||
|
||||
#: src/reader.c:552
|
||||
#: src/reader.c:568
|
||||
#, c-format
|
||||
msgid "`%s' is invalid in %s"
|
||||
msgstr "`%s' ÎÅ×ÅÒÎÏ × %s"
|
||||
|
||||
#: src/reader.c:570 src/reader.c:735
|
||||
#: src/reader.c:586 src/reader.c:751
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %s"
|
||||
|
||||
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1270
|
||||
#: src/reader.c:588 src/reader.c:930 src/reader.c:955 src/reader.c:1292
|
||||
#, c-format
|
||||
msgid "invalid %s declaration"
|
||||
msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %s"
|
||||
|
||||
#: src/reader.c:592
|
||||
#: src/reader.c:608
|
||||
msgid "%type declaration has no <typename>"
|
||||
msgstr "ÏÐÉÓÁÎÉÅ %type ÎÅ ÉÍÅÅÔ <ÉÍÑ_ÔÉÐÁ>"
|
||||
|
||||
#: src/reader.c:627
|
||||
#: src/reader.c:643
|
||||
#, c-format
|
||||
msgid "invalid %%type declaration due to item: %s"
|
||||
msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %%type ÉÚ-ÚÁ ÜÌÅÍÅÎÔÁ: %s"
|
||||
|
||||
#: src/reader.c:672
|
||||
#: src/reader.c:688
|
||||
#, c-format
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÅ ÐÒÉÏÒÉÔÅÔÁ ÄÌÑ %s"
|
||||
|
||||
#: src/reader.c:695
|
||||
#: src/reader.c:711
|
||||
#, c-format
|
||||
msgid "invalid text (%s) - number should be after identifier"
|
||||
msgstr "ÎÅ×ÅÒÎÙÊ ÔÅËÓÔ (%s) - ÞÉÓÌÏ ÄÏÌÖÎÏ ÓÌÅÄÏ×ÁÔØ ÚÁ ÉÄÅÎÔÉÆÉËÁÔÏÒÏÍ"
|
||||
|
||||
#: src/reader.c:705
|
||||
#: src/reader.c:721
|
||||
#, c-format
|
||||
msgid "unexpected item: %s"
|
||||
msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ÜÌÅÍÅÎÔ: %s"
|
||||
|
||||
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1181
|
||||
#: src/reader.c:794 src/reader.c:1126 src/reader.c:1203
|
||||
#, c-format
|
||||
msgid "unmatched %s"
|
||||
msgstr "ÎÅÐÁÒÎÁÑ %s"
|
||||
|
||||
#: src/reader.c:810
|
||||
#: src/reader.c:826
|
||||
#, c-format
|
||||
msgid "argument of %%expect is not an integer"
|
||||
msgstr "ÁÒÇÕÍÅÎÔ %%expect ÎÅ Ñ×ÌÑÅÔÓÑ ÃÅÌÙÍ ÞÉÓÌÏÍ"
|
||||
|
||||
#: src/reader.c:856
|
||||
#: src/reader.c:872
|
||||
#, c-format
|
||||
msgid "unrecognized item %s, expected an identifier"
|
||||
msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÜÌÅÍÅÎÔ %s, ÏÖÉÄÁÌÓÑ ÉÄÅÎÔÉÆÉËÁÔÏÒ"
|
||||
|
||||
#: src/reader.c:878
|
||||
#: src/reader.c:894
|
||||
#, c-format
|
||||
msgid "expected string constant instead of %s"
|
||||
msgstr "×ÍÅÓÔÏ %s ÏÖÉÄÁÌÁÓØ ÓÔÒÏËÏ×ÁÑ ÐÏÓÔÏÑÎÎÁÑ"
|
||||
|
||||
#: src/reader.c:1026
|
||||
#: src/reader.c:1042
|
||||
#, c-format
|
||||
msgid "unrecognized: %s"
|
||||
msgstr "ÎÅÒÁÓÐÏÚÎÁÎÏ: %s"
|
||||
|
||||
#: src/reader.c:1031
|
||||
#: src/reader.c:1047
|
||||
msgid "no input grammar"
|
||||
msgstr "ÎÅÔ ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÉ"
|
||||
|
||||
#: src/reader.c:1036
|
||||
#: src/reader.c:1052
|
||||
#, c-format
|
||||
msgid "unknown character: %s"
|
||||
msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ: %s"
|
||||
|
||||
#: src/reader.c:1204
|
||||
#: src/reader.c:1226
|
||||
#, c-format
|
||||
msgid "unterminated %guard clause"
|
||||
msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ÏÐÅÒÁÔÏÒ %guard"
|
||||
|
||||
#: src/reader.c:1357
|
||||
#: src/reader.c:1379
|
||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||
msgstr "ÎÅ×ÅÒÎÏÅ ÐÒÁ×ÉÌÏ: Ä×ÏÅÔÏÞÉÅ ÎÅ ÓÌÅÄÕÅÔ ÚÁ ÎÁÞÁÌØÎÙÍ ÓÉÍ×ÏÌÏÍ"
|
||||
|
||||
#: src/reader.c:1364
|
||||
#: src/reader.c:1386
|
||||
msgid "grammar starts with vertical bar"
|
||||
msgstr "ÇÒÁÍÍÁÔÉËÁ ÎÁÞÉÎÁÅÔÓÑ Ó ×ÅÒÔÉËÁÌØÎÏÊ ÞÅÒÔÙ"
|
||||
|
||||
#: src/reader.c:1392
|
||||
#: src/reader.c:1414
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "ÐÒÁ×ÉÌÏ ÚÁÄÁÎÏ ÄÌÑ %s, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
|
||||
|
||||
#: src/reader.c:1492
|
||||
#: src/reader.c:1444 src/reader.c:1556
|
||||
msgid "previous rule lacks an ending `;'"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:1517
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "Ä×Á @prec ÐÏÄÒÑÄ"
|
||||
|
||||
#: src/reader.c:1500
|
||||
#: src/reader.c:1525
|
||||
#, c-format
|
||||
msgid "%%guard present but %%semantic_parser not specified"
|
||||
msgstr "%%guard ÐÒÉÓÕÔÓÔ×ÕÅÔ, Á %%semantic_parser ÎÅ ÚÁÄÁÎ"
|
||||
|
||||
#: src/reader.c:1509
|
||||
#: src/reader.c:1534
|
||||
msgid "two actions at end of one rule"
|
||||
msgstr "Ä×Á ÄÅÊÓÔ×ÉÑ × ËÏÎÃÅ ÏÄÎÏÇÏ ÐÒÁ×ÉÌÁ"
|
||||
|
||||
#: src/reader.c:1523
|
||||
#: src/reader.c:1548
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "ËÏÎÆÌÉËÔ ÔÉÐÏ× (`%s' `%s') ÎÁ ÄÅÊÓÔ×ÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ"
|
||||
|
||||
#: src/reader.c:1529
|
||||
#: src/reader.c:1554
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr ""
|
||||
"ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ"
|
||||
|
||||
#: src/reader.c:1573
|
||||
#: src/reader.c:1600
|
||||
#, c-format
|
||||
msgid "invalid input: %s"
|
||||
msgstr "ÎÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ: %s"
|
||||
|
||||
#: src/reader.c:1581
|
||||
#: src/reader.c:1608
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ÐÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %d"
|
||||
|
||||
#: src/reader.c:1584
|
||||
#: src/reader.c:1611
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ"
|
||||
|
||||
#: src/reader.c:1608
|
||||
#: src/reader.c:1635
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr "ÓÉÍ×ÏÌ %s ÉÓÐÏÌØÚÕÅÔÓÑ, ÎÏ ÎÅ ÏÐÒÅÄÅÌÅÎ ËÁË ÌÅËÓÅÍÁ É ÎÅ ÉÍÅÅÔ ÐÒÁ×ÉÌ"
|
||||
|
||||
#: src/reader.c:1743
|
||||
#: src/reader.c:1770
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "ÏÂÅÉÍ ÌÅËÓÅÍÁÍ %s É %s ÐÒÉÓ×ÏÅÎ ÎÏÍÅÒ %d"
|
||||
|
||||
#: src/reader.c:1796
|
||||
#: src/reader.c:1823
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÐÒÉÏÒÉÔÅÔÙ ÄÌÑ %s É %s"
|
||||
|
||||
#: src/reader.c:1808
|
||||
#: src/reader.c:1835
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÚÎÁÞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s É %s"
|
||||
|
||||
#: src/reader.c:1847
|
||||
#: src/reader.c:1874
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅÏÐÒÅÄÅÌÅÎ"
|
||||
|
||||
#: src/reader.c:1849
|
||||
#: src/reader.c:1876
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
|
||||
@@ -645,26 +660,32 @@ msgid "Useless rules:"
|
||||
msgstr "âÅÓÐÏÌÅÚÎÙÅ ÐÒÁ×ÉÌÁ:"
|
||||
|
||||
#: src/reduce.c:503
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "%d rule never reduced\n"
|
||||
msgid_plural "%d rules never reduced\n"
|
||||
msgstr[0] "%d ÐÒÁ×ÉÌ ÎÅ Ó×ÅÄÅÎÏ\n"
|
||||
msgstr[0] "%d ÐÒÁ×ÉÌÏ ÎÅ Ó×ÅÄÅÎÏ\n"
|
||||
msgstr[1] "%d ÐÒÁ×ÉÌÁ ÎÅ Ó×ÅÄÅÎÏ\n"
|
||||
msgstr[2] "%d ÐÒÁ×ÉÌ ÎÅ Ó×ÅÄÅÎÏ\n"
|
||||
|
||||
#: src/reduce.c:511
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal"
|
||||
msgid_plural "%d useless nonterminals"
|
||||
msgstr[0] "%d ÂÅÓÐÏÌÅÚÎÙÈ ÎÅÔÅÒÍÉÎÁÌÏ×%s"
|
||||
msgstr[0] "%d ÂÅÓÐÏÌÅÚÎÙÊ ÎÅÔÅÒÍÉÎÁÌ"
|
||||
msgstr[1] "%d ÂÅÓÐÏÌÅÚÎÙÈ ÎÅÔÅÒÍÉÎÁÌÁ"
|
||||
msgstr[2] "%d ÂÅÓÐÏÌÅÚÎÙÈ ÎÅÔÅÒÍÉÎÁÌÏ×"
|
||||
|
||||
#: src/reduce.c:517
|
||||
msgid " and "
|
||||
msgstr " É "
|
||||
|
||||
#: src/reduce.c:520
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "%d useless rule"
|
||||
msgid_plural "%d useless rules"
|
||||
msgstr[0] "%d ÂÅÓÐÏÌÅÚÎÙÈ ÐÒÁ×ÉÌ%s"
|
||||
msgstr[0] "%d ÂÅÓÐÏÌÅÚÎÏÅ ÐÒÁ×ÉÌÏ"
|
||||
msgstr[1] "%d ÂÅÓÐÏÌÅÚÎÙÈ ÐÒÁ×ÉÌÁ"
|
||||
msgstr[2] "%d ÂÅÓÐÏÌÅÚÎÙÈ ÐÒÁ×ÉÌ"
|
||||
|
||||
#: src/reduce.c:551
|
||||
#, c-format
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# Swedish messages for bison.
|
||||
# Copyright © 2001 Free Software Foundation, Inc.
|
||||
# Göran Uddeborg <[email protected]>, 2001.
|
||||
# Copyright © 2001, 2002 Free Software Foundation, Inc.
|
||||
# Göran Uddeborg <[email protected]>, 2001, 2002.
|
||||
# $Revision$
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bison 1.30f\n"
|
||||
"POT-Creation-Date: 2001-12-13 11:59+0100\n"
|
||||
"PO-Revision-Date: 2001-12-06 22:33+0100\n"
|
||||
"Project-Id-Version: bison 1.33\n"
|
||||
"POT-Creation-Date: 2002-03-04 19:13+0100\n"
|
||||
"PO-Revision-Date: 2002-02-07 22:57+0100\n"
|
||||
"Last-Translator: Göran Uddeborg <[email protected]>\n"
|
||||
"Language-Team: Swedish <[email protected]>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -94,19 +94,19 @@ msgstr " %d reducera/reducera"
|
||||
msgid "%s contains "
|
||||
msgstr "%s innehåller "
|
||||
|
||||
#: src/conflicts.c:405
|
||||
#: src/conflicts.c:412
|
||||
#, c-format
|
||||
msgid "expected %d shift/reduce conflict\n"
|
||||
msgid_plural "expected %d shift/reduce conflicts\n"
|
||||
msgstr[0] "förväntade %d skifta/reducerakonflikt\n"
|
||||
msgstr[1] "förväntade %d skifta/reducerakonflikter\n"
|
||||
|
||||
#: src/conflicts.c:457 src/conflicts.c:534
|
||||
#: src/conflicts.c:463 src/conflicts.c:540
|
||||
#, c-format
|
||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||
msgstr " %-4s\t[reducera med regel %d (%s)]\n"
|
||||
|
||||
#: src/conflicts.c:461 src/print.c:154
|
||||
#: src/conflicts.c:467 src/print.c:154
|
||||
#, c-format
|
||||
msgid ""
|
||||
" $default\treduce using rule %d (%s)\n"
|
||||
@@ -115,22 +115,22 @@ msgstr ""
|
||||
" $standard\treducera med regel %d (%s)\n"
|
||||
"\n"
|
||||
|
||||
#: src/conflicts.c:515 src/conflicts.c:528
|
||||
#: src/conflicts.c:521 src/conflicts.c:534
|
||||
#, c-format
|
||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||
msgstr " %-4s\treducera med regel %d (%s)\n"
|
||||
|
||||
#: src/conflicts.c:544
|
||||
#: src/conflicts.c:550
|
||||
#, c-format
|
||||
msgid " $default\treduce using rule %d (%s)\n"
|
||||
msgstr " $standard\treducera med regel %d (%s)\n"
|
||||
|
||||
#: src/files.c:144
|
||||
#: src/files.c:151
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "kan inte öppna filen \"%s\""
|
||||
|
||||
#: src/files.c:163
|
||||
#: src/files.c:170
|
||||
msgid "cannot close file"
|
||||
msgstr "kan inte stänga fil"
|
||||
|
||||
@@ -207,7 +207,7 @@ msgstr ""
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr ""
|
||||
"Rapportera fel till <[email protected]>.\n"
|
||||
"Rapportera anmärkningar på översättningen till <[email protected]>.\n"
|
||||
"Rapportera synpunkter på översättningen till <[email protected]>.\n"
|
||||
|
||||
#. Some efforts were made to ease the translators' task, please
|
||||
#. continue.
|
||||
@@ -218,11 +218,13 @@ msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:146
|
||||
msgid ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001, 2002\n"
|
||||
"Free Software Foundation, Inc.\n"
|
||||
msgstr ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001, 2002\n"
|
||||
"Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:150
|
||||
#: src/getargs.c:151
|
||||
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 +233,22 @@ msgstr ""
|
||||
"finns INGEN garanti, inte ens för SÄLJBARHET eller LÄMPLIGHET FÖR ETT\n"
|
||||
"SPECIELLT ÄNDAMÅL.\n"
|
||||
|
||||
#: src/getargs.c:215 src/lex.c:694
|
||||
#: src/getargs.c:230 src/lex.c:705
|
||||
#, c-format
|
||||
msgid "`%s' is no longer supported"
|
||||
msgstr "\"%s\" stöds inte längre"
|
||||
|
||||
#: src/getargs.c:239
|
||||
#: src/getargs.c:254
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Försök med \"%s --help\" för mer information.\n"
|
||||
|
||||
#: src/getargs.c:246
|
||||
#: src/getargs.c:261
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: ingen grammatikfil angiven\n"
|
||||
|
||||
#: src/getargs.c:250
|
||||
#: src/getargs.c:265
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: extra argument ignorerade efter \"%s\"\n"
|
||||
@@ -299,12 +301,12 @@ msgstr "oavslutat typnamn"
|
||||
msgid "use \"...\" for multi-character literal tokens"
|
||||
msgstr "använd \"...\" för bokstavliga element med mer än ett tecken"
|
||||
|
||||
#: src/lex.c:667
|
||||
#: src/lex.c:678
|
||||
#, c-format
|
||||
msgid "`%s' supports no argument: %s"
|
||||
msgstr "\"%s\" stödjer inga argument: %s"
|
||||
|
||||
#: src/lex.c:683
|
||||
#: src/lex.c:694
|
||||
#, c-format
|
||||
msgid "`%s' requires an argument"
|
||||
msgstr "\"%s\" behöver ett argument"
|
||||
@@ -432,205 +434,213 @@ msgstr "oavslutad str
|
||||
msgid "unterminated string"
|
||||
msgstr "oavslutad sträng"
|
||||
|
||||
#: src/reader.c:336 src/reader.c:400
|
||||
#: src/reader.c:339
|
||||
msgid "invalid @ value"
|
||||
msgstr "felaktigt @-värde"
|
||||
|
||||
#: src/reader.c:352 src/reader.c:416
|
||||
#, c-format
|
||||
msgid "%s is invalid"
|
||||
msgstr "%s är felaktigt"
|
||||
|
||||
#: src/reader.c:376
|
||||
#: src/reader.c:392
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "$$ för \"%s\" har ingen deklarerad typ"
|
||||
|
||||
#: src/reader.c:393
|
||||
#: src/reader.c:409
|
||||
#, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "$%d för \"%s\" har ingen deklarerad typ"
|
||||
|
||||
#: src/reader.c:447
|
||||
#: src/reader.c:463
|
||||
msgid "unterminated `%{' definition"
|
||||
msgstr "oavslutad \"%{\"-definition"
|
||||
|
||||
#: src/reader.c:492 src/reader.c:607 src/reader.c:657
|
||||
#: src/reader.c:508 src/reader.c:623 src/reader.c:673
|
||||
#, c-format
|
||||
msgid "Premature EOF after %s"
|
||||
msgstr "Förtida filslut efter %s"
|
||||
|
||||
#: src/reader.c:509
|
||||
#: src/reader.c:525
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr "symbolen \"%s\" används mer än en gång som en bokstavlig sträng"
|
||||
|
||||
#: src/reader.c:512
|
||||
#: src/reader.c:528
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr "symbolen \"%s\" har fått mer än en bokstavlig sträng"
|
||||
|
||||
#: src/reader.c:533 src/reader.c:676
|
||||
#: src/reader.c:549 src/reader.c:692
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "symbolen %s omdefinierad"
|
||||
|
||||
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1292
|
||||
#: src/reader.c:559 src/reader.c:638 src/reader.c:699 src/reader.c:1314
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "typen omdeklarerad för %s"
|
||||
|
||||
#: src/reader.c:552
|
||||
#: src/reader.c:568
|
||||
#, c-format
|
||||
msgid "`%s' is invalid in %s"
|
||||
msgstr "\"%s\" är felaktig i %s"
|
||||
|
||||
#: src/reader.c:570 src/reader.c:735
|
||||
#: src/reader.c:586 src/reader.c:751
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "flera %s-deklarationer"
|
||||
|
||||
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1270
|
||||
#: src/reader.c:588 src/reader.c:930 src/reader.c:955 src/reader.c:1292
|
||||
#, c-format
|
||||
msgid "invalid %s declaration"
|
||||
msgstr "felaktig %s-deklaration"
|
||||
|
||||
#: src/reader.c:592
|
||||
#: src/reader.c:608
|
||||
msgid "%type declaration has no <typename>"
|
||||
msgstr "%type-deklaration har inget <typnamn>"
|
||||
|
||||
#: src/reader.c:627
|
||||
#: src/reader.c:643
|
||||
#, c-format
|
||||
msgid "invalid %%type declaration due to item: %s"
|
||||
msgstr "felaktig %%type-deklaration på grund av objekt: %s"
|
||||
|
||||
#: src/reader.c:672
|
||||
#: src/reader.c:688
|
||||
#, c-format
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "omdefinition av precedens för %s"
|
||||
|
||||
#: src/reader.c:695
|
||||
#: src/reader.c:711
|
||||
#, c-format
|
||||
msgid "invalid text (%s) - number should be after identifier"
|
||||
msgstr "felaktig text (%s) - tal skulle följa efter identifierare"
|
||||
|
||||
#: src/reader.c:705
|
||||
#: src/reader.c:721
|
||||
#, c-format
|
||||
msgid "unexpected item: %s"
|
||||
msgstr "oväntat objekt: %s"
|
||||
|
||||
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1181
|
||||
#: src/reader.c:794 src/reader.c:1126 src/reader.c:1203
|
||||
#, c-format
|
||||
msgid "unmatched %s"
|
||||
msgstr "ensam %s"
|
||||
|
||||
#: src/reader.c:810
|
||||
#: src/reader.c:826
|
||||
#, c-format
|
||||
msgid "argument of %%expect is not an integer"
|
||||
msgstr "argument till %%expect är inte ett heltal"
|
||||
|
||||
#: src/reader.c:856
|
||||
#: src/reader.c:872
|
||||
#, c-format
|
||||
msgid "unrecognized item %s, expected an identifier"
|
||||
msgstr "oväntat objekt %s, förväntade en identifierare"
|
||||
|
||||
#: src/reader.c:878
|
||||
#: src/reader.c:894
|
||||
#, c-format
|
||||
msgid "expected string constant instead of %s"
|
||||
msgstr "förväntade strängkonstant istället för %s"
|
||||
|
||||
#: src/reader.c:1026
|
||||
#: src/reader.c:1042
|
||||
#, c-format
|
||||
msgid "unrecognized: %s"
|
||||
msgstr "okänt: %s"
|
||||
|
||||
#: src/reader.c:1031
|
||||
#: src/reader.c:1047
|
||||
msgid "no input grammar"
|
||||
msgstr "ingen ingrammatik"
|
||||
|
||||
#: src/reader.c:1036
|
||||
#: src/reader.c:1052
|
||||
#, c-format
|
||||
msgid "unknown character: %s"
|
||||
msgstr "okänt tecken: %s"
|
||||
|
||||
#: src/reader.c:1204
|
||||
#: src/reader.c:1226
|
||||
#, c-format
|
||||
msgid "unterminated %guard clause"
|
||||
msgstr "oavlutad %guard-sats"
|
||||
|
||||
#: src/reader.c:1357
|
||||
#: src/reader.c:1379
|
||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||
msgstr "felskriven regel: första symbolen följs inte av ett kolon"
|
||||
|
||||
#: src/reader.c:1364
|
||||
#: src/reader.c:1386
|
||||
msgid "grammar starts with vertical bar"
|
||||
msgstr "grammatiken startar med ett vertikalt streck"
|
||||
|
||||
#: src/reader.c:1392
|
||||
#: src/reader.c:1414
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "regel given för %s, som är ett element"
|
||||
|
||||
#: src/reader.c:1492
|
||||
#: src/reader.c:1444 src/reader.c:1556
|
||||
msgid "previous rule lacks an ending `;'"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:1517
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "två @prec i rad"
|
||||
|
||||
#: src/reader.c:1500
|
||||
#: src/reader.c:1525
|
||||
#, c-format
|
||||
msgid "%%guard present but %%semantic_parser not specified"
|
||||
msgstr "%%guard finns men %%semantic_parser är inte angiven"
|
||||
|
||||
#: src/reader.c:1509
|
||||
#: src/reader.c:1534
|
||||
msgid "two actions at end of one rule"
|
||||
msgstr "två åtgärder vid slutet av en regel"
|
||||
|
||||
#: src/reader.c:1523
|
||||
#: src/reader.c:1548
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "typkonflikt (\"%s\" \"%s\") för standardåtgärd"
|
||||
|
||||
#: src/reader.c:1529
|
||||
#: src/reader.c:1554
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "tom regel för typad icketerminal, och ingen åtgärd"
|
||||
|
||||
#: src/reader.c:1573
|
||||
#: src/reader.c:1600
|
||||
#, c-format
|
||||
msgid "invalid input: %s"
|
||||
msgstr "felaktig indata: %s"
|
||||
|
||||
#: src/reader.c:1581
|
||||
#: src/reader.c:1608
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "för många symboler (element plus icketerminaler); max %d"
|
||||
|
||||
#: src/reader.c:1584
|
||||
#: src/reader.c:1611
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "inga regler i ingrammatiken"
|
||||
|
||||
#: src/reader.c:1608
|
||||
#: src/reader.c:1635
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"symbolen %s används, men är inte definierad som ett element och har inga "
|
||||
"regler"
|
||||
|
||||
#: src/reader.c:1743
|
||||
#: src/reader.c:1770
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "elementen %s och %s har båda fått nummer %d"
|
||||
|
||||
#: src/reader.c:1796
|
||||
#: src/reader.c:1823
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "motstridiga precedenser mellan %s och %s"
|
||||
|
||||
#: src/reader.c:1808
|
||||
#: src/reader.c:1835
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "motstridiga assoc-värden mellan %s och %s"
|
||||
|
||||
#: src/reader.c:1847
|
||||
#: src/reader.c:1874
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "startsymbolen %s är odefinierad"
|
||||
|
||||
#: src/reader.c:1849
|
||||
#: src/reader.c:1876
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "startsymbolen %s är ett element"
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
# Turkish translations for GNU Bison messages.
|
||||
# Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
# Altug Bayram <[email protected]>, 2001.
|
||||
# Altuð Bayram <[email protected]>, 2001.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bison 1.30f\n"
|
||||
"POT-Creation-Date: 2001-12-13 11:59+0100\n"
|
||||
"PO-Revision-Date: 2001-12-06 12:09+300\n"
|
||||
"Last-Translator: Altug Bayram <[email protected]>\n"
|
||||
"Project-Id-Version: bison 1.33\n"
|
||||
"POT-Creation-Date: 2002-03-04 19:13+0100\n"
|
||||
"PO-Revision-Date: 2002-02-08 18:51+0200\n"
|
||||
"Last-Translator: Altuð Bayram <[email protected]>\n"
|
||||
"Language-Team: Turkish <[email protected]>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=ISO-8859-9\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: KBabel 0.9.5\n"
|
||||
|
||||
#: src/LR0.c:189
|
||||
@@ -82,7 +83,7 @@ msgstr "
|
||||
#: src/conflicts.c:389
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
msgstr " %d shift/reduce"
|
||||
msgstr " %d öteleme/indirgeme"
|
||||
|
||||
#: src/conflicts.c:393
|
||||
#, c-format
|
||||
@@ -94,19 +95,19 @@ msgstr " %d indirgeme/indirgeme"
|
||||
msgid "%s contains "
|
||||
msgstr "%s içerir"
|
||||
|
||||
#: src/conflicts.c:405
|
||||
#: src/conflicts.c:412
|
||||
#, c-format
|
||||
msgid "expected %d shift/reduce conflict\n"
|
||||
msgid_plural "expected %d shift/reduce conflicts\n"
|
||||
msgstr[0] "beklenen %d öteleme/indirgeme çeliþkisi\n"
|
||||
msgstr[1] "beklenen %d öteleme/indirgeme çeliþkisi\n"
|
||||
|
||||
#: src/conflicts.c:457 src/conflicts.c:534
|
||||
#: src/conflicts.c:463 src/conflicts.c:540
|
||||
#, 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:461 src/print.c:154
|
||||
#: src/conflicts.c:467 src/print.c:154
|
||||
#, c-format
|
||||
msgid ""
|
||||
" $default\treduce using rule %d (%s)\n"
|
||||
@@ -115,22 +116,22 @@ msgstr ""
|
||||
" $default\tindirgeme kural %d (%s)'i kullanýyor\n"
|
||||
"\n"
|
||||
|
||||
#: src/conflicts.c:515 src/conflicts.c:528
|
||||
#: src/conflicts.c:521 src/conflicts.c:534
|
||||
#, c-format
|
||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||
msgstr " %-4s\tindirgeme kural %d (%s)'i kullanýyor\n"
|
||||
|
||||
#: src/conflicts.c:544
|
||||
#: src/conflicts.c:550
|
||||
#, c-format
|
||||
msgid " $default\treduce using rule %d (%s)\n"
|
||||
msgstr " $default\tindirgeme kural %d (%s)'i kullanýyor\n"
|
||||
|
||||
#: src/files.c:144
|
||||
#: src/files.c:151
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "`%s' dosyasý açýlamadý"
|
||||
|
||||
#: src/files.c:163
|
||||
#: src/files.c:170
|
||||
msgid "cannot close file"
|
||||
msgstr "dosya kapatýlamýyor"
|
||||
|
||||
@@ -219,12 +220,13 @@ msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:146
|
||||
msgid ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001, 2002\n"
|
||||
"Free Software Foundation, Inc.\n"
|
||||
msgstr ""
|
||||
"Kopyahakký 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, "
|
||||
"Inc.\n"
|
||||
"Kopyahakký 1984, 1986, 1989, 1992, 2000, 2001, 2002\n"
|
||||
"Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:150
|
||||
#: src/getargs.c:151
|
||||
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"
|
||||
@@ -233,22 +235,22 @@ msgstr ""
|
||||
"Hiçbir garantisi yoktur; hatta SATILABÝLÝRLÝÐÝ veya ÞAHSÝ KULLANIMINIZA\n"
|
||||
"UYGUNLUÐU için bile garanti verilmez.\n"
|
||||
|
||||
#: src/getargs.c:215 src/lex.c:694
|
||||
#: src/getargs.c:230 src/lex.c:705
|
||||
#, c-format
|
||||
msgid "`%s' is no longer supported"
|
||||
msgstr "`%s' artýk desteklenmeyecek"
|
||||
|
||||
#: src/getargs.c:239
|
||||
#: src/getargs.c:254
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Daha fazla bilgi için `%s --help' yazýn.\n"
|
||||
|
||||
#: src/getargs.c:246
|
||||
#: src/getargs.c:261
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: gramer dosyasý verilmemiþ\n"
|
||||
|
||||
#: src/getargs.c:250
|
||||
#: src/getargs.c:265
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: '%s' den sonraki argümanlar yoksayýldý\n"
|
||||
@@ -301,12 +303,12 @@ msgstr "sonland
|
||||
msgid "use \"...\" for multi-character literal tokens"
|
||||
msgstr "çok-karakterli yazýn andaçlarý için \"...\" kullan"
|
||||
|
||||
#: src/lex.c:667
|
||||
#: src/lex.c:678
|
||||
#, c-format
|
||||
msgid "`%s' supports no argument: %s"
|
||||
msgstr "`%s' argüman %s'i desteklemez"
|
||||
|
||||
#: src/lex.c:683
|
||||
#: src/lex.c:694
|
||||
#, c-format
|
||||
msgid "`%s' requires an argument"
|
||||
msgstr "`%s' bir argüman gerektirir"
|
||||
@@ -434,212 +436,220 @@ msgstr "dosyan
|
||||
msgid "unterminated string"
|
||||
msgstr "sonlandýrýlmamýþ dizge"
|
||||
|
||||
#: src/reader.c:336 src/reader.c:400
|
||||
#: src/reader.c:339
|
||||
msgid "invalid @ value"
|
||||
msgstr "geçersiz @ deðeri"
|
||||
|
||||
#: src/reader.c:352 src/reader.c:416
|
||||
#, c-format
|
||||
msgid "%s is invalid"
|
||||
msgstr "%s geçersizdir"
|
||||
|
||||
#: src/reader.c:376
|
||||
#: src/reader.c:392
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "`%s''in $$'ý bildirilmiþ tip deðil"
|
||||
|
||||
#: src/reader.c:393
|
||||
#: src/reader.c:409
|
||||
#, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "`%2$s''in %1$d'i bildirilmiþ tip deðil"
|
||||
|
||||
#: src/reader.c:447
|
||||
#: src/reader.c:463
|
||||
msgid "unterminated `%{' definition"
|
||||
msgstr "`%{' tanýmlamasý sonlandýrýlmamýþ"
|
||||
|
||||
#: src/reader.c:492 src/reader.c:607 src/reader.c:657
|
||||
#: src/reader.c:508 src/reader.c:623 src/reader.c:673
|
||||
#, c-format
|
||||
msgid "Premature EOF after %s"
|
||||
msgstr "%s'den sonra erken EOF"
|
||||
|
||||
#: src/reader.c:509
|
||||
#: src/reader.c:525
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr "simge `%s' bir harfiyen uyumlu dizgi gibi birden fazla kullanýldý"
|
||||
|
||||
#: src/reader.c:512
|
||||
#: src/reader.c:528
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr "simge `%s' bir harfiyen uyumlu dizgi gibi birden fazla verilmiþ"
|
||||
|
||||
#: src/reader.c:533 src/reader.c:676
|
||||
#: src/reader.c:549 src/reader.c:692
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "%s simgesi yeniden tanýmlandý"
|
||||
|
||||
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1292
|
||||
#: src/reader.c:559 src/reader.c:638 src/reader.c:699 src/reader.c:1314
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "%s için yeniden tip bildirimi"
|
||||
|
||||
#: src/reader.c:552
|
||||
#: src/reader.c:568
|
||||
#, c-format
|
||||
msgid "`%s' is invalid in %s"
|
||||
msgstr "`%s' %s içinde geçersizdir"
|
||||
|
||||
#: src/reader.c:570 src/reader.c:735
|
||||
#: src/reader.c:586 src/reader.c:751
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "çoklu %s bildirimleri"
|
||||
|
||||
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1270
|
||||
#: src/reader.c:588 src/reader.c:930 src/reader.c:955 src/reader.c:1292
|
||||
#, c-format
|
||||
msgid "invalid %s declaration"
|
||||
msgstr "geçersiz %s bildirimi"
|
||||
|
||||
#: src/reader.c:592
|
||||
#: src/reader.c:608
|
||||
msgid "%type declaration has no <typename>"
|
||||
msgstr "%type bildirimi <tipadý>'na sahip deðil"
|
||||
|
||||
#: src/reader.c:627
|
||||
#: src/reader.c:643
|
||||
#, c-format
|
||||
msgid "invalid %%type declaration due to item: %s"
|
||||
msgstr "geçersiz %%type bildirimine neden olan öðe: `%s'"
|
||||
|
||||
#: src/reader.c:672
|
||||
#: src/reader.c:688
|
||||
#, c-format
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "%s'in önceliði tekrar tanýmlandý"
|
||||
|
||||
#: src/reader.c:695
|
||||
#: src/reader.c:711
|
||||
#, c-format
|
||||
msgid "invalid text (%s) - number should be after identifier"
|
||||
msgstr "geçersiz metin (%s) - sayý tanýtýcýdan sonra olmalýdýr"
|
||||
|
||||
#: src/reader.c:705
|
||||
#: src/reader.c:721
|
||||
#, c-format
|
||||
msgid "unexpected item: %s"
|
||||
msgstr "beklenmeyen öðe: %s"
|
||||
|
||||
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1181
|
||||
#: src/reader.c:794 src/reader.c:1126 src/reader.c:1203
|
||||
#, c-format
|
||||
msgid "unmatched %s"
|
||||
msgstr "eþlenemeyen %s"
|
||||
|
||||
#: src/reader.c:810
|
||||
#: src/reader.c:826
|
||||
#, c-format
|
||||
msgid "argument of %%expect is not an integer"
|
||||
msgstr "%%expect'in argümaný bir tamsayý deðildir"
|
||||
|
||||
#: src/reader.c:856
|
||||
#: src/reader.c:872
|
||||
#, c-format
|
||||
msgid "unrecognized item %s, expected an identifier"
|
||||
msgstr "%s öðesi tanýnmadý, beklenen bir tanýtýcýdýr"
|
||||
|
||||
#: src/reader.c:878
|
||||
#: src/reader.c:894
|
||||
#, c-format
|
||||
msgid "expected string constant instead of %s"
|
||||
msgstr "%s'in yerine sabit dizge beklendi"
|
||||
|
||||
#: src/reader.c:1026
|
||||
#: src/reader.c:1042
|
||||
#, c-format
|
||||
msgid "unrecognized: %s"
|
||||
msgstr "tanýnmayan: %s"
|
||||
|
||||
#: src/reader.c:1031
|
||||
#: src/reader.c:1047
|
||||
msgid "no input grammar"
|
||||
msgstr "girdi grameri yok"
|
||||
|
||||
#: src/reader.c:1036
|
||||
#: src/reader.c:1052
|
||||
#, c-format
|
||||
msgid "unknown character: %s"
|
||||
msgstr "bilinmeyen karakter: %s"
|
||||
|
||||
#: src/reader.c:1204
|
||||
#: src/reader.c:1226
|
||||
#, c-format
|
||||
msgid "unterminated %guard clause"
|
||||
msgstr "sonlandýrýlmamýþ %guard yantümcesi"
|
||||
|
||||
#: src/reader.c:1357
|
||||
#: src/reader.c:1379
|
||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||
msgstr "kötü-biçemli kural: baþlangýç simgesini takip eden \":\" yok"
|
||||
|
||||
#: src/reader.c:1364
|
||||
#: src/reader.c:1386
|
||||
msgid "grammar starts with vertical bar"
|
||||
msgstr "gramer düþey çubuk ile baþlýyor"
|
||||
|
||||
#: src/reader.c:1392
|
||||
#: src/reader.c:1414
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "bir andaç olan %s için verilen kural"
|
||||
|
||||
#: src/reader.c:1492
|
||||
#: src/reader.c:1444 src/reader.c:1556
|
||||
msgid "previous rule lacks an ending `;'"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:1517
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "bir satýrda iki @prec"
|
||||
|
||||
#: src/reader.c:1500
|
||||
#: src/reader.c:1525
|
||||
#, c-format
|
||||
msgid "%%guard present but %%semantic_parser not specified"
|
||||
msgstr "%%guard sunulmuþ fakat %%semantic_parser belirlenmemiþ"
|
||||
|
||||
#: src/reader.c:1509
|
||||
#: src/reader.c:1534
|
||||
msgid "two actions at end of one rule"
|
||||
msgstr "bir kuralýn sonunda iki eylem"
|
||||
|
||||
#: src/reader.c:1523
|
||||
#: src/reader.c:1548
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "öntanýmlý eylem üzerinde (`%s' `%s') tip çatýþmasý"
|
||||
|
||||
#: src/reader.c:1529
|
||||
#: src/reader.c:1554
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr ""
|
||||
"Tipli deðiþken simge için boþ kural tanýmlanmýþ, ve eylem belirtilmemiþ"
|
||||
|
||||
#: src/reader.c:1573
|
||||
#: src/reader.c:1600
|
||||
#, c-format
|
||||
msgid "invalid input: %s"
|
||||
msgstr "geçersiz girdi: %s"
|
||||
|
||||
#: src/reader.c:1581
|
||||
#: src/reader.c:1608
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "çok fazla simge var (andaçlar ve deðiþken simgeler); en fazla %d"
|
||||
|
||||
#: src/reader.c:1584
|
||||
#: src/reader.c:1611
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "girdi grameri içinde kurallar yok"
|
||||
|
||||
#: src/reader.c:1608
|
||||
#: src/reader.c:1635
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"simge %s kullanýldý, fakat bir andaç olarak tanýmlanmadý ve kurallarý yok"
|
||||
|
||||
#: src/reader.c:1743
|
||||
#: src/reader.c:1770
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "%s ve %s andaçlarýnýn her ikisi %d sayýsýna atandý"
|
||||
|
||||
#: src/reader.c:1796
|
||||
#: src/reader.c:1823
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "%s ve %s için çeliþen öncelikler"
|
||||
|
||||
#: src/reader.c:1808
|
||||
#: src/reader.c:1835
|
||||
#, c-format
|
||||
msgid "conflicting assoc values for %s and %s"
|
||||
msgstr "%s ve %s için çeliþen birleþmeli deðerler"
|
||||
|
||||
#: src/reader.c:1847
|
||||
#: src/reader.c:1874
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "baþlangýç simgesi %s tanýmlanmadý"
|
||||
|
||||
#: src/reader.c:1849
|
||||
#: src/reader.c:1876
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "baþlangýç simgesi %s bir andaçtýr"
|
||||
|
||||
#: src/reduce.c:409
|
||||
msgid "Useless nonterminals:"
|
||||
msgstr "Yararsýz kurallar:"
|
||||
msgstr "Yararsýz deðiþken simgeler:"
|
||||
|
||||
#: src/reduce.c:422
|
||||
msgid "Terminals which are not used:"
|
||||
@@ -661,18 +671,18 @@ msgstr[1] "%d kural asla indirgenmedi\n"
|
||||
msgid "%d useless nonterminal"
|
||||
msgid_plural "%d useless nonterminals"
|
||||
msgstr[0] "%d yararsýz deðiþken simge"
|
||||
msgstr[1] "%d yararsýz deðiþken simge%s"
|
||||
msgstr[1] "%d yararsýz deðiþken simge"
|
||||
|
||||
#: src/reduce.c:517
|
||||
msgid " and "
|
||||
msgstr " ve "
|
||||
msgstr " ve"
|
||||
|
||||
#: src/reduce.c:520
|
||||
#, c-format
|
||||
msgid "%d useless rule"
|
||||
msgid_plural "%d useless rules"
|
||||
msgstr[0] "%d yararsýz kural"
|
||||
msgstr[1] "%d yararsýz kural%s"
|
||||
msgstr[1] "%d yararsýz kural"
|
||||
|
||||
#: src/reduce.c:551
|
||||
#, c-format
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
## Copyright 2001 Free Software Foundation, Inc.
|
||||
## Copyright 2001, 2002 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
|
||||
@@ -22,7 +22,7 @@ DEFS = @DEFS@ \
|
||||
-DBISON_HAIRY=\"$(pkgdatadir)/bison.hairy\" \
|
||||
-DLOCALEDIR=\"$(datadir)/locale\"
|
||||
|
||||
CFLAGS = @CFLAGS@ $(WARNING_CFLAGS)
|
||||
CFLAGS = @CFLAGS@ $(WARNING_CFLAGS) $(WERROR_CFLAGS)
|
||||
|
||||
# libintl.h in is build/intl, intl/libgettext.h in src/,
|
||||
# config.h in build/.
|
||||
|
||||
+62
-50
@@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
||||
# Makefile.in generated by automake 1.5c from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@@ -13,7 +13,6 @@
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
@@ -48,6 +47,7 @@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
@@ -92,11 +92,13 @@ PACKAGE = @PACKAGE@
|
||||
POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
RANLIB = @RANLIB@
|
||||
STRIP = @STRIP@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
VERSION = @VERSION@
|
||||
WARNING_CFLAGS = @WARNING_CFLAGS@
|
||||
WERROR_CFLAGS = @WERROR_CFLAGS@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
install_sh = @install_sh@
|
||||
@@ -109,7 +111,7 @@ DEFS = @DEFS@ \
|
||||
-DLOCALEDIR=\"$(datadir)/locale\"
|
||||
|
||||
|
||||
CFLAGS = @CFLAGS@ $(WARNING_CFLAGS)
|
||||
CFLAGS = @CFLAGS@ $(WARNING_CFLAGS) $(WERROR_CFLAGS)
|
||||
|
||||
# libintl.h in is build/intl, intl/libgettext.h in src/,
|
||||
# config.h in build/.
|
||||
@@ -167,17 +169,19 @@ CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
|
||||
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/LR0$U.Po $(DEPDIR)/closure$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/complain$U.Po $(DEPDIR)/conflicts$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/derives$U.Po $(DEPDIR)/files$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/getargs$U.Po $(DEPDIR)/gram$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/lalr$U.Po $(DEPDIR)/lex$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/main$U.Po $(DEPDIR)/nullable$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/output$U.Po $(DEPDIR)/print$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/print_graph$U.Po $(DEPDIR)/reader$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/reduce$U.Po $(DEPDIR)/state$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/symtab$U.Po $(DEPDIR)/vcg$U.Po \
|
||||
@AMDEP_TRUE@ $(DEPDIR)/vmsgetargs$U.Po $(DEPDIR)/warshall$U.Po
|
||||
am__depfiles_maybe = depfiles
|
||||
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/LR0$U.Po ./$(DEPDIR)/closure$U.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/complain$U.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/conflicts$U.Po ./$(DEPDIR)/derives$U.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/files$U.Po ./$(DEPDIR)/getargs$U.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/gram$U.Po ./$(DEPDIR)/lalr$U.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/lex$U.Po ./$(DEPDIR)/main$U.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/nullable$U.Po ./$(DEPDIR)/output$U.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/print$U.Po ./$(DEPDIR)/print_graph$U.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/reader$U.Po ./$(DEPDIR)/reduce$U.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/state$U.Po ./$(DEPDIR)/symtab$U.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/vcg$U.Po ./$(DEPDIR)/vmsgetargs$U.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/warshall$U.Po
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
@@ -198,7 +202,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) && $(SHELL) ./config.status $(subdir)/$@
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||
install-binPROGRAMS: $(bin_PROGRAMS)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(bindir)
|
||||
@@ -239,31 +243,31 @@ ANSI2KNR = ../lib/ansi2knr
|
||||
mostlyclean-kr:
|
||||
-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@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/complain$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/conflicts$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/derives$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/files$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getargs$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/gram$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lalr$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lex$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/main$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/nullable$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/output$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/print$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/print_graph$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/reader$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/reduce$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/state$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/symtab$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/vcg$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/vmsgetargs$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/warshall$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LR0$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closure$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/complain$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/conflicts$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/derives$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/files$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getargs$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gram$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lalr$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lex$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nullable$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/output$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print_graph$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reader$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reduce$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/state$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symtab$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vcg$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vmsgetargs$U.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/warshall$U.Po@am__quote@
|
||||
|
||||
distclean-depend:
|
||||
-rm -rf $(DEPDIR)
|
||||
-rm -rf ./$(DEPDIR)
|
||||
|
||||
.c.o:
|
||||
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@@ -329,14 +333,15 @@ print_graph_.$(OBJEXT) reader_.$(OBJEXT) reduce_.$(OBJEXT) \
|
||||
state_.$(OBJEXT) symtab_.$(OBJEXT) vcg_.$(OBJEXT) vmsgetargs_.$(OBJEXT) \
|
||||
warshall_.$(OBJEXT) : $(ANSI2KNR)
|
||||
uninstall-info-am:
|
||||
pkgdataDATA_INSTALL = $(INSTALL_DATA)
|
||||
install-pkgdataDATA: $(pkgdata_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
|
||||
@list='$(pkgdata_DATA)'; for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f"; \
|
||||
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f; \
|
||||
echo " $(pkgdataDATA_INSTALL) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f"; \
|
||||
$(pkgdataDATA_INSTALL) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f; \
|
||||
done
|
||||
|
||||
uninstall-pkgdataDATA:
|
||||
@@ -347,29 +352,33 @@ uninstall-pkgdataDATA:
|
||||
rm -f $(DESTDIR)$(pkgdatadir)/$$f; \
|
||||
done
|
||||
|
||||
ETAGS = etags
|
||||
ETAGSFLAGS =
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique $(LISP)
|
||||
mkid -fID $$unique
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
||||
|| etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
|
||||
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|
||||
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
@@ -378,7 +387,6 @@ GTAGS:
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = ..
|
||||
@@ -386,13 +394,16 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@for file in $(DISTFILES); do \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||
dir="/$$dir"; \
|
||||
$(mkinstalldirs) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pR $$d/$$file $(distdir) \
|
||||
cp -pR $$d/$$file $(distdir)$$dir \
|
||||
|| exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
@@ -418,6 +429,7 @@ install-am: all-am
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
+39
-70
@@ -1,7 +1,9 @@
|
||||
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
|
||||
#line
|
||||
/* Skeleton output parser for bison,
|
||||
Copyright 1984, 1989, 1990, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 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
|
||||
@@ -41,26 +43,14 @@
|
||||
|
||||
# if YYSTACK_USE_ALLOCA
|
||||
# define YYSTACK_ALLOC alloca
|
||||
# define YYSIZE_T size_t
|
||||
# else
|
||||
# ifndef YYSTACK_USE_ALLOCA
|
||||
# if defined (alloca) || defined (_ALLOCA_H)
|
||||
# define YYSTACK_ALLOC alloca
|
||||
# define YYSIZE_T size_t
|
||||
# else
|
||||
# if defined (__GNUC__) || defined (_AIX) || defined (__hpux)
|
||||
# ifdef __GNUC__
|
||||
# define YYSTACK_ALLOC __builtin_alloca
|
||||
# endif
|
||||
# ifndef __GNUC__
|
||||
# ifdef _AIX
|
||||
# pragma alloca
|
||||
# endif
|
||||
# if defined (__sgi) || defined (__sparc__) || defined (__sparc) || defined (__sun)
|
||||
# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YYSTACK_ALLOC alloca
|
||||
# define YYSIZE_T size_t
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
@@ -69,19 +59,12 @@
|
||||
/* Pacify GCC's `empty if-body' warning. */
|
||||
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
|
||||
# else
|
||||
# ifdef __cplusplus
|
||||
# include <cstdlib> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YYSIZE_T std::size_t
|
||||
# define YYSTACK_ALLOC std::malloc
|
||||
# define YYSTACK_FREE std::free
|
||||
# else
|
||||
# ifdef __STDC__
|
||||
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YYSIZE_T size_t
|
||||
# endif
|
||||
# define YYSTACK_ALLOC malloc
|
||||
# define YYSTACK_FREE free
|
||||
# if defined (__STDC__) || defined (__cplusplus)
|
||||
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YYSIZE_T size_t
|
||||
# endif
|
||||
# define YYSTACK_ALLOC malloc
|
||||
# define YYSTACK_FREE free
|
||||
# endif
|
||||
|
||||
/* A type that is properly aligned for any stack member. */
|
||||
@@ -136,14 +119,9 @@ union yyalloc
|
||||
# define YYSIZE_T size_t
|
||||
#endif
|
||||
#if ! defined (YYSIZE_T)
|
||||
# ifdef __cplusplus
|
||||
# include <cstddef> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YYSIZE_T std::size_t
|
||||
# else
|
||||
# ifdef __STDC__
|
||||
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YYSIZE_T size_t
|
||||
# endif
|
||||
# if defined (__STDC__) || defined (__cplusplus)
|
||||
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YYSIZE_T size_t
|
||||
# endif
|
||||
#endif
|
||||
#if ! defined (YYSIZE_T)
|
||||
@@ -222,15 +200,8 @@ while (0)
|
||||
#if YYDEBUG
|
||||
|
||||
# ifndef YYFPRINTF
|
||||
# ifdef __cplusplus
|
||||
# include <cstdio.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YYFPRINTF std::fprintf
|
||||
# define YYSTDERR std::stderr
|
||||
# else
|
||||
# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YYFPRINTF fprintf
|
||||
# define YYSTDERR stderr
|
||||
# endif
|
||||
# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YYFPRINTF fprintf
|
||||
# endif
|
||||
|
||||
# define YYDPRINTF(Args) \
|
||||
@@ -238,10 +209,8 @@ do { \
|
||||
if (yydebug) \
|
||||
YYFPRINTF Args; \
|
||||
} while (0)
|
||||
/* Nonzero means print parse trace. [The following comment makes no
|
||||
sense to me. Could someone clarify it? --akim] Since this is
|
||||
uninitialized, it does not stop multiple parsers from coexisting.
|
||||
*/
|
||||
/* Nonzero means print parse trace. It is left uninitialized so that
|
||||
multiple parsers can coexist. */
|
||||
int yydebug;
|
||||
#else /* !YYDEBUG */
|
||||
# define YYDPRINTF(Args)
|
||||
@@ -355,13 +324,13 @@ yystpcpy (yydest, yysrc)
|
||||
to the proper pointer type. */
|
||||
|
||||
#ifdef YYPARSE_PARAM
|
||||
# ifdef __cplusplus
|
||||
# if defined (__STDC__) || defined (__cplusplus)
|
||||
# define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
|
||||
# define YYPARSE_PARAM_DECL
|
||||
# else /* !__cplusplus */
|
||||
# else
|
||||
# define YYPARSE_PARAM_ARG YYPARSE_PARAM
|
||||
# define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
|
||||
# endif /* !__cplusplus */
|
||||
# endif
|
||||
#else /* !YYPARSE_PARAM */
|
||||
# define YYPARSE_PARAM_ARG
|
||||
# define YYPARSE_PARAM_DECL
|
||||
@@ -469,7 +438,7 @@ yyparse (YYPARSE_PARAM_ARG)
|
||||
rule. */
|
||||
int yylen;
|
||||
|
||||
YYDPRINTF ((YYSTDERR, "Starting parse\n"));
|
||||
YYDPRINTF ((stderr, "Starting parse\n"));
|
||||
|
||||
yystate = 0;
|
||||
yyerrstatus = 0;
|
||||
@@ -565,14 +534,14 @@ yyparse (YYPARSE_PARAM_ARG)
|
||||
yylsp = yyls + yysize - 1;
|
||||
#endif
|
||||
|
||||
YYDPRINTF ((YYSTDERR, "Stack size increased to %lu\n",
|
||||
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
|
||||
(unsigned long int) yystacksize));
|
||||
|
||||
if (yyssp >= yyss + yystacksize - 1)
|
||||
YYABORT;
|
||||
}
|
||||
|
||||
YYDPRINTF ((YYSTDERR, "Entering state %d\n", yystate));
|
||||
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
|
||||
|
||||
goto yybackup;
|
||||
|
||||
@@ -599,7 +568,7 @@ yybackup:
|
||||
|
||||
if (yychar == YYEMPTY)
|
||||
{
|
||||
YYDPRINTF ((YYSTDERR, "Reading a token: "));
|
||||
YYDPRINTF ((stderr, "Reading a token: "));
|
||||
yychar = YYLEX;
|
||||
}
|
||||
|
||||
@@ -610,7 +579,7 @@ yybackup:
|
||||
yychar1 = 0;
|
||||
yychar = YYEOF; /* Don't call YYLEX any more */
|
||||
|
||||
YYDPRINTF ((YYSTDERR, "Now at end of input.\n"));
|
||||
YYDPRINTF ((stderr, "Now at end of input.\n"));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -621,14 +590,14 @@ yybackup:
|
||||
which are defined only if `YYDEBUG' is set. */
|
||||
if (yydebug)
|
||||
{
|
||||
YYFPRINTF (YYSTDERR, "Next token is %d (%s",
|
||||
YYFPRINTF (stderr, "Next token is %d (%s",
|
||||
yychar, yytname[yychar1]);
|
||||
/* Give the individual parser a way to print the precise
|
||||
meaning of a token, for further debugging info. */
|
||||
# ifdef YYPRINT
|
||||
YYPRINT (YYSTDERR, yychar, yylval);
|
||||
YYPRINT (stderr, yychar, yylval);
|
||||
# endif
|
||||
YYFPRINTF (YYSTDERR, ")\n");
|
||||
YYFPRINTF (stderr, ")\n");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -660,7 +629,7 @@ yybackup:
|
||||
YYACCEPT;
|
||||
|
||||
/* Shift the lookahead token. */
|
||||
YYDPRINTF ((YYSTDERR, "Shifting token %d (%s), ",
|
||||
YYDPRINTF ((stderr, "Shifting token %d (%s), ",
|
||||
yychar, yytname[yychar1]));
|
||||
|
||||
/* Discard the token being shifted unless it is eof. */
|
||||
@@ -722,13 +691,13 @@ yyreduce:
|
||||
{
|
||||
int yyi;
|
||||
|
||||
YYFPRINTF (YYSTDERR, "Reducing via rule %d (line %d), ",
|
||||
YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
|
||||
yyn, yyrline[yyn]);
|
||||
|
||||
/* Print the symbols being reduced, and their result. */
|
||||
for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
|
||||
YYFPRINTF (YYSTDERR, "%s ", yytname[yyrhs[yyi]]);
|
||||
YYFPRINTF (YYSTDERR, " -> %s\n", yytname[yyr1[yyn]]);
|
||||
YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
|
||||
YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
|
||||
}
|
||||
#endif
|
||||
%% actions /* The action file replaces this line. */
|
||||
@@ -744,10 +713,10 @@ yyreduce:
|
||||
if (yydebug)
|
||||
{
|
||||
short *yyssp1 = yyss - 1;
|
||||
YYFPRINTF (YYSTDERR, "state stack now");
|
||||
YYFPRINTF (stderr, "state stack now");
|
||||
while (yyssp1 != yyssp)
|
||||
YYFPRINTF (YYSTDERR, " %d", *++yyssp1);
|
||||
YYFPRINTF (YYSTDERR, "\n");
|
||||
YYFPRINTF (stderr, " %d", *++yyssp1);
|
||||
YYFPRINTF (stderr, "\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -843,7 +812,7 @@ yyerrlab1:
|
||||
/* return failure if at end of input */
|
||||
if (yychar == YYEOF)
|
||||
YYABORT;
|
||||
YYDPRINTF ((YYSTDERR, "Discarding token %d (%s).\n",
|
||||
YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
|
||||
yychar, yytname[yychar1]));
|
||||
yychar = YYEMPTY;
|
||||
}
|
||||
@@ -889,10 +858,10 @@ yyerrpop:
|
||||
if (yydebug)
|
||||
{
|
||||
short *yyssp1 = yyss - 1;
|
||||
YYFPRINTF (YYSTDERR, "Error: state stack now");
|
||||
YYFPRINTF (stderr, "Error: state stack now");
|
||||
while (yyssp1 != yyssp)
|
||||
YYFPRINTF (YYSTDERR, " %d", *++yyssp1);
|
||||
YYFPRINTF (YYSTDERR, "\n");
|
||||
YYFPRINTF (stderr, " %d", *++yyssp1);
|
||||
YYFPRINTF (stderr, "\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -922,7 +891,7 @@ yyerrhandle:
|
||||
if (yyn == YYFINAL)
|
||||
YYACCEPT;
|
||||
|
||||
YYDPRINTF ((YYSTDERR, "Shifting error token, "));
|
||||
YYDPRINTF ((stderr, "Shifting error token, "));
|
||||
|
||||
*++yyvsp = yylval;
|
||||
#if YYLSP_NEEDED
|
||||
|
||||
+12
-6
@@ -276,7 +276,7 @@ count_rr_conflicts (int state)
|
||||
int count = 0;
|
||||
int j;
|
||||
for (j = m; j < n; j++)
|
||||
if (BITISSET (LA (m), j))
|
||||
if (BITISSET (LA (j), i))
|
||||
count++;
|
||||
|
||||
if (count >= 2)
|
||||
@@ -401,7 +401,14 @@ conflicts_print (void)
|
||||
|
||||
if (expected_conflicts != -1 && !src_ok)
|
||||
{
|
||||
complain_message_count++;
|
||||
/* FIXME: BIG ATTROCIOUS HACK. For flames, complaints and so
|
||||
on, see Bruno Haible. GNU Gettext's plural.y's %expect is
|
||||
wrong, and newer Bison reject it. But then, Bruno will be
|
||||
overwhelmed by bug reports, until a fixed Gettext is
|
||||
released. So for the 1.3x generation only, we leave a puke
|
||||
puke hack. */
|
||||
if (!strsuffix (infile, "plural.y"))
|
||||
complain_message_count++;
|
||||
fprintf (stderr, ngettext ("expected %d shift/reduce conflict\n",
|
||||
"expected %d shift/reduce conflicts\n",
|
||||
expected_conflicts),
|
||||
@@ -414,7 +421,6 @@ void
|
||||
print_reductions (FILE *out, int state)
|
||||
{
|
||||
int i;
|
||||
int j;
|
||||
int m;
|
||||
int n;
|
||||
shifts *shiftp;
|
||||
@@ -463,8 +469,6 @@ print_reductions (FILE *out, int state)
|
||||
}
|
||||
else if (n - m >= 1)
|
||||
{
|
||||
int k;
|
||||
|
||||
int cmax = 0;
|
||||
int default_LA = -1;
|
||||
int default_rule = 0;
|
||||
@@ -473,6 +477,7 @@ print_reductions (FILE *out, int state)
|
||||
for (i = m; i < n; i++)
|
||||
{
|
||||
int count = 0;
|
||||
int j, k;
|
||||
|
||||
for (k = 0; k < tokensetsize; ++k)
|
||||
lookaheadset[k] = LA (i)[k] & ~shiftset[k];
|
||||
@@ -501,12 +506,13 @@ print_reductions (FILE *out, int state)
|
||||
|
||||
for (i = 0; i < ntokens; i++)
|
||||
{
|
||||
int j;
|
||||
int defaulted = 0;
|
||||
int count = BITISSET (shiftset, i);
|
||||
|
||||
for (j = m; j < n; j++)
|
||||
{
|
||||
if (BITISSET (LA (m), j))
|
||||
if (BITISSET (LA (j), i))
|
||||
{
|
||||
if (count == 0)
|
||||
{
|
||||
|
||||
+130
-116
@@ -1,5 +1,6 @@
|
||||
/* Open and close files for bison,
|
||||
Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.
|
||||
Copyright 1984, 1986, 1989, 1992, 2000, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Bison, the GNU Compiler Compiler.
|
||||
|
||||
@@ -21,11 +22,17 @@
|
||||
|
||||
#include "system.h"
|
||||
#include "getargs.h"
|
||||
#include "quote.h"
|
||||
#include "files.h"
|
||||
#include "gram.h"
|
||||
#include "error.h"
|
||||
#include "complain.h"
|
||||
|
||||
/* From basename.c. Almost a lie, as it returns a char *. */
|
||||
const char *base_name PARAMS ((char const *name));
|
||||
/* From xstrndup.c. */
|
||||
char *xstrndup PARAMS ((const char *s, size_t n));
|
||||
|
||||
FILE *finput = NULL;
|
||||
|
||||
struct obstack action_obstack;
|
||||
@@ -45,7 +52,7 @@ char *spec_defines_file = NULL; /* for --defines. */
|
||||
char *infile = NULL;
|
||||
char *attrsfile = NULL;
|
||||
|
||||
static char *base_name = NULL;
|
||||
static char *full_base_name = NULL;
|
||||
static char *short_base_name = NULL;
|
||||
|
||||
/* C source file extension (the parser source). */
|
||||
@@ -58,7 +65,7 @@ const char *header_extension = NULL;
|
||||
| Is SUFFIX ending STRING? |
|
||||
`--------------------------*/
|
||||
|
||||
static int
|
||||
int
|
||||
strsuffix (const char *string, const char *suffix)
|
||||
{
|
||||
size_t string_len = strlen (string);
|
||||
@@ -112,10 +119,10 @@ compute_header_macro (void)
|
||||
{
|
||||
macro_name = XMALLOC (char,
|
||||
strlen (prefix) +
|
||||
strlen (base_name) +
|
||||
strlen (full_base_name) +
|
||||
strlen (header_extension) + 1);
|
||||
cp = stpcpy (macro_name, prefix);
|
||||
cp = stpcpy (cp, base_name);
|
||||
cp = stpcpy (cp, full_base_name);
|
||||
cp = stpcpy (cp, header_extension);
|
||||
}
|
||||
|
||||
@@ -208,7 +215,8 @@ skeleton_find (const char *envvar, const char *skeleton_name)
|
||||
{
|
||||
const char *res = getenv (envvar);
|
||||
|
||||
#if defined (MSDOS) || defined (_WIN32)
|
||||
#if (defined (MSDOS) && !defined(__DJGPP__)) || defined (_WIN32)
|
||||
const char *cp = getenv ("INIT");
|
||||
if (!res)
|
||||
{
|
||||
/* Skeleton file name without path */
|
||||
@@ -221,7 +229,6 @@ skeleton_find (const char *envvar, const char *skeleton_name)
|
||||
++skel_name;
|
||||
|
||||
/* File doesn't exist in current directory; try in INIT directory. */
|
||||
const char *cp = getenv ("INIT");
|
||||
if (cp)
|
||||
{
|
||||
res = XMALLOC (char, strlen (cp) + strlen (skel_name) + 2);
|
||||
@@ -243,7 +250,7 @@ skeleton_find (const char *envvar, const char *skeleton_name)
|
||||
strcpy (res + (cp - program_name), skel_name);
|
||||
}
|
||||
}
|
||||
#endif /* defined (MSDOS) || defined (_WIN32) */
|
||||
#endif /* (defined (MSDOS) && !defined (__DJGPP__)) || defined (_WIN32) */
|
||||
if (!res)
|
||||
res = skeleton_name;
|
||||
|
||||
@@ -274,27 +281,6 @@ tr (const char *in, char from, char to)
|
||||
return (temp);
|
||||
}
|
||||
|
||||
/* Gets the extension index in FILENAME. Returns 0 if fails to
|
||||
find an extension. */
|
||||
static int
|
||||
get_extension_index (const char *filename)
|
||||
{
|
||||
int len;
|
||||
|
||||
len = strlen (filename);
|
||||
|
||||
if (filename[len-- - 1] == '.')
|
||||
return (0);
|
||||
|
||||
while ((len > 0) && (filename[len - 1] != '.'))
|
||||
if (filename[len - 1] == '/')
|
||||
return (0);
|
||||
else
|
||||
len--;
|
||||
|
||||
return (len - 1);
|
||||
}
|
||||
|
||||
/* Computes extensions from the grammar file extension. */
|
||||
static void
|
||||
compute_exts_from_gf (const char *ext)
|
||||
@@ -317,14 +303,61 @@ compute_exts_from_src (const char *ext)
|
||||
header_extension = tr (header_extension, 'C', 'H');
|
||||
}
|
||||
|
||||
|
||||
/* Decompose FILENAME in four parts: *BASE, *TAB, and *EXT, the fourth
|
||||
part, (the directory) is ranging from FILENAME to the char before
|
||||
*BASE, so we don't need an additional parameter.
|
||||
|
||||
*EXT points to the last period in the basename, or NULL if none.
|
||||
|
||||
If there is no *EXT, *TAB is NULL. Otherwise, *TAB points to
|
||||
`.tab' or `_tab' if present right before *EXT, or is NULL. *TAB
|
||||
cannot be equal to *BASE.
|
||||
|
||||
None are allocated, they are simply pointers to parts of FILENAME.
|
||||
Examples:
|
||||
|
||||
'/tmp/foo.tab.c' -> *BASE = 'foo.tab.c', *TAB = '.tab.c', *EXT =
|
||||
'.c'
|
||||
|
||||
'foo.c' -> *BASE = 'foo.c', *TAB = NULL, *EXT = '.c'
|
||||
|
||||
'tab.c' -> *BASE = 'tab.c', *TAB = NULL, *EXT = '.c'
|
||||
|
||||
'.tab.c' -> *BASE = '.tab.c', *TAB = NULL, *EXT = '.c'
|
||||
|
||||
'foo.tab' -> *BASE = 'foo.tab', *TAB = NULL, *EXT = '.tab'
|
||||
|
||||
'foo_tab' -> *BASE = 'foo_tab', *TAB = NULL, *EXT = NULL
|
||||
|
||||
'foo' -> *BASE = 'foo', *TAB = NULL, *EXT = NULL. */
|
||||
|
||||
static void
|
||||
filename_split (const char *filename,
|
||||
const char **base, const char **tab, const char **ext)
|
||||
{
|
||||
*base = base_name (filename);
|
||||
|
||||
/* Look for the extension, i.e., look for the last dot. */
|
||||
*ext = strrchr (*base, '.');
|
||||
*tab = NULL;
|
||||
|
||||
/* If there is an exentension, check if there is a `.tab' part right
|
||||
before. */
|
||||
if (*ext
|
||||
&& (*ext - *base) > (int) strlen (".tab")
|
||||
&& (!strncmp (*ext - strlen (".tab"), ".tab", strlen (".tab"))
|
||||
|| !strncmp (*ext - strlen ("_tab"), "_tab", strlen ("_tab"))))
|
||||
*tab = *ext - strlen (".tab");
|
||||
}
|
||||
|
||||
|
||||
/* FIXME: Should use xstrndup. */
|
||||
|
||||
static void
|
||||
compute_base_names (void)
|
||||
{
|
||||
size_t base_length;
|
||||
size_t short_base_length;
|
||||
size_t ext_index;
|
||||
const char *base, *tab, *ext;
|
||||
|
||||
/* If --output=foo.c was specified (SPEC_OUTFILE == foo.c),
|
||||
BASE_NAME and SHORT_BASE_NAME are `foo'.
|
||||
@@ -336,94 +369,64 @@ compute_base_names (void)
|
||||
files, remove the ".c" or ".tab.c" suffix. */
|
||||
if (spec_outfile)
|
||||
{
|
||||
#ifdef MSDOS
|
||||
strlwr (spec_outfile);
|
||||
#endif /* MSDOS */
|
||||
/* BASE_LENGTH includes ".tab" but not ".c". */
|
||||
base_length = strlen (spec_outfile);
|
||||
filename_split (spec_outfile, &base, &tab, &ext);
|
||||
|
||||
ext_index = get_extension_index (spec_outfile);
|
||||
/* If the initial segment of extension contains 'c' or a 'C', I assume
|
||||
that it is a C or C++ source file. */
|
||||
if (ext_index)
|
||||
ext_index =
|
||||
(strspn (spec_outfile + ext_index + 1, "cC")) ? ext_index : 0;
|
||||
if (ext_index)
|
||||
{
|
||||
base_length -= strlen (spec_outfile + ext_index);
|
||||
compute_exts_from_src (spec_outfile + ext_index);
|
||||
}
|
||||
/* The full base name goes up the EXT, excluding it. */
|
||||
full_base_name =
|
||||
xstrndup (spec_outfile,
|
||||
(strlen (spec_outfile) - (ext ? strlen (ext) : 0)));
|
||||
/* The short base name goes up to TAB, excluding it. */
|
||||
short_base_name =
|
||||
xstrndup (spec_outfile,
|
||||
(strlen (spec_outfile)
|
||||
- (tab ? strlen (tab) : (ext ? strlen (ext) : 0))));
|
||||
|
||||
base_name = strndup (spec_outfile, base_length);
|
||||
/* SHORT_BASE_LENGTH includes neither ".tab" nor ".c". */
|
||||
short_base_length = base_length;
|
||||
if (strsuffix (base_name, ".tab") || strsuffix (base_name, "_tab"))
|
||||
short_base_length -= 4;
|
||||
short_base_name = strndup (spec_outfile, short_base_length);
|
||||
|
||||
return;
|
||||
if (ext)
|
||||
compute_exts_from_src (ext);
|
||||
}
|
||||
|
||||
/* If --file-prefix=foo was specified, BASE_NAME and SHORT_BASE_NAME
|
||||
are `foo'.
|
||||
/* If --file-prefix=foo was specified, FULL_BASE_NAME = `foo.tab'
|
||||
and SHORT_BASE_NAME = `foo'.
|
||||
|
||||
Construct names from it. */
|
||||
if (spec_file_prefix)
|
||||
else
|
||||
{
|
||||
#ifdef MSDOS
|
||||
strlwr (spec_file_prefix);
|
||||
#endif /* MSDOS */
|
||||
short_base_name = xstrdup (spec_file_prefix);
|
||||
base_name = XMALLOC (char,
|
||||
strlen (short_base_name) + strlen (EXT_TAB) + 1);
|
||||
stpcpy (stpcpy (base_name, short_base_name), EXT_TAB);
|
||||
if (spec_file_prefix)
|
||||
{
|
||||
/* If --file-prefix=foo was specified, SHORT_BASE_NAME =
|
||||
`foo'. */
|
||||
short_base_name = xstrdup (spec_file_prefix);
|
||||
}
|
||||
else if (yacc_flag)
|
||||
{
|
||||
/* If --yacc, then the output is `y.tab.c'. */
|
||||
short_base_name = xstrdup ("y");
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Otherwise, the short base name is computed from the input
|
||||
grammar: `foo.yy' => `foo'. */
|
||||
filename_split (infile, &base, &tab, &ext);
|
||||
short_base_name =
|
||||
xstrndup (infile,
|
||||
(strlen (infile) - (ext ? strlen (ext) : 0)));
|
||||
}
|
||||
|
||||
/* Computes the extensions from the garmmar file name. */
|
||||
ext_index = get_extension_index (infile);
|
||||
/* If the initial segment of extension contains a 'y' or a 'Y', I assume
|
||||
that it is a yacc or bison grammar file. */
|
||||
if (ext_index)
|
||||
ext_index = (strspn (infile + ext_index + 1, "yY")) ? ext_index : 0;
|
||||
if (ext_index)
|
||||
compute_exts_from_gf (infile + ext_index);
|
||||
/* In these cases, always append `.tab'. */
|
||||
full_base_name = XMALLOC (char,
|
||||
strlen (short_base_name)
|
||||
+ strlen (EXT_TAB) + 1);
|
||||
stpcpy (stpcpy (full_base_name, short_base_name), EXT_TAB);
|
||||
|
||||
return;
|
||||
/* Computes the extensions from the grammar file name. */
|
||||
filename_split (infile, &base, &tab, &ext);
|
||||
|
||||
if (ext && !yacc_flag)
|
||||
compute_exts_from_gf (ext);
|
||||
}
|
||||
|
||||
/* If neither -o nor --file-prefix were specified, and the input
|
||||
file is foo.y, BASE_NAME is `foo.tab', and SHORT_BASE_NAME is
|
||||
`foo'.
|
||||
|
||||
If --yacc is used, do as if the input file was `y.y'. */
|
||||
{
|
||||
const char *name_base = yacc_flag ? "y.y" : infile;
|
||||
|
||||
/* BASE_LENGTH gets length of BASE_NAME, sans ".y" suffix if any. */
|
||||
|
||||
base_length = strlen (name_base);
|
||||
|
||||
ext_index = get_extension_index (name_base);
|
||||
/* If the initial segment of extension contains a 'y' or a 'Y', I assume
|
||||
that it is a yacc or bison grammar file. */
|
||||
if (ext_index)
|
||||
ext_index = (strspn (name_base + ext_index + 1, "yY")) ? ext_index : 0;
|
||||
if (ext_index)
|
||||
{
|
||||
base_length -= strlen (name_base + ext_index);
|
||||
compute_exts_from_gf (name_base + ext_index);
|
||||
}
|
||||
|
||||
short_base_length = base_length;
|
||||
short_base_name = strndup (name_base, short_base_length);
|
||||
|
||||
base_name = XMALLOC (char,
|
||||
strlen (short_base_name) + strlen (EXT_TAB) + 1);
|
||||
stpcpy (stpcpy (base_name, short_base_name), EXT_TAB);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------------.
|
||||
| Close the open files, compute the output files names. |
|
||||
`-------------------------------------------------------*/
|
||||
@@ -441,7 +444,21 @@ compute_output_file_names (void)
|
||||
|
||||
/* It the defines filename if not given, we create it. */
|
||||
if (!spec_defines_file)
|
||||
spec_defines_file = stringappend (base_name, header_extension);
|
||||
spec_defines_file = stringappend (full_base_name, header_extension);
|
||||
|
||||
if (defines_flag)
|
||||
{
|
||||
/* This is really Q&D, but I don't want to spend time on issues
|
||||
which will be different with 1.50. */
|
||||
const char *parser_filename = NULL;
|
||||
if (spec_outfile)
|
||||
parser_filename = spec_outfile;
|
||||
else
|
||||
parser_filename = stringappend (full_base_name, src_extension);
|
||||
if (!strcmp (spec_defines_file, parser_filename))
|
||||
fatal ("header and parser would be both named %s",
|
||||
quote (parser_filename));
|
||||
}
|
||||
|
||||
/* It the graph filename if not given, we create it. */
|
||||
if (!spec_graph_file)
|
||||
@@ -450,9 +467,7 @@ compute_output_file_names (void)
|
||||
spec_verbose_file = stringappend (short_base_name, EXT_OUTPUT);
|
||||
|
||||
attrsfile = stringappend (short_base_name, EXT_STYPE_H);
|
||||
#ifndef MSDOS
|
||||
attrsfile = stringappend (attrsfile, header_extension);
|
||||
#endif /* MSDOS */
|
||||
attrsfile = stringappend (attrsfile, EXT_TYPE (header_extension));
|
||||
|
||||
}
|
||||
|
||||
@@ -498,7 +513,8 @@ output_files (void)
|
||||
if (spec_outfile)
|
||||
obstack_save (&table_obstack, spec_outfile);
|
||||
else
|
||||
obstack_save (&table_obstack, stringappend (base_name, src_extension));
|
||||
obstack_save (&table_obstack,
|
||||
stringappend (full_base_name, src_extension));
|
||||
obstack_free (&table_obstack, NULL);
|
||||
|
||||
/* Output the header file if wanted. */
|
||||
@@ -520,9 +536,7 @@ output_files (void)
|
||||
obstack_save (&attrs_obstack, attrsfile);
|
||||
obstack_free (&attrs_obstack, NULL);
|
||||
temp_name = stringappend (short_base_name, EXT_GUARD_C);
|
||||
#ifndef MSDOS
|
||||
temp_name = stringappend (temp_name, src_extension);
|
||||
#endif /* MSDOS */
|
||||
temp_name = stringappend (temp_name, EXT_TYPE (src_extension));
|
||||
obstack_save (&guard_obstack, temp_name);
|
||||
obstack_free (&guard_obstack, NULL);
|
||||
}
|
||||
|
||||
+7
-3
@@ -1,7 +1,5 @@
|
||||
#ifndef FILES_H_
|
||||
# define FILES_H_
|
||||
/* File names and variables for bison,
|
||||
Copyright 1984, 1989, 2000 Free Software Foundation, Inc.
|
||||
Copyright 1984, 1989, 2000, 2002 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Bison, the GNU Compiler Compiler.
|
||||
|
||||
@@ -20,6 +18,9 @@
|
||||
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef FILES_H_
|
||||
# define FILES_H_
|
||||
|
||||
/* These two should be pathnames for opening the sample parser files.
|
||||
When bison is installed, they should be absolute pathnames.
|
||||
XPFILE1 and XPFILE2 normally come from config.h. */
|
||||
@@ -79,4 +80,7 @@ int xfclose PARAMS ((FILE *ptr));
|
||||
|
||||
const char *skeleton_find PARAMS ((const char *envvar,
|
||||
const char *skeleton_name));
|
||||
|
||||
int strsuffix PARAMS ((const char *string, const char *suffix));
|
||||
|
||||
#endif /* !FILES_H_ */
|
||||
|
||||
+21
-6
@@ -144,7 +144,8 @@ bison (GNU Bison) %s"), VERSION);
|
||||
putc ('\n', stream);
|
||||
|
||||
fputs (_("\
|
||||
Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"),
|
||||
Copyright 1984, 1986, 1989, 1992, 2000, 2001, 2002\n\
|
||||
Free Software Foundation, Inc.\n"),
|
||||
stream);
|
||||
|
||||
fputs (_("\
|
||||
@@ -159,6 +160,20 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
|
||||
| Process the options. |
|
||||
`----------------------*/
|
||||
|
||||
/* Under plain DOS, there is no difference on the case. This can be
|
||||
troublesome when looking for `.tab' etc. */
|
||||
#ifdef MSDOS
|
||||
# if defined (__DJGPP__)
|
||||
/* Windows 9X and successors are case sensitive. */
|
||||
# define STRLWR(String) ((String) ? (strlwr (String), (String)) : (String))
|
||||
# define AS_FILE_NAME(File) ((pathconf ((File), _PC_NAME_MAX) > 12) ? (File) : STRLWR (File))
|
||||
# else
|
||||
# define AS_FILE_NAME(File) (strlwr (File), (File))
|
||||
# endif
|
||||
#else
|
||||
# define AS_FILE_NAME(File) (File)
|
||||
#endif
|
||||
|
||||
void
|
||||
getargs (int argc, char *argv[])
|
||||
{
|
||||
@@ -186,7 +201,7 @@ getargs (int argc, char *argv[])
|
||||
case 'g':
|
||||
/* Here, the -g and --graph=FILE options are differentiated. */
|
||||
graph_flag = 1;
|
||||
spec_graph_file = optarg;
|
||||
spec_graph_file = AS_FILE_NAME (optarg);
|
||||
break;
|
||||
|
||||
case 'v':
|
||||
@@ -194,13 +209,13 @@ getargs (int argc, char *argv[])
|
||||
break;
|
||||
|
||||
case 'S':
|
||||
skeleton = optarg;
|
||||
skeleton = AS_FILE_NAME (optarg);
|
||||
break;
|
||||
|
||||
case 'd':
|
||||
/* Here, the -d and --defines options are differentiated. */
|
||||
defines_flag = 1;
|
||||
spec_defines_file = optarg;
|
||||
spec_defines_file = AS_FILE_NAME (optarg);
|
||||
break;
|
||||
|
||||
case 'l':
|
||||
@@ -224,11 +239,11 @@ getargs (int argc, char *argv[])
|
||||
break;
|
||||
|
||||
case 'o':
|
||||
spec_outfile = optarg;
|
||||
spec_outfile = AS_FILE_NAME (optarg);
|
||||
break;
|
||||
|
||||
case 'b':
|
||||
spec_file_prefix = optarg;
|
||||
spec_file_prefix = AS_FILE_NAME (optarg);
|
||||
break;
|
||||
|
||||
case 'p':
|
||||
|
||||
+1
-1
@@ -103,7 +103,7 @@ traverse (int i)
|
||||
break;
|
||||
|
||||
for (k = 0; k < size; ++k)
|
||||
F (i)[k] = F (j)[k];
|
||||
F (j)[k] = F (i)[k];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -590,43 +590,54 @@ parse_percent_token (void)
|
||||
size_t arg_offset = 0;
|
||||
|
||||
int c = getc (finput);
|
||||
obstack_1grow (&token_obstack, '%');
|
||||
obstack_1grow (&token_obstack, c);
|
||||
|
||||
switch (c)
|
||||
{
|
||||
case '%':
|
||||
token_buffer = obstack_finish (&token_obstack);
|
||||
return tok_two_percents;
|
||||
|
||||
case '{':
|
||||
token_buffer = obstack_finish (&token_obstack);
|
||||
return tok_percent_left_curly;
|
||||
|
||||
/* FIXME: Who the heck are those 5 guys!?! `%<' = `%left'!!!
|
||||
Let's ask for there removal. */
|
||||
/* The following guys are here for backward compatibility with
|
||||
very ancient Yacc versions. The paper of Johnson mentions
|
||||
them (as ancient :). */
|
||||
case '<':
|
||||
token_buffer = obstack_finish (&token_obstack);
|
||||
return tok_left;
|
||||
|
||||
case '>':
|
||||
token_buffer = obstack_finish (&token_obstack);
|
||||
return tok_right;
|
||||
|
||||
case '2':
|
||||
token_buffer = obstack_finish (&token_obstack);
|
||||
return tok_nonassoc;
|
||||
|
||||
case '0':
|
||||
token_buffer = obstack_finish (&token_obstack);
|
||||
return tok_token;
|
||||
|
||||
case '=':
|
||||
token_buffer = obstack_finish (&token_obstack);
|
||||
return tok_prec;
|
||||
}
|
||||
|
||||
if (!isalpha (c))
|
||||
return tok_illegal;
|
||||
{
|
||||
token_buffer = obstack_finish (&token_obstack);
|
||||
return tok_illegal;
|
||||
}
|
||||
|
||||
obstack_1grow (&token_obstack, '%');
|
||||
while (isalpha (c) || c == '_' || c == '-')
|
||||
while (c = getc (finput), isalpha (c) || c == '_' || c == '-')
|
||||
{
|
||||
if (c == '_')
|
||||
c = '-';
|
||||
obstack_1grow (&token_obstack, c);
|
||||
c = getc (finput);
|
||||
}
|
||||
|
||||
/* %DIRECTIVE="ARG". Separate into
|
||||
|
||||
+30
-27
@@ -69,35 +69,38 @@ set_nullable (void)
|
||||
p = relts;
|
||||
|
||||
for (ruleno = 1; ruleno < nrules + 1; ++ruleno)
|
||||
if (ritem[rule_table[ruleno].rhs] > 0)
|
||||
if (rule_table[ruleno].useful)
|
||||
{
|
||||
/* This rule has a non empty RHS. */
|
||||
short *r;
|
||||
int any_tokens = 0;
|
||||
for (r = ritem + rule_table[ruleno].rhs; *r > 0; ++r)
|
||||
if (ISTOKEN (*r))
|
||||
any_tokens = 1;
|
||||
|
||||
/* This rule has only nonterminals: schedule it for the second
|
||||
pass. */
|
||||
if (!any_tokens)
|
||||
for (r = ritem + rule_table[ruleno].rhs; *r > 0; ++r)
|
||||
{
|
||||
rcount[ruleno]++;
|
||||
p->next = rsets[*r];
|
||||
p->value = ruleno;
|
||||
rsets[*r] = p;
|
||||
p++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* This rule has an empty RHS. */
|
||||
assert (ritem[rule_table[ruleno].rhs] == -ruleno);
|
||||
if (rule_table[ruleno].useful && !nullable[rule_table[ruleno].lhs])
|
||||
if (ritem[rule_table[ruleno].rhs] > 0)
|
||||
{
|
||||
nullable[rule_table[ruleno].lhs] = 1;
|
||||
*s2++ = rule_table[ruleno].lhs;
|
||||
/* This rule has a non empty RHS. */
|
||||
short *r;
|
||||
int any_tokens = 0;
|
||||
for (r = ritem + rule_table[ruleno].rhs; *r > 0; ++r)
|
||||
if (ISTOKEN (*r))
|
||||
any_tokens = 1;
|
||||
|
||||
/* This rule has only nonterminals: schedule it for the second
|
||||
pass. */
|
||||
if (!any_tokens)
|
||||
for (r = ritem + rule_table[ruleno].rhs; *r > 0; ++r)
|
||||
{
|
||||
rcount[ruleno]++;
|
||||
p->next = rsets[*r];
|
||||
p->value = ruleno;
|
||||
rsets[*r] = p;
|
||||
p++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* This rule has an empty RHS. */
|
||||
assert (ritem[rule_table[ruleno].rhs] == -ruleno);
|
||||
if (rule_table[ruleno].useful && !nullable[rule_table[ruleno].lhs])
|
||||
{
|
||||
nullable[rule_table[ruleno].lhs] = 1;
|
||||
*s2++ = rule_table[ruleno].lhs;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+13
-14
@@ -1,7 +1,7 @@
|
||||
/* Output the generated parsing program for bison,
|
||||
|
||||
Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001 Free Software
|
||||
Foundation, Inc.
|
||||
Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Bison, the GNU Compiler Compiler.
|
||||
|
||||
@@ -131,7 +131,7 @@ output_short_or_char_table (struct obstack *oout,
|
||||
const char *table_name,
|
||||
short *short_table,
|
||||
short first_value,
|
||||
short begin, short end)
|
||||
int begin, int end)
|
||||
{
|
||||
int i, j;
|
||||
|
||||
@@ -169,7 +169,7 @@ output_short_table (struct obstack *oout,
|
||||
const char *table_name,
|
||||
short *short_table,
|
||||
short first_value,
|
||||
short begin, short end)
|
||||
int begin, int end)
|
||||
{
|
||||
output_short_or_char_table (oout, comment, "short", table_name, short_table,
|
||||
first_value, begin, end);
|
||||
@@ -316,7 +316,7 @@ output_gram (void)
|
||||
yyprhs and yyrhs are needed only for yydebug. */
|
||||
/* With the no_parser option, all tables are generated */
|
||||
if (!semantic_parser && !no_parser_flag)
|
||||
obstack_sgrow (&table_obstack, "\n#if YYDEBUG != 0\n");
|
||||
obstack_sgrow (&table_obstack, "\n#if YYDEBUG\n");
|
||||
|
||||
{
|
||||
int i;
|
||||
@@ -372,7 +372,7 @@ output_rule_data (void)
|
||||
short *short_tab = NULL;
|
||||
|
||||
obstack_sgrow (&table_obstack, "\n\
|
||||
#if YYDEBUG != 0\n");
|
||||
#if YYDEBUG\n");
|
||||
|
||||
{
|
||||
short *values = XCALLOC (short, nrules + 1);
|
||||
@@ -400,7 +400,7 @@ output_rule_data (void)
|
||||
/* Output the table of symbol names. */
|
||||
if (!token_table_flag && !no_parser_flag)
|
||||
obstack_sgrow (&table_obstack,
|
||||
"\n#if YYDEBUG != 0 || defined YYERROR_VERBOSE\n\n");
|
||||
"\n#if (YYDEBUG) || defined YYERROR_VERBOSE\n\n");
|
||||
obstack_sgrow (&table_obstack, "\
|
||||
/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */\n");
|
||||
obstack_sgrow (&table_obstack,
|
||||
@@ -452,7 +452,7 @@ output_rule_data (void)
|
||||
j += strsize;
|
||||
}
|
||||
/* add a NULL entry to list of tokens */
|
||||
obstack_sgrow (&table_obstack, "NULL\n};\n");
|
||||
obstack_sgrow (&table_obstack, "0\n};\n");
|
||||
|
||||
if (!token_table_flag && !no_parser_flag)
|
||||
obstack_sgrow (&table_obstack, "#endif\n\n");
|
||||
@@ -978,8 +978,8 @@ pack_vector (int vector)
|
||||
return j;
|
||||
}
|
||||
}
|
||||
|
||||
assert (!"pack_vector");
|
||||
#define pack_vector_succeeded 0
|
||||
assert (pack_vector_succeeded);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1268,12 +1268,11 @@ output (void)
|
||||
obstack_grow (&table_obstack, obstack_finish (&attrs_obstack), size);
|
||||
}
|
||||
reader_output_yylsp (&table_obstack);
|
||||
if (debug_flag)
|
||||
obstack_sgrow (&table_obstack, "\
|
||||
obstack_fgrow1 (&table_obstack, "\
|
||||
#ifndef YYDEBUG\n\
|
||||
# define YYDEBUG 1\n\
|
||||
# define YYDEBUG %d\n\
|
||||
#endif\n\
|
||||
\n");
|
||||
\n", debug_flag);
|
||||
|
||||
if (semantic_parser)
|
||||
obstack_fgrow1 (&table_obstack, "#include %s\n",
|
||||
|
||||
+34
-7
@@ -304,13 +304,15 @@ copy_comment (FILE *fin, struct obstack *oout)
|
||||
/*-----------------------------------------------------------------.
|
||||
| FIN is pointing to a location (i.e., a `@'). Output to OOUT a |
|
||||
| reference to this location. STACK_OFFSET is the number of values |
|
||||
| in the current rule so far, which says where to find `$0' with |
|
||||
| in the current rule so far, which says where to find `@0' with |
|
||||
| respect to the top of the stack. |
|
||||
`-----------------------------------------------------------------*/
|
||||
|
||||
static inline void
|
||||
copy_at (FILE *fin, struct obstack *oout, int stack_offset)
|
||||
copy_at (FILE *fin, struct obstack *oout,
|
||||
struct symbol_list *rule, int stack_offset)
|
||||
{
|
||||
symbol_list *rp;
|
||||
int c;
|
||||
|
||||
c = getc (fin);
|
||||
@@ -321,11 +323,25 @@ copy_at (FILE *fin, struct obstack *oout, int stack_offset)
|
||||
}
|
||||
else if (isdigit (c) || c == '-')
|
||||
{
|
||||
int n;
|
||||
int n, i;
|
||||
|
||||
ungetc (c, fin);
|
||||
n = read_signed_integer (fin);
|
||||
|
||||
rp = rule;
|
||||
i = 0;
|
||||
|
||||
while (i < n)
|
||||
{
|
||||
rp = rp->next;
|
||||
if (rp == NULL)
|
||||
{
|
||||
complain (_("invalid @ value"));
|
||||
return;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
obstack_fgrow1 (oout, "yylsp[%d]", n - stack_offset);
|
||||
locations_flag = 1;
|
||||
}
|
||||
@@ -1103,7 +1119,7 @@ copy_action (symbol_list *rule, int stack_offset)
|
||||
|
||||
case '@':
|
||||
copy_at (finput, &action_obstack,
|
||||
stack_offset);
|
||||
rule, stack_offset);
|
||||
break;
|
||||
|
||||
case EOF:
|
||||
@@ -1125,7 +1141,13 @@ copy_action (symbol_list *rule, int stack_offset)
|
||||
}
|
||||
}
|
||||
|
||||
obstack_sgrow (&action_obstack, ";\n break;}");
|
||||
/* As a Bison extension, add the ending semicolon. Since some Yacc
|
||||
don't do that, help people using bison as a Yacc finding their
|
||||
missing semicolons. */
|
||||
if (yacc_flag)
|
||||
obstack_sgrow (&action_obstack, "}\n break;");
|
||||
else
|
||||
obstack_sgrow (&action_obstack, ";\n break;}");
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------.
|
||||
@@ -1197,7 +1219,7 @@ copy_guard (symbol_list *rule, int stack_offset)
|
||||
break;
|
||||
|
||||
case '@':
|
||||
copy_at (finput, &guard_obstack, stack_offset);
|
||||
copy_at (finput, &guard_obstack, rule, stack_offset);
|
||||
break;
|
||||
|
||||
case EOF:
|
||||
@@ -1418,7 +1440,10 @@ readgram (void)
|
||||
unlex (t1);
|
||||
symval = ssave;
|
||||
if (t1 == tok_colon)
|
||||
break;
|
||||
{
|
||||
warn (_("previous rule lacks an ending `;'"));
|
||||
break;
|
||||
}
|
||||
|
||||
if (!first_rhs) /* JF */
|
||||
first_rhs = symval;
|
||||
@@ -1527,6 +1552,8 @@ readgram (void)
|
||||
/* Warn if there is no default for $$ but we need one. */
|
||||
else if (!xactions && !first_rhs && lhs->type_name != 0)
|
||||
complain (_("empty rule for typed nonterminal, and no action"));
|
||||
if (t == tok_two_percents || t == tok_eof)
|
||||
warn (_("previous rule lacks an ending `;'"));
|
||||
if (t == tok_semicolon)
|
||||
t = lex ();
|
||||
}
|
||||
|
||||
+34
-9
@@ -110,14 +110,26 @@ char *alloca ();
|
||||
char *stpcpy PARAMS ((char *dest, const char *src));
|
||||
#endif
|
||||
|
||||
#if !HAVE_DECL_STRNDUP
|
||||
char *strndup PARAMS ((const char *s, size_t size));
|
||||
#if !HAVE_DECL_STRCHR
|
||||
char *strchr(const char *s, int c);
|
||||
#endif
|
||||
|
||||
#if !HAVE_DECL_STRSPN
|
||||
size_t strspn(const char *s, const char *accept);
|
||||
#endif
|
||||
|
||||
#if !HAVE_DECL_STRNLEN
|
||||
size_t strnlen PARAMS ((const char *s, size_t maxlen));
|
||||
#endif
|
||||
|
||||
#if !HAVE_DECL_MEMCHR
|
||||
void *memchr PARAMS ((const void *s, int c, size_t n));
|
||||
#endif
|
||||
|
||||
#if !HAVE_DECL_MEMRCHR
|
||||
void *memrchr PARAMS ((const void *s, int c, size_t n));
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*-----------------.
|
||||
@@ -126,7 +138,8 @@ size_t strnlen PARAMS ((const char *s, size_t maxlen));
|
||||
|
||||
#ifndef __attribute__
|
||||
/* This feature is available in gcc versions 2.5 and later. */
|
||||
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
|
||||
# if !defined (__GNUC__) || __GNUC__ < 2 || \
|
||||
(__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
|
||||
# define __attribute__(Spec) /* empty */
|
||||
# endif
|
||||
/* The __-protected variants of `format' and `printf' attributes
|
||||
@@ -226,7 +239,7 @@ do { \
|
||||
# define MINSHORT -32768
|
||||
#endif
|
||||
|
||||
#if defined (MSDOS) && !defined (__GO32__)
|
||||
#if defined (MSDOS) && !defined (__GO32__) && !defined (__DJGPP__)
|
||||
# define BITS_PER_WORD 16
|
||||
# define MAXTABLE 16383
|
||||
#else
|
||||
@@ -248,19 +261,31 @@ do { \
|
||||
# define EXT_OUTPUT ".output"
|
||||
# define EXT_STYPE_H "_stype"
|
||||
# define EXT_GUARD_C "_guard"
|
||||
# define EXT_TYPE(ext) (ext)
|
||||
#else /* ! VMS */
|
||||
# ifdef MSDOS
|
||||
/* MS DOS. */
|
||||
# define EXT_TAB "_tab"
|
||||
# define EXT_OUTPUT ".out"
|
||||
# define EXT_STYPE_H ".sth"
|
||||
# define EXT_GUARD_C ".guc"
|
||||
# if defined (__DJGPP__)
|
||||
/* DJGPP */
|
||||
# define EXT_TAB ((pathconf (NULL, _PC_NAME_MAX) > 12) ? ".tab" : "_tab")
|
||||
# define EXT_OUTPUT ((pathconf (NULL, _PC_NAME_MAX) > 12) ? ".output" : ".out")
|
||||
# define EXT_STYPE_H ((pathconf (NULL, _PC_NAME_MAX) > 12) ? ".stype" : ".sth")
|
||||
# define EXT_GUARD_C ((pathconf (NULL, _PC_NAME_MAX) > 12) ? ".guard" : ".guc")
|
||||
# define EXT_TYPE(ext) ((pathconf (NULL, _PC_NAME_MAX) > 12) ? (ext) : "")
|
||||
# else /* ! __DJGPP__ */
|
||||
/* MS DOS. */
|
||||
# define EXT_TAB "_tab"
|
||||
# define EXT_OUTPUT ".out"
|
||||
# define EXT_STYPE_H ".sth"
|
||||
# define EXT_GUARD_C ".guc"
|
||||
# define EXT_TYPE(ext) ""
|
||||
# endif
|
||||
# else /* ! MSDOS */
|
||||
/* Standard. */
|
||||
# define EXT_TAB ".tab"
|
||||
# define EXT_OUTPUT ".output"
|
||||
# define EXT_STYPE_H ".stype"
|
||||
# define EXT_GUARD_C ".guard"
|
||||
# define EXT_TYPE(ext) (ext)
|
||||
# endif /* ! MSDOS */
|
||||
#endif /* ! VMS */
|
||||
|
||||
|
||||
@@ -242,7 +242,8 @@ get_color_str (enum color_e c)
|
||||
case orchid: return "orchid";
|
||||
case black: return "black";
|
||||
default:
|
||||
assert (!"Not a default color.");
|
||||
#define A_known_default_color 0
|
||||
assert (A_known_default_color);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@@ -256,7 +257,8 @@ get_textmode_str (enum textmode_e t)
|
||||
case left_justify: return "left_justify";
|
||||
case right_justify: return "right_justify";
|
||||
default:
|
||||
assert (!"Not a text mode.");
|
||||
#define A_known_text_mode 0
|
||||
assert (A_known_text_mode);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@@ -271,7 +273,8 @@ get_shape_str (enum shape_e s)
|
||||
case ellipse: return "ellipse";
|
||||
case triangle: return "triangle";
|
||||
default:
|
||||
assert (!"Not a shape.");
|
||||
#define A_known_shape 0
|
||||
assert (A_known_shape);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@@ -296,7 +299,8 @@ get_layoutalgorithm_str (enum layoutalgorithm_e l)
|
||||
case dfs: return "dfs";
|
||||
case tree: return "tree";
|
||||
default:
|
||||
assert (!"Not a layout algorithm.");
|
||||
#define A_known_layout_algorithm 0
|
||||
assert (A_known_layout_algorithm);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@@ -309,7 +313,8 @@ get_decision_str (enum decision_e d)
|
||||
case no: return "no";
|
||||
case yes: return "yes";
|
||||
default:
|
||||
assert (!"Either yes nor no.");
|
||||
#define Either_yes_nor_no 0
|
||||
assert (Either_yes_nor_no);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@@ -324,7 +329,8 @@ get_orientation_str (enum orientation_e o)
|
||||
case left_to_right: return "left_to_right";
|
||||
case right_to_left: return "right_to_left";
|
||||
default:
|
||||
assert (!"Not an orientation.");
|
||||
#define A_knownn_orientation 0
|
||||
assert (A_knownn_orientation);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@@ -338,7 +344,8 @@ get_node_alignement_str (enum alignement_e a)
|
||||
case top: return "top";
|
||||
case bottom: return "bottom";
|
||||
default:
|
||||
assert (!"Not an alignement.");
|
||||
#define A_known_alignement 0
|
||||
assert (A_known_alignement);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@@ -351,7 +358,8 @@ get_arrow_mode_str (enum arrow_mode_e a)
|
||||
case fixed: return "fixed";
|
||||
case free_a: return "free";
|
||||
default:
|
||||
assert (!"Not an arrow mode.");
|
||||
#define A_known_arrow_mode 0
|
||||
assert (A_known_arrow_mode);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@@ -366,7 +374,8 @@ get_crossing_type_str (enum crossing_type_e c)
|
||||
case barymedian: return "barymedian";
|
||||
case medianbary: return "medianbary";
|
||||
default:
|
||||
assert (!"Not a crossing type.");
|
||||
#define A_known_crossing_type 0
|
||||
assert (A_known_crossing_type);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@@ -382,7 +391,8 @@ get_view_str (enum view_e v)
|
||||
case fcfish: return "fcfish";
|
||||
case fpfish: return "fpfish";
|
||||
default:
|
||||
assert (!"Not a view.");
|
||||
#define A_known_view 0
|
||||
assert (A_known_view);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@@ -397,7 +407,8 @@ get_linestyle_str (enum linestyle_e l)
|
||||
case dotted: return "dotted";
|
||||
case invisible: return "invisible";
|
||||
default:
|
||||
assert (!"Not a line style.");
|
||||
#define A_known_line_style 0
|
||||
assert (A_known_line_style);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@@ -411,7 +422,8 @@ get_arrowstyle_str (enum arrowstyle_e a)
|
||||
case line: return "line";
|
||||
case none: return "none";
|
||||
default:
|
||||
assert (!"Not an arrow style.");
|
||||
#define A_known_arrow_style 0
|
||||
assert (A_known_arrow_style);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+1
-2
@@ -8,8 +8,7 @@ expout
|
||||
stderr
|
||||
stdout
|
||||
testsuite
|
||||
testsuite.[0-9]
|
||||
testsuite.[0-9][0-9]
|
||||
testsuite.dir
|
||||
package.m4
|
||||
calc.[chy]
|
||||
calc.tab.*
|
||||
|
||||
+25
-4
@@ -1,7 +1,7 @@
|
||||
## Process this file with automake to create Makefile.in.
|
||||
|
||||
## Makefile for Bison testsuite.
|
||||
## Copyright 2000, 2001 Free Software Foundation, Inc.
|
||||
## Copyright 2000, 2001, 2002 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
|
||||
@@ -20,16 +20,37 @@
|
||||
|
||||
EXTRA_DIST = $(TESTSUITE_AT) testsuite
|
||||
|
||||
DISTCLEANFILES = atconfig bison package.m4
|
||||
check_SCRIPTS = bison
|
||||
DISTCLEANFILES = atconfig $(check_SCRIPTS)
|
||||
MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE)
|
||||
|
||||
## ------------ ##
|
||||
## package.m4. ##
|
||||
## ------------ ##
|
||||
|
||||
$(srcdir)/package.m4: $(top_srcdir)/configure.in
|
||||
{ \
|
||||
echo '# Signature of the current package.'; \
|
||||
echo 'm4_define([AT_PACKAGE_NAME], [@PACKAGE_NAME@])'; \
|
||||
echo 'm4_define([AT_PACKAGE_TARNAME], [@PACKAGE_TARNAME@])'; \
|
||||
echo 'm4_define([AT_PACKAGE_VERSION], [@PACKAGE_VERSION@])'; \
|
||||
echo 'm4_define([AT_PACKAGE_STRING], [@PACKAGE_STRING@])'; \
|
||||
echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \
|
||||
} >$(srcdir)/package.m4
|
||||
|
||||
EXTRA_DIST += package.m4
|
||||
|
||||
## ------------ ##
|
||||
## Test suite. ##
|
||||
## ------------ ##
|
||||
|
||||
TESTSUITE_AT = \
|
||||
testsuite.at \
|
||||
output.at sets.at reduce.at calc.at torture.at regression.at
|
||||
input.at output.at sets.at reduce.at calc.at torture.at regression.at
|
||||
TESTSUITE = $(srcdir)/testsuite
|
||||
|
||||
AUTOTEST = $(AUTOM4TE) --language=autotest
|
||||
$(srcdir)/$(TESTSUITE): $(TESTSUITE_AT)
|
||||
$(srcdir)/$(TESTSUITE): package.m4 $(TESTSUITE_AT)
|
||||
$(AUTOTEST) -I $(srcdir) testsuite.at -o $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
|
||||
+29
-12
@@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
||||
# Makefile.in generated by automake 1.5c from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@@ -13,7 +13,6 @@
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
@@ -48,6 +47,7 @@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = @program_transform_name@
|
||||
@@ -92,23 +92,26 @@ PACKAGE = @PACKAGE@
|
||||
POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
RANLIB = @RANLIB@
|
||||
STRIP = @STRIP@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
VERSION = @VERSION@
|
||||
WARNING_CFLAGS = @WARNING_CFLAGS@
|
||||
WERROR_CFLAGS = @WERROR_CFLAGS@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
install_sh = @install_sh@
|
||||
|
||||
EXTRA_DIST = $(TESTSUITE_AT) testsuite
|
||||
EXTRA_DIST = $(TESTSUITE_AT) testsuite package.m4
|
||||
|
||||
DISTCLEANFILES = atconfig bison package.m4
|
||||
check_SCRIPTS = bison
|
||||
DISTCLEANFILES = atconfig $(check_SCRIPTS)
|
||||
MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE)
|
||||
|
||||
TESTSUITE_AT = \
|
||||
testsuite.at \
|
||||
output.at sets.at reduce.at calc.at torture.at regression.at
|
||||
input.at output.at sets.at reduce.at calc.at torture.at regression.at
|
||||
|
||||
TESTSUITE = $(srcdir)/testsuite
|
||||
|
||||
@@ -126,7 +129,7 @@ $(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) && $(SHELL) ./config.status $(subdir)/$@
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||
bison: $(top_builddir)/config.status bison.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
atlocal: $(top_builddir)/config.status atlocal.in
|
||||
@@ -135,7 +138,6 @@ uninstall-info-am:
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = ..
|
||||
@@ -143,13 +145,16 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@for file in $(DISTFILES); do \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||
dir="/$$dir"; \
|
||||
$(mkinstalldirs) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pR $$d/$$file $(distdir) \
|
||||
cp -pR $$d/$$file $(distdir)$$dir \
|
||||
|| exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
@@ -158,6 +163,7 @@ distdir: $(DISTFILES)
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
$(MAKE) $(AM_MAKEFLAGS) $(check_SCRIPTS)
|
||||
$(MAKE) $(AM_MAKEFLAGS) check-local
|
||||
check: check-am
|
||||
all-am: Makefile
|
||||
@@ -175,6 +181,7 @@ install-am: all-am
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
@@ -234,7 +241,17 @@ uninstall-am: uninstall-info-am
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||
uninstall uninstall-am uninstall-info-am
|
||||
|
||||
$(srcdir)/$(TESTSUITE): $(TESTSUITE_AT)
|
||||
|
||||
$(srcdir)/package.m4: $(top_srcdir)/configure.in
|
||||
{ \
|
||||
echo '# Signature of the current package.'; \
|
||||
echo 'm4_define([AT_PACKAGE_NAME], [@PACKAGE_NAME@])'; \
|
||||
echo 'm4_define([AT_PACKAGE_TARNAME], [@PACKAGE_TARNAME@])'; \
|
||||
echo 'm4_define([AT_PACKAGE_VERSION], [@PACKAGE_VERSION@])'; \
|
||||
echo 'm4_define([AT_PACKAGE_STRING], [@PACKAGE_STRING@])'; \
|
||||
echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \
|
||||
} >$(srcdir)/package.m4
|
||||
$(srcdir)/$(TESTSUITE): package.m4 $(TESTSUITE_AT)
|
||||
$(AUTOTEST) -I $(srcdir) testsuite.at -o $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
|
||||
+3
-6
@@ -1,13 +1,10 @@
|
||||
# @configure_input@ -*- shell-script -*-
|
||||
# Configurable variable values for Bison test suite.
|
||||
# Copyright 2000, 2001 Free Software Foundation, Inc.
|
||||
# Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
# We need a C compiler.
|
||||
CC='@CC@'
|
||||
CFLAGS='@CFLAGS@ @WARNING_CFLAGS@'
|
||||
|
||||
# We need to know if the compiler is GCC.
|
||||
GCC='@GCC@'
|
||||
CFLAGS='@CFLAGS@ @WARNING_CFLAGS@ @WERROR_CFLAGS@'
|
||||
|
||||
# We need `config.h'.
|
||||
CPPFLAGS="-I$top_buildpath @CPPFLAGS@"
|
||||
CPPFLAGS="-I$abs_top_builddir @CPPFLAGS@"
|
||||
|
||||
+4
-4
@@ -1,11 +1,11 @@
|
||||
#! /bin/sh
|
||||
# @configure_generated@
|
||||
# @configure_input@
|
||||
# Wrapper around a non installed bison to make it work as an installed one.
|
||||
|
||||
# We want to use the files shipped with Bison.
|
||||
BISON_SIMPLE='@top_srcpath@/src/bison.simple'
|
||||
BISON_SIMPLE='@abs_top_srcdir@/src/bison.simple'
|
||||
export BISON_SIMPLE
|
||||
BISON_HAIRY='@top_srcpath@/src/bison.hairy'
|
||||
BISON_HAIRY='@abs_top_srcdir@/src/bison.hairy'
|
||||
export BISON_HAIRY
|
||||
|
||||
exec '@top_buildpath@/src/bison' ${1+"$@"}
|
||||
exec '@abs_top_builddir@/src/bison' ${1+"$@"}
|
||||
|
||||
+2
-13
@@ -272,7 +272,7 @@ m4_define([_AT_CHECK_CALC],
|
||||
[AT_DATA([[input]],
|
||||
[[$2
|
||||
]])
|
||||
AT_CHECK([calc input], 0, [], [stderr])dnl
|
||||
AT_CHECK([./calc input], 0, [], [stderr])dnl
|
||||
AT_CHECK([wc -l <stderr | sed 's/[[^0-9]]//g'], 0,
|
||||
[m4_bmatch([$1], [--debug],
|
||||
[$3], [0])
|
||||
@@ -299,7 +299,7 @@ m4_define([_AT_CHECK_CALC_ERROR],
|
||||
[[$2
|
||||
]])
|
||||
|
||||
AT_CHECK([calc input], 0, [], [stderr])
|
||||
AT_CHECK([./calc input], 0, [], [stderr])
|
||||
|
||||
|
||||
AT_CHECK([wc -l <stderr | sed 's/[[^0-9]]//g'], 0,
|
||||
@@ -334,17 +334,6 @@ AT_DATA_CALC_Y([$1])
|
||||
AT_CHECK([bison calc.y -o calc.c m4_bpatsubst([$1], [--yyerror-verbose])],
|
||||
[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.
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
# Checking the output filenames. -*- Autotest -*-
|
||||
# Copyright 2002 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([[Input Processing.]])
|
||||
|
||||
# Mostly test that we are robust to mistakes.
|
||||
|
||||
## ------------ ##
|
||||
## Invalid $n. ##
|
||||
## ------------ ##
|
||||
|
||||
|
||||
AT_SETUP([Invalid $n])
|
||||
|
||||
AT_DATA([input.y],
|
||||
[[%%
|
||||
exp: { $$ = $1 ; };
|
||||
]])
|
||||
|
||||
AT_CHECK([bison input.y], [1], [],
|
||||
[[input.y:2: invalid $ value
|
||||
]])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
|
||||
## ------------ ##
|
||||
## Invalid @n. ##
|
||||
## ------------ ##
|
||||
|
||||
|
||||
AT_SETUP([Invalid @n])
|
||||
|
||||
AT_DATA([input.y],
|
||||
[[%%
|
||||
exp: { @$ = @1 ; };
|
||||
]])
|
||||
|
||||
AT_CHECK([bison input.y], [1], [],
|
||||
[[input.y:2: invalid @ value
|
||||
]])
|
||||
|
||||
AT_CLEANUP
|
||||
+17
-2
@@ -26,10 +26,10 @@ m4_define([AT_CHECK_OUTPUT],
|
||||
AT_DATA([$1],
|
||||
[[$2
|
||||
%%
|
||||
foo: {}
|
||||
foo: {};
|
||||
]])
|
||||
|
||||
AT_CHECK([bison $3 $1], 0)
|
||||
AT_CHECK([bison $3 $1])
|
||||
AT_CHECK([ls $4], [], [ignore])
|
||||
AT_CLEANUP
|
||||
])
|
||||
@@ -53,6 +53,9 @@ AT_CHECK_OUTPUT([foo.y], [%defines %verbose], [],
|
||||
AT_CHECK_OUTPUT([foo.y], [%defines %verbose %yacc],[],
|
||||
[y.output y.tab.c y.tab.h])
|
||||
|
||||
AT_CHECK_OUTPUT([foo.yy], [%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])
|
||||
@@ -78,3 +81,15 @@ AT_CHECK_OUTPUT([foo.yy], [],
|
||||
AT_CHECK_OUTPUT([foo.yy], [],
|
||||
[-o foo.c++ --graph=foo.gph],
|
||||
[foo.c++ foo.gph])
|
||||
|
||||
# Be sure to reject cases where the parser and the header would have
|
||||
# the same name.
|
||||
AT_SETUP([Clashing Output Files.])
|
||||
AT_DATA([foo.y],
|
||||
[[%% foo: {};
|
||||
]])
|
||||
|
||||
AT_CHECK([bison -do foo.x foo.y], [1], [],
|
||||
[foo.y:2: fatal error: header and parser would be both named `foo.x'
|
||||
])
|
||||
AT_CLEANUP
|
||||
|
||||
+330
-45
@@ -18,6 +18,102 @@
|
||||
|
||||
AT_BANNER([[Regression tests.]])
|
||||
|
||||
|
||||
## ------------------- ##
|
||||
## %nonassoc and eof. ##
|
||||
## ------------------- ##
|
||||
|
||||
AT_SETUP([%nonassoc and eof])
|
||||
|
||||
AT_DATA([input.y],
|
||||
[[
|
||||
%{
|
||||
#include <stdio.h>
|
||||
|
||||
#define YYERROR_VERBOSE 1
|
||||
#define yyerror(Msg) \
|
||||
do { \
|
||||
fprintf (stderr, "%s\n", Msg); \
|
||||
exit (1); \
|
||||
} while (0)
|
||||
|
||||
/* The current argument. */
|
||||
static const char *input = NULL;
|
||||
|
||||
static int
|
||||
yylex (void)
|
||||
{
|
||||
/* No token stands for end of file. */
|
||||
if (input && *input)
|
||||
return *input++;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
%}
|
||||
|
||||
%nonassoc '<' '>'
|
||||
|
||||
%%
|
||||
expr: expr '<' expr
|
||||
| expr '>' expr
|
||||
| '0'
|
||||
;
|
||||
%%
|
||||
int
|
||||
main (int argc, const char *argv[])
|
||||
{
|
||||
if (argc > 1)
|
||||
input = argv[1];
|
||||
return yyparse ();
|
||||
}
|
||||
]])
|
||||
|
||||
# Specify the output files to avoid problems on different file systems.
|
||||
AT_CHECK([bison input.y -o input.c])
|
||||
AT_CHECK([$CC $CFLAGS $CPPFLAGS input.c -o input], 0, [], [ignore])
|
||||
|
||||
AT_CHECK([./input '0<0'])
|
||||
# FIXME: This is an actual bug, but a new one, in the sense that
|
||||
# no one has ever spotted it! The messages are *wrong*: there should
|
||||
# be nothing there, it should be expected eof.
|
||||
AT_CHECK([./input '0<0<0'], [1], [],
|
||||
[parse error, unexpected '<', expecting '<' or '>'
|
||||
])
|
||||
|
||||
AT_CHECK([./input '0>0'])
|
||||
AT_CHECK([./input '0>0>0'], [1], [],
|
||||
[parse error, unexpected '>', expecting '<' or '>'
|
||||
])
|
||||
|
||||
AT_CHECK([./input '0<0>0'], [1], [],
|
||||
[parse error, unexpected '>', expecting '<' or '>'
|
||||
])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
## ---------------- ##
|
||||
## Braces parsing. ##
|
||||
## ---------------- ##
|
||||
|
||||
|
||||
AT_SETUP([braces parsing])
|
||||
|
||||
AT_DATA([input.y],
|
||||
[[/* Bison used to swallow the character after `}'. */
|
||||
|
||||
%%
|
||||
exp: { tests = {{{{{{{{{{}}}}}}}}}}; };
|
||||
%%
|
||||
]])
|
||||
|
||||
AT_CHECK([bison -v input.y -o input.c], 0, ignore, ignore)
|
||||
|
||||
AT_CHECK([fgrep 'tests = {{{{{{{{{{}}}}}}}}}};' input.c], 0, [ignore])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
|
||||
## ------------------ ##
|
||||
## Duplicate string. ##
|
||||
## ------------------ ##
|
||||
@@ -286,7 +382,7 @@ expr:
|
||||
|
||||
{
|
||||
|
||||
}
|
||||
};
|
||||
]])
|
||||
|
||||
AT_CHECK([bison input.y -o input.c -v], 0, [], [])
|
||||
@@ -522,40 +618,30 @@ AT_CHECK([fgrep '//*' union-comment.tab.c], [1], [])
|
||||
AT_CLEANUP
|
||||
|
||||
|
||||
## ----------------- ##
|
||||
## Invalid input 1. ##
|
||||
## ----------------- ##
|
||||
## ---------------- ##
|
||||
## Invalid inputs. ##
|
||||
## ---------------- ##
|
||||
|
||||
|
||||
AT_SETUP([Invalid input: 1])
|
||||
AT_SETUP([Invalid inputs])
|
||||
|
||||
AT_DATA([input.y],
|
||||
[[%%
|
||||
?
|
||||
default: 'a' }
|
||||
%{
|
||||
%&
|
||||
%a
|
||||
%-
|
||||
]])
|
||||
|
||||
AT_CHECK([bison input.y], [1], [],
|
||||
[[input.y:2: invalid input: `?'
|
||||
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: `}'
|
||||
input.y:3: invalid input: `}'
|
||||
input.y:4: invalid input: `%{'
|
||||
input.y:5: invalid input: `%&'
|
||||
input.y:6: invalid input: `%a'
|
||||
input.y:7: invalid input: `%-'
|
||||
]])
|
||||
|
||||
AT_CLEANUP
|
||||
@@ -583,31 +669,230 @@ AT_CLEANUP
|
||||
|
||||
|
||||
|
||||
## --------------------- ##
|
||||
## Invalid CPP headers. ##
|
||||
## --------------------- ##
|
||||
## -------------- ##
|
||||
## Web2c Report. ##
|
||||
## -------------- ##
|
||||
|
||||
# AT_TEST_CPP_GUARD_H([INPUT-FILE-BASE)
|
||||
# -------------------------------------
|
||||
m4_define([AT_TEST_CPP_GUARD_H],
|
||||
[AT_SETUP([Invalid CPP guards: $1])
|
||||
# The generation of the reduction was once wrong in Bison, and made it
|
||||
# miss some reductions. In the following test case, the reduction on
|
||||
# `undef_id_tok' in state 1 was missing. This is stripped down from
|
||||
# the actual web2c.y.
|
||||
|
||||
# Possibly create inner directories.
|
||||
dirname=`AS_DIRNAME([$1])`
|
||||
AS_MKDIR_P([$dirname])
|
||||
AT_SETUP([Web2c Report])
|
||||
|
||||
AT_DATA([$1.y],
|
||||
[%%
|
||||
dummy:
|
||||
])
|
||||
AT_DATA([input.y],
|
||||
[[%token undef_id_tok const_id_tok
|
||||
|
||||
AT_CHECK([bison --defines=$1.h $1.y])
|
||||
%start CONST_DEC_PART
|
||||
|
||||
%%
|
||||
CONST_DEC_PART:
|
||||
CONST_DEC_LIST
|
||||
;
|
||||
|
||||
# CPP should be happy with it.
|
||||
AT_CHECK([$CC -E $1.h], 0, [ignore])
|
||||
CONST_DEC_LIST:
|
||||
CONST_DEC
|
||||
| CONST_DEC_LIST CONST_DEC
|
||||
;
|
||||
|
||||
CONST_DEC:
|
||||
{ } undef_id_tok '=' const_id_tok ';'
|
||||
;
|
||||
%%
|
||||
|
||||
]])
|
||||
|
||||
AT_CHECK([bison -v input.y])
|
||||
|
||||
AT_CHECK([sed -n 's/ *$//;/^$/!p' input.output], 0,
|
||||
[[Grammar
|
||||
Number, Line, Rule
|
||||
1 6 CONST_DEC_PART -> CONST_DEC_LIST
|
||||
2 10 CONST_DEC_LIST -> CONST_DEC
|
||||
3 12 CONST_DEC_LIST -> CONST_DEC_LIST CONST_DEC
|
||||
4 15 @1 -> /* empty */
|
||||
5 15 CONST_DEC -> @1 undef_id_tok '=' const_id_tok ';'
|
||||
Terminals, with rules where they appear
|
||||
$ (-1)
|
||||
';' (59) 5
|
||||
'=' (61) 5
|
||||
error (256)
|
||||
undef_id_tok (257) 5
|
||||
const_id_tok (258) 5
|
||||
Nonterminals, with rules where they appear
|
||||
CONST_DEC_PART (7)
|
||||
on left: 1
|
||||
CONST_DEC_LIST (8)
|
||||
on left: 2 3, on right: 1 3
|
||||
CONST_DEC (9)
|
||||
on left: 5, on right: 2 3
|
||||
@1 (10)
|
||||
on left: 4, on right: 5
|
||||
state 0
|
||||
$default reduce using rule 4 (@1)
|
||||
CONST_DEC_PART go to state 9
|
||||
CONST_DEC_LIST go to state 1
|
||||
CONST_DEC go to state 2
|
||||
@1 go to state 3
|
||||
state 1
|
||||
CONST_DEC_PART -> CONST_DEC_LIST . (rule 1)
|
||||
CONST_DEC_LIST -> CONST_DEC_LIST . CONST_DEC (rule 3)
|
||||
undef_id_tok reduce using rule 4 (@1)
|
||||
$default reduce using rule 1 (CONST_DEC_PART)
|
||||
CONST_DEC go to state 4
|
||||
@1 go to state 3
|
||||
state 2
|
||||
CONST_DEC_LIST -> CONST_DEC . (rule 2)
|
||||
$default reduce using rule 2 (CONST_DEC_LIST)
|
||||
state 3
|
||||
CONST_DEC -> @1 . undef_id_tok '=' const_id_tok ';' (rule 5)
|
||||
undef_id_tok shift, and go to state 5
|
||||
state 4
|
||||
CONST_DEC_LIST -> CONST_DEC_LIST CONST_DEC . (rule 3)
|
||||
$default reduce using rule 3 (CONST_DEC_LIST)
|
||||
state 5
|
||||
CONST_DEC -> @1 undef_id_tok . '=' const_id_tok ';' (rule 5)
|
||||
'=' shift, and go to state 6
|
||||
state 6
|
||||
CONST_DEC -> @1 undef_id_tok '=' . const_id_tok ';' (rule 5)
|
||||
const_id_tok shift, and go to state 7
|
||||
state 7
|
||||
CONST_DEC -> @1 undef_id_tok '=' const_id_tok . ';' (rule 5)
|
||||
';' shift, and go to state 8
|
||||
state 8
|
||||
CONST_DEC -> @1 undef_id_tok '=' const_id_tok ';' . (rule 5)
|
||||
$default reduce using rule 5 (CONST_DEC)
|
||||
state 9
|
||||
$ go to state 10
|
||||
state 10
|
||||
$ go to state 11
|
||||
state 11
|
||||
$default accept
|
||||
]])
|
||||
|
||||
AT_CLEANUP
|
||||
])
|
||||
|
||||
AT_TEST_CPP_GUARD_H([input/input])
|
||||
AT_TEST_CPP_GUARD_H([9foo])
|
||||
|
||||
## --------------- ##
|
||||
## Web2c Actions. ##
|
||||
## --------------- ##
|
||||
|
||||
# The generation of the mapping `state -> action' was once wrong in
|
||||
# extremely specific situations. web2c.y exhibits this situation.
|
||||
# Below is a stripped version of the grammar. It looks like one can
|
||||
# simplify it further, but just don't: it is tuned to exhibit a bug,
|
||||
# which disapears when applying sane grammar transformations.
|
||||
#
|
||||
# It used to be wrong on yydefact only:
|
||||
#
|
||||
# static const short yydefact[] =
|
||||
# {
|
||||
# - 2, 0, 1, 0, 0, 2, 3, 2, 5, 4,
|
||||
# + 2, 0, 1, 0, 0, 0, 3, 2, 5, 4,
|
||||
# 0, 0
|
||||
# };
|
||||
#
|
||||
# but let's check all the tables.
|
||||
|
||||
|
||||
AT_SETUP([Web2c Actions])
|
||||
|
||||
AT_DATA([input.y],
|
||||
[[%%
|
||||
statement: struct_stat;
|
||||
struct_stat: /* empty. */ | if else;
|
||||
if: "if" "const" "then" statement;
|
||||
else: "else" statement;
|
||||
%%
|
||||
]])
|
||||
|
||||
AT_CHECK([bison -v input.y -o input.c])
|
||||
|
||||
# Check only the tables. We don't use --no-parser, because it is
|
||||
# still to be implemented in the experimental branch of Bison.
|
||||
AT_CHECK([[sed -n 's/ *$//;/^static const.*\[\] =/,/^}/p' input.c]], 0,
|
||||
[[static const char yytranslate[] =
|
||||
{
|
||||
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 1, 3, 4, 5,
|
||||
6
|
||||
};
|
||||
static const short yyprhs[] =
|
||||
{
|
||||
0, 0, 2, 3, 6, 11
|
||||
};
|
||||
static const short yyrhs[] =
|
||||
{
|
||||
8, 0, 0, 9, 10, 0, 3, 4, 5, 7,
|
||||
0, 6, 7, 0
|
||||
};
|
||||
static const short yyrline[] =
|
||||
{
|
||||
0, 2, 3, 3, 4, 5
|
||||
};
|
||||
static const char *const yytname[] =
|
||||
{
|
||||
"$", "error", "$undefined.", "\"if\"", "\"const\"", "\"then\"",
|
||||
"\"else\"", "statement", "struct_stat", "if", "else", 0
|
||||
};
|
||||
static const short yyr1[] =
|
||||
{
|
||||
0, 7, 8, 8, 9, 10
|
||||
};
|
||||
static const short yyr2[] =
|
||||
{
|
||||
0, 1, 0, 2, 4, 2
|
||||
};
|
||||
static const short yydefact[] =
|
||||
{
|
||||
2, 0, 1, 0, 0, 2, 3, 2, 5, 4,
|
||||
0, 0, 0
|
||||
};
|
||||
static const short yydefgoto[] =
|
||||
{
|
||||
8, 2, 3, 6
|
||||
};
|
||||
static const short yypact[] =
|
||||
{
|
||||
-2, -1,-32768, -4, 1, -2,-32768, -2,-32768,-32768,
|
||||
4, 5,-32768
|
||||
};
|
||||
static const short yypgoto[] =
|
||||
{
|
||||
0,-32768,-32768,-32768
|
||||
};
|
||||
static const short yytable[] =
|
||||
{
|
||||
10, 1, 5, 4, 11, 12, 7, 9
|
||||
};
|
||||
static const short yycheck[] =
|
||||
{
|
||||
0, 3, 6, 4, 0, 0, 5, 7
|
||||
};
|
||||
]])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
+8
-8
@@ -161,14 +161,14 @@ AT_SETUP([Broken Closure])
|
||||
|
||||
AT_DATA([input.y],
|
||||
[[%%
|
||||
a: b
|
||||
b: c
|
||||
c: d
|
||||
d: e
|
||||
e: f
|
||||
f: g
|
||||
g: h
|
||||
h: 'h'
|
||||
a: b;
|
||||
b: c;
|
||||
c: d;
|
||||
d: e;
|
||||
e: f;
|
||||
f: g;
|
||||
g: h;
|
||||
h: 'h';
|
||||
]])
|
||||
|
||||
AT_CHECK([bison --trace input.y 2>&1 |
|
||||
|
||||
@@ -25,6 +25,7 @@ AT_INIT
|
||||
|
||||
AT_TESTED([bison])
|
||||
|
||||
m4_include([input.at])
|
||||
m4_include([output.at])
|
||||
m4_include([sets.at])
|
||||
m4_include([reduce.at])
|
||||
|
||||
+858
-6
@@ -85,12 +85,12 @@ AT_SETUP([Exploding the Stack Size with Alloca])
|
||||
AT_DATA_STACK_TORTURE
|
||||
|
||||
# Below the limit of 200.
|
||||
AT_CHECK([input 20], 0, [], [ignore])
|
||||
AT_CHECK([./input 20], 0, [], [ignore])
|
||||
# Two enlargements: 2 * 2 * 200.
|
||||
AT_CHECK([input 900], 0, [], [ignore])
|
||||
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_CHECK([./input 10000], 1, [], [ignore])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
@@ -106,12 +106,12 @@ AT_SETUP([Exploding the Stack Size with Malloc])
|
||||
AT_DATA_STACK_TORTURE([[#define YYSTACK_USE_ALLOCA 0]])
|
||||
|
||||
# Below the limit of 200.
|
||||
AT_CHECK([input 20], 0, [], [ignore])
|
||||
AT_CHECK([./input 20], 0, [], [ignore])
|
||||
# Two enlargements: 2 * 2 * 200.
|
||||
AT_CHECK([input 900], 0, [], [ignore])
|
||||
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_CHECK([./input 10000], 1, [], [ignore])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
@@ -454,3 +454,855 @@ comma : ',' opt_nls
|
||||
AT_CHECK([[bison --verbose --defines input.y]])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
|
||||
## ----------------- ##
|
||||
## GNU Cim Grammar. ##
|
||||
## ----------------- ##
|
||||
|
||||
AT_SETUP([GNU Cim Grammar])
|
||||
|
||||
# GNU Cim, the GNU Simula 87 Compiler.
|
||||
|
||||
# Bison was once wrong, due to an incorrect computation of the RR conflicts.
|
||||
# It reported 80 SR && 99 RR conflicts instead of 78/10!!!
|
||||
|
||||
AT_DATA([[input.y]],
|
||||
[[%union {
|
||||
long token;
|
||||
long ival;
|
||||
long arrdim;
|
||||
double rval;
|
||||
char *ident;
|
||||
char *tval;
|
||||
char stat_decl;
|
||||
}
|
||||
|
||||
%token
|
||||
HACTIVATE HAFTER /*HAND*/ HARRAY HAT
|
||||
HBEFORE HBEGIN HBOOLEAN
|
||||
HCHARACTER HCLASS /*HCOMMENT*/ HCONC
|
||||
HDELAY HDO
|
||||
HELSE HEND HEQ /*HEQV*/ HEXTERNAL
|
||||
HFOR
|
||||
HGE HGO HGOTO HGT
|
||||
HHIDDEN
|
||||
HIF /*HIMP*/ HIN HINNER HINSPECT HINTEGER HIS
|
||||
HLABEL HLE HLONG HLT
|
||||
HNAME HNE HNEW HNONE /*HNOT*/ HNOTEXT
|
||||
/*HOR*/ HOTHERWISE
|
||||
HPRIOR HPROCEDURE HPROTECTED
|
||||
HQUA
|
||||
HREACTIVATE HREAL HREF
|
||||
HSHORT HSTEP HSWITCH
|
||||
HTEXT HTHEN HTHIS HTO
|
||||
HUNTIL
|
||||
HVALUE HVAR HVIRTUAL
|
||||
HWHEN HWHILE
|
||||
|
||||
HASSIGNVALUE HASSIGNREF
|
||||
/*HDOT*/ HPAREXPSEPARATOR HLABELSEPARATOR HSTATEMENTSEPARATOR
|
||||
HBEGPAR HENDPAR
|
||||
HEQR HNER
|
||||
HADD HSUB HMUL HDIV HINTDIV HEXP
|
||||
HDOTDOTDOT
|
||||
|
||||
%token <ident> HIDENTIFIER
|
||||
%token <ival> HBOOLEANKONST HINTEGERKONST HCHARACTERKONST
|
||||
%token <rval> HREALKONST
|
||||
%token <tval> HTEXTKONST
|
||||
|
||||
%type <tval> EXT_IDENT
|
||||
%type <stat_decl> DECLSTATEMENT MODULSTATEMENT MBEE_DECLSTMS MBEE_DECLSTMSU
|
||||
%type <stat_decl> MODULS
|
||||
%type <ident> EXPRESSION_SIMP MBEE_ARG_R_PT
|
||||
%type <arrdim> BAUND_PAIR_LIST
|
||||
|
||||
%right <token> HASSIGN
|
||||
%left HORELSE
|
||||
%left HANDTHEN
|
||||
%left HEQV
|
||||
%left HIMP
|
||||
%left HOR
|
||||
%left HAND
|
||||
|
||||
%left HNOT
|
||||
|
||||
%left <token> HVALRELOPERATOR HREFRELOPERATOR HOBJRELOPERATOR
|
||||
|
||||
%left HCONC
|
||||
|
||||
%left <token> HTERMOPERATOR
|
||||
%left <token> UNEAR
|
||||
%left <token> HFACTOROPERATOR
|
||||
%left HPRIMARYOPERATOR
|
||||
|
||||
%left HQUA
|
||||
|
||||
%left HDOT
|
||||
|
||||
%start MAIN_MODULE
|
||||
%%
|
||||
/* GRAMATIKK FOR PROGRAM MODULES */
|
||||
MAIN_MODULE : { categ=CLOCAL; mout(MBLOCK);
|
||||
beginBlock(KBLOKK);separat_comp=FALSE;}
|
||||
MODULS { endBlock(NULL,CCNO); mout(MENDBLOCK);}
|
||||
| error HSTATEMENTSEPARATOR MBEE_DECLSTMS
|
||||
;
|
||||
EXT_DECLARATION : HEXTERNAL
|
||||
MBEE_TYPE
|
||||
HPROCEDURE
|
||||
{ MBEENEWBLOCK();
|
||||
kind=KPROC;}
|
||||
EXT_LIST
|
||||
|
|
||||
HEXTERNAL
|
||||
HIDENTIFIER
|
||||
HPROCEDURE
|
||||
{ MBEENEWBLOCK();
|
||||
type=TNOTY;
|
||||
kind=KPROC;
|
||||
if($2==Ckind)categ=CCPROC;else
|
||||
yerror (1);
|
||||
ysensitive=sensitive;
|
||||
sensitive=ON;}
|
||||
HIDENTIFIER { $<ident>$=$5;
|
||||
sensitive=ysensitive;}
|
||||
EXTERNAL_KIND_ITEM
|
||||
{ categ=CLOCAL;}
|
||||
| HEXTERNAL
|
||||
HCLASS
|
||||
{ MBEENEWBLOCK();
|
||||
kind=KCLASS;}
|
||||
EXT_LIST
|
||||
|
||||
;
|
||||
EXTERNAL_KIND_ITEM: EXT_IDENT
|
||||
HOBJRELOPERATOR
|
||||
{ if($2!=HIS)yerror (2);}
|
||||
MBEE_TYPE HPROCEDURE
|
||||
HIDENTIFIER
|
||||
{ regDecl($6, type, KPROC, CCPROC);
|
||||
beginBlock(kind);}
|
||||
HEADING EMPTY_BLOCK
|
||||
{ categ=CLOCAL;
|
||||
endBlock($1==NULL?$<ident>0:tag($1),CCCPROC);}
|
||||
/* |
|
||||
EXT_IDENT
|
||||
{ if($1!=NULL)yerror (3);
|
||||
regDecl($0, type, kind, categ);}
|
||||
MBEE_REST_EXT_LIST
|
||||
{ endBlock(NULL,CCNO);}
|
||||
;
|
||||
MBEE_REST_EXT_LIST: /* EMPTY
|
||||
| HPAREXPSEPARATOR EXT_KIND_LIST
|
||||
;
|
||||
EXT_KIND_LIST : EXT_KIND_ITEM
|
||||
| EXT_KIND_LIST HPAREXPSEPARATOR EXT_KIND_ITEM
|
||||
;
|
||||
EXT_KIND_ITEM : HIDENTIFIER
|
||||
EXT_IDENT
|
||||
{ if($2!=NULL)yerror (3);
|
||||
regDecl($1, type, kind, categ);}*/
|
||||
;
|
||||
EMPTY_BLOCK : /*EMPT*/
|
||||
| HBEGIN HEND
|
||||
;
|
||||
EXT_LIST : EXT_ITEM
|
||||
| EXT_LIST HPAREXPSEPARATOR EXT_ITEM
|
||||
;
|
||||
EXT_ITEM : HIDENTIFIER
|
||||
EXT_IDENT
|
||||
{ lesinn_external_spec($1,$2, kind);}
|
||||
;
|
||||
EXT_IDENT : /* EMPTY */ { $$=NULL;}
|
||||
| HVALRELOPERATOR { if($1!=HEQ)yerror (9);
|
||||
external=TRUE;}
|
||||
HTEXTKONST { $$=$3;external=FALSE;}
|
||||
;
|
||||
/* GRAMATIKK FOR TYPER */
|
||||
NO_TYPE : /*EMPT*/ { type=TNOTY;}
|
||||
;
|
||||
MBEE_TYPE : NO_TYPE
|
||||
| TYPE
|
||||
;
|
||||
TYPE : HREF HBEGPAR
|
||||
HIDENTIFIER
|
||||
{ prefquantident=$3;
|
||||
type=TREF;}
|
||||
HENDPAR
|
||||
| HTEXT { type=TTEXT;}
|
||||
| HBOOLEAN { type=TBOOL;}
|
||||
| HCHARACTER { type=TCHAR;}
|
||||
| HSHORT HINTEGER { type=TSHORT;}
|
||||
| HINTEGER { type=TINTG;}
|
||||
| HREAL { type=TREAL;}
|
||||
| HLONG HREAL { type=TLONG;}
|
||||
;
|
||||
|
||||
/* GRAMATIKK FOR DEL AV SETNINGER */
|
||||
MBEE_ELSE_PART : /*EMPT*/
|
||||
/* | HELSE
|
||||
HIF
|
||||
EXPRESSION
|
||||
HTHEN { mout(MELSE);
|
||||
mout(MIF);
|
||||
OBSBLOCK();}
|
||||
BLOCK { MBEEENDBLOCK();}
|
||||
MBEE_ELSE_PART { mout(MENDIF);}*/
|
||||
| HELSE { OBSBLOCK(); mout(MELSE);}
|
||||
BLOCK { MBEEENDBLOCK();}
|
||||
;
|
||||
FOR_LIST : FOR_LIST_ELEMENT { mout(MENDSEP);
|
||||
mout(MLISTSEP);}
|
||||
| FOR_LIST_ELEMENT
|
||||
HPAREXPSEPARATOR
|
||||
FOR_LIST { mout(MLISTSEP);}
|
||||
;
|
||||
FOR_LIST_ELEMENT: EXPRESSION
|
||||
MBEE_F_L_EL_R_PT
|
||||
;
|
||||
MBEE_F_L_EL_R_PT: /*EMPT*/
|
||||
| HWHILE
|
||||
EXPRESSION { mout(MFORWHILE);}
|
||||
| HSTEP
|
||||
EXPRESSION
|
||||
HUNTIL
|
||||
EXPRESSION { mout(MUNTIL);
|
||||
mout(MSTEP);}
|
||||
;
|
||||
GOTO : HGO
|
||||
HTO
|
||||
| HGOTO
|
||||
;
|
||||
CONN_STATE_R_PT : WHEN_CLAUSE_LIST
|
||||
| HDO { beginBlock(KCON); mout(MDO);
|
||||
OBSBLOCK(); }
|
||||
BLOCK { endBlock(NULL,CCNO);
|
||||
MBEEENDBLOCK(); mout(MENDDO);}
|
||||
;
|
||||
WHEN_CLAUSE_LIST: HWHEN
|
||||
HIDENTIFIER
|
||||
HDO { beginBlock(KCON); mout(MIDENTIFIER);
|
||||
OBSBLOCK(); moutId($2);
|
||||
mout(MWHEN);}
|
||||
BLOCK { endBlock(NULL,CCNO);
|
||||
MBEEENDBLOCK(); mout(MENDWHEN);}
|
||||
| WHEN_CLAUSE_LIST
|
||||
HWHEN
|
||||
HIDENTIFIER
|
||||
HDO { beginBlock(KCON); mout(MIDENTIFIER);
|
||||
OBSBLOCK(); moutId($3);
|
||||
mout(MWHEN);}
|
||||
BLOCK { endBlock(NULL,CCNO);
|
||||
MBEEENDBLOCK(); mout(MENDWHEN);}
|
||||
;
|
||||
MBEE_OTWI_CLAUS : /*EMPT*/
|
||||
| HOTHERWISE {OBSBLOCK(); mout(MOTHERWISE);}
|
||||
|
||||
BLOCK {MBEEENDBLOCK();mout(MENDOTHERWISE);}
|
||||
;
|
||||
ACTIVATOR : HACTIVATE { mout(MBOOLEANKONST);
|
||||
moutIval(FALSE);}
|
||||
| HREACTIVATE { mout(MBOOLEANKONST);
|
||||
moutIval(TRUE);}
|
||||
;
|
||||
SCHEDULE : /*EMPT*/ { mout(MCHARACTERKONST);
|
||||
moutIval(DIRECT);
|
||||
mout(MINTEGERKONST);
|
||||
moutIval(0);
|
||||
mout(MNONE);
|
||||
mout(MBOOLEANKONST);
|
||||
moutIval(FALSE);}
|
||||
| ATDELAY EXPRESSION { mout(MNONE);}
|
||||
PRIOR
|
||||
| BEFOREAFTER { mout(MINTEGERKONST);
|
||||
moutIval(0);}
|
||||
EXPRESSION { mout(MBOOLEANKONST);
|
||||
moutIval(FALSE);}
|
||||
;
|
||||
ATDELAY : HAT { mout(MCHARACTERKONST);
|
||||
moutIval(AT);}
|
||||
| HDELAY { mout(MCHARACTERKONST);
|
||||
moutIval(DELAYS);}
|
||||
;
|
||||
BEFOREAFTER : HBEFORE { mout(MCHARACTERKONST);
|
||||
moutIval(BEFORE);}
|
||||
| HAFTER { mout(MCHARACTERKONST);
|
||||
moutIval(AFTER);}
|
||||
;
|
||||
PRIOR : /*EMPT*/ { mout(MBOOLEANKONST);
|
||||
moutIval(FALSE);}
|
||||
| HPRIOR { mout(MBOOLEANKONST);
|
||||
moutIval(TRUE);}
|
||||
;
|
||||
/* GRAMATIKK FOR SETNINGER OG DEKLARASJONER */
|
||||
MODULSTATEMENT : HWHILE
|
||||
EXPRESSION
|
||||
HDO { STOPOBSBLOCK(); mout(MWHILE);
|
||||
OBSBLOCK();}
|
||||
BLOCK { MBEEENDBLOCK(); mout(MENDWHILE);
|
||||
$$=STATEMENT;}
|
||||
| HIF
|
||||
EXPRESSION
|
||||
HTHEN { STOPOBSBLOCK(); mout(MIF);
|
||||
OBSBLOCK();}
|
||||
BLOCK { MBEEENDBLOCK();}
|
||||
MBEE_ELSE_PART { mout(MENDIF);
|
||||
$$=STATEMENT;}
|
||||
| HFOR
|
||||
HIDENTIFIER
|
||||
HASSIGN { STOPOBSBLOCK(); mout(MIDENTIFIER);
|
||||
moutId($2);}
|
||||
FOR_LIST
|
||||
HDO { beginBlock(KFOR);
|
||||
if($3==HASSIGNVALUE) mout(MFOR);
|
||||
else mout(MFORR);
|
||||
OBSBLOCK(); mout(MFORDO);}
|
||||
BLOCK { MBEEENDBLOCK();
|
||||
endBlock(NULL,CCNO); mout(MENDFOR);
|
||||
$$=STATEMENT;}
|
||||
| GOTO
|
||||
EXPRESSION { mout(MGOTO);
|
||||
STOPOBSBLOCK(); $$=STATEMENT;}
|
||||
| HINSPECT
|
||||
EXPRESSION { mout(MINSPECT);
|
||||
STOPOBSBLOCK();
|
||||
beginBlock(KINSP);}
|
||||
CONN_STATE_R_PT
|
||||
{ endBlock(NULL,CCNO);}
|
||||
MBEE_OTWI_CLAUS { mout(MENDINSPECT);
|
||||
$$=STATEMENT;}
|
||||
| HINNER { STOPOBSBLOCK(); mout(MINNER);
|
||||
regInner(); $$=STATEMENT;}
|
||||
| HIDENTIFIER
|
||||
HLABELSEPARATOR
|
||||
{ STOPOBSBLOCK();
|
||||
regDecl($1, TLABEL, KSIMPLE, categ); mout(MLABEL);
|
||||
moutId($1);
|
||||
mout(MENDLABEL);}
|
||||
DECLSTATEMENT { if($4<=DECLARATION)
|
||||
{ yerror (27);
|
||||
$$=DECLARATION;}
|
||||
else $$=$4;}
|
||||
| EXPRESSION_SIMP
|
||||
HBEGIN
|
||||
{ $<ident>$=$1; }
|
||||
IMPORT_SPEC_MODULE
|
||||
{ mout(MPRBLOCK);
|
||||
prefquantident=$1;
|
||||
beginBlock(KPRBLK);}
|
||||
MBEE_DECLSTMS
|
||||
HEND { endBlock(NULL,CCNO); mout(MENDPRBLOCK);
|
||||
$$=STATEMENT;}
|
||||
| EXPRESSION_SIMP HBEGIN error HSTATEMENTSEPARATOR
|
||||
MBEE_DECLSTMS HEND { $$=STATEMENT;
|
||||
endBlock(NULL,CCNO); mout(MENDPRBLOCK);}
|
||||
| EXPRESSION_SIMP HBEGIN error HEND
|
||||
{ $$=STATEMENT;
|
||||
endBlock(NULL,CCNO); mout(MENDPRBLOCK);}
|
||||
|
||||
| EXPRESSION_SIMP
|
||||
{ STOPOBSBLOCK(); $$=STATEMENT;
|
||||
mout(MENDASSIGN);}
|
||||
| ACTIVATOR EXPRESSION SCHEDULE
|
||||
{ $$=STATEMENT;
|
||||
mout(MENDSEP);
|
||||
mout(MARGUMENTSEP);
|
||||
mout(MARGUMENTSEP);
|
||||
mout(MARGUMENTSEP);
|
||||
mout(MARGUMENTSEP);
|
||||
mout(MARGUMENTSEP);
|
||||
mout(MARGUMENTSEP);
|
||||
mout(MARGUMENT);
|
||||
moutId(activateid);
|
||||
mout(MENDASSIGN);}
|
||||
| HBEGIN
|
||||
{ STOPOBSBLOCK();
|
||||
OBSBLOCK();}
|
||||
MBEE_DECLSTMS
|
||||
HEND { MBEEENDBLOCK(); $$=STATEMENT;}
|
||||
| MBEE_TYPE HPROCEDURE
|
||||
HIDENTIFIER
|
||||
{ MBEENEWBLOCK(); mout(MPROCEDURE);
|
||||
regDecl($3, type, KPROC, categ);
|
||||
beginBlock(KPROC);}
|
||||
HEADING BLOCK { endBlock(NULL,CCNO); $$=DECLARATION;
|
||||
mout(MENDPROCEDURE);}
|
||||
| HIDENTIFIER
|
||||
HCLASS
|
||||
NO_TYPE
|
||||
{ $<ident>$=$1; }
|
||||
IMPORT_SPEC_MODULE
|
||||
HIDENTIFIER
|
||||
{ prefquantident=$1;
|
||||
mout(MCLASS);
|
||||
regDecl($6, TNOTY, KCLASS, categ);
|
||||
beginBlock(KCLASS);}
|
||||
HEADING
|
||||
BLOCK { endBlock(NULL,CCNO); $$=DECLARATION;
|
||||
mout(MENDCLASS);}
|
||||
| HCLASS
|
||||
NO_TYPE
|
||||
HIDENTIFIER
|
||||
{ prefquantident=0;
|
||||
MBEENEWBLOCK(); mout(MCLASS);
|
||||
regDecl($3, TNOTY, KCLASS, categ);
|
||||
beginBlock(KCLASS);}
|
||||
HEADING
|
||||
BLOCK { endBlock(NULL,CCNO); $$=DECLARATION;
|
||||
mout(MENDCLASS);}
|
||||
| EXT_DECLARATION { $$=EXTDECLARATION;}
|
||||
| /*EMPT*/{ STOPOBSBLOCK(); $$=EMPTYSTATEMENT;}
|
||||
;
|
||||
IMPORT_SPEC_MODULE: { MBEENEWBLOCK();
|
||||
kind=KCLASS;
|
||||
if($<ident>0==simsetident &&
|
||||
findDecl(simsetident,cblock,FALSE)==NULL)
|
||||
lesinn_external_spec(simsetident,
|
||||
SIMSETATRFILE, kind);
|
||||
if($<ident>0==simulationident && findDecl(
|
||||
simulationident,cblock,FALSE)==NULL)
|
||||
lesinn_external_spec(simulationident,
|
||||
SIMULATIONATRFILE, kind);
|
||||
if(($<ident>0==fileident && findDecl(
|
||||
fileident,cblock,FALSE)==NULL) ||
|
||||
($<ident>0==outfileident && findDecl(
|
||||
outfileident,cblock,FALSE)==NULL) ||
|
||||
($<ident>0==infileident && findDecl(
|
||||
infileident,cblock,FALSE)==NULL) ||
|
||||
($<ident>0==directfileident && findDecl(
|
||||
directfileident,cblock,FALSE)==NULL) ||
|
||||
($<ident>0==printfileident && findDecl(
|
||||
printfileident,cblock,FALSE)==NULL) ||
|
||||
($<ident>0==bytefileident && findDecl(
|
||||
bytefileident,cblock,FALSE)==NULL) ||
|
||||
($<ident>0==inbytefileident && findDecl(
|
||||
inbytefileident,cblock,FALSE)==NULL) ||
|
||||
($<ident>0==outbytefileident && findDecl(
|
||||
outbytefileident,cblock,FALSE)==NULL) ||
|
||||
($<ident>0==directbytefileident && findDecl(
|
||||
directbytefileident,cblock,FALSE)==NULL))
|
||||
lesinn_external_spec(fileident,
|
||||
FILEATRFILE, kind);}
|
||||
;
|
||||
DECLSTATEMENT : MODULSTATEMENT
|
||||
| TYPE
|
||||
HIDENTIFIER
|
||||
MBEE_CONSTANT
|
||||
HPAREXPSEPARATOR
|
||||
{ MBEENEWBLOCK();
|
||||
kind=KSIMPLE;
|
||||
regDecl($2, type, KSIMPLE, categ);
|
||||
categ=CLOCAL;}
|
||||
IDENTIFIER_LISTC { $$=DECLARATION;}
|
||||
| TYPE
|
||||
HIDENTIFIER
|
||||
MBEE_CONSTANT
|
||||
{ MBEENEWBLOCK();
|
||||
regDecl($2, type, KSIMPLE, categ);
|
||||
categ=CLOCAL; $$=DECLARATION;}
|
||||
| MBEE_TYPE
|
||||
HARRAY { MBEENEWBLOCK();
|
||||
kind=KARRAY;}
|
||||
ARR_SEGMENT_LIST { $$=DECLARATION;}
|
||||
| HSWITCH
|
||||
HIDENTIFIER
|
||||
HASSIGN { MBEENEWBLOCK(); mout(MIDENTIFIER);
|
||||
moutId($2);
|
||||
regDecl($2, TLABEL, KARRAY, categ);}
|
||||
SWITCH_LIST { $$=DECLARATION;
|
||||
mout(MSWITCH);
|
||||
mout(MENDSWITCH);}
|
||||
;
|
||||
BLOCK : DECLSTATEMENT { if($1<=DECLARATION)yerror (29);}
|
||||
| HBEGIN MBEE_DECLSTMS HEND
|
||||
| HBEGIN error HSTATEMENTSEPARATOR MBEE_DECLSTMS HEND
|
||||
| HBEGIN error HEND
|
||||
;
|
||||
MBEE_DECLSTMS : MBEE_DECLSTMSU { if($1<=DECLARATION)yerror (28);
|
||||
$$=$1;}
|
||||
;
|
||||
MBEE_DECLSTMSU : DECLSTATEMENT { $$=$1;}
|
||||
| MBEE_DECLSTMSU
|
||||
HSTATEMENTSEPARATOR
|
||||
DECLSTATEMENT { if($1>=STATEMENT && $3<=DECLARATION)
|
||||
yerror (26);
|
||||
$$=$3;}
|
||||
;
|
||||
MODULS : MODULSTATEMENT { if($1==DECLARATION)
|
||||
{separat_comp=TRUE;gettimestamp();}
|
||||
$$=$1;}
|
||||
| MODULS HSTATEMENTSEPARATOR MODULSTATEMENT
|
||||
{ if($1>=STATEMENT && $3<=DECLARATION)
|
||||
yerror (26);else
|
||||
if($1>=STATEMENT
|
||||
&& $3!=EMPTYSTATEMENT)yerror (25);
|
||||
if(separat_comp && $3==STATEMENT)
|
||||
yerror (25);
|
||||
if($3==DECLARATION && !separat_comp)
|
||||
{separat_comp=TRUE;gettimestamp();}
|
||||
$$=$3;}
|
||||
;
|
||||
/* GRAMATIKK FOR DEL AV DEKLARASJONER */
|
||||
ARR_SEGMENT_LIST: ARR_SEGMENT
|
||||
| ARR_SEGMENT_LIST
|
||||
HPAREXPSEPARATOR
|
||||
ARR_SEGMENT
|
||||
;
|
||||
ARR_SEGMENT : ARRAY_SEGMENT
|
||||
HBEGPAR
|
||||
BAUND_PAIR_LIST HENDPAR { mout(MARRAY);
|
||||
mout(MENDARRAY);
|
||||
setArrayDim($3);}
|
||||
;
|
||||
ARRAY_SEGMENT : ARRAY_SEGMENT_EL { mout(MENDSEP);
|
||||
mout(MARRAYSEP);}
|
||||
|
||||
| ARRAY_SEGMENT_EL
|
||||
HPAREXPSEPARATOR
|
||||
ARRAY_SEGMENT { mout(MARRAYSEP);}
|
||||
;
|
||||
ARRAY_SEGMENT_EL: HIDENTIFIER { mout(MIDENTIFIER);
|
||||
moutId($1);
|
||||
regDecl($1, type, kind, categ);
|
||||
if(lastArray==NULL)
|
||||
lastArray=cblock->lastparloc;}
|
||||
;
|
||||
BAUND_PAIR_LIST : BAUND_PAIR { mout(MENDSEP);
|
||||
mout(MBOUNDSEP);
|
||||
$$=1;}
|
||||
| BAUND_PAIR
|
||||
HPAREXPSEPARATOR
|
||||
BAUND_PAIR_LIST { mout(MBOUNDSEP);
|
||||
$$=$3+1;}
|
||||
;
|
||||
BAUND_PAIR : EXPRESSION
|
||||
HLABELSEPARATOR
|
||||
EXPRESSION { mout(MBOUNDPARSEP);}
|
||||
;
|
||||
SWITCH_LIST : EXPRESSION { mout(MENDSEP);
|
||||
mout(MSWITCHSEP);}
|
||||
| EXPRESSION
|
||||
HPAREXPSEPARATOR
|
||||
SWITCH_LIST { mout(MSWITCHSEP);}
|
||||
;
|
||||
HEADING : MBEE_FMAL_PAR_P HSTATEMENTSEPARATOR { kind=KNOKD;}
|
||||
MBEE_MODE_PART { categ=CSPEC;}
|
||||
MBEE_SPEC_PART { kind=KNOKD;}
|
||||
MBEE_PROT_PART { categ=CVIRT;}
|
||||
MBEE_VIRT_PART
|
||||
{ categ=CLOCAL;}
|
||||
;
|
||||
MBEE_FMAL_PAR_P : /*EMPT*/
|
||||
| FMAL_PAR_PART
|
||||
;
|
||||
FMAL_PAR_PART : HBEGPAR NO_TYPE
|
||||
MBEE_LISTV HENDPAR
|
||||
;
|
||||
MBEE_LISTV : /*EMPT*/
|
||||
| LISTV
|
||||
;
|
||||
LISTV : HIDENTIFIER { regDecl($1, type, KNOKD, CDEFLT);}
|
||||
| FPP_CATEG HDOTDOTDOT { regDecl(varargsid, TVARARGS, KNOKD, categ);}
|
||||
| HIDENTIFIER { regDecl($1, type, KNOKD, CDEFLT);}
|
||||
HPAREXPSEPARATOR LISTV
|
||||
| FPP_SPEC
|
||||
| FPP_SPEC
|
||||
HPAREXPSEPARATOR LISTV
|
||||
;
|
||||
FPP_HEADING : HBEGPAR NO_TYPE
|
||||
FPP_MBEE_LISTV HENDPAR
|
||||
;
|
||||
FPP_MBEE_LISTV : /*EMPT*/
|
||||
| FPP_LISTV
|
||||
;
|
||||
FPP_LISTV : FPP_CATEG HDOTDOTDOT { regDecl(varargsid, TVARARGS, KNOKD, categ);}
|
||||
| FPP_SPEC
|
||||
| FPP_SPEC
|
||||
HPAREXPSEPARATOR LISTV
|
||||
;
|
||||
FPP_SPEC : FPP_CATEG SPECIFIER HIDENTIFIER
|
||||
{ regDecl($3, type, kind, categ);}
|
||||
| FPP_CATEG FPP_PROC_DECL_IN_SPEC
|
||||
;
|
||||
FPP_CATEG : HNAME HLABELSEPARATOR
|
||||
{ categ=CNAME;}
|
||||
| HVALUE HLABELSEPARATOR
|
||||
{ categ=CVALUE;}
|
||||
| HVAR HLABELSEPARATOR
|
||||
{ categ=CVAR;}
|
||||
| /*EMPT*/ { categ=CDEFLT;}
|
||||
;
|
||||
FPP_PROC_DECL_IN_SPEC: MBEE_TYPE HPROCEDURE
|
||||
HIDENTIFIER
|
||||
{ $<ival>$=categ;
|
||||
regDecl($3, type, KPROC, categ);
|
||||
beginBlock(KPROC);}
|
||||
FPP_HEADING
|
||||
{ categ=$<ival>4; /* M} settes tilbake*/}
|
||||
{ endBlock(NULL,CCNO);}
|
||||
;
|
||||
IDENTIFIER_LISTV: HIDENTIFIER { regDecl($1, type, kind, categ);}
|
||||
| HDOTDOTDOT { regDecl(varargsid, TVARARGS, kind, categ);}
|
||||
| HIDENTIFIER { regDecl($1, type, kind, categ);}
|
||||
HPAREXPSEPARATOR IDENTIFIER_LISTV
|
||||
;
|
||||
MBEE_MODE_PART : /*EMPT*/
|
||||
| MODE_PART
|
||||
;
|
||||
MODE_PART : NAME_PART
|
||||
| VALUE_PART
|
||||
| VAR_PART
|
||||
| NAME_PART VALUE_PART
|
||||
| VALUE_PART NAME_PART
|
||||
| NAME_PART VAR_PART
|
||||
| VAR_PART NAME_PART
|
||||
| VALUE_PART VAR_PART
|
||||
| VAR_PART VALUE_PART
|
||||
| VAR_PART NAME_PART VALUE_PART
|
||||
| NAME_PART VAR_PART VALUE_PART
|
||||
| NAME_PART VALUE_PART VAR_PART
|
||||
| VAR_PART VALUE_PART NAME_PART
|
||||
| VALUE_PART VAR_PART NAME_PART
|
||||
| VALUE_PART NAME_PART VAR_PART
|
||||
;
|
||||
NAME_PART : HNAME { categ=CNAME;}
|
||||
IDENTIFIER_LISTV
|
||||
HSTATEMENTSEPARATOR
|
||||
;
|
||||
VAR_PART : HVAR { categ=CVAR;}
|
||||
IDENTIFIER_LISTV
|
||||
HSTATEMENTSEPARATOR
|
||||
;
|
||||
VALUE_PART : HVALUE { categ=CVALUE;}
|
||||
IDENTIFIER_LISTV HSTATEMENTSEPARATOR
|
||||
;
|
||||
MBEE_SPEC_PART : /*EMPT*/
|
||||
| SPEC_PART
|
||||
;
|
||||
SPEC_PART : ONE_SPEC
|
||||
| SPEC_PART ONE_SPEC
|
||||
;
|
||||
ONE_SPEC : SPECIFIER IDENTIFIER_LIST HSTATEMENTSEPARATOR
|
||||
| NO_TYPE HPROCEDURE HIDENTIFIER HOBJRELOPERATOR
|
||||
{ if($4!=HIS) yerror (8);}
|
||||
PROC_DECL_IN_SPEC HSTATEMENTSEPARATOR
|
||||
| FPP_PROC_DECL_IN_SPEC HSTATEMENTSEPARATOR
|
||||
| MBEE_TYPE HPROCEDURE HIDENTIFIER HSTATEMENTSEPARATOR
|
||||
{ yerror (45);}
|
||||
| MBEE_TYPE HPROCEDURE HIDENTIFIER HPAREXPSEPARATOR
|
||||
IDENTIFIER_LIST HSTATEMENTSEPARATOR
|
||||
{ yerror (45);}
|
||||
;
|
||||
SPECIFIER : TYPE { kind=KSIMPLE;}
|
||||
| MBEE_TYPE
|
||||
HARRAY { kind=KARRAY;}
|
||||
| HLABEL { type=TLABEL;
|
||||
kind=KSIMPLE;}
|
||||
| HSWITCH { type=TLABEL;
|
||||
kind=KARRAY;}
|
||||
;
|
||||
PROC_DECL_IN_SPEC: MBEE_TYPE HPROCEDURE
|
||||
HIDENTIFIER
|
||||
{ $<ival>$=categ;
|
||||
regDecl($3, type, KPROC, categ);
|
||||
beginBlock(KPROC);}
|
||||
HEADING
|
||||
{ categ=$<ival>4; /* M} settes tilbake*/}
|
||||
MBEE_BEGIN_END
|
||||
{ endBlock(NULL,CCNO);}
|
||||
;
|
||||
MBEE_BEGIN_END : /* EMPTY */
|
||||
| HBEGIN HEND
|
||||
;
|
||||
MBEE_PROT_PART : /*EMPT*/
|
||||
| PROTECTION_PART
|
||||
;
|
||||
PROTECTION_PART : PROT_SPECIFIER IDENTIFIER_LIST
|
||||
HSTATEMENTSEPARATOR
|
||||
| PROTECTION_PART PROT_SPECIFIER
|
||||
IDENTIFIER_LIST HSTATEMENTSEPARATOR
|
||||
;
|
||||
PROT_SPECIFIER : HHIDDEN { categ=CHIDEN;}
|
||||
| HPROTECTED { categ=CPROT;}
|
||||
| HHIDDEN
|
||||
HPROTECTED { categ=CHIPRO;}
|
||||
| HPROTECTED
|
||||
HHIDDEN { categ=CHIPRO;}
|
||||
;
|
||||
MBEE_VIRT_PART : /*EMPT*/
|
||||
| VIRTUAL_PART
|
||||
;
|
||||
VIRTUAL_PART : HVIRTUAL
|
||||
HLABELSEPARATOR
|
||||
MBEE_SPEC_PART
|
||||
;
|
||||
IDENTIFIER_LIST : HIDENTIFIER { regDecl($1, type, kind, categ);}
|
||||
| IDENTIFIER_LIST HPAREXPSEPARATOR
|
||||
HIDENTIFIER { regDecl($3, type, kind, categ);}
|
||||
;
|
||||
IDENTIFIER_LISTC: HIDENTIFIER
|
||||
MBEE_CONSTANT { regDecl($1, type, kind, categ);
|
||||
categ=CLOCAL;}
|
||||
| IDENTIFIER_LISTC HPAREXPSEPARATOR
|
||||
HIDENTIFIER
|
||||
MBEE_CONSTANT { regDecl($3, type, kind, categ);
|
||||
categ=CLOCAL;}
|
||||
;
|
||||
MBEE_CONSTANT : /* EMPTY */
|
||||
| HVALRELOPERATOR
|
||||
{ MBEENEWBLOCK();
|
||||
if($1!=HEQ) yerror (8);
|
||||
if(type==TREF)yerror (7);
|
||||
categ=CCONSTU;
|
||||
mout(MIDENTIFIER);
|
||||
moutId($<token>0);}
|
||||
EXPRESSION { mout(MASSIGN);
|
||||
mout(MCONST);}
|
||||
;
|
||||
|
||||
/* GRAMATIKK FOR UTTRYKK */
|
||||
EXPRESSION : EXPRESSION_SIMP {}
|
||||
| HIF
|
||||
EXPRESSION
|
||||
HTHEN
|
||||
EXPRESSION
|
||||
HELSE
|
||||
EXPRESSION { mout(MELSEE);
|
||||
mout(MIFE);}
|
||||
;
|
||||
EXPRESSION_SIMP : EXPRESSION_SIMP
|
||||
HASSIGN
|
||||
EXPRESSION { if($2==HASSIGNREF)mout(MASSIGNR);
|
||||
else mout(MASSIGN);$$=NULL;}
|
||||
|
|
||||
|
||||
EXPRESSION_SIMP
|
||||
HCONC
|
||||
EXPRESSION_SIMP { mout(MCONC);$$=NULL;}
|
||||
| EXPRESSION_SIMP HOR
|
||||
HELSE
|
||||
EXPRESSION_SIMP
|
||||
%prec HORELSE { mout(MORELSEE);$$=NULL;}
|
||||
| EXPRESSION_SIMP HAND
|
||||
HTHEN
|
||||
EXPRESSION_SIMP
|
||||
%prec HANDTHEN { mout(MANDTHENE);$$=NULL;}
|
||||
| EXPRESSION_SIMP
|
||||
HEQV EXPRESSION_SIMP { mout(MEQV);$$=NULL;}
|
||||
| EXPRESSION_SIMP
|
||||
HIMP EXPRESSION_SIMP { mout(MIMP);$$=NULL;}
|
||||
| EXPRESSION_SIMP
|
||||
HOR EXPRESSION_SIMP { mout(MOR);$$=NULL;}
|
||||
| EXPRESSION_SIMP
|
||||
HAND EXPRESSION_SIMP { mout(MAND);$$=NULL;}
|
||||
| HNOT EXPRESSION_SIMP { mout(MNOT);$$=NULL;}
|
||||
| EXPRESSION_SIMP
|
||||
HVALRELOPERATOR
|
||||
EXPRESSION_SIMP
|
||||
{ switch($2)
|
||||
{ case HEQ: mout(MEQ);break;
|
||||
case HNE: mout(MNE);break;
|
||||
case HLT: mout(MLT);break;
|
||||
case HLE: mout(MLE);break;
|
||||
case HGT: mout(MGT);break;
|
||||
case HGE: mout(MGE);break;
|
||||
}$$=NULL;}
|
||||
| EXPRESSION_SIMP
|
||||
HREFRELOPERATOR
|
||||
EXPRESSION_SIMP
|
||||
{ if($2==HNER) mout(MNER);
|
||||
else mout(MEQR);$$=NULL;}
|
||||
| EXPRESSION_SIMP
|
||||
HOBJRELOPERATOR
|
||||
EXPRESSION_SIMP
|
||||
{ if($2==HIS) mout(MIS);
|
||||
else mout(MINS);$$=NULL;}
|
||||
| HTERMOPERATOR
|
||||
EXPRESSION_SIMP %prec UNEAR
|
||||
{ if($1==HADD) mout(MUADD);
|
||||
else mout(MUSUB);$$=NULL;}
|
||||
| EXPRESSION_SIMP
|
||||
HTERMOPERATOR
|
||||
EXPRESSION_SIMP
|
||||
{ if($2==HADD) mout(MADD);
|
||||
else mout(MSUB);$$=NULL;}
|
||||
| EXPRESSION_SIMP
|
||||
HFACTOROPERATOR
|
||||
EXPRESSION_SIMP
|
||||
{ if($2==HMUL) mout(MMUL); else
|
||||
if($2==HDIV) mout(MDIV);
|
||||
else mout(MINTDIV);$$=NULL;}
|
||||
| EXPRESSION_SIMP
|
||||
HPRIMARYOPERATOR
|
||||
EXPRESSION_SIMP { mout(MPRIMARY);$$=NULL;}
|
||||
| HBEGPAR
|
||||
EXPRESSION HENDPAR { mout(MNOOP);$$=NULL;}
|
||||
| HTEXTKONST { mout(MTEXTKONST);
|
||||
moutTval($1);$$=NULL;}
|
||||
| HCHARACTERKONST { mout(MCHARACTERKONST);
|
||||
moutIval($1);$$=NULL;}
|
||||
| HREALKONST { mout(MREALKONST);
|
||||
moutRval($1);$$=NULL;}
|
||||
| HINTEGERKONST { mout(MINTEGERKONST);
|
||||
moutIval($1);$$=NULL;}
|
||||
| HBOOLEANKONST { mout(MBOOLEANKONST);
|
||||
moutIval($1);$$=NULL;}
|
||||
| HNONE { mout(MNONE);$$=NULL;}
|
||||
| HIDENTIFIER
|
||||
{ $<ident>$=$1;}
|
||||
MBEE_ARG_R_PT
|
||||
| HTHIS HIDENTIFIER { mout(MTHIS);
|
||||
moutId($2);$$=NULL;}
|
||||
| HNEW
|
||||
HIDENTIFIER
|
||||
ARG_R_PT { mout(MNEWARG);
|
||||
moutId($2);$$=NULL;}
|
||||
| EXPRESSION_SIMP
|
||||
HDOT
|
||||
EXPRESSION_SIMP { mout(MDOT);$$=NULL;}
|
||||
| EXPRESSION_SIMP
|
||||
HQUA HIDENTIFIER { mout(MQUA);
|
||||
moutId($3);$$=NULL;}
|
||||
;
|
||||
ARG_R_PT : /*EMPTY*/ { mout(MENDSEP);}
|
||||
| HBEGPAR
|
||||
ARGUMENT_LIST HENDPAR
|
||||
;
|
||||
MBEE_ARG_R_PT : /*EMPTY*/ { mout(MIDENTIFIER);
|
||||
moutId($<ident>0);
|
||||
$$=$<ident>0;}
|
||||
| HBEGPAR
|
||||
ARGUMENT_LIST HENDPAR { mout(MARGUMENT);
|
||||
moutId($<ident>0);}
|
||||
;
|
||||
ARGUMENT_LIST : EXPRESSION { mout(MENDSEP);
|
||||
mout(MARGUMENTSEP);}
|
||||
| EXPRESSION
|
||||
HPAREXPSEPARATOR
|
||||
ARGUMENT_LIST { mout(MARGUMENTSEP);}
|
||||
;
|
||||
%%
|
||||
]])
|
||||
|
||||
# Pass plenty of options, to exercise plenty of code, even if we
|
||||
# don't actually check the output. But SEGV is watching us, and
|
||||
# so might do dmalloc.
|
||||
AT_CHECK([[bison --verbose --defines input.y]], 0, [],
|
||||
[[input.y contains 78 shift/reduce conflicts and 10 reduce/reduce conflicts.
|
||||
]])
|
||||
|
||||
AT_CHECK([[grep '^State.*contains' input.output]], 0,
|
||||
[[State 62 contains 14 shift/reduce conflicts.
|
||||
State 162 contains 1 shift/reduce conflict.
|
||||
State 199 contains 33 shift/reduce conflicts and 4 reduce/reduce conflicts.
|
||||
State 204 contains 1 shift/reduce conflict.
|
||||
State 238 contains 1 shift/reduce conflict.
|
||||
State 333 contains 9 shift/reduce conflicts and 2 reduce/reduce conflicts.
|
||||
State 354 contains 1 shift/reduce conflict.
|
||||
State 358 contains 9 shift/reduce conflicts and 2 reduce/reduce conflicts.
|
||||
State 425 contains 9 shift/reduce conflicts and 2 reduce/reduce conflicts.
|
||||
]])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
Reference in New Issue
Block a user