mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-08-13 04:35:14 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 | ||
|
|
c0760f18e0 | ||
|
|
c884affb0b | ||
|
|
f7e7f57941 | ||
|
|
d1210d1d6e | ||
|
|
d5c2eff246 | ||
|
|
b59b91bb6e | ||
|
|
63e75f2e38 | ||
|
|
69dc1147ba | ||
|
|
3d9d5d34ff | ||
|
|
701d80ffa0 | ||
|
|
88f06d2beb | ||
|
|
daa938e7f0 | ||
|
|
ed45e93ed8 | ||
|
|
74d757ab92 | ||
|
|
4be25f1591 | ||
|
|
b7008317cf | ||
|
|
3f66ed1c8b | ||
|
|
58dce15432 | ||
|
|
e6970f2ed0 | ||
|
|
b9866ce4da | ||
|
|
b32ba448c8 | ||
|
|
5844cd0cfa | ||
|
|
0fc1a97d9f | ||
|
|
84b6f48351 | ||
|
|
b6a70d99a6 | ||
|
|
66d35de779 | ||
|
|
5e5b240715 | ||
|
|
aaf7be2c4b | ||
|
|
0ea80316a9 | ||
|
|
09b2117db7 | ||
|
|
78fc5ce865 | ||
|
|
766ffc1523 | ||
|
|
06a2f464b1 | ||
|
|
15ab9127f5 | ||
|
|
32f18df511 | ||
|
|
19f8d30b9c | ||
|
|
7b106ce5f0 | ||
|
|
b5c15946a1 | ||
|
|
980929ba0b | ||
|
|
4c3791f08d | ||
|
|
a8355549a5 | ||
|
|
2883204382 | ||
|
|
825b9e4ef4 | ||
|
|
57339f0421 | ||
|
|
963c0cf62f | ||
|
|
6a1e01f060 | ||
|
|
4cecb5a248 | ||
|
|
76c97f6a39 | ||
|
|
e4ef7aa1c9 | ||
|
|
3557477440 | ||
|
|
4b412c9eca | ||
|
|
fa7f94f217 | ||
|
|
d854cc9e5a | ||
|
|
2dfb4daf9b | ||
|
|
cc904af579 | ||
|
|
716c50b877 | ||
|
|
9f41bcaae8 | ||
|
|
1ccbf4bb8b | ||
|
|
a69f6fa569 | ||
|
|
3757d84e90 | ||
|
|
cac4f75e15 | ||
|
|
fc7ddd2818 | ||
|
|
0ffdf37212 | ||
|
|
9e55edfc29 | ||
|
|
d39a6b7ca9 | ||
|
|
d287d66a69 | ||
|
|
ea451a17d7 | ||
|
|
24b1e65f04 | ||
|
|
7ad28769d6 | ||
|
|
57d4ee2b82 | ||
|
|
d8a9ec00b8 | ||
|
|
872e1b86c4 | ||
|
|
ad4c2c7a57 | ||
|
|
0785dec2c8 | ||
|
|
e1828f4f07 | ||
|
|
a816bf3eac | ||
|
|
2ce6476804 | ||
|
|
457b6d1e72 | ||
|
|
79ebbdb36a | ||
|
|
0aa2ac9063 | ||
|
|
e7d79012ae | ||
|
|
eb4a4d73bc | ||
|
|
dee96b5a07 | ||
|
|
4bfeeafb00 | ||
|
|
c18cf8cb26 | ||
|
|
54b982ae70 | ||
|
|
cf2e198269 | ||
|
|
af4483a0ab | ||
|
|
674fd9acbc | ||
|
|
6fedd4d1d6 | ||
|
|
abe1baa044 | ||
|
|
33285af04d | ||
|
|
cd7f95831e | ||
|
|
1b9a8440cd | ||
|
|
aead559e00 | ||
|
|
92b69b7f09 | ||
|
|
6e303f08d6 | ||
|
|
3dfc01e247 | ||
|
|
1503820f54 | ||
|
|
bc9bb28004 | ||
|
|
16c4a35041 | ||
|
|
f0451dba71 | ||
|
|
a9f37dee0c | ||
|
|
4b0979fcf3 | ||
|
|
cc35239e1b | ||
|
|
2e2cbb3fad |
@@ -1,3 +1,755 @@
|
|||||||
|
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.
|
||||||
|
|
||||||
|
2001-12-13 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
The computation of nullable is broken: it doesn't handle empty
|
||||||
|
RHS's properly.
|
||||||
|
|
||||||
|
* tests/torture.at (GNU AWK Grammar): New.
|
||||||
|
* tests/sets.at (Nullable): New.
|
||||||
|
* src/nullable.c (set_nullable): Instead of blindly looping over
|
||||||
|
`ritems', loop over the rules, and then over their rhs's.
|
||||||
|
|
||||||
|
Work around Autotest bugs.
|
||||||
|
|
||||||
|
* src/warshall.c (bitmatrix_print): Don't use `+--+' as table
|
||||||
|
frame, because Autotest understand lines starting with a `+' as
|
||||||
|
traces from the shell. Then, they are not processed properly.
|
||||||
|
Admittedly an Autotest bug, but we don't have time to wait for
|
||||||
|
Autotest to catch up.
|
||||||
|
* tests/regression.at (Broken Closure): Adjust to the new table
|
||||||
|
frames.
|
||||||
|
Move to...
|
||||||
|
* tests/sets.at: here.
|
||||||
|
|
||||||
|
2001-12-12 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* src/bison.simple (YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE):
|
||||||
|
Do not infringe on the global user namespace when using C++.
|
||||||
|
(YYFPRINTF, YYSTDERR): New macros, needed for the above.
|
||||||
|
All uses of `fprintf' and `stderr' changed.
|
||||||
|
|
||||||
|
* src/output.c (output): Do not output "#include <stdio.h>"; that
|
||||||
|
is bison.simple's job. stdio.h should be included only if
|
||||||
|
necessary, to avoid infringing on the user name space when
|
||||||
|
possible.
|
||||||
|
|
||||||
|
2001-12-12 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/complain.h, src/complain.c: Remove error_one_per_line, rely
|
||||||
|
on that of lib/error.c.
|
||||||
|
|
||||||
|
2001-12-12 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
Some hosts don't like `/' in includes.
|
||||||
|
|
||||||
|
* src/system.h: Include libgettext.h without qualifying the path.
|
||||||
|
* src/Makefile.am (INCLUDES): Add $(top_srcdir)/intl, remove
|
||||||
|
$(top_srcdir).
|
||||||
|
|
||||||
|
2001-12-10 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
Bison dumps core on bash.y.
|
||||||
|
Reported by Pascal Bart.
|
||||||
|
|
||||||
|
* src/warshall.c (bitmatrix_print): New.
|
||||||
|
(TC): Use it.
|
||||||
|
When performing a transitive closure R(i, j) && R(j, k) => R(i, k),
|
||||||
|
j must be the outer loop.
|
||||||
|
* tests/regression.at (Broken Closure): New.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
Version 1.30f.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* tests/atlocal.in (CPPFLAGS): Do not leave a space between -I and
|
||||||
|
its argument.
|
||||||
|
Reported by Peter Hámorský.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/conflicts.c (err_table): Remove.
|
||||||
|
(resolve_sr_conflict): Adjust.
|
||||||
|
* src/lalr.h (state_t.reduction_table, state_t.shift_table):
|
||||||
|
Rename as...
|
||||||
|
(state_t.reductions, state_t.shifts): this.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/reduce.c (reduce_grammar_tables): No longer disable the
|
||||||
|
removal of useless rules via CPP but via `if (0)', so that the
|
||||||
|
compiler still check the code is valid.
|
||||||
|
For instance, it should have noticed `rline' no longer exists: use
|
||||||
|
the `line' member of rule_t.
|
||||||
|
* src/gram.c (dummy, rline): Remove, unused.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/output.c (pack_vector): Use assert, not berror.
|
||||||
|
* src/main.c (berror): Remove, unused.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
New experimental feature: if --verbose --trace output all the
|
||||||
|
items of a state, not only its kernel.
|
||||||
|
|
||||||
|
* src/print.c (print_core): If `trace_flag', then invoke closure
|
||||||
|
before outputting the items of the state (print_core is no longer
|
||||||
|
a correct name them).
|
||||||
|
(print_results): Invoke new_closure/free_closure if needed.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/LR0.c (new_itemsets): Use nshifts only, not shiftcount.
|
||||||
|
* src/closure.c, src/closure.h (itemsetsize): Rename as...
|
||||||
|
(nitemset): for consistency with the rest of the project.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/closure.c (print_closure): Improve.
|
||||||
|
(closure): Use it for printing input and output.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/closure.c (FIRSTS, FDERIVES): Adjust to reality: they are
|
||||||
|
indexed by nonterminals.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/warshall.c (TC, RTC): De-obsfucate (source reduced to 22% of
|
||||||
|
what it was!).
|
||||||
|
* src/warshall.h: Remove accidental duplication of the content.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/closure.c (set_fderives): De-obfuscate.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/closure.c (print_firsts, print_fderives): De-obfuscate.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/closure.c (set_firsts): De-obfuscate.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/output.c (action_row): De-obfuscate
|
||||||
|
using the good o' techniques: arrays not pointers, variable
|
||||||
|
locality, BITISSET, RESETBIT etc.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
Pessimize the code to simplify it: from now on, all the states
|
||||||
|
have a valid SHIFTS, which NSHIFTS is possibly 0.
|
||||||
|
|
||||||
|
* src/LR0.c (shifts_new): Be global and move to..
|
||||||
|
* src/state.c, src/state.h: here.
|
||||||
|
* src/conflicts, src/lalr.c, src/output.c, src/print.c,
|
||||||
|
* src/print_graph: Adjust.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/state.h (SHIFT_DISABLE, SHIFT_IS_DISABLED): New.
|
||||||
|
* src/conflicts.c: Use it.
|
||||||
|
Restore a few missing `if (!SHIFT_IS_DISABLED)' which were
|
||||||
|
incorrectly ``simplified''.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/conflicts.c (flush_shift, resolve_sr_conflict): De-obfuscate
|
||||||
|
using the good o' techniques: arrays not pointers, variable
|
||||||
|
locality, BITISSET, RESETBIT etc.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/state.h (SHIFT_SYMBOL): New.
|
||||||
|
* src/conflicts.c: Use it to deobfuscate.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/conflicts.c (count_sr_conflicts, count_rr_conflicts)
|
||||||
|
(print_reductions): De-obfuscate using the good o' techniques:
|
||||||
|
arrays not pointers, variable locality, BITISSET.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/conflicts.c (print_reductions): Arrays, not pointers.
|
||||||
|
Use BITISSET.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/conflicts.c (print_reductions): Pessimize, but clarify.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/conflicts.c (print_reductions): Improve variable locality.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/conflicts.c (print_reductions): Pessimize, but clarify.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/conflicts.c (print_reductions): Improve variable locality.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/state.h (SHIFT_IS_ERROR, SHIFT_IS_GOTO, SHIFT_IS_SHIFT): New.
|
||||||
|
* src/lalr.c: Use them.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/LR0.c (augment_automaton): Formatting changes.
|
||||||
|
Better variable locality.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/lalr.c (matrix_print): New.
|
||||||
|
(transpose): Use it.
|
||||||
|
Use arrays instead of pointers.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/lalr.c (maxrhs): Move to...
|
||||||
|
* src/gram.c, src/gram.h (ritem_longest_rhs): here.
|
||||||
|
* src/lalr.c (build_relations): Adjust.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/lalr.c (transpose): Free the memory allocated to the
|
||||||
|
argument, as it is replaced by the results by the unique caller.
|
||||||
|
(build_relations): Merely invoke transpose: it handles the memory
|
||||||
|
deallocation.
|
||||||
|
Improve variable locality.
|
||||||
|
Avoid variables used as mere abbreviations.
|
||||||
|
(compute_lookaheads): Use arrays instead of pointers.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/lalr.c (initialize_F): Improve variable locality.
|
||||||
|
Avoid variables used as mere abbreviations.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/derives.c (print_derives): Display the ruleno.
|
||||||
|
* src/lalr.c (initialize_F, transpose): Better variable locality
|
||||||
|
to improve readability.
|
||||||
|
Avoid variables used as mere abbreviations.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/lalr.c (traverse): Use arrays instead of pointers.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/nullable.c (set_nullable): Use a for loop to de-obfuscate
|
||||||
|
the handling of squeue.
|
||||||
|
`symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
Because useless nonterminals are now kept alive (instead of being
|
||||||
|
`destroyed'), we now sometimes examine them, and store information
|
||||||
|
related to them. Hence we need to know their number, and adjust
|
||||||
|
memory allocations.
|
||||||
|
|
||||||
|
* src/reduce.c, src/reduce.h (nuseless_nonterminals): No longer
|
||||||
|
static.
|
||||||
|
* src/LR0.c (allocate_itemsets): The memory allocated to
|
||||||
|
`symbol_count' was used for two different purpose: once to count
|
||||||
|
the number of occurrences of each symbol, and later reassigned to
|
||||||
|
`shift_symbol', containing the symbol that can be shifted from a
|
||||||
|
given state.
|
||||||
|
Deobfuscate, i.e., allocate, use and free `symbol_count' here
|
||||||
|
only, and...
|
||||||
|
(new_itemsets): Allocate `shift_symbol' here.
|
||||||
|
(allocate_itemsets): symbol_count includes useless nonterminals.
|
||||||
|
Make room for them.
|
||||||
|
(free_storage): Use `free', not `XFREE', for pointers that cannot
|
||||||
|
be null.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/nullable.c (set_nullable): Deobfuscate the handling of
|
||||||
|
ritem.
|
||||||
|
`symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
|
||||||
|
|
||||||
|
2001-12-05 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/gram.c, src/gram.h (ritem_print): New.
|
||||||
|
* src/gram.c (dummy): Remove, now there is actual code in gram.c.
|
||||||
|
(This useless function was defined only to work around VMS linkers
|
||||||
|
that can't handle compilation units with variables only).
|
||||||
|
* src/reduce.c (dump_grammar): Use it to trace the construction of
|
||||||
|
ritem.
|
||||||
|
|
||||||
|
2001-12-04 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* src/bison.simple (union yyalloc): Change member names
|
||||||
|
to be the same as the stack names.
|
||||||
|
(yyparse): yyptr is now union yyalloc *, not char *.
|
||||||
|
(YYSTACK_RELOCATE): Likewise. This avoids a GCC warning,
|
||||||
|
and may generate better code on some machines.
|
||||||
|
(yystpcpy): Use prototype if __STDC__ is defined, not just
|
||||||
|
if __cplusplus is defined.
|
||||||
|
|
||||||
|
2001-11-30 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* configure.in (WARNING_CFLAGS): Add -Werror when possible.
|
||||||
|
(CFLAGS): Do not include the WARNING_CFLAGS here, since GNU
|
||||||
|
Gettext doesn't compile cleanly, and dies with -Werror.
|
||||||
|
* src/Makefile.am, lib/Makefile.am, tests/atlocal.in (CFLAGS):
|
||||||
|
Include WARNING_CFLAGS here.
|
||||||
|
* lib/xstrdup.c: Include xalloc.h, so that xstrdup be declared
|
||||||
|
before being defined.
|
||||||
|
|
||||||
|
2001-11-30 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* lib/quotearg.h (quotearg_n, quotearg_n_style):
|
||||||
|
First arg is int, not unsigned.
|
||||||
|
* lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
|
||||||
|
(SIZE_MAX, UINT_MAX): New macros.
|
||||||
|
(quotearg_n_options): Abort if N is negative.
|
||||||
|
Avoid overflow check on hosts where size_t is 64 bits and int
|
||||||
|
is 32 bits, as overflow is impossible there.
|
||||||
|
Fix off-by-one typo that caused unnecessary reallocation.
|
||||||
|
|
||||||
|
2001-11-30 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
Name space cleanup in generated parser.
|
||||||
|
|
||||||
|
* doc/bison.texinfo (Bison Parser): Discuss system headers
|
||||||
|
and their effect on the user name space.
|
||||||
|
|
||||||
|
* src/bison.simple:
|
||||||
|
(YYSTACK_ALLOC, YYSTACK_FREE, union yyalloc, YYSTACK_GAP_MAX,
|
||||||
|
YYSTACK_BYTES, YYSTACK_RELOCATE): Do not define unless necessary,
|
||||||
|
i.e. unless ! defined (yyoverflow) || defined (YYERROR_VERBOSE).
|
||||||
|
|
||||||
|
(YYSIZE_T): New macro. Use it instead of size_t, to avoid infringing
|
||||||
|
on user names when possible.
|
||||||
|
|
||||||
|
(YYSTACK_USE_ALLOCA): Do not define; just use any existing defn.
|
||||||
|
Simplify test for whather <alloca.h> exists.
|
||||||
|
|
||||||
|
(<stdlib.h>): Include if we will use malloc, and if standard C or C++.
|
||||||
|
|
||||||
|
(<stdio.h>): Include if YYDEBUG.
|
||||||
|
|
||||||
|
(yymemcpy): Renamed from __yy_memcpy. Do not define unless
|
||||||
|
! defined (yyoverflow) && ! defined (yymemcpy).
|
||||||
|
|
||||||
|
(yymemcpy, yyparse): Rename local variables as needed so that
|
||||||
|
they all begin with 'yy'.
|
||||||
|
|
||||||
|
(yystrlen, yystpcpy): New functions.
|
||||||
|
|
||||||
|
(YY_DECL_NON_LSP_VARIABLES): Renamed from _YY_DECL_VARIABLES.
|
||||||
|
All uses changed.
|
||||||
|
|
||||||
|
(yyparse): size_t -> YYSIZE_T. Use yystrlen and yystpcpy
|
||||||
|
instead of relying on string.h functions. Use YYSTACK_ALLOC
|
||||||
|
and YYSTACK_FREE instead of malloc and free.
|
||||||
|
|
||||||
|
2001-11-30 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/bison.simple (YYSTACK_FREE): Use `do {;} while (0)' as empty
|
||||||
|
if body instead of `;' to pacify GCC's warnings.
|
||||||
|
|
||||||
|
2001-11-30 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
Instead of mapping the LHS of unused rules to -1, keep the LHS
|
||||||
|
valid, but flag the rules as invalid.
|
||||||
|
|
||||||
|
* src/gram.h (rule_t): `useful' is a new member.
|
||||||
|
* src/print.c (print_grammar): Adjust.
|
||||||
|
* src/derives.c (set_derives): Likewise.
|
||||||
|
* src/reader.c (packgram, reduce_output): Likewise.
|
||||||
|
* src/reduce.c (reduce_grammar_tables): Likewise.
|
||||||
|
* tests/reduce.at (Underivable Rules, Useless Rules): New.
|
||||||
|
|
||||||
|
2001-11-30 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/reduce.c (reduce_output): Formatting changes.
|
||||||
|
* src/print.c (print_results, print_grammar): Likewise.
|
||||||
|
* tests/regression.at (Rule Line Numbers)
|
||||||
|
(Solved SR Conflicts, Unresolved SR Conflicts): Adjust.
|
||||||
|
|
||||||
|
2001-11-30 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/reduce.c (nonterminals_reduce): Instead of throwing away
|
||||||
|
useless nonterminals, move them at the end of the symbol arrays.
|
||||||
|
(reduce_output): Adjust.
|
||||||
|
* tests/reduce.at (Useless Nonterminals): Adjust.
|
||||||
|
|
||||||
|
2001-11-30 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/reduce.c: Various comment/formatting changes.
|
||||||
|
(nonterminals_reduce): New, extracted from...
|
||||||
|
(reduce_grammar_tables): here.
|
||||||
|
(reduce_grammar): Call nonterminals_reduce.
|
||||||
|
|
||||||
|
2001-11-29 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* src/bison.simple (YYSTACK_REALLOC): Remove.
|
||||||
|
(YYSTACK_ALLOC): Resurrect this macro, with its old meaning.
|
||||||
|
(YYSTACK_FREE, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYSTACK_RELOCATE):
|
||||||
|
New macros.
|
||||||
|
(union yyalloc): New type.
|
||||||
|
(__yy_memcpy): Last arg is size_t, not unsigned int, to remove
|
||||||
|
an arbitrary restriction on hosts where size_t is wider than int.
|
||||||
|
|
||||||
|
(yyparse): Don't dump core if alloca or malloc fails; instead, report
|
||||||
|
a parser stack overflow. Allocate just one block of memory for all
|
||||||
|
three stacks, instead of allocating three blocks; this typically is
|
||||||
|
faster and reduces fragmentation.
|
||||||
|
|
||||||
|
Do not limit the number of items in the stack to a value that fits
|
||||||
|
in 'int', as this is an arbitrary limit on hosts with 64-bit
|
||||||
|
size_t and 32-bit int.
|
||||||
|
|
||||||
|
2001-11-28 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/LR0.c (shifts_new): New.
|
||||||
|
(save_shifts, insert_start_shift, augment_automaton): Use it.
|
||||||
|
|
||||||
|
2001-11-28 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/closure.c (closure): `b' and `ruleno' denote the same value:
|
||||||
|
keep ruleno only.
|
||||||
|
|
||||||
|
2001-11-28 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/closure.c (closure): Instead of looping over word in array
|
||||||
|
then bits in words, loop over bits in array.
|
||||||
|
|
||||||
|
2001-11-28 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/closure.c (closure): No longer optimize the special case
|
||||||
|
where all the bits of `ruleset[r]' are set to 0, to make the code
|
||||||
|
clearer.
|
||||||
|
|
||||||
|
2001-11-28 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/closure.c (closure): `r' and `c' are new variables, used to
|
||||||
|
de-obfuscate accesses to RULESET and CORE.
|
||||||
|
|
||||||
|
2001-11-28 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/reduce.c (reduce_print): Use ngettext.
|
||||||
|
(dump_grammar): Improve the trace accuracy.
|
||||||
|
|
||||||
|
2001-11-28 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/reduce.c (dump_grammar): Don't translate trace messages.
|
||||||
|
|
||||||
|
2001-11-28 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* tests/reduce.at (Useless Terminals, Useless Nonterminals): New.
|
||||||
|
* src/reduce.c (reduce_grammar_tables): Do not free useless tags,
|
||||||
|
as all tags are free'ed afterwards.
|
||||||
|
From Enrico Scholz.
|
||||||
|
|
||||||
|
2001-11-27 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/system.h: Use intl/libgettext.h.
|
||||||
|
* src/Makefile.am (INCLUDES): Add -I $(top_srcdir).
|
||||||
|
|
||||||
|
2001-11-27 Paul Eggert <[email protected]>
|
||||||
|
|
||||||
|
* src/bison.simple (YYSTACK_REALLOC): Fix typo that caused us to
|
||||||
|
use alloca when we didn't want to, and vice versa.
|
||||||
|
|
||||||
|
2001-11-27 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* tests/torture.at (Exploding the Stack Size with Malloc):
|
||||||
|
s/YYSTACK_USE_ALLOCA_ALLOCA/YYSTACK_USE_ALLOCA/.
|
||||||
|
|
||||||
|
2001-11-27 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/files.c: Include error.h.
|
||||||
|
From Hans Aberg.
|
||||||
|
|
||||||
|
2001-11-26 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
Version 1.30e.
|
||||||
|
|
||||||
|
2001-11-26 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/reader.c (readgram): Make sure rules for mid-rule actions
|
||||||
|
have a lineno equal to that of their host rule.
|
||||||
|
Reported by Hans Aberg.
|
||||||
|
* tests/regression.at (Rule Line Numbers): New.
|
||||||
|
|
||||||
|
2001-11-26 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/LR0.c (allocate_itemsets): kernel_size contains ints, not
|
||||||
|
size_ts.
|
||||||
|
Reported by Hans Aberg.
|
||||||
|
|
||||||
|
2001-11-26 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/complain.c, src/complain.h (error): Remove, provided by
|
||||||
|
lib/error.[ch].
|
||||||
|
|
||||||
|
2001-11-26 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/reader.c (read_declarations): Don't abort on tok_illegal,
|
||||||
|
issue an error message.
|
||||||
|
* tests/regression.at (Invalid %directive): New.
|
||||||
|
Reported by Hans Aberg.
|
||||||
|
|
||||||
|
2001-11-26 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* configure.in: Invoke AC_FUNC_OBSTACK and AC_FUNC_ERROR_AT_LINE.
|
||||||
|
* lib/Makefile.am (libbison_a_SOURCES): Adjust.
|
||||||
|
|
||||||
|
2001-11-26 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/conflicts.c (conflicts_print): Don't complain at all when
|
||||||
|
there are no reduce/reduce conflicts, and as many shift/reduce
|
||||||
|
conflicts as expected.
|
||||||
|
* tests/regression.at (%expect right): Adjust.
|
||||||
|
|
||||||
|
2001-11-23 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* lib/alloca.c: Update, from fileutils.
|
||||||
|
|
||||||
|
2001-11-23 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@.
|
||||||
|
|
||||||
|
2001-11-23 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/system.h: Include alloca.h.
|
||||||
|
* src/main.c (main) [C_ALLOCA]: Call alloca (0).
|
||||||
|
|
||||||
|
2001-11-23 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
* src/print_graph.c (print_actions): Remove `rule', unused.
|
||||||
|
* src/LR0.c (kernel_size): Contain `int' instead of `size_t' to
|
||||||
|
pacify GCC's signed < unsigned warnings.
|
||||||
|
* src/closure.c (itemsetsize): Likewise.
|
||||||
|
* src/reader.c (symbol_list_new): Static.
|
||||||
|
|
||||||
|
2001-11-23 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
|
Attaching lineno to buckets is stupid, since only one copy of each
|
||||||
|
symbol is kept, only the line of the first occurrence is kept too.
|
||||||
|
|
||||||
|
* src/symtab.h, src/symtab.c (bucket): Remove the line member.
|
||||||
|
* src/reader.c (rline_allocated): Remove, unused.
|
||||||
|
(symbol_list): Have a `line' member.
|
||||||
|
(symbol_list_new): New.
|
||||||
|
(readgram): Use it.
|
||||||
|
* src/print.c (print_grammar): Output the rule line numbers.
|
||||||
|
* tests/regression.at (Solved SR Conflicts)
|
||||||
|
(Unresolved SR Conflicts): Adjust.
|
||||||
|
Reported by Hans Aberg.
|
||||||
|
|
||||||
2001-11-20 Akim Demaille <[email protected]>
|
2001-11-20 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
Version 1.30d.
|
Version 1.30d.
|
||||||
@@ -65,7 +817,7 @@
|
|||||||
|
|
||||||
2001-11-19 Akim Demaille <[email protected]>
|
2001-11-19 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
* src/LR0.c (new_itemsets, get_state): Use more arrays and less
|
* src/LR0.c (new_itemsets, get_state): Use more arrays and fewer
|
||||||
pointers to clarify the code.
|
pointers to clarify the code.
|
||||||
(save_reductions, save_shifts): Factor common parts of alternatives.
|
(save_reductions, save_shifts): Factor common parts of alternatives.
|
||||||
|
|
||||||
@@ -117,8 +869,8 @@
|
|||||||
|
|
||||||
2001-11-19 Akim Demaille <[email protected]>
|
2001-11-19 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
* src/bison.simple (yyparse): When reporting verbosely an error,
|
* src/bison.simple (yyparse): When verbosely reporting an error,
|
||||||
no longer issue additional quotes around token names.
|
no longer put additional quotes around token names.
|
||||||
* tests/calc.at: Adjust.
|
* tests/calc.at: Adjust.
|
||||||
|
|
||||||
2001-11-19 Akim Demaille <[email protected]>
|
2001-11-19 Akim Demaille <[email protected]>
|
||||||
@@ -155,12 +907,12 @@
|
|||||||
|
|
||||||
2001-11-19 Akim Demaille <[email protected]>
|
2001-11-19 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
* src/lalr.c (F): New macro to access to the variable F.
|
* src/lalr.c (F): New macro to access the variable F.
|
||||||
Adjust.
|
Adjust.
|
||||||
|
|
||||||
2001-11-19 Akim Demaille <[email protected]>
|
2001-11-19 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
* src/lalr.h (LA): New macro to access to the variable LA.
|
* src/lalr.h (LA): New macro to access the variable LA.
|
||||||
* src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
|
* src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
|
||||||
* src/lalr.c: Adjust.
|
* src/lalr.c: Adjust.
|
||||||
|
|
||||||
@@ -171,24 +923,24 @@
|
|||||||
|
|
||||||
2001-11-19 Akim Demaille <[email protected]>
|
2001-11-19 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
* src/lalr.h (lookaheads): Removed array, which contents is now
|
* src/lalr.h (lookaheads): Removed array, whose contents is now
|
||||||
member of...
|
a member of...
|
||||||
(state_t): this structure.
|
(state_t): this structure.
|
||||||
* src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
|
* src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
|
||||||
Adjust.
|
Adjust.
|
||||||
|
|
||||||
2001-11-19 Akim Demaille <[email protected]>
|
2001-11-19 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
* src/lalr.h (consistent): Removed array, which contents is now
|
* src/lalr.h (consistent): Removed array, whose contents is now
|
||||||
member of...
|
a member of...
|
||||||
(state_t): this structure.
|
(state_t): this structure.
|
||||||
* src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
|
* src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
|
||||||
Adjust.
|
Adjust.
|
||||||
|
|
||||||
2001-11-19 Akim Demaille <[email protected]>
|
2001-11-19 Akim Demaille <[email protected]>
|
||||||
|
|
||||||
* src/lalr.h (reduction_table, shift_table): Removed arrays, which
|
* src/lalr.h (reduction_table, shift_table): Removed arrays, whose
|
||||||
contents is now members of...
|
contents are now members of...
|
||||||
(state_t): this structure.
|
(state_t): this structure.
|
||||||
* src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
|
* src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
|
||||||
Adjust.
|
Adjust.
|
||||||
|
|||||||
+15
@@ -1,3 +1,18 @@
|
|||||||
|
## 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 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 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
|
||||||
|
|
||||||
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
||||||
AUTOMAKE_OPTIONS = 1.5 check-news readme-alpha dist-bzip2
|
AUTOMAKE_OPTIONS = 1.5 check-news readme-alpha dist-bzip2
|
||||||
|
|
||||||
|
|||||||
+38
-26
@@ -1,4 +1,4 @@
|
|||||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
# Makefile.in generated by automake 1.5c from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||||
@@ -13,7 +13,6 @@
|
|||||||
# PARTICULAR PURPOSE.
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
|
||||||
SHELL = @SHELL@
|
SHELL = @SHELL@
|
||||||
|
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
@@ -48,6 +47,7 @@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
|||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
INSTALL_HEADER = $(INSTALL_DATA)
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
transform = @program_transform_name@
|
transform = @program_transform_name@
|
||||||
@@ -97,6 +97,7 @@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
|||||||
USE_NLS = @USE_NLS@
|
USE_NLS = @USE_NLS@
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
WARNING_CFLAGS = @WARNING_CFLAGS@
|
WARNING_CFLAGS = @WARNING_CFLAGS@
|
||||||
|
WERROR_CFLAGS = @WERROR_CFLAGS@
|
||||||
am__include = @am__include@
|
am__include = @am__include@
|
||||||
am__quote = @am__quote@
|
am__quote = @am__quote@
|
||||||
install_sh = @install_sh@
|
install_sh = @install_sh@
|
||||||
@@ -138,8 +139,8 @@ RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
|
|||||||
install-exec-recursive installdirs-recursive install-recursive \
|
install-exec-recursive installdirs-recursive install-recursive \
|
||||||
uninstall-recursive check-recursive installcheck-recursive
|
uninstall-recursive check-recursive installcheck-recursive
|
||||||
DIST_COMMON = README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL \
|
DIST_COMMON = README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL \
|
||||||
Makefile.am Makefile.in NEWS README-alpha THANKS aclocal.m4 \
|
Makefile.am Makefile.in NEWS THANKS aclocal.m4 config.hin \
|
||||||
config.hin configure configure.in
|
configure configure.in
|
||||||
DIST_SUBDIRS = $(SUBDIRS)
|
DIST_SUBDIRS = $(SUBDIRS)
|
||||||
all: config.h
|
all: config.h
|
||||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||||
@@ -237,13 +238,13 @@ tags-recursive:
|
|||||||
tags: TAGS
|
tags: TAGS
|
||||||
|
|
||||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||||
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) ' { files[$$0] = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { for (i in files) print i; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
mkid -fID $$unique $(LISP)
|
mkid -fID $$unique
|
||||||
|
|
||||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
|
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
|
||||||
$(TAGS_FILES) $(LISP)
|
$(TAGS_FILES) $(LISP)
|
||||||
@@ -254,14 +255,14 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
|
|||||||
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
|
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
|
||||||
fi; \
|
fi; \
|
||||||
done; \
|
done; \
|
||||||
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) config.hin $(LISP) $(TAGS_FILES)'; \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) ' { files[$$0] = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { for (i in files) print i; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
test -z "$(ETAGS_ARGS)config.hin$$unique$(LISP)$$tags" \
|
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|
||||||
|| etags $(ETAGS_ARGS) $$tags config.hin $$unique $(LISP)
|
|| etags $(ETAGS_ARGS) $$tags $$unique
|
||||||
|
|
||||||
GTAGS:
|
GTAGS:
|
||||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||||
@@ -270,14 +271,18 @@ GTAGS:
|
|||||||
|
|
||||||
distclean-tags:
|
distclean-tags:
|
||||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
top_distdir = .
|
top_distdir = .
|
||||||
# Avoid unsightly `./'.
|
|
||||||
distdir = $(PACKAGE)-$(VERSION)
|
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
|
GZIP_ENV = --best
|
||||||
|
distcleancheck_listfiles = find . -type f -print
|
||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(DISTFILES)
|
||||||
@if sed 15q $(srcdir)/NEWS | fgrep -e "$(VERSION)" >/dev/null; \
|
@if sed 15q $(srcdir)/NEWS | fgrep -e "$(VERSION)" >/dev/null; \
|
||||||
@@ -285,11 +290,11 @@ distdir: $(DISTFILES)
|
|||||||
echo "NEWS not updated; not releasing" 1>&2; \
|
echo "NEWS not updated; not releasing" 1>&2; \
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
|
$(am__remove_distdir)
|
||||||
mkdir $(distdir)
|
mkdir $(distdir)
|
||||||
$(mkinstalldirs) $(distdir)/intl $(distdir)/po $(distdir)/tests
|
$(mkinstalldirs) $(distdir)/intl $(distdir)/po $(distdir)/tests
|
||||||
@for file in $(DISTFILES); do \
|
@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,/[^/]*$$,,'`; \
|
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||||
@@ -323,22 +328,22 @@ distdir: $(DISTFILES)
|
|||||||
|| chmod -R a+r $(distdir)
|
|| chmod -R a+r $(distdir)
|
||||||
dist-gzip: distdir
|
dist-gzip: distdir
|
||||||
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
$(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
|
dist-bzip2: distdir
|
||||||
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
|
$(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
|
dist dist-all: distdir
|
||||||
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||||
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
|
$(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
|
# This target untars the dist file and tries a VPATH configuration. Then
|
||||||
# it guarantees that the distribution is self-contained by making another
|
# it guarantees that the distribution is self-contained by making another
|
||||||
# tarfile.
|
# tarfile.
|
||||||
distcheck: dist
|
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 -
|
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
|
||||||
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||||
mkdir $(distdir)/=build
|
mkdir $(distdir)/=build
|
||||||
@@ -348,6 +353,7 @@ distcheck: dist
|
|||||||
&& cd $(distdir)/=build \
|
&& cd $(distdir)/=build \
|
||||||
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
|
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
|
||||||
--with-included-gettext \
|
--with-included-gettext \
|
||||||
|
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||||
@@ -359,15 +365,20 @@ distcheck: dist
|
|||||||
find $$dc_install_base -type f -print ; \
|
find $$dc_install_base -type f -print ; \
|
||||||
exit 1; } >&2 ) \
|
exit 1; } >&2 ) \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
|
&& $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) distclean \
|
|
||||||
&& rm -f $(distdir).tar.gz \
|
&& rm -f $(distdir).tar.gz \
|
||||||
&& (test `find . -type f -print | wc -l` -eq 0 \
|
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
||||||
|| { echo "ERROR: files left after distclean:" ; \
|
$(am__remove_distdir)
|
||||||
find . -type f -print ; \
|
|
||||||
exit 1; } >&2 )
|
|
||||||
-chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
|
|
||||||
@echo "$(distdir).tar.gz is ready for distribution" | \
|
@echo "$(distdir).tar.gz is ready for distribution" | \
|
||||||
sed 'h;s/./=/g;p;x;p;x'
|
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-am: all-am
|
||||||
check: check-recursive
|
check: check-recursive
|
||||||
all-am: Makefile config.h
|
all-am: Makefile config.h
|
||||||
@@ -385,6 +396,7 @@ install-am: all-am
|
|||||||
installcheck: installcheck-recursive
|
installcheck: installcheck-recursive
|
||||||
install-strip:
|
install-strip:
|
||||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
INSTALL_STRIP_FLAG=-s \
|
||||||
`test -z '$(STRIP)' || \
|
`test -z '$(STRIP)' || \
|
||||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||||
mostlyclean-generic:
|
mostlyclean-generic:
|
||||||
@@ -439,9 +451,9 @@ uninstall-info: uninstall-info-recursive
|
|||||||
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
|
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
|
||||||
clean-generic clean-recursive dist dist-all dist-bzip2 \
|
clean-generic clean-recursive dist dist-all dist-bzip2 \
|
||||||
dist-gzip distcheck distclean distclean-generic distclean-hdr \
|
dist-gzip distcheck distclean distclean-generic distclean-hdr \
|
||||||
distclean-recursive distclean-tags distdir dvi dvi-am \
|
distclean-recursive distclean-tags distcleancheck distdir dvi \
|
||||||
dvi-recursive info info-am info-recursive install install-am \
|
dvi-am dvi-recursive info info-am info-recursive install \
|
||||||
install-data install-data-am install-data-recursive \
|
install-am install-data install-data-am install-data-recursive \
|
||||||
install-exec install-exec-am install-exec-recursive \
|
install-exec install-exec-am install-exec-recursive \
|
||||||
install-info install-info-am install-info-recursive install-man \
|
install-info install-info-am install-info-recursive install-man \
|
||||||
install-recursive install-strip installcheck installcheck-am \
|
install-recursive install-strip installcheck installcheck-am \
|
||||||
|
|||||||
@@ -1,7 +1,50 @@
|
|||||||
Bison News
|
Bison News
|
||||||
----------
|
----------
|
||||||
|
|
||||||
Changes in version 1.30d:
|
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.
|
||||||
|
|
||||||
|
* Reduced Grammars
|
||||||
|
Fixed bugs when reporting useless nonterminals.
|
||||||
|
|
||||||
|
* 64 bit hosts
|
||||||
|
The parsers work properly on 64 bit hosts.
|
||||||
|
|
||||||
|
* Error messages
|
||||||
|
Some calls to strerror resulted in scrambled or missing error messages.
|
||||||
|
|
||||||
|
* %expect
|
||||||
|
When the number of shift/reduce conflicts is correct, don't issue
|
||||||
|
any warning.
|
||||||
|
|
||||||
|
* The verbose report includes the rule line numbers.
|
||||||
|
|
||||||
|
* Rule line numbers are fixed in traces.
|
||||||
|
|
||||||
* Swedish translation
|
* Swedish translation
|
||||||
|
|
||||||
@@ -10,17 +53,6 @@ Changes in version 1.30d:
|
|||||||
Before: parse error: unexpected `'/'', expecting `"number"' or `'-'' or `'(''
|
Before: parse error: unexpected `'/'', expecting `"number"' or `'-'' or `'(''
|
||||||
Now: 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.
|
* Fixed parser memory leaks.
|
||||||
When the generated parser was using malloc to extend its stacks, the
|
When the generated parser was using malloc to extend its stacks, the
|
||||||
previous allocations were not freed.
|
previous allocations were not freed.
|
||||||
|
|||||||
Vendored
+26
-19
@@ -1,4 +1,4 @@
|
|||||||
# 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
|
||||||
# Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
# 02111-1307, USA.
|
# 02111-1307, USA.
|
||||||
|
|
||||||
# serial 6
|
# serial 7
|
||||||
|
|
||||||
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
|
# 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,
|
# written in clear, in which case automake, when reading aclocal.m4,
|
||||||
@@ -55,7 +55,7 @@ AC_DEFUN([AM_INIT_AUTOMAKE],
|
|||||||
# test to see if srcdir already configured
|
# test to see if srcdir already configured
|
||||||
if test "`cd $srcdir && pwd`" != "`pwd`" &&
|
if test "`cd $srcdir && pwd`" != "`pwd`" &&
|
||||||
test -f $srcdir/config.status; then
|
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
|
fi
|
||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
@@ -177,7 +177,7 @@ AC_MSG_RESULT(yes)])
|
|||||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
# 02111-1307, USA.
|
# 02111-1307, USA.
|
||||||
|
|
||||||
# serial 2
|
# serial 3
|
||||||
|
|
||||||
# AM_MISSING_PROG(NAME, PROGRAM)
|
# AM_MISSING_PROG(NAME, PROGRAM)
|
||||||
# ------------------------------
|
# ------------------------------
|
||||||
@@ -199,8 +199,7 @@ if eval "$MISSING --run true"; then
|
|||||||
am_missing_run="$MISSING --run "
|
am_missing_run="$MISSING --run "
|
||||||
else
|
else
|
||||||
am_missing_run=
|
am_missing_run=
|
||||||
am_backtick='`'
|
AC_MSG_WARN([`missing' script is too old or missing])
|
||||||
AC_MSG_WARN([${am_backtick}missing' script is too old or missing])
|
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
|
|
||||||
@@ -495,11 +494,13 @@ AC_SUBST([AMDEPBACKSLASH])
|
|||||||
# ------------------------------
|
# ------------------------------
|
||||||
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
[for mf in $CONFIG_FILES; do
|
[for mf in $CONFIG_FILES; do
|
||||||
case $mf in
|
# Strip MF so we end up with the name of the file.
|
||||||
Makefile) dirpart=.;;
|
mf=`echo "$mf" | sed -e 's/:.*$//'`
|
||||||
*/Makefile) dirpart=`AS_DIRNAME("$mf")`;;
|
if (head -1 $mf | fgrep 'generated by automake') > /dev/null 2>&1; then
|
||||||
*) continue;;
|
dirpart=`AS_DIRNAME("$mf")`
|
||||||
esac
|
else
|
||||||
|
dirpart=
|
||||||
|
fi
|
||||||
grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
|
grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
|
||||||
# Extract the definition of DEP_FILES from the Makefile without
|
# Extract the definition of DEP_FILES from the Makefile without
|
||||||
# running `make'.
|
# running `make'.
|
||||||
@@ -546,11 +547,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
|||||||
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
|
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
|
||||||
])
|
])
|
||||||
|
|
||||||
# AM_MAKE_INCLUDE()
|
# Copyright 2001 Free Software Foundation, Inc. -*- Autoconf -*-
|
||||||
# -----------------
|
|
||||||
# Check to see how make treats includes.
|
|
||||||
|
|
||||||
# Copyright 2001 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -567,6 +564,11 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
|||||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
# 02111-1307, USA.
|
# 02111-1307, USA.
|
||||||
|
|
||||||
|
# serial 2
|
||||||
|
|
||||||
|
# AM_MAKE_INCLUDE()
|
||||||
|
# -----------------
|
||||||
|
# Check to see how make treats includes.
|
||||||
AC_DEFUN([AM_MAKE_INCLUDE],
|
AC_DEFUN([AM_MAKE_INCLUDE],
|
||||||
[am_make=${MAKE-make}
|
[am_make=${MAKE-make}
|
||||||
cat > confinc << 'END'
|
cat > confinc << 'END'
|
||||||
@@ -575,7 +577,7 @@ doit:
|
|||||||
END
|
END
|
||||||
# If we don't find an include directive, just comment out the code.
|
# If we don't find an include directive, just comment out the code.
|
||||||
AC_MSG_CHECKING([for style of include used by $am_make])
|
AC_MSG_CHECKING([for style of include used by $am_make])
|
||||||
am__include='#'
|
am__include="#"
|
||||||
am__quote=
|
am__quote=
|
||||||
_am_result=none
|
_am_result=none
|
||||||
# First try GNU make style include.
|
# First try GNU make style include.
|
||||||
@@ -595,7 +597,7 @@ if test "$am__include" = "#"; then
|
|||||||
echo '.include "confinc"' > confmf
|
echo '.include "confinc"' > confmf
|
||||||
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
|
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
|
||||||
am__include=.include
|
am__include=.include
|
||||||
am__quote='"'
|
am__quote="\""
|
||||||
_am_result=BSD
|
_am_result=BSD
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -642,7 +644,12 @@ if $2; then
|
|||||||
else
|
else
|
||||||
$1_TRUE='#'
|
$1_TRUE='#'
|
||||||
$1_FALSE=
|
$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 -*-
|
# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*-
|
||||||
|
|
||||||
|
|||||||
+33
-10
@@ -35,10 +35,18 @@
|
|||||||
*/
|
*/
|
||||||
#undef HAVE_DECL_MEMCHR
|
#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.
|
/* Define to 1 if you have the declaration of `stpcpy', and to 0 if you don't.
|
||||||
*/
|
*/
|
||||||
#undef HAVE_DECL_STPCPY
|
#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
|
/* Define to 1 if you have the declaration of `strerror', and to 0 if you
|
||||||
don't. */
|
don't. */
|
||||||
#undef HAVE_DECL_STRERROR
|
#undef HAVE_DECL_STRERROR
|
||||||
@@ -47,14 +55,14 @@
|
|||||||
don't. */
|
don't. */
|
||||||
#undef HAVE_DECL_STRERROR_R
|
#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
|
/* Define to 1 if you have the declaration of `strnlen', and to 0 if you
|
||||||
don't. */
|
don't. */
|
||||||
#undef HAVE_DECL_STRNLEN
|
#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. */
|
/* Define if the malloc check has been performed. */
|
||||||
#undef HAVE_DONE_WORKING_MALLOC_CHECK
|
#undef HAVE_DONE_WORKING_MALLOC_CHECK
|
||||||
|
|
||||||
@@ -133,6 +141,9 @@
|
|||||||
/* Define to 1 if you have the `mempcpy' function. */
|
/* Define to 1 if you have the `mempcpy' function. */
|
||||||
#undef HAVE_MEMPCPY
|
#undef HAVE_MEMPCPY
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `memrchr' function. */
|
||||||
|
#undef HAVE_MEMRCHR
|
||||||
|
|
||||||
/* Define to 1 if you have the `mkstemp' function. */
|
/* Define to 1 if you have the `mkstemp' function. */
|
||||||
#undef HAVE_MKSTEMP
|
#undef HAVE_MKSTEMP
|
||||||
|
|
||||||
@@ -145,6 +156,9 @@
|
|||||||
/* Define to 1 if you have the <nl_types.h> header file. */
|
/* Define to 1 if you have the <nl_types.h> header file. */
|
||||||
#undef HAVE_NL_TYPES_H
|
#undef HAVE_NL_TYPES_H
|
||||||
|
|
||||||
|
/* Define to 1 if libc includes obstacks. */
|
||||||
|
#undef HAVE_OBSTACK
|
||||||
|
|
||||||
/* Define to 1 if you have the `putenv' function. */
|
/* Define to 1 if you have the `putenv' function. */
|
||||||
#undef HAVE_PUTENV
|
#undef HAVE_PUTENV
|
||||||
|
|
||||||
@@ -187,12 +201,6 @@
|
|||||||
/* Define to 1 if you have the <string.h> header file. */
|
/* Define to 1 if you have the <string.h> header file. */
|
||||||
#undef HAVE_STRING_H
|
#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. */
|
/* Define to 1 if you have the `strspn' function. */
|
||||||
#undef HAVE_STRSPN
|
#undef HAVE_STRSPN
|
||||||
|
|
||||||
@@ -238,6 +246,21 @@
|
|||||||
/* Name of package */
|
/* Name of package */
|
||||||
#undef 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 */
|
/* Define if compiler has function prototypes */
|
||||||
#undef PROTOTYPES
|
#undef PROTOTYPES
|
||||||
|
|
||||||
|
|||||||
+5
-5
@@ -1,4 +1,4 @@
|
|||||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
# Makefile.in generated by automake 1.5c from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||||
@@ -13,7 +13,6 @@
|
|||||||
# PARTICULAR PURPOSE.
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
|
||||||
SHELL = @SHELL@
|
SHELL = @SHELL@
|
||||||
|
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
@@ -48,6 +47,7 @@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
|||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
INSTALL_HEADER = $(INSTALL_DATA)
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
transform = @program_transform_name@
|
transform = @program_transform_name@
|
||||||
@@ -97,10 +97,10 @@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
|||||||
USE_NLS = @USE_NLS@
|
USE_NLS = @USE_NLS@
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
WARNING_CFLAGS = @WARNING_CFLAGS@
|
WARNING_CFLAGS = @WARNING_CFLAGS@
|
||||||
|
WERROR_CFLAGS = @WERROR_CFLAGS@
|
||||||
am__include = @am__include@
|
am__include = @am__include@
|
||||||
am__quote = @am__quote@
|
am__quote = @am__quote@
|
||||||
install_sh = @install_sh@
|
install_sh = @install_sh@
|
||||||
|
|
||||||
EXTRA_DIST = move-if-change prev-version.txt
|
EXTRA_DIST = move-if-change prev-version.txt
|
||||||
subdir = config
|
subdir = config
|
||||||
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
|
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
|
||||||
@@ -121,7 +121,6 @@ uninstall-info-am:
|
|||||||
tags: TAGS
|
tags: TAGS
|
||||||
TAGS:
|
TAGS:
|
||||||
|
|
||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
top_distdir = ..
|
top_distdir = ..
|
||||||
@@ -129,7 +128,7 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
|||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(DISTFILES)
|
||||||
@for file in $(DISTFILES); do \
|
@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,/[^/]*$$,,'`; \
|
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||||
@@ -160,6 +159,7 @@ install-am: all-am
|
|||||||
installcheck: installcheck-am
|
installcheck: installcheck-am
|
||||||
install-strip:
|
install-strip:
|
||||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
INSTALL_STRIP_FLAG=-s \
|
||||||
`test -z '$(STRIP)' || \
|
`test -z '$(STRIP)' || \
|
||||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||||
mostlyclean-generic:
|
mostlyclean-generic:
|
||||||
|
|||||||
Vendored
+58
-47
@@ -1,9 +1,9 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Attempt to guess a canonical system name.
|
# Attempt to guess a canonical system name.
|
||||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||||
# Free Software Foundation, Inc.
|
# 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||||
|
|
||||||
timestamp='2001-11-08'
|
timestamp='2002-01-02'
|
||||||
|
|
||||||
# This file is free software; you can redistribute it and/or modify it
|
# This file is free software; you can redistribute it and/or modify it
|
||||||
# under the terms of the GNU General Public License as published by
|
# under the terms of the GNU General Public License as published by
|
||||||
@@ -135,23 +135,21 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||||||
# object file format. This provides both forward
|
# object file format. This provides both forward
|
||||||
# compatibility and a consistent mechanism for selecting the
|
# compatibility and a consistent mechanism for selecting the
|
||||||
# object file format.
|
# object file format.
|
||||||
# Determine the machine/vendor (is the vendor relevant).
|
#
|
||||||
case "${UNAME_MACHINE}" in
|
# Note: NetBSD doesn't particularly care about the vendor
|
||||||
amiga) machine=m68k-unknown ;;
|
# portion of the name. We always set it to "unknown".
|
||||||
arm32) machine=arm-unknown ;;
|
UNAME_MACHINE_ARCH=`(uname -p) 2>/dev/null` || \
|
||||||
atari*) machine=m68k-atari ;;
|
UNAME_MACHINE_ARCH=unknown
|
||||||
sun3*) machine=m68k-sun ;;
|
case "${UNAME_MACHINE_ARCH}" in
|
||||||
mac68k) machine=m68k-apple ;;
|
arm*) machine=arm-unknown ;;
|
||||||
macppc) machine=powerpc-apple ;;
|
sh3el) machine=shl-unknown ;;
|
||||||
hp3[0-9][05]) machine=m68k-hp ;;
|
sh3eb) machine=sh-unknown ;;
|
||||||
ibmrt|romp-ibm) machine=romp-ibm ;;
|
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
|
||||||
sparc*) machine=`uname -p`-unknown ;;
|
|
||||||
*) machine=${UNAME_MACHINE}-unknown ;;
|
|
||||||
esac
|
esac
|
||||||
# The Operating System including object format, if it has switched
|
# The Operating System including object format, if it has switched
|
||||||
# to ELF recently, or will in the future.
|
# to ELF recently, or will in the future.
|
||||||
case "${UNAME_MACHINE}" in
|
case "${UNAME_MACHINE_ARCH}" in
|
||||||
i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
|
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
|
||||||
eval $set_cc_for_build
|
eval $set_cc_for_build
|
||||||
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||||
| grep __ELF__ >/dev/null
|
| grep __ELF__ >/dev/null
|
||||||
@@ -291,6 +289,9 @@ EOF
|
|||||||
*:[Aa]miga[Oo][Ss]:*:*)
|
*:[Aa]miga[Oo][Ss]:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-amigaos
|
echo ${UNAME_MACHINE}-unknown-amigaos
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
|
*:[Mm]orph[Oo][Ss]:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-unknown-morphos
|
||||||
|
exit 0 ;;
|
||||||
*:OS/390:*:*)
|
*:OS/390:*:*)
|
||||||
echo i370-ibm-openedition
|
echo i370-ibm-openedition
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
@@ -736,6 +737,9 @@ EOF
|
|||||||
i*:PW*:*)
|
i*:PW*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-pw32
|
echo ${UNAME_MACHINE}-pc-pw32
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
|
x86:Interix*:3*)
|
||||||
|
echo i386-pc-interix3
|
||||||
|
exit 0 ;;
|
||||||
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
|
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
|
||||||
# How do we know it's Interix rather than the generic POSIX subsystem?
|
# 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
|
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
|
||||||
@@ -767,10 +771,24 @@ EOF
|
|||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
mips:Linux:*:*)
|
mips:Linux:*:*)
|
||||||
case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in
|
eval $set_cc_for_build
|
||||||
big) echo mips-unknown-linux-gnu && exit 0 ;;
|
sed 's/^ //' << EOF >$dummy.c
|
||||||
little) echo mipsel-unknown-linux-gnu && exit 0 ;;
|
#undef CPU
|
||||||
esac
|
#undef mips
|
||||||
|
#undef mipsel
|
||||||
|
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
|
||||||
|
CPU=mipsel
|
||||||
|
#else
|
||||||
|
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
|
||||||
|
CPU=mips
|
||||||
|
#else
|
||||||
|
CPU=
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
EOF
|
||||||
|
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
|
||||||
|
rm -f $dummy.c
|
||||||
|
test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
|
||||||
;;
|
;;
|
||||||
ppc:Linux:*:*)
|
ppc:Linux:*:*)
|
||||||
echo powerpc-unknown-linux-gnu
|
echo powerpc-unknown-linux-gnu
|
||||||
@@ -843,32 +861,25 @@ EOF
|
|||||||
esac
|
esac
|
||||||
# Determine whether the default compiler is a.out or elf
|
# Determine whether the default compiler is a.out or elf
|
||||||
eval $set_cc_for_build
|
eval $set_cc_for_build
|
||||||
cat >$dummy.c <<EOF
|
sed 's/^ //' << EOF >$dummy.c
|
||||||
#include <features.h>
|
#include <features.h>
|
||||||
#ifdef __cplusplus
|
#ifdef __ELF__
|
||||||
#include <stdio.h> /* for printf() prototype */
|
# ifdef __GLIBC__
|
||||||
int main (int argc, char *argv[]) {
|
# if __GLIBC__ >= 2
|
||||||
#else
|
LIBC=gnu
|
||||||
int main (argc, argv) int argc; char *argv[]; {
|
# else
|
||||||
#endif
|
LIBC=gnulibc1
|
||||||
#ifdef __ELF__
|
# endif
|
||||||
# ifdef __GLIBC__
|
# else
|
||||||
# if __GLIBC__ >= 2
|
LIBC=gnulibc1
|
||||||
printf ("%s-pc-linux-gnu\n", argv[1]);
|
# endif
|
||||||
# else
|
#else
|
||||||
printf ("%s-pc-linux-gnulibc1\n", argv[1]);
|
LIBC=gnuaout
|
||||||
# endif
|
#endif
|
||||||
# else
|
|
||||||
printf ("%s-pc-linux-gnulibc1\n", argv[1]);
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
printf ("%s-pc-linux-gnuaout\n", argv[1]);
|
|
||||||
#endif
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
EOF
|
EOF
|
||||||
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
|
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
|
||||||
rm -f $dummy.c $dummy
|
rm -f $dummy.c
|
||||||
|
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
|
||||||
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
|
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
|
||||||
;;
|
;;
|
||||||
i*86:DYNIX/ptx:4*:*)
|
i*86:DYNIX/ptx:4*:*)
|
||||||
@@ -1056,7 +1067,7 @@ EOF
|
|||||||
*:QNX:*:4*)
|
*:QNX:*:4*)
|
||||||
echo i386-pc-qnx
|
echo i386-pc-qnx
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
NSR-[KW]:NONSTOP_KERNEL:*:*)
|
NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
|
||||||
echo nsr-tandem-nsk${UNAME_RELEASE}
|
echo nsr-tandem-nsk${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
*:NonStop-UX:*:*)
|
*:NonStop-UX:*:*)
|
||||||
|
|||||||
Vendored
+32
-9
@@ -1,9 +1,9 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Configuration validation subroutine script.
|
# Configuration validation subroutine script.
|
||||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||||
# Free Software Foundation, Inc.
|
# 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||||
|
|
||||||
timestamp='2001-11-16'
|
timestamp='2002-01-02'
|
||||||
|
|
||||||
# This file is (in principle) common to ALL GNU software.
|
# This file is (in principle) common to ALL GNU software.
|
||||||
# The presence of a machine in this file suggests that SOME GNU software
|
# The presence of a machine in this file suggests that SOME GNU software
|
||||||
@@ -227,6 +227,7 @@ case $basic_machine in
|
|||||||
1750a | 580 \
|
1750a | 580 \
|
||||||
| a29k \
|
| a29k \
|
||||||
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
|
| 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 \
|
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
|
||||||
| c4x | clipper \
|
| c4x | clipper \
|
||||||
| d10v | d30v | dsp16xx \
|
| d10v | d30v | dsp16xx \
|
||||||
@@ -249,9 +250,9 @@ case $basic_machine in
|
|||||||
| sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \
|
| sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \
|
||||||
| strongarm \
|
| strongarm \
|
||||||
| tahoe | thumb | tic80 | tron \
|
| tahoe | thumb | tic80 | tron \
|
||||||
| v850 \
|
| v850 | v850e \
|
||||||
| we32k \
|
| we32k \
|
||||||
| x86 | xscale | xstormy16 \
|
| x86 | xscale | xstormy16 | xtensa \
|
||||||
| z8k)
|
| z8k)
|
||||||
basic_machine=$basic_machine-unknown
|
basic_machine=$basic_machine-unknown
|
||||||
;;
|
;;
|
||||||
@@ -278,7 +279,8 @@ case $basic_machine in
|
|||||||
580-* \
|
580-* \
|
||||||
| a29k-* \
|
| a29k-* \
|
||||||
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
|
| 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*-* \
|
| arm-* | armbe-* | armle-* | armv*-* \
|
||||||
| avr-* \
|
| avr-* \
|
||||||
| bs2000-* \
|
| bs2000-* \
|
||||||
@@ -307,9 +309,10 @@ case $basic_machine in
|
|||||||
| sparc-* | sparc64-* | sparc86x-* | sparclite-* \
|
| sparc-* | sparc64-* | sparc86x-* | sparclite-* \
|
||||||
| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* \
|
| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* \
|
||||||
| t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
|
| t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
|
||||||
| v850-* | vax-* \
|
| v850-* | v850e-* | vax-* \
|
||||||
| we32k-* \
|
| we32k-* \
|
||||||
| x86-* | x86_64-* | xmp-* | xps100-* | xscale-* | xstormy16-* \
|
| x86-* | x86_64-* | xmp-* | xps100-* | xscale-* | xstormy16-* \
|
||||||
|
| xtensa-* \
|
||||||
| ymp-* \
|
| ymp-* \
|
||||||
| z8k-*)
|
| z8k-*)
|
||||||
;;
|
;;
|
||||||
@@ -418,6 +421,14 @@ case $basic_machine in
|
|||||||
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
|
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
|
||||||
basic_machine=mips-dec
|
basic_machine=mips-dec
|
||||||
;;
|
;;
|
||||||
|
decsystem10* | dec10*)
|
||||||
|
basic_machine=pdp10-dec
|
||||||
|
os=-tops10
|
||||||
|
;;
|
||||||
|
decsystem20* | dec20*)
|
||||||
|
basic_machine=pdp10-dec
|
||||||
|
os=-tops20
|
||||||
|
;;
|
||||||
delta | 3300 | motorola-3300 | motorola-delta \
|
delta | 3300 | motorola-3300 | motorola-delta \
|
||||||
| 3300-motorola | delta-motorola)
|
| 3300-motorola | delta-motorola)
|
||||||
basic_machine=m68k-motorola
|
basic_machine=m68k-motorola
|
||||||
@@ -620,6 +631,10 @@ case $basic_machine in
|
|||||||
basic_machine=m68k-rom68k
|
basic_machine=m68k-rom68k
|
||||||
os=-coff
|
os=-coff
|
||||||
;;
|
;;
|
||||||
|
morphos)
|
||||||
|
basic_machine=powerpc-unknown
|
||||||
|
os=-morphos
|
||||||
|
;;
|
||||||
msdos)
|
msdos)
|
||||||
basic_machine=i386-pc
|
basic_machine=i386-pc
|
||||||
os=-msdos
|
os=-msdos
|
||||||
@@ -881,6 +896,10 @@ case $basic_machine in
|
|||||||
tx39el)
|
tx39el)
|
||||||
basic_machine=mipstx39el-unknown
|
basic_machine=mipstx39el-unknown
|
||||||
;;
|
;;
|
||||||
|
toad1)
|
||||||
|
basic_machine=pdp10-xkl
|
||||||
|
os=-tops20
|
||||||
|
;;
|
||||||
tower | tower-32)
|
tower | tower-32)
|
||||||
basic_machine=m68k-ncr
|
basic_machine=m68k-ncr
|
||||||
;;
|
;;
|
||||||
@@ -1061,7 +1080,7 @@ case $os in
|
|||||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
|
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
|
||||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
|
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
|
||||||
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
||||||
| -aos* | -atheos* \
|
| -aos* \
|
||||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||||
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
||||||
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
|
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
|
||||||
@@ -1074,7 +1093,7 @@ case $os in
|
|||||||
| -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
|
| -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
|
||||||
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||||
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
||||||
| -os2* | -vos* | -palmos* | -uclinux*)
|
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* | -morphos*)
|
||||||
# Remember, each alternative MUST END IN *, to match a version number.
|
# Remember, each alternative MUST END IN *, to match a version number.
|
||||||
;;
|
;;
|
||||||
-qnx*)
|
-qnx*)
|
||||||
@@ -1126,6 +1145,9 @@ case $os in
|
|||||||
-acis*)
|
-acis*)
|
||||||
os=-aos
|
os=-aos
|
||||||
;;
|
;;
|
||||||
|
-atheos*)
|
||||||
|
os=-atheos
|
||||||
|
;;
|
||||||
-386bsd)
|
-386bsd)
|
||||||
os=-bsd
|
os=-bsd
|
||||||
;;
|
;;
|
||||||
@@ -1206,6 +1228,7 @@ case $basic_machine in
|
|||||||
arm*-semi)
|
arm*-semi)
|
||||||
os=-aout
|
os=-aout
|
||||||
;;
|
;;
|
||||||
|
# This must come before the *-dec entry.
|
||||||
pdp10-*)
|
pdp10-*)
|
||||||
os=-tops20
|
os=-tops20
|
||||||
;;
|
;;
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
1.30d
|
1.30
|
||||||
|
|||||||
+51
-34
@@ -3,7 +3,7 @@
|
|||||||
% Load plain if necessary, i.e., if running under initex.
|
% Load plain if necessary, i.e., if running under initex.
|
||||||
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
||||||
%
|
%
|
||||||
\def\texinfoversion{2001-07-25.07}
|
\def\texinfoversion{2002-01-04.07}
|
||||||
%
|
%
|
||||||
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
|
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
|
||||||
% 2000, 01 Free Software Foundation, Inc.
|
% 2000, 01 Free Software Foundation, Inc.
|
||||||
@@ -30,14 +30,17 @@
|
|||||||
% Please try the latest version of texinfo.tex before submitting bug
|
% Please try the latest version of texinfo.tex before submitting bug
|
||||||
% reports; you can get the latest version from:
|
% reports; you can get the latest version from:
|
||||||
% ftp://ftp.gnu.org/gnu/texinfo.tex
|
% ftp://ftp.gnu.org/gnu/texinfo.tex
|
||||||
% (and all GNU mirrors, see http://www.gnu.org/order/ftp.html)
|
% (and all GNU mirrors, see http://www.gnu.org/order/ftp.html)
|
||||||
% ftp://texinfo.org/tex/texinfo.tex
|
% ftp://texinfo.org/texinfo/texinfo.tex
|
||||||
% ftp://us.ctan.org/macros/texinfo/texinfo.tex
|
% ftp://tug.org/tex/texinfo.tex
|
||||||
% (and all CTAN mirrors, finger [email protected] for a list).
|
% (and all CTAN mirrors, see http://www.ctan.org),
|
||||||
% /home/gd/gnu/doc/texinfo.tex on the GNU machines.
|
% and /home/gd/gnu/doc/texinfo.tex on the GNU machines.
|
||||||
|
%
|
||||||
% The texinfo.tex in any given Texinfo distribution could well be out
|
% The texinfo.tex in any given Texinfo distribution could well be out
|
||||||
% of date, so if that's what you're using, please check.
|
% 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
|
% Send bug reports to [email protected]. Please include including a
|
||||||
% complete document in each bug report with which we can reproduce the
|
% complete document in each bug report with which we can reproduce the
|
||||||
@@ -927,10 +930,12 @@ where each line of input produces a line of output.}
|
|||||||
\def\dopdfimage#1#2#3{%
|
\def\dopdfimage#1#2#3{%
|
||||||
\def\imagewidth{#2}%
|
\def\imagewidth{#2}%
|
||||||
\def\imageheight{#3}%
|
\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
|
\ifnum\pdftexversion < 14
|
||||||
\pdfimage
|
\immediate\pdfimage
|
||||||
\else
|
\else
|
||||||
\pdfximage
|
\immediate\pdfximage
|
||||||
\fi
|
\fi
|
||||||
\ifx\empty\imagewidth\else width \imagewidth \fi
|
\ifx\empty\imagewidth\else width \imagewidth \fi
|
||||||
\ifx\empty\imageheight\else height \imageheight \fi
|
\ifx\empty\imageheight\else height \imageheight \fi
|
||||||
@@ -943,7 +948,7 @@ where each line of input produces a line of output.}
|
|||||||
\pdfrefximage \pdflastximage
|
\pdfrefximage \pdflastximage
|
||||||
\fi}
|
\fi}
|
||||||
\def\pdfmkdest#1{{\normalturnoffactive \pdfdest name{#1} xyz}}
|
\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?
|
\let\linkcolor = \Blue % was Cyan, but that seems light?
|
||||||
\def\endlink{\Black\pdfendlink}
|
\def\endlink{\Black\pdfendlink}
|
||||||
% Adding outlines to PDF; macros for calculating structure of outlines
|
% Adding outlines to PDF; macros for calculating structure of outlines
|
||||||
@@ -5799,8 +5804,15 @@ width0pt\relax} \fi
|
|||||||
%
|
%
|
||||||
\smallfonts \rm
|
\smallfonts \rm
|
||||||
%
|
%
|
||||||
% Hang the footnote text off the number.
|
% Because we use hanging indentation in footnotes, a @noindent appears
|
||||||
\hang
|
% 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}%
|
\textindent{\thisfootno}%
|
||||||
%
|
%
|
||||||
% Don't crash into the line above the footnote text. Since this
|
% Don't crash into the line above the footnote text. Since this
|
||||||
@@ -5881,7 +5893,7 @@ width0pt\relax} \fi
|
|||||||
\global\warnednoepsftrue
|
\global\warnednoepsftrue
|
||||||
\fi
|
\fi
|
||||||
\else
|
\else
|
||||||
\imagexxx #1,,,\finish
|
\imagexxx #1,,,,,\finish
|
||||||
\fi
|
\fi
|
||||||
}
|
}
|
||||||
%
|
%
|
||||||
@@ -5891,33 +5903,34 @@ width0pt\relax} \fi
|
|||||||
% #4 is (ignored optional) html alt text.
|
% #4 is (ignored optional) html alt text.
|
||||||
% #5 is (ignored optional) extension.
|
% #5 is (ignored optional) extension.
|
||||||
% #6 is just the usual extra ignored arg for parsing this stuff.
|
% #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 \loggingall
|
||||||
|
\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
|
\ifpdf
|
||||||
\centerline{\dopdfimage{#1}{#2}{#3}}%
|
\dopdfimage{#1}{#2}{#3}%
|
||||||
\else
|
\else
|
||||||
% \epsfbox itself resets \epsf?size at each figure.
|
% \epsfbox itself resets \epsf?size at each figure.
|
||||||
\setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
|
\setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
|
||||||
\setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
|
\setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
|
||||||
\begingroup
|
\epsfbox{#1.eps}%
|
||||||
\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
|
|
||||||
\fi
|
\fi
|
||||||
}
|
%
|
||||||
|
\ifimagevmode \hss \egroup \bigbreak \fi % space after the image
|
||||||
|
\endgroup}
|
||||||
|
|
||||||
|
|
||||||
\message{localization,}
|
\message{localization,}
|
||||||
@@ -6087,6 +6100,10 @@ should work if nowhere else does.}
|
|||||||
%
|
%
|
||||||
\afourpaper
|
\afourpaper
|
||||||
\internalpagesizes{237mm}{150mm}{3.6mm}{3.6mm}{3mm}{7mm}%
|
\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.
|
% Use @afourwide to print on European A4 paper in wide format.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.52g for GNU Bison 1.30e.
|
# Generated by GNU Autoconf 2.52g for GNU Bison 1.31.
|
||||||
#
|
#
|
||||||
# Report bugs to <[email protected]>.
|
# Report bugs to <[email protected]>.
|
||||||
#
|
#
|
||||||
@@ -253,6 +253,13 @@ SHELL=${CONFIG_SHELL-/bin/sh}
|
|||||||
# only ac_max_sed_lines should be used.
|
# only ac_max_sed_lines should be used.
|
||||||
: ${ac_max_here_lines=38}
|
: ${ac_max_here_lines=38}
|
||||||
|
|
||||||
|
# Identity of this package.
|
||||||
|
PACKAGE_NAME='GNU Bison'
|
||||||
|
PACKAGE_TARNAME='bison'
|
||||||
|
PACKAGE_VERSION='1.31'
|
||||||
|
PACKAGE_STRING='GNU Bison 1.31'
|
||||||
|
PACKAGE_BUGREPORT='[email protected]'
|
||||||
|
|
||||||
# Factoring default headers for most tests.
|
# Factoring default headers for most tests.
|
||||||
ac_includes_default="\
|
ac_includes_default="\
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -329,13 +336,6 @@ oldincludedir='/usr/include'
|
|||||||
infodir='${prefix}/info'
|
infodir='${prefix}/info'
|
||||||
mandir='${prefix}/man'
|
mandir='${prefix}/man'
|
||||||
|
|
||||||
# Identity of this package.
|
|
||||||
PACKAGE_NAME='GNU Bison'
|
|
||||||
PACKAGE_TARNAME='bison'
|
|
||||||
PACKAGE_VERSION='1.30e'
|
|
||||||
PACKAGE_STRING='GNU Bison 1.30e'
|
|
||||||
PACKAGE_BUGREPORT='[email protected]'
|
|
||||||
|
|
||||||
ac_prev=
|
ac_prev=
|
||||||
for ac_option
|
for ac_option
|
||||||
do
|
do
|
||||||
@@ -760,7 +760,7 @@ if test "$ac_init_help" = "long"; then
|
|||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures GNU Bison 1.30e to adapt to many kinds of systems.
|
\`configure' configures GNU Bison 1.31 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
@@ -826,7 +826,7 @@ fi
|
|||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of GNU Bison 1.30e:";;
|
short | recursive ) echo "Configuration of GNU Bison 1.31:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
@@ -894,10 +894,10 @@ case $srcdir in
|
|||||||
esac
|
esac
|
||||||
# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
|
# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
|
||||||
# absolute.
|
# absolute.
|
||||||
ac_buildpath=`cd "$ac_dir" && cd $ac_builddir && pwd`
|
ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
|
||||||
ac_top_buildpath=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
|
ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
|
||||||
ac_srcpath=`cd "$ac_dir" && cd $ac_srcdir && pwd`
|
ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
|
||||||
ac_top_srcpath=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
|
ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
|
||||||
|
|
||||||
cd $ac_dir
|
cd $ac_dir
|
||||||
# Check for guested configure; otherwise get Cygnus style configure.
|
# Check for guested configure; otherwise get Cygnus style configure.
|
||||||
@@ -921,7 +921,7 @@ fi
|
|||||||
test -n "$ac_init_help" && exit 0
|
test -n "$ac_init_help" && exit 0
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
GNU Bison configure 1.30e
|
GNU Bison configure 1.31
|
||||||
generated by GNU Autoconf 2.52g
|
generated by GNU Autoconf 2.52g
|
||||||
|
|
||||||
Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
|
Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
|
||||||
@@ -936,7 +936,7 @@ cat >&5 <<_ACEOF
|
|||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by GNU Bison $as_me 1.30e, which was
|
It was created by GNU Bison $as_me 1.31, which was
|
||||||
generated by GNU Autoconf 2.52g. Invocation command line was
|
generated by GNU Autoconf 2.52g. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
@@ -996,15 +996,17 @@ for ac_arg
|
|||||||
do
|
do
|
||||||
case $ac_arg in
|
case $ac_arg in
|
||||||
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
|
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
|
||||||
| --no-cr | --no-c) ;;
|
| --no-cr | --no-c) continue ;;
|
||||||
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
|
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
|
||||||
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
|
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
|
||||||
|
continue ;;
|
||||||
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
|
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
|
||||||
ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"`
|
ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
|
||||||
ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
|
esac
|
||||||
ac_sep=" " ;;
|
case " $ac_configure_args " in
|
||||||
*) ac_configure_args="$ac_configure_args$ac_sep$ac_arg"
|
*" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
|
||||||
ac_sep=" " ;;
|
*) ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
|
||||||
|
ac_sep=" " ;;
|
||||||
esac
|
esac
|
||||||
# Get rid of the leading space.
|
# Get rid of the leading space.
|
||||||
done
|
done
|
||||||
@@ -1054,7 +1056,8 @@ _ASBOX
|
|||||||
echo "$as_me: caught signal $ac_signal"
|
echo "$as_me: caught signal $ac_signal"
|
||||||
echo "$as_me: exit $exit_status"
|
echo "$as_me: exit $exit_status"
|
||||||
} >&5
|
} >&5
|
||||||
rm -rf conftest* confdefs* core core.* *.core conf$$* $ac_clean_files &&
|
rm -f core core.* *.core &&
|
||||||
|
rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
|
||||||
exit $exit_status
|
exit $exit_status
|
||||||
' 0
|
' 0
|
||||||
for ac_signal in 1 2 13 15; do
|
for ac_signal in 1 2 13 15; do
|
||||||
@@ -1067,6 +1070,33 @@ rm -rf conftest* confdefs.h
|
|||||||
# AIX cpp loses on an empty file, so make sure it contains at least a newline.
|
# AIX cpp loses on an empty file, so make sure it contains at least a newline.
|
||||||
echo >confdefs.h
|
echo >confdefs.h
|
||||||
|
|
||||||
|
# Predefined preprocessor variables.
|
||||||
|
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define PACKAGE_NAME "$PACKAGE_NAME"
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define PACKAGE_VERSION "$PACKAGE_VERSION"
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define PACKAGE_STRING "$PACKAGE_STRING"
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
|
||||||
# Let the site file select an alternate cache file if it wants to.
|
# Let the site file select an alternate cache file if it wants to.
|
||||||
# Prefer explicitly selected file to automatically selected ones.
|
# Prefer explicitly selected file to automatically selected ones.
|
||||||
if test -z "$CONFIG_SITE"; then
|
if test -z "$CONFIG_SITE"; then
|
||||||
@@ -1132,16 +1162,16 @@ echo "$as_me: current value: $ac_new_val" >&2;}
|
|||||||
ac_cache_corrupted=:
|
ac_cache_corrupted=:
|
||||||
fi;;
|
fi;;
|
||||||
esac
|
esac
|
||||||
# Pass precious variables to config.status. It doesn't matter if
|
# Pass precious variables to config.status.
|
||||||
# we pass some twice (in addition to the command line arguments).
|
|
||||||
if test "$ac_new_set" = set; then
|
if test "$ac_new_set" = set; then
|
||||||
case $ac_new_val in
|
case $ac_new_val in
|
||||||
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
|
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
|
||||||
ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"`
|
ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
|
||||||
ac_configure_args="$ac_configure_args '$ac_arg'"
|
*) ac_arg=$ac_var=$ac_new_val ;;
|
||||||
;;
|
esac
|
||||||
*) ac_configure_args="$ac_configure_args $ac_var=$ac_new_val"
|
case " $ac_configure_args " in
|
||||||
;;
|
*" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
|
||||||
|
*) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@@ -1355,9 +1385,8 @@ if eval "$MISSING --run true"; then
|
|||||||
am_missing_run="$MISSING --run "
|
am_missing_run="$MISSING --run "
|
||||||
else
|
else
|
||||||
am_missing_run=
|
am_missing_run=
|
||||||
am_backtick='`'
|
{ echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
|
||||||
{ echo "$as_me:$LINENO: WARNING: ${am_backtick}missing' script is too old or missing" >&5
|
echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
|
||||||
echo "$as_me: WARNING: ${am_backtick}missing' script is too old or missing" >&2;}
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for ac_prog in gawk mawk nawk awk
|
for ac_prog in gawk mawk nawk awk
|
||||||
@@ -1449,6 +1478,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
rm -f .deps 2>/dev/null
|
rm -f .deps 2>/dev/null
|
||||||
mkdir .deps 2>/dev/null
|
mkdir .deps 2>/dev/null
|
||||||
if test -d .deps; then
|
if test -d .deps; then
|
||||||
@@ -1470,7 +1500,7 @@ fi
|
|||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE=bison
|
PACKAGE=bison
|
||||||
VERSION=1.30e
|
VERSION=1.31
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
#define PACKAGE "$PACKAGE"
|
#define PACKAGE "$PACKAGE"
|
||||||
@@ -1517,9 +1547,6 @@ ac_config_headers="$ac_config_headers config.h:config.hin"
|
|||||||
|
|
||||||
|
|
||||||
# Initialize the test suite.
|
# Initialize the test suite.
|
||||||
ac_config_commands="$ac_config_commands tests/package.m4"
|
|
||||||
|
|
||||||
|
|
||||||
ac_config_commands="$ac_config_commands tests/atconfig"
|
ac_config_commands="$ac_config_commands tests/atconfig"
|
||||||
|
|
||||||
|
|
||||||
@@ -2295,7 +2322,7 @@ END
|
|||||||
# If we don't find an include directive, just comment out the code.
|
# If we don't find an include directive, just comment out the code.
|
||||||
echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
|
echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
|
||||||
echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
|
echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
|
||||||
am__include='#'
|
am__include="#"
|
||||||
am__quote=
|
am__quote=
|
||||||
_am_result=none
|
_am_result=none
|
||||||
# First try GNU make style include.
|
# First try GNU make style include.
|
||||||
@@ -2315,7 +2342,7 @@ if test "$am__include" = "#"; then
|
|||||||
echo '.include "confinc"' > confmf
|
echo '.include "confinc"' > confmf
|
||||||
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
|
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
|
||||||
am__include=.include
|
am__include=.include
|
||||||
am__quote='"'
|
am__quote="\""
|
||||||
_am_result=BSD
|
_am_result=BSD
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -3182,6 +3209,55 @@ else
|
|||||||
enableval=no
|
enableval=no
|
||||||
fi;
|
fi;
|
||||||
if test "${enableval}" = yes; then
|
if test "${enableval}" = yes; then
|
||||||
|
echo "$as_me:$LINENO: checking whether compiler accepts -Werror" >&5
|
||||||
|
echo $ECHO_N "checking whether compiler accepts -Werror... $ECHO_C" >&6
|
||||||
|
|
||||||
|
ac_save_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS -Werror"
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
#line $LINENO "configure"
|
||||||
|
#include "confdefs.h"
|
||||||
|
|
||||||
|
#ifdef F77_DUMMY_MAIN
|
||||||
|
# ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
# endif
|
||||||
|
int F77_DUMMY_MAIN() { return 1; }
|
||||||
|
#endif
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
int x;
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
rm -f conftest.$ac_objext
|
||||||
|
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||||
|
(eval $ac_compile) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } &&
|
||||||
|
{ ac_try='test -s conftest.$ac_objext'
|
||||||
|
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||||
|
(eval $ac_try) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); }; }; then
|
||||||
|
WARNING_CFLAGS="$WARNING_CFLAGS -Werror"
|
||||||
|
echo "$as_me:$LINENO: result: yes" >&5
|
||||||
|
echo "${ECHO_T}yes" >&6
|
||||||
|
else
|
||||||
|
echo "$as_me: failed program was:" >&5
|
||||||
|
cat conftest.$ac_ext >&5
|
||||||
|
echo "$as_me:$LINENO: result: no" >&5
|
||||||
|
echo "${ECHO_T}no" >&6
|
||||||
|
fi
|
||||||
|
rm -f conftest.$ac_objext conftest.$ac_ext
|
||||||
|
CFLAGS="$ac_save_CFLAGS"
|
||||||
|
WERROR_CFLAGS=$WARNING_CFLAGS
|
||||||
|
|
||||||
|
WARNING_CFLAGS=
|
||||||
echo "$as_me:$LINENO: checking whether compiler accepts -Wall" >&5
|
echo "$as_me:$LINENO: checking whether compiler accepts -Wall" >&5
|
||||||
echo $ECHO_N "checking whether compiler accepts -Wall... $ECHO_C" >&6
|
echo $ECHO_N "checking whether compiler accepts -Wall... $ECHO_C" >&6
|
||||||
|
|
||||||
@@ -3734,7 +3810,6 @@ echo "${ECHO_T}no" >&6
|
|||||||
fi
|
fi
|
||||||
rm -f conftest.$ac_objext conftest.$ac_ext
|
rm -f conftest.$ac_objext conftest.$ac_ext
|
||||||
CFLAGS="$ac_save_CFLAGS"
|
CFLAGS="$ac_save_CFLAGS"
|
||||||
CFLAGS="$CFLAGS $WARNING_CFLAGS"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Checks for libraries.
|
# Checks for libraries.
|
||||||
@@ -4840,6 +4915,177 @@ _ACEOF
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "$as_me:$LINENO: checking for obstacks" >&5
|
||||||
|
echo $ECHO_N "checking for obstacks... $ECHO_C" >&6
|
||||||
|
if test "${ac_cv_func_obstack+set}" = set; then
|
||||||
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
|
else
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
#line $LINENO "configure"
|
||||||
|
#include "confdefs.h"
|
||||||
|
#include "obstack.h"
|
||||||
|
#ifdef F77_DUMMY_MAIN
|
||||||
|
# ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
# endif
|
||||||
|
int F77_DUMMY_MAIN() { return 1; }
|
||||||
|
#endif
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
struct obstack *mem; obstack_free(mem,(char *) 0)
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
rm -f conftest.$ac_objext conftest$ac_exeext
|
||||||
|
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
|
||||||
|
(eval $ac_link) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } &&
|
||||||
|
{ ac_try='test -s conftest$ac_exeext'
|
||||||
|
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||||
|
(eval $ac_try) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); }; }; then
|
||||||
|
ac_cv_func_obstack=yes
|
||||||
|
else
|
||||||
|
echo "$as_me: failed program was:" >&5
|
||||||
|
cat conftest.$ac_ext >&5
|
||||||
|
ac_cv_func_obstack=no
|
||||||
|
fi
|
||||||
|
rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
|
||||||
|
fi
|
||||||
|
echo "$as_me:$LINENO: result: $ac_cv_func_obstack" >&5
|
||||||
|
echo "${ECHO_T}$ac_cv_func_obstack" >&6
|
||||||
|
if test $ac_cv_func_obstack = yes; then
|
||||||
|
|
||||||
|
cat >>confdefs.h <<\_ACEOF
|
||||||
|
#define HAVE_OBSTACK 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
else
|
||||||
|
LIBOBJS="$LIBOBJS obstack.$ac_objext"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$as_me:$LINENO: checking for error_at_line" >&5
|
||||||
|
echo $ECHO_N "checking for error_at_line... $ECHO_C" >&6
|
||||||
|
if test "${ac_cv_lib_error_at_line+set}" = set; then
|
||||||
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
|
else
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
#line $LINENO "configure"
|
||||||
|
#include "confdefs.h"
|
||||||
|
|
||||||
|
#ifdef F77_DUMMY_MAIN
|
||||||
|
# ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
# endif
|
||||||
|
int F77_DUMMY_MAIN() { return 1; }
|
||||||
|
#endif
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
error_at_line (0, 0, "", 0, "");
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
rm -f conftest.$ac_objext conftest$ac_exeext
|
||||||
|
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
|
||||||
|
(eval $ac_link) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } &&
|
||||||
|
{ ac_try='test -s conftest$ac_exeext'
|
||||||
|
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||||
|
(eval $ac_try) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); }; }; then
|
||||||
|
ac_cv_lib_error_at_line=yes
|
||||||
|
else
|
||||||
|
echo "$as_me: failed program was:" >&5
|
||||||
|
cat conftest.$ac_ext >&5
|
||||||
|
ac_cv_lib_error_at_line=no
|
||||||
|
fi
|
||||||
|
rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
|
||||||
|
fi
|
||||||
|
echo "$as_me:$LINENO: result: $ac_cv_lib_error_at_line" >&5
|
||||||
|
echo "${ECHO_T}$ac_cv_lib_error_at_line" >&6
|
||||||
|
if test $ac_cv_lib_error_at_line = no; then
|
||||||
|
LIBOBJS="$LIBOBJS error.$ac_objext"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$as_me:$LINENO: checking for working strnlen" >&5
|
||||||
|
echo $ECHO_N "checking for working strnlen... $ECHO_C" >&6
|
||||||
|
if test "${ac_cv_func_strnlen_working+set}" = set; then
|
||||||
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
|
else
|
||||||
|
if test "$cross_compiling" = yes; then
|
||||||
|
ac_cv_func_strnlen_working=no
|
||||||
|
else
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
#line $LINENO "configure"
|
||||||
|
#include "confdefs.h"
|
||||||
|
|
||||||
|
#ifdef F77_DUMMY_MAIN
|
||||||
|
# ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
# endif
|
||||||
|
int F77_DUMMY_MAIN() { return 1; }
|
||||||
|
#endif
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
|
||||||
|
#define S "foobar"
|
||||||
|
#define S_LEN (sizeof S - 1)
|
||||||
|
|
||||||
|
/* At least one implementation is buggy: that of AIX 4.3 would
|
||||||
|
give strnlen (S, 1) == 3. */
|
||||||
|
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < S_LEN + 1; ++i)
|
||||||
|
{
|
||||||
|
int expected = i <= S_LEN ? i : S_LEN;
|
||||||
|
if (strnlen (S, i) != expected)
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
exit (0);
|
||||||
|
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
rm -f conftest$ac_exeext
|
||||||
|
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
|
||||||
|
(eval $ac_link) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
|
||||||
|
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||||
|
(eval $ac_try) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); }; }; then
|
||||||
|
ac_cv_func_strnlen_working=yes
|
||||||
|
else
|
||||||
|
echo "$as_me: program exited with status $ac_status" >&5
|
||||||
|
echo "$as_me: failed program was:" >&5
|
||||||
|
cat conftest.$ac_ext >&5
|
||||||
|
( exit $ac_status )
|
||||||
|
ac_cv_func_strnlen_working=no
|
||||||
|
fi
|
||||||
|
rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo "$as_me:$LINENO: result: $ac_cv_func_strnlen_working" >&5
|
||||||
|
echo "${ECHO_T}$ac_cv_func_strnlen_working" >&6
|
||||||
|
test $ac_cv_func_strnlen_working = no && LIBOBJS="$LIBOBJS strnlen.$ac_objext"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for ac_func in mkstemp setlocale
|
for ac_func in mkstemp setlocale
|
||||||
@@ -4979,9 +5225,9 @@ _ACEOF
|
|||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
echo "$as_me:$LINENO: checking whether strndup is declared" >&5
|
echo "$as_me:$LINENO: checking whether strchr is declared" >&5
|
||||||
echo $ECHO_N "checking whether strndup is declared... $ECHO_C" >&6
|
echo $ECHO_N "checking whether strchr is declared... $ECHO_C" >&6
|
||||||
if test "${ac_cv_have_decl_strndup+set}" = set; then
|
if test "${ac_cv_have_decl_strchr+set}" = set; then
|
||||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
else
|
else
|
||||||
cat >conftest.$ac_ext <<_ACEOF
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
@@ -4997,8 +5243,8 @@ $ac_includes_default
|
|||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
#ifndef strndup
|
#ifndef strchr
|
||||||
char *p = (char *) strndup;
|
char *p = (char *) strchr;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
;
|
;
|
||||||
@@ -5017,26 +5263,88 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
|||||||
ac_status=$?
|
ac_status=$?
|
||||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
(exit $ac_status); }; }; then
|
(exit $ac_status); }; }; then
|
||||||
ac_cv_have_decl_strndup=yes
|
ac_cv_have_decl_strchr=yes
|
||||||
else
|
else
|
||||||
echo "$as_me: failed program was:" >&5
|
echo "$as_me: failed program was:" >&5
|
||||||
cat conftest.$ac_ext >&5
|
cat conftest.$ac_ext >&5
|
||||||
ac_cv_have_decl_strndup=no
|
ac_cv_have_decl_strchr=no
|
||||||
fi
|
fi
|
||||||
rm -f conftest.$ac_objext conftest.$ac_ext
|
rm -f conftest.$ac_objext conftest.$ac_ext
|
||||||
fi
|
fi
|
||||||
echo "$as_me:$LINENO: result: $ac_cv_have_decl_strndup" >&5
|
echo "$as_me:$LINENO: result: $ac_cv_have_decl_strchr" >&5
|
||||||
echo "${ECHO_T}$ac_cv_have_decl_strndup" >&6
|
echo "${ECHO_T}$ac_cv_have_decl_strchr" >&6
|
||||||
if test $ac_cv_have_decl_strndup = yes; then
|
if test $ac_cv_have_decl_strchr = yes; then
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
#define HAVE_DECL_STRNDUP 1
|
#define HAVE_DECL_STRCHR 1
|
||||||
_ACEOF
|
_ACEOF
|
||||||
|
|
||||||
|
|
||||||
else
|
else
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
#define HAVE_DECL_STRNDUP 0
|
#define HAVE_DECL_STRCHR 0
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
echo "$as_me:$LINENO: checking whether strspn is declared" >&5
|
||||||
|
echo $ECHO_N "checking whether strspn is declared... $ECHO_C" >&6
|
||||||
|
if test "${ac_cv_have_decl_strspn+set}" = set; then
|
||||||
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
|
else
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
#line $LINENO "configure"
|
||||||
|
#include "confdefs.h"
|
||||||
|
$ac_includes_default
|
||||||
|
#ifdef F77_DUMMY_MAIN
|
||||||
|
# ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
# endif
|
||||||
|
int F77_DUMMY_MAIN() { return 1; }
|
||||||
|
#endif
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
#ifndef strspn
|
||||||
|
char *p = (char *) strspn;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
rm -f conftest.$ac_objext
|
||||||
|
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||||
|
(eval $ac_compile) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } &&
|
||||||
|
{ ac_try='test -s conftest.$ac_objext'
|
||||||
|
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||||
|
(eval $ac_try) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); }; }; then
|
||||||
|
ac_cv_have_decl_strspn=yes
|
||||||
|
else
|
||||||
|
echo "$as_me: failed program was:" >&5
|
||||||
|
cat conftest.$ac_ext >&5
|
||||||
|
ac_cv_have_decl_strspn=no
|
||||||
|
fi
|
||||||
|
rm -f conftest.$ac_objext conftest.$ac_ext
|
||||||
|
fi
|
||||||
|
echo "$as_me:$LINENO: result: $ac_cv_have_decl_strspn" >&5
|
||||||
|
echo "${ECHO_T}$ac_cv_have_decl_strspn" >&6
|
||||||
|
if test $ac_cv_have_decl_strspn = yes; then
|
||||||
|
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define HAVE_DECL_STRSPN 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
|
||||||
|
else
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define HAVE_DECL_STRSPN 0
|
||||||
_ACEOF
|
_ACEOF
|
||||||
|
|
||||||
|
|
||||||
@@ -5165,6 +5473,68 @@ _ACEOF
|
|||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
echo "$as_me:$LINENO: checking whether memrchr is declared" >&5
|
||||||
|
echo $ECHO_N "checking whether memrchr is declared... $ECHO_C" >&6
|
||||||
|
if test "${ac_cv_have_decl_memrchr+set}" = set; then
|
||||||
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
|
else
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
#line $LINENO "configure"
|
||||||
|
#include "confdefs.h"
|
||||||
|
$ac_includes_default
|
||||||
|
#ifdef F77_DUMMY_MAIN
|
||||||
|
# ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
# endif
|
||||||
|
int F77_DUMMY_MAIN() { return 1; }
|
||||||
|
#endif
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
#ifndef memrchr
|
||||||
|
char *p = (char *) memrchr;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
rm -f conftest.$ac_objext
|
||||||
|
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||||
|
(eval $ac_compile) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } &&
|
||||||
|
{ ac_try='test -s conftest.$ac_objext'
|
||||||
|
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||||
|
(eval $ac_try) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); }; }; then
|
||||||
|
ac_cv_have_decl_memrchr=yes
|
||||||
|
else
|
||||||
|
echo "$as_me: failed program was:" >&5
|
||||||
|
cat conftest.$ac_ext >&5
|
||||||
|
ac_cv_have_decl_memrchr=no
|
||||||
|
fi
|
||||||
|
rm -f conftest.$ac_objext conftest.$ac_ext
|
||||||
|
fi
|
||||||
|
echo "$as_me:$LINENO: result: $ac_cv_have_decl_memrchr" >&5
|
||||||
|
echo "${ECHO_T}$ac_cv_have_decl_memrchr" >&6
|
||||||
|
if test $ac_cv_have_decl_memrchr = yes; then
|
||||||
|
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define HAVE_DECL_MEMRCHR 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
|
||||||
|
else
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define HAVE_DECL_MEMRCHR 0
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -5172,7 +5542,7 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
for ac_func in stpcpy strndup strnlen strspn memchr
|
for ac_func in stpcpy strchr strspn memchr memrchr
|
||||||
do
|
do
|
||||||
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
||||||
echo "$as_me:$LINENO: checking for $ac_func" >&5
|
echo "$as_me:$LINENO: checking for $ac_func" >&5
|
||||||
@@ -7219,7 +7589,7 @@ $ac_includes_default
|
|||||||
VM page cache was not coherent with the file system buffer cache
|
VM page cache was not coherent with the file system buffer cache
|
||||||
like early versions of FreeBSD and possibly contemporary NetBSD.)
|
like early versions of FreeBSD and possibly contemporary NetBSD.)
|
||||||
For shared mappings, we should conversely verify that changes get
|
For shared mappings, we should conversely verify that changes get
|
||||||
propogated back to all the places they're supposed to be.
|
propagated back to all the places they're supposed to be.
|
||||||
|
|
||||||
Grep wants private fixed already mapped.
|
Grep wants private fixed already mapped.
|
||||||
The main things grep needs to know about mmap are:
|
The main things grep needs to know about mmap are:
|
||||||
@@ -8751,6 +9121,13 @@ fi
|
|||||||
|
|
||||||
DEFS=-DHAVE_CONFIG_H
|
DEFS=-DHAVE_CONFIG_H
|
||||||
|
|
||||||
|
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
|
||||||
|
{ { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
|
||||||
|
Usually this means the macro was only invoked conditionally." >&5
|
||||||
|
echo "$as_me: error: conditional \"AMDEP\" was never defined.
|
||||||
|
Usually this means the macro was only invoked conditionally." >&2;}
|
||||||
|
{ (exit 1); exit 1; }; }
|
||||||
|
fi
|
||||||
|
|
||||||
: ${CONFIG_STATUS=./config.status}
|
: ${CONFIG_STATUS=./config.status}
|
||||||
ac_clean_files_save=$ac_clean_files
|
ac_clean_files_save=$ac_clean_files
|
||||||
@@ -9000,7 +9377,7 @@ _ASBOX
|
|||||||
} >&5
|
} >&5
|
||||||
cat >&5 <<_CSEOF
|
cat >&5 <<_CSEOF
|
||||||
|
|
||||||
This file was extended by GNU Bison $as_me 1.30e, which was
|
This file was extended by GNU Bison $as_me 1.31, which was
|
||||||
generated by GNU Autoconf 2.52g. Invocation command line was
|
generated by GNU Autoconf 2.52g. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
@@ -9062,7 +9439,7 @@ _ACEOF
|
|||||||
|
|
||||||
cat >>$CONFIG_STATUS <<_ACEOF
|
cat >>$CONFIG_STATUS <<_ACEOF
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
GNU Bison config.status 1.30e
|
GNU Bison config.status 1.31
|
||||||
configured by $0, generated by GNU Autoconf 2.52g,
|
configured by $0, generated by GNU Autoconf 2.52g,
|
||||||
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
|
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
|
||||||
|
|
||||||
@@ -9145,12 +9522,6 @@ cat >>$CONFIG_STATUS <<_ACEOF
|
|||||||
# INIT-COMMANDS section.
|
# INIT-COMMANDS section.
|
||||||
#
|
#
|
||||||
|
|
||||||
PACKAGE_NAME='$PACKAGE_NAME'
|
|
||||||
PACKAGE_TARNAME='$PACKAGE_TARNAME'
|
|
||||||
PACKAGE_VERSION='$PACKAGE_VERSION'
|
|
||||||
PACKAGE_STRING='$PACKAGE_STRING'
|
|
||||||
PACKAGE_BUGREPORT='$PACKAGE_BUGREPORT'
|
|
||||||
|
|
||||||
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
|
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
|
||||||
|
|
||||||
|
|
||||||
@@ -9174,7 +9545,6 @@ do
|
|||||||
"src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
|
"src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
|
||||||
"doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
|
"doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
|
||||||
"m4/Makefile" ) CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;;
|
"m4/Makefile" ) CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;;
|
||||||
"tests/package.m4" ) CONFIG_COMMANDS="$CONFIG_COMMANDS tests/package.m4" ;;
|
|
||||||
"tests/atconfig" ) CONFIG_COMMANDS="$CONFIG_COMMANDS tests/atconfig" ;;
|
"tests/atconfig" ) CONFIG_COMMANDS="$CONFIG_COMMANDS tests/atconfig" ;;
|
||||||
"depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
|
"depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
|
||||||
"default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
|
"default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
|
||||||
@@ -9233,6 +9603,11 @@ if test -n "\$CONFIG_FILES"; then
|
|||||||
s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
|
s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
|
||||||
s,@SHELL@,$SHELL,;t t
|
s,@SHELL@,$SHELL,;t t
|
||||||
s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
|
s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
|
||||||
|
s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
|
||||||
|
s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
|
||||||
|
s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
|
||||||
|
s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
|
||||||
|
s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
|
||||||
s,@exec_prefix@,$exec_prefix,;t t
|
s,@exec_prefix@,$exec_prefix,;t t
|
||||||
s,@prefix@,$prefix,;t t
|
s,@prefix@,$prefix,;t t
|
||||||
s,@program_transform_name@,$program_transform_name,;t t
|
s,@program_transform_name@,$program_transform_name,;t t
|
||||||
@@ -9248,11 +9623,6 @@ s,@includedir@,$includedir,;t t
|
|||||||
s,@oldincludedir@,$oldincludedir,;t t
|
s,@oldincludedir@,$oldincludedir,;t t
|
||||||
s,@infodir@,$infodir,;t t
|
s,@infodir@,$infodir,;t t
|
||||||
s,@mandir@,$mandir,;t t
|
s,@mandir@,$mandir,;t t
|
||||||
s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
|
|
||||||
s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
|
|
||||||
s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
|
|
||||||
s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
|
|
||||||
s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
|
|
||||||
s,@build_alias@,$build_alias,;t t
|
s,@build_alias@,$build_alias,;t t
|
||||||
s,@host_alias@,$host_alias,;t t
|
s,@host_alias@,$host_alias,;t t
|
||||||
s,@target_alias@,$target_alias,;t t
|
s,@target_alias@,$target_alias,;t t
|
||||||
@@ -9296,6 +9666,7 @@ s,@RANLIB@,$RANLIB,;t t
|
|||||||
s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
|
s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
|
||||||
s,@AUTOM4TE@,$AUTOM4TE,;t t
|
s,@AUTOM4TE@,$AUTOM4TE,;t t
|
||||||
s,@WARNING_CFLAGS@,$WARNING_CFLAGS,;t t
|
s,@WARNING_CFLAGS@,$WARNING_CFLAGS,;t t
|
||||||
|
s,@WERROR_CFLAGS@,$WERROR_CFLAGS,;t t
|
||||||
s,@U@,$U,;t t
|
s,@U@,$U,;t t
|
||||||
s,@ANSI2KNR@,$ANSI2KNR,;t t
|
s,@ANSI2KNR@,$ANSI2KNR,;t t
|
||||||
s,@ALLOCA@,$ALLOCA,;t t
|
s,@ALLOCA@,$ALLOCA,;t t
|
||||||
@@ -9446,10 +9817,10 @@ case $srcdir in
|
|||||||
esac
|
esac
|
||||||
# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
|
# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
|
||||||
# absolute.
|
# absolute.
|
||||||
ac_buildpath=`cd "$ac_dir" && cd $ac_builddir && pwd`
|
ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
|
||||||
ac_top_buildpath=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
|
ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
|
||||||
ac_srcpath=`cd "$ac_dir" && cd $ac_srcdir && pwd`
|
ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
|
||||||
ac_top_srcpath=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
|
ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
|
||||||
|
|
||||||
|
|
||||||
case $INSTALL in
|
case $INSTALL in
|
||||||
@@ -9510,13 +9881,13 @@ cat >>$CONFIG_STATUS <<\_ACEOF
|
|||||||
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
|
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
|
||||||
s,@configure_input@,$configure_input,;t t
|
s,@configure_input@,$configure_input,;t t
|
||||||
s,@srcdir@,$ac_srcdir,;t t
|
s,@srcdir@,$ac_srcdir,;t t
|
||||||
s,@srcpath@,$ac_srcpath,;t t
|
s,@abs_srcdir@,$ac_abs_srcdir,;t t
|
||||||
s,@top_srcdir@,$ac_top_srcdir,;t t
|
s,@top_srcdir@,$ac_top_srcdir,;t t
|
||||||
s,@top_srcpath@,$ac_top_srcpath,;t t
|
s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
|
||||||
s,@builddir@,$ac_builddir,;t t
|
s,@builddir@,$ac_builddir,;t t
|
||||||
s,@buildpath@,$ac_buildpath,;t t
|
s,@abs_builddir@,$ac_abs_builddir,;t t
|
||||||
s,@top_builddir@,$ac_top_builddir,;t t
|
s,@top_builddir@,$ac_top_builddir,;t t
|
||||||
s,@top_buildpath@,$ac_top_buildpath,;t t
|
s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
|
||||||
s,@INSTALL@,$ac_INSTALL,;t t
|
s,@INSTALL@,$ac_INSTALL,;t t
|
||||||
" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
|
" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
|
||||||
rm -f $tmp/stdin
|
rm -f $tmp/stdin
|
||||||
@@ -9803,37 +10174,29 @@ case $srcdir in
|
|||||||
esac
|
esac
|
||||||
# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
|
# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
|
||||||
# absolute.
|
# absolute.
|
||||||
ac_buildpath=`cd "$ac_dir" && cd $ac_builddir && pwd`
|
ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
|
||||||
ac_top_buildpath=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
|
ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
|
||||||
ac_srcpath=`cd "$ac_dir" && cd $ac_srcdir && pwd`
|
ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
|
||||||
ac_top_srcpath=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
|
ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
|
||||||
|
|
||||||
|
|
||||||
{ echo "$as_me:$LINENO: executing $ac_dest commands" >&5
|
{ echo "$as_me:$LINENO: executing $ac_dest commands" >&5
|
||||||
echo "$as_me: executing $ac_dest commands" >&6;}
|
echo "$as_me: executing $ac_dest commands" >&6;}
|
||||||
case $ac_dest in
|
case $ac_dest in
|
||||||
tests/package.m4 ) cat >tests/package.m4 <<ATEOF
|
|
||||||
# Signature of the current package.
|
|
||||||
m4_define([PACKAGE_NAME], [$PACKAGE_NAME])
|
|
||||||
m4_define([PACKAGE_TARNAME], [$PACKAGE_TARNAME])
|
|
||||||
m4_define([PACKAGE_VERSION], [$PACKAGE_VERSION])
|
|
||||||
m4_define([PACKAGE_STRING], [$PACKAGE_STRING])
|
|
||||||
m4_define([PACKAGE_BUGREPORT], [$PACKAGE_BUGREPORT])
|
|
||||||
ATEOF
|
|
||||||
;;
|
|
||||||
tests/atconfig ) cat >tests/atconfig <<ATEOF
|
tests/atconfig ) cat >tests/atconfig <<ATEOF
|
||||||
# Configurable variable values for building test suites.
|
# Configurable variable values for building test suites.
|
||||||
# Generated by $0.
|
# Generated by $0.
|
||||||
# Copyright 2000, 2001 Free Software Foundation, Inc.
|
# Copyright 2000, 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
# The test suite will define top_srcdir=$at_top_srcdir/../.. etc.
|
||||||
at_testdir='tests'
|
at_testdir='tests'
|
||||||
buildpath='$ac_buildpath'
|
abs_builddir='$ac_abs_builddir'
|
||||||
srcdir='$ac_srcdir'
|
at_srcdir='$ac_srcdir'
|
||||||
srcpath='$ac_srcpath'
|
abs_srcdir='$ac_abs_srcdir'
|
||||||
top_srcdir='$ac_top_srcdir'
|
at_top_srcdir='$ac_top_srcdir'
|
||||||
top_srcpath='$ac_top_srcpath'
|
abs_top_srcdir='$ac_abs_top_srcdir'
|
||||||
top_builddir='$ac_top_builddir'
|
at_top_builddir='$ac_top_builddir'
|
||||||
top_buildpath='$ac_top_buildpath'
|
abs_top_builddir='$ac_abs_top_builddir'
|
||||||
|
|
||||||
AUTOTEST_PATH='tests'
|
AUTOTEST_PATH='tests'
|
||||||
|
|
||||||
@@ -9841,9 +10204,10 @@ SHELL=\${CONFIG_SHELL-'$SHELL'}
|
|||||||
ATEOF
|
ATEOF
|
||||||
;;
|
;;
|
||||||
depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
|
depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
|
||||||
case $mf in
|
# Strip MF so we end up with the name of the file.
|
||||||
Makefile) dirpart=.;;
|
mf=`echo "$mf" | sed -e 's/:.*$//'`
|
||||||
*/Makefile) dirpart=`(dirname "$mf") 2>/dev/null ||
|
if (head -1 $mf | fgrep 'generated by automake') > /dev/null 2>&1; then
|
||||||
|
dirpart=`(dirname "$mf") 2>/dev/null ||
|
||||||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||||
X"$mf" : 'X\(//\)[^/]' \| \
|
X"$mf" : 'X\(//\)[^/]' \| \
|
||||||
X"$mf" : 'X\(//\)$' \| \
|
X"$mf" : 'X\(//\)$' \| \
|
||||||
@@ -9854,9 +10218,10 @@ echo X"$mf" |
|
|||||||
/^X\(\/\/\)[^/].*/{ s//\1/; q; }
|
/^X\(\/\/\)[^/].*/{ s//\1/; q; }
|
||||||
/^X\(\/\/\)$/{ s//\1/; q; }
|
/^X\(\/\/\)$/{ s//\1/; q; }
|
||||||
/^X\(\/\).*/{ s//\1/; q; }
|
/^X\(\/\).*/{ s//\1/; q; }
|
||||||
s/.*/./; q'`;;
|
s/.*/./; q'`
|
||||||
*) continue;;
|
else
|
||||||
esac
|
dirpart=
|
||||||
|
fi
|
||||||
grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
|
grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
|
||||||
# Extract the definition of DEP_FILES from the Makefile without
|
# Extract the definition of DEP_FILES from the Makefile without
|
||||||
# running `make'.
|
# running `make'.
|
||||||
|
|||||||
+12
-5
@@ -1,5 +1,7 @@
|
|||||||
# Configure template for GNU Bison. -*-Autoconf-*-
|
# Configure template for GNU Bison. -*-Autoconf-*-
|
||||||
#
|
#
|
||||||
|
# Copyright 2001, 2002 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
# the Free Software Foundation; either version 2 of the License, or
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
@@ -18,10 +20,10 @@
|
|||||||
# We need a recent Autoconf to run a recent Autotest.
|
# We need a recent Autoconf to run a recent Autotest.
|
||||||
AC_PREREQ(2.52g)
|
AC_PREREQ(2.52g)
|
||||||
|
|
||||||
AC_INIT([GNU Bison], [1.30e], [[email protected]])
|
AC_INIT([GNU Bison], [1.31], [[email protected]])
|
||||||
AC_CONFIG_AUX_DIR(config)
|
AC_CONFIG_AUX_DIR(config)
|
||||||
|
|
||||||
AM_INIT_AUTOMAKE([bison], [1.30e])
|
AM_INIT_AUTOMAKE([bison], [1.31])
|
||||||
AM_CONFIG_HEADER(config.h:config.hin)
|
AM_CONFIG_HEADER(config.h:config.hin)
|
||||||
|
|
||||||
# Initialize the test suite.
|
# Initialize the test suite.
|
||||||
@@ -47,6 +49,9 @@ AC_ARG_ENABLE(gcc-warnings,
|
|||||||
esac],
|
esac],
|
||||||
[enableval=no])
|
[enableval=no])
|
||||||
if test "${enableval}" = yes; then
|
if test "${enableval}" = yes; then
|
||||||
|
BISON_WARNING(-Werror)
|
||||||
|
AC_SUBST([WERROR_CFLAGS], [$WARNING_CFLAGS])
|
||||||
|
WARNING_CFLAGS=
|
||||||
BISON_WARNING(-Wall)
|
BISON_WARNING(-Wall)
|
||||||
BISON_WARNING(-W)
|
BISON_WARNING(-W)
|
||||||
BISON_WARNING(-Wbad-function-cast)
|
BISON_WARNING(-Wbad-function-cast)
|
||||||
@@ -59,7 +64,6 @@ if test "${enableval}" = yes; then
|
|||||||
BISON_WARNING(-Wshadow)
|
BISON_WARNING(-Wshadow)
|
||||||
BISON_WARNING(-Wstrict-prototypes)
|
BISON_WARNING(-Wstrict-prototypes)
|
||||||
BISON_WARNING(-Wwrite-strings)
|
BISON_WARNING(-Wwrite-strings)
|
||||||
CFLAGS="$CFLAGS $WARNING_CFLAGS"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Checks for libraries.
|
# Checks for libraries.
|
||||||
@@ -80,9 +84,12 @@ AM_C_PROTOTYPES
|
|||||||
|
|
||||||
# Checks for library functions.
|
# Checks for library functions.
|
||||||
AC_FUNC_ALLOCA
|
AC_FUNC_ALLOCA
|
||||||
|
AC_FUNC_OBSTACK
|
||||||
|
AC_FUNC_ERROR_AT_LINE
|
||||||
|
AC_FUNC_STRNLEN
|
||||||
AC_CHECK_FUNCS(mkstemp setlocale)
|
AC_CHECK_FUNCS(mkstemp setlocale)
|
||||||
AC_CHECK_DECLS([stpcpy, strndup, strnlen, memchr])
|
AC_CHECK_DECLS([stpcpy, strchr, strspn, strnlen, memchr, memrchr])
|
||||||
AC_REPLACE_FUNCS(stpcpy strndup strnlen strspn memchr)
|
AC_REPLACE_FUNCS(stpcpy strchr strspn memchr memrchr)
|
||||||
jm_FUNC_MALLOC
|
jm_FUNC_MALLOC
|
||||||
jm_FUNC_REALLOC
|
jm_FUNC_REALLOC
|
||||||
jm_PREREQ_QUOTEARG
|
jm_PREREQ_QUOTEARG
|
||||||
|
|||||||
+3
-8
@@ -1,16 +1,11 @@
|
|||||||
Makefile
|
Makefile Makefile.in
|
||||||
bison.aux
|
*.aux *.dvi *.log *.info* *.pdf *.ps
|
||||||
|
stamp-*
|
||||||
bison.cp
|
bison.cp
|
||||||
bison.cps
|
bison.cps
|
||||||
bison.dvi
|
|
||||||
bison.fn
|
bison.fn
|
||||||
bison.ky
|
bison.ky
|
||||||
bison.log
|
|
||||||
bison.pg
|
bison.pg
|
||||||
bison.ps
|
|
||||||
bison.toc
|
bison.toc
|
||||||
bison.tp
|
bison.tp
|
||||||
bison.vr
|
bison.vr
|
||||||
refcard.dvi
|
|
||||||
refcard.log
|
|
||||||
refcard.ps
|
|
||||||
|
|||||||
-403
@@ -1,403 +0,0 @@
|
|||||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
|
||||||
# @configure_input@
|
|
||||||
|
|
||||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
|
||||||
# Free Software Foundation, Inc.
|
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
|
||||||
# with or without modifications, as long as this notice is preserved.
|
|
||||||
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
|
||||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
# PARTICULAR PURPOSE.
|
|
||||||
|
|
||||||
@SET_MAKE@
|
|
||||||
|
|
||||||
SHELL = @SHELL@
|
|
||||||
|
|
||||||
srcdir = @srcdir@
|
|
||||||
top_srcdir = @top_srcdir@
|
|
||||||
VPATH = @srcdir@
|
|
||||||
prefix = @prefix@
|
|
||||||
exec_prefix = @exec_prefix@
|
|
||||||
|
|
||||||
bindir = @bindir@
|
|
||||||
sbindir = @sbindir@
|
|
||||||
libexecdir = @libexecdir@
|
|
||||||
datadir = @datadir@
|
|
||||||
sysconfdir = @sysconfdir@
|
|
||||||
sharedstatedir = @sharedstatedir@
|
|
||||||
localstatedir = @localstatedir@
|
|
||||||
libdir = @libdir@
|
|
||||||
infodir = @infodir@
|
|
||||||
mandir = @mandir@
|
|
||||||
includedir = @includedir@
|
|
||||||
oldincludedir = /usr/include
|
|
||||||
pkgdatadir = $(datadir)/@PACKAGE@
|
|
||||||
pkglibdir = $(libdir)/@PACKAGE@
|
|
||||||
pkgincludedir = $(includedir)/@PACKAGE@
|
|
||||||
top_builddir = ..
|
|
||||||
|
|
||||||
ACLOCAL = @ACLOCAL@
|
|
||||||
AUTOCONF = @AUTOCONF@
|
|
||||||
AUTOMAKE = @AUTOMAKE@
|
|
||||||
AUTOHEADER = @AUTOHEADER@
|
|
||||||
|
|
||||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
|
||||||
INSTALL = @INSTALL@
|
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
||||||
INSTALL_HEADER = $(INSTALL_DATA)
|
|
||||||
transform = @program_transform_name@
|
|
||||||
NORMAL_INSTALL = :
|
|
||||||
PRE_INSTALL = :
|
|
||||||
POST_INSTALL = :
|
|
||||||
NORMAL_UNINSTALL = :
|
|
||||||
PRE_UNINSTALL = :
|
|
||||||
POST_UNINSTALL = :
|
|
||||||
host_alias = @host_alias@
|
|
||||||
host_triplet = @host@
|
|
||||||
|
|
||||||
EXEEXT = @EXEEXT@
|
|
||||||
OBJEXT = @OBJEXT@
|
|
||||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
|
||||||
AMTAR = @AMTAR@
|
|
||||||
AUTOM4TE = @AUTOM4TE@
|
|
||||||
AWK = @AWK@
|
|
||||||
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
|
|
||||||
CATALOGS = @CATALOGS@
|
|
||||||
CATOBJEXT = @CATOBJEXT@
|
|
||||||
CC = @CC@
|
|
||||||
CPP = @CPP@
|
|
||||||
DATADIRNAME = @DATADIRNAME@
|
|
||||||
DEPDIR = @DEPDIR@
|
|
||||||
GCC = @GCC@
|
|
||||||
GENCAT = @GENCAT@
|
|
||||||
GLIBC21 = @GLIBC21@
|
|
||||||
GMOFILES = @GMOFILES@
|
|
||||||
GMSGFMT = @GMSGFMT@
|
|
||||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
|
||||||
INSTOBJEXT = @INSTOBJEXT@
|
|
||||||
INTLBISON = @INTLBISON@
|
|
||||||
INTLLIBS = @INTLLIBS@
|
|
||||||
INTLOBJS = @INTLOBJS@
|
|
||||||
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
|
||||||
LIB = @LIB@
|
|
||||||
LIBICONV = @LIBICONV@
|
|
||||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
|
||||||
MSGFMT = @MSGFMT@
|
|
||||||
PACKAGE = @PACKAGE@
|
|
||||||
POFILES = @POFILES@
|
|
||||||
POSUB = @POSUB@
|
|
||||||
RANLIB = @RANLIB@
|
|
||||||
U = @U@
|
|
||||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
|
||||||
USE_NLS = @USE_NLS@
|
|
||||||
VERSION = @VERSION@
|
|
||||||
WARNING_CFLAGS = @WARNING_CFLAGS@
|
|
||||||
am__include = @am__include@
|
|
||||||
am__quote = @am__quote@
|
|
||||||
install_sh = @install_sh@
|
|
||||||
|
|
||||||
AUTOMAKE_OPTIONS = 1.4
|
|
||||||
|
|
||||||
info_TEXINFOS = bison.texinfo
|
|
||||||
man_MANS = bison.1
|
|
||||||
bison_TEXINFOS = gpl.texi fdl.texi
|
|
||||||
|
|
||||||
EXTRA_DIST = FAQ bison.1 bison.rnh refcard.tex
|
|
||||||
|
|
||||||
CLEANFILES = refcard.dvi refcard.log refcard.ps
|
|
||||||
subdir = doc
|
|
||||||
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
|
|
||||||
CONFIG_HEADER = $(top_builddir)/config.h
|
|
||||||
CONFIG_CLEAN_FILES =
|
|
||||||
DIST_SOURCES =
|
|
||||||
TEXINFO_TEX = $(top_srcdir)/config/texinfo.tex
|
|
||||||
INFO_DEPS = bison.info
|
|
||||||
DVIS = bison.dvi
|
|
||||||
TEXINFOS = bison.texinfo
|
|
||||||
|
|
||||||
NROFF = nroff
|
|
||||||
MANS = $(man_MANS)
|
|
||||||
DIST_COMMON = $(bison_TEXINFOS) Makefile.am Makefile.in stamp-vti \
|
|
||||||
version.texi
|
|
||||||
all: all-am
|
|
||||||
|
|
||||||
.SUFFIXES:
|
|
||||||
.SUFFIXES: .dvi .info .ps .texinfo
|
|
||||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
|
||||||
cd $(top_srcdir) && \
|
|
||||||
$(AUTOMAKE) --gnu doc/Makefile
|
|
||||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
||||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
|
||||||
|
|
||||||
$(srcdir)/version.texi: $(srcdir)/stamp-vti
|
|
||||||
@:
|
|
||||||
$(srcdir)/stamp-vti: bison.texinfo $(top_srcdir)/configure.in
|
|
||||||
@(set `$(SHELL) $(top_srcdir)/config/mdate-sh $(srcdir)/bison.texinfo`; \
|
|
||||||
echo "@set UPDATED $$1 $$2 $$3"; \
|
|
||||||
echo "@set UPDATED-MONTH $$2 $$3"; \
|
|
||||||
echo "@set EDITION $(VERSION)"; \
|
|
||||||
echo "@set VERSION $(VERSION)") > vti.tmp
|
|
||||||
@cmp -s vti.tmp $(srcdir)/version.texi \
|
|
||||||
|| (echo "Updating $(srcdir)/version.texi"; \
|
|
||||||
cp vti.tmp $(srcdir)/version.texi)
|
|
||||||
-@rm -f vti.tmp
|
|
||||||
@cp $(srcdir)/version.texi $@
|
|
||||||
|
|
||||||
mostlyclean-vti:
|
|
||||||
-rm -f vti.tmp
|
|
||||||
|
|
||||||
maintainer-clean-vti:
|
|
||||||
-rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
|
|
||||||
|
|
||||||
bison.info: bison.texinfo $(srcdir)/version.texi $(bison_TEXINFOS)
|
|
||||||
bison.dvi: bison.texinfo $(srcdir)/version.texi $(bison_TEXINFOS)
|
|
||||||
|
|
||||||
.texinfo.info:
|
|
||||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
|
||||||
cd $(srcdir) \
|
|
||||||
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
|
|
||||||
`echo $< | sed 's,.*/,,'`
|
|
||||||
|
|
||||||
.texinfo.dvi:
|
|
||||||
TEXINPUTS="$(top_srcdir)/config$(PATH_SEPARATOR)$$TEXINPUTS" \
|
|
||||||
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
|
||||||
$(TEXI2DVI) $<
|
|
||||||
|
|
||||||
.texinfo:
|
|
||||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
|
||||||
cd $(srcdir) \
|
|
||||||
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
|
|
||||||
`echo $< | sed 's,.*/,,'`
|
|
||||||
|
|
||||||
MAKEINFO = @MAKEINFO@
|
|
||||||
TEXI2DVI = texi2dvi
|
|
||||||
DVIPS = dvips
|
|
||||||
.dvi.ps:
|
|
||||||
$(DVIPS) $< -o $@
|
|
||||||
|
|
||||||
uninstall-info-am:
|
|
||||||
$(PRE_UNINSTALL)
|
|
||||||
@if (install-info --version && \
|
|
||||||
install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \
|
|
||||||
list='$(INFO_DEPS)'; \
|
|
||||||
for file in $$list; do \
|
|
||||||
echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file"; \
|
|
||||||
install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file; \
|
|
||||||
done; \
|
|
||||||
else :; fi
|
|
||||||
@$(NORMAL_UNINSTALL)
|
|
||||||
@list='$(INFO_DEPS)'; \
|
|
||||||
for file in $$list; do \
|
|
||||||
(if cd $(DESTDIR)$(infodir); then \
|
|
||||||
echo " rm -f $$file $$file-[0-9] $$file-[0-9][0-9])"; \
|
|
||||||
rm -f $$file $$file-[0-9] $$file-[0-9][0-9]; \
|
|
||||||
else :; fi); \
|
|
||||||
done
|
|
||||||
|
|
||||||
dist-info: $(INFO_DEPS)
|
|
||||||
list='$(INFO_DEPS)'; \
|
|
||||||
for base in $$list; do \
|
|
||||||
d=$(srcdir); \
|
|
||||||
for file in $$d/$$base*; do \
|
|
||||||
relfile=`expr "$$file" : "$$d/\(.*\)"`; \
|
|
||||||
test -f $(distdir)/$$relfile || \
|
|
||||||
cp -p $$file $(distdir)/$$relfile; \
|
|
||||||
done; \
|
|
||||||
done
|
|
||||||
|
|
||||||
mostlyclean-aminfo:
|
|
||||||
-rm -f bison.aux bison.cp bison.cps bison.dvi bison.fn bison.ky bison.log \
|
|
||||||
bison.pg bison.ps bison.toc bison.tp bison.vr
|
|
||||||
|
|
||||||
maintainer-clean-aminfo:
|
|
||||||
cd $(srcdir) && \
|
|
||||||
for i in $(INFO_DEPS); do \
|
|
||||||
rm -f $$i; \
|
|
||||||
if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \
|
|
||||||
rm -f $$i-[0-9]*; \
|
|
||||||
fi; \
|
|
||||||
done
|
|
||||||
|
|
||||||
man1dir = $(mandir)/man1
|
|
||||||
install-man1: $(man1_MANS) $(man_MANS)
|
|
||||||
@$(NORMAL_INSTALL)
|
|
||||||
$(mkinstalldirs) $(DESTDIR)$(man1dir)
|
|
||||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
|
||||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
|
||||||
for i in $$l2; do \
|
|
||||||
case "$$i" in \
|
|
||||||
*.1*) list="$$list $$i" ;; \
|
|
||||||
esac; \
|
|
||||||
done; \
|
|
||||||
for i in $$list; do \
|
|
||||||
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
|
|
||||||
else file=$$i; fi; \
|
|
||||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
|
||||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
|
||||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
|
||||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
|
||||||
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
|
|
||||||
$(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
|
|
||||||
done
|
|
||||||
uninstall-man1:
|
|
||||||
@$(NORMAL_UNINSTALL)
|
|
||||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
|
||||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
|
||||||
for i in $$l2; do \
|
|
||||||
case "$$i" in \
|
|
||||||
*.1*) list="$$list $$i" ;; \
|
|
||||||
esac; \
|
|
||||||
done; \
|
|
||||||
for i in $$list; do \
|
|
||||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
|
||||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
|
||||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
|
||||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
|
||||||
echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
|
|
||||||
rm -f $(DESTDIR)$(man1dir)/$$inst; \
|
|
||||||
done
|
|
||||||
tags: TAGS
|
|
||||||
TAGS:
|
|
||||||
|
|
||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
|
||||||
|
|
||||||
top_distdir = ..
|
|
||||||
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
|
||||||
|
|
||||||
distdir: $(DISTFILES)
|
|
||||||
@for file in $(DISTFILES); do \
|
|
||||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
|
||||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
|
||||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
|
||||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
|
||||||
fi; \
|
|
||||||
if test -d $$d/$$file; then \
|
|
||||||
cp -pR $$d/$$file $(distdir) \
|
|
||||||
|| exit 1; \
|
|
||||||
else \
|
|
||||||
test -f $(distdir)/$$file \
|
|
||||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
|
||||||
|| exit 1; \
|
|
||||||
fi; \
|
|
||||||
done
|
|
||||||
$(MAKE) $(AM_MAKEFLAGS) \
|
|
||||||
top_distdir="${top_distdir}" distdir="$(distdir)" \
|
|
||||||
dist-info
|
|
||||||
check-am: all-am
|
|
||||||
check: check-am
|
|
||||||
all-am: Makefile $(INFO_DEPS) $(MANS)
|
|
||||||
|
|
||||||
installdirs:
|
|
||||||
$(mkinstalldirs) $(DESTDIR)$(infodir) $(DESTDIR)$(man1dir)
|
|
||||||
|
|
||||||
install: install-am
|
|
||||||
install-exec: install-exec-am
|
|
||||||
install-data: install-data-am
|
|
||||||
uninstall: uninstall-am
|
|
||||||
|
|
||||||
install-am: all-am
|
|
||||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
|
||||||
|
|
||||||
installcheck: installcheck-am
|
|
||||||
install-strip:
|
|
||||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
|
||||||
`test -z '$(STRIP)' || \
|
|
||||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
|
||||||
mostlyclean-generic:
|
|
||||||
|
|
||||||
clean-generic:
|
|
||||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
|
||||||
|
|
||||||
distclean-generic:
|
|
||||||
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
|
|
||||||
|
|
||||||
maintainer-clean-generic:
|
|
||||||
@echo "This command is intended for maintainers to use"
|
|
||||||
@echo "it deletes files that may require special tools to rebuild."
|
|
||||||
clean: clean-am
|
|
||||||
|
|
||||||
clean-am: clean-generic mostlyclean-am
|
|
||||||
|
|
||||||
distclean: distclean-am
|
|
||||||
|
|
||||||
distclean-am: clean-am distclean-generic
|
|
||||||
|
|
||||||
dvi: dvi-am
|
|
||||||
|
|
||||||
dvi-am: $(DVIS)
|
|
||||||
|
|
||||||
info: info-am
|
|
||||||
|
|
||||||
info-am: $(INFO_DEPS)
|
|
||||||
|
|
||||||
install-data-am: install-info-am install-man
|
|
||||||
|
|
||||||
install-exec-am:
|
|
||||||
|
|
||||||
install-info: install-info-am
|
|
||||||
|
|
||||||
install-info-am: $(INFO_DEPS)
|
|
||||||
@$(NORMAL_INSTALL)
|
|
||||||
$(mkinstalldirs) $(DESTDIR)$(infodir)
|
|
||||||
@list='$(INFO_DEPS)'; \
|
|
||||||
for file in $$list; do \
|
|
||||||
d=$(srcdir); \
|
|
||||||
for ifile in echo $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9]; do \
|
|
||||||
if test -f $$ifile; then \
|
|
||||||
relfile=`expr "$$ifile" : "$$d/\(.*\)"`; \
|
|
||||||
echo " $(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile"; \
|
|
||||||
$(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile; \
|
|
||||||
else : ; fi; \
|
|
||||||
done; \
|
|
||||||
done
|
|
||||||
@$(POST_INSTALL)
|
|
||||||
@if (install-info --version && \
|
|
||||||
install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \
|
|
||||||
list='$(INFO_DEPS)'; \
|
|
||||||
for file in $$list; do \
|
|
||||||
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
|
|
||||||
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\
|
|
||||||
done; \
|
|
||||||
else : ; fi
|
|
||||||
install-man: install-man1
|
|
||||||
|
|
||||||
installcheck-am:
|
|
||||||
|
|
||||||
maintainer-clean: maintainer-clean-am
|
|
||||||
|
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-aminfo \
|
|
||||||
maintainer-clean-generic maintainer-clean-vti
|
|
||||||
|
|
||||||
mostlyclean: mostlyclean-am
|
|
||||||
|
|
||||||
mostlyclean-am: mostlyclean-aminfo mostlyclean-generic mostlyclean-vti
|
|
||||||
|
|
||||||
uninstall-am: uninstall-info-am uninstall-man
|
|
||||||
|
|
||||||
uninstall-man: uninstall-man1
|
|
||||||
|
|
||||||
.PHONY: all all-am check check-am clean clean-generic dist-info \
|
|
||||||
distclean distclean-generic distdir dvi dvi-am info info-am \
|
|
||||||
install install-am install-data install-data-am install-exec \
|
|
||||||
install-exec-am install-info install-info-am install-man \
|
|
||||||
install-man1 install-strip installcheck installcheck-am \
|
|
||||||
installdirs maintainer-clean maintainer-clean-aminfo \
|
|
||||||
maintainer-clean-generic maintainer-clean-vti mostlyclean \
|
|
||||||
mostlyclean-aminfo mostlyclean-generic mostlyclean-vti \
|
|
||||||
uninstall uninstall-am uninstall-info-am uninstall-man \
|
|
||||||
uninstall-man1
|
|
||||||
|
|
||||||
|
|
||||||
refcard.dvi: refcard.tex
|
|
||||||
tex refcard.tex
|
|
||||||
|
|
||||||
refcard.ps: refcard.dvi
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
|
||||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
|
||||||
.NOEXPORT:
|
|
||||||
+2
-2
@@ -262,9 +262,9 @@ and so on.
|
|||||||
.ns
|
.ns
|
||||||
.TP
|
.TP
|
||||||
.B \-\-debug
|
.B \-\-debug
|
||||||
Output a definition of the macro
|
In the parser file, define the macro
|
||||||
.B YYDEBUG
|
.B YYDEBUG
|
||||||
into the parser file,
|
to 1 if it is not already defined,
|
||||||
so that the debugging facilities are compiled.
|
so that the debugging facilities are compiled.
|
||||||
.TP
|
.TP
|
||||||
.B \-v
|
.B \-v
|
||||||
|
|||||||
-145
@@ -1,145 +0,0 @@
|
|||||||
Ceci est le fichier Info bison.info, produit par Makeinfo version 4.0b
|
|
||||||
à partir bison.texinfo.
|
|
||||||
|
|
||||||
START-INFO-DIR-ENTRY
|
|
||||||
* bison: (bison). GNU Project parser generator (yacc replacement).
|
|
||||||
END-INFO-DIR-ENTRY
|
|
||||||
|
|
||||||
This file documents the Bison parser generator.
|
|
||||||
|
|
||||||
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1995, 1998, 1999,
|
|
||||||
2000, 2001 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
Permission is granted to make and distribute verbatim copies of this
|
|
||||||
manual provided the copyright notice and this permission notice are
|
|
||||||
preserved on all copies.
|
|
||||||
|
|
||||||
Permission is granted to copy and distribute modified versions of
|
|
||||||
this manual under the conditions for verbatim copying, provided also
|
|
||||||
that the sections entitled "GNU General Public License" and "Conditions
|
|
||||||
for Using Bison" are included exactly as in the original, and provided
|
|
||||||
that the entire resulting derived work is distributed under the terms
|
|
||||||
of a permission notice identical to this one.
|
|
||||||
|
|
||||||
Permission is granted to copy and distribute translations of this
|
|
||||||
manual into another language, under the above conditions for modified
|
|
||||||
versions, except that the sections entitled "GNU General Public
|
|
||||||
License", "Conditions for Using Bison" and this permission notice may be
|
|
||||||
included in translations approved by the Free Software Foundation
|
|
||||||
instead of in the original English.
|
|
||||||
|
|
||||||
|
|
||||||
Indirect:
|
|
||||||
bison.info-1: 1313
|
|
||||||
bison.info-2: 50632
|
|
||||||
bison.info-3: 100395
|
|
||||||
bison.info-4: 147417
|
|
||||||
bison.info-5: 197287
|
|
||||||
|
|
||||||
Tag Table:
|
|
||||||
(Indirect)
|
|
||||||
Node: Top1313
|
|
||||||
Node: Introduction8968
|
|
||||||
Node: Conditions10243
|
|
||||||
Node: Copying11707
|
|
||||||
Node: Concepts30910
|
|
||||||
Node: Language and Grammar31989
|
|
||||||
Node: Grammar in Bison36947
|
|
||||||
Node: Semantic Values38871
|
|
||||||
Node: Semantic Actions40972
|
|
||||||
Node: Locations Overview42161
|
|
||||||
Node: Bison Parser43608
|
|
||||||
Node: Stages45920
|
|
||||||
Node: Grammar Layout47203
|
|
||||||
Node: Examples48460
|
|
||||||
Node: RPN Calc49658
|
|
||||||
Node: Rpcalc Decls50632
|
|
||||||
Node: Rpcalc Rules52219
|
|
||||||
Node: Rpcalc Input54019
|
|
||||||
Node: Rpcalc Line55480
|
|
||||||
Node: Rpcalc Expr56595
|
|
||||||
Node: Rpcalc Lexer58540
|
|
||||||
Node: Rpcalc Main61112
|
|
||||||
Node: Rpcalc Error61510
|
|
||||||
Node: Rpcalc Gen62518
|
|
||||||
Node: Rpcalc Compile63667
|
|
||||||
Node: Infix Calc64542
|
|
||||||
Node: Simple Error Recovery67249
|
|
||||||
Node: Location Tracking Calc69138
|
|
||||||
Node: Ltcalc Decls69820
|
|
||||||
Node: Ltcalc Rules70713
|
|
||||||
Node: Ltcalc Lexer72723
|
|
||||||
Node: Multi-function Calc75049
|
|
||||||
Node: Mfcalc Decl76616
|
|
||||||
Node: Mfcalc Rules78639
|
|
||||||
Node: Mfcalc Symtab80019
|
|
||||||
Node: Exercises86392
|
|
||||||
Node: Grammar File86898
|
|
||||||
Node: Grammar Outline87746
|
|
||||||
Node: C Declarations88480
|
|
||||||
Node: Bison Declarations89060
|
|
||||||
Node: Grammar Rules89472
|
|
||||||
Node: C Code89932
|
|
||||||
Node: Symbols90862
|
|
||||||
Node: Rules95943
|
|
||||||
Node: Recursion97582
|
|
||||||
Node: Semantics99301
|
|
||||||
Node: Value Type100395
|
|
||||||
Node: Multiple Types101067
|
|
||||||
Node: Actions102084
|
|
||||||
Node: Action Types104869
|
|
||||||
Node: Mid-Rule Actions106172
|
|
||||||
Node: Locations111742
|
|
||||||
Node: Location Type112390
|
|
||||||
Node: Actions and Locations112948
|
|
||||||
Node: Location Default Action115104
|
|
||||||
Node: Declarations116567
|
|
||||||
Node: Token Decl117886
|
|
||||||
Node: Precedence Decl119899
|
|
||||||
Node: Union Decl121450
|
|
||||||
Node: Type Decl122294
|
|
||||||
Node: Expect Decl123200
|
|
||||||
Node: Start Decl124768
|
|
||||||
Node: Pure Decl125146
|
|
||||||
Node: Decl Summary126823
|
|
||||||
Node: Multiple Parsers132951
|
|
||||||
Node: Interface134445
|
|
||||||
Node: Parser Function135317
|
|
||||||
Node: Lexical136152
|
|
||||||
Node: Calling Convention137558
|
|
||||||
Node: Token Values140329
|
|
||||||
Node: Token Positions141478
|
|
||||||
Node: Pure Calling142363
|
|
||||||
Node: Error Reporting145295
|
|
||||||
Node: Action Features147417
|
|
||||||
Node: Algorithm150712
|
|
||||||
Node: Look-Ahead153005
|
|
||||||
Node: Shift/Reduce155137
|
|
||||||
Node: Precedence158049
|
|
||||||
Node: Why Precedence158700
|
|
||||||
Node: Using Precedence160565
|
|
||||||
Node: Precedence Examples161533
|
|
||||||
Node: How Precedence162234
|
|
||||||
Node: Contextual Precedence163383
|
|
||||||
Node: Parser States165174
|
|
||||||
Node: Reduce/Reduce166417
|
|
||||||
Node: Mystery Conflicts169978
|
|
||||||
Node: Stack Overflow173364
|
|
||||||
Node: Error Recovery174737
|
|
||||||
Node: Context Dependency179873
|
|
||||||
Node: Semantic Tokens180721
|
|
||||||
Node: Lexical Tie-ins183738
|
|
||||||
Node: Tie-in Recovery185286
|
|
||||||
Node: Debugging187458
|
|
||||||
Node: Invocation190759
|
|
||||||
Node: Bison Options192011
|
|
||||||
Node: Environment Variables195561
|
|
||||||
Node: Option Cross Key196409
|
|
||||||
Node: VMS Invocation197287
|
|
||||||
Node: Table of Symbols198071
|
|
||||||
Node: Glossary206039
|
|
||||||
Node: Copying This Manual212343
|
|
||||||
Node: GNU Free Documentation License212552
|
|
||||||
Node: Index232417
|
|
||||||
|
|
||||||
End Tag Table
|
|
||||||
-1075
File diff suppressed because it is too large
Load Diff
-1423
File diff suppressed because it is too large
Load Diff
-1248
File diff suppressed because it is too large
Load Diff
-1318
File diff suppressed because it is too large
Load Diff
-1072
File diff suppressed because it is too large
Load Diff
+2
-1
@@ -56,7 +56,8 @@ foo_tab.c.
|
|||||||
.indent -1
|
.indent -1
|
||||||
2 /DEBUG
|
2 /DEBUG
|
||||||
.skip
|
.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.
|
so that the debugging facilities are compiled.
|
||||||
.skip
|
.skip
|
||||||
.indent -1
|
.indent -1
|
||||||
|
|||||||
+33
-16
@@ -693,7 +693,7 @@ arrange for it to call @code{yyparse} or the parser will never run.
|
|||||||
@xref{Interface, ,Parser C-Language Interface}.
|
@xref{Interface, ,Parser C-Language Interface}.
|
||||||
|
|
||||||
Aside from the token type names and the symbols in the actions you
|
Aside from the token type names and the symbols in the actions you
|
||||||
write, all variable and function names used in the Bison parser file
|
write, all symbols defined in the Bison parser file itself
|
||||||
begin with @samp{yy} or @samp{YY}. This includes interface functions
|
begin with @samp{yy} or @samp{YY}. This includes interface functions
|
||||||
such as the lexical analyzer function @code{yylex}, the error reporting
|
such as the lexical analyzer function @code{yylex}, the error reporting
|
||||||
function @code{yyerror} and the parser function @code{yyparse} itself.
|
function @code{yyerror} and the parser function @code{yyparse} itself.
|
||||||
@@ -702,6 +702,15 @@ Therefore, you should avoid using C identifiers starting with @samp{yy}
|
|||||||
or @samp{YY} in the Bison grammar file except for the ones defined in
|
or @samp{YY} in the Bison grammar file except for the ones defined in
|
||||||
this manual.
|
this manual.
|
||||||
|
|
||||||
|
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} to a
|
||||||
|
nonzero value (@pxref{Debugging, ,Debugging Your Parser}).
|
||||||
|
|
||||||
@node Stages
|
@node Stages
|
||||||
@section Stages in Using Bison
|
@section Stages in Using Bison
|
||||||
@cindex stages in using Bison
|
@cindex stages in using Bison
|
||||||
@@ -3226,9 +3235,9 @@ directives:
|
|||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
@item %debug
|
@item %debug
|
||||||
Output a definition of the macro @code{YYDEBUG} into the parser file, so
|
In the parser file, define the macro @code{YYDEBUG} to 1 if it is not
|
||||||
that the debugging facilities are compiled. @xref{Debugging, ,Debugging
|
already defined, so that the debugging facilities are compiled.
|
||||||
Your Parser}.
|
@xref{Debugging, ,Debugging Your Parser}.
|
||||||
|
|
||||||
@item %defines
|
@item %defines
|
||||||
Write an extra output file containing macro definitions for the token
|
Write an extra output file containing macro definitions for the token
|
||||||
@@ -4916,15 +4925,23 @@ If a Bison grammar compiles properly but doesn't do what you want when it
|
|||||||
runs, the @code{yydebug} parser-trace feature can help you figure out why.
|
runs, the @code{yydebug} parser-trace feature can help you figure out why.
|
||||||
|
|
||||||
To enable compilation of trace facilities, you must define the macro
|
To enable compilation of trace facilities, you must define the macro
|
||||||
@code{YYDEBUG} when you compile the parser. You could use
|
@code{YYDEBUG} to a nonzero value when you compile the parser. You
|
||||||
@samp{-DYYDEBUG=1} as a compiler option or you could put @samp{#define
|
could use @samp{-DYYDEBUG=1} as a compiler option or you could put
|
||||||
YYDEBUG 1} in the C declarations section of the grammar file
|
@samp{#define YYDEBUG 1} in the C declarations section of the grammar
|
||||||
(@pxref{C Declarations, ,The C Declarations Section}). Alternatively, use the @samp{-t} option when
|
file (@pxref{C Declarations, ,The C Declarations Section}).
|
||||||
you run Bison (@pxref{Invocation, ,Invoking Bison}). We always define @code{YYDEBUG} so that
|
Alternatively, use the @samp{-t} option when you run Bison
|
||||||
debugging is always possible.
|
(@pxref{Invocation, ,Invoking Bison}) or the @code{%debug} declaration
|
||||||
|
(@pxref{Decl Summary, ,Bison Declaration Summary}). We suggest that
|
||||||
|
you always define @code{YYDEBUG} so that debugging is always possible.
|
||||||
|
|
||||||
The trace facility uses @code{stderr}, so you must add @w{@code{#include
|
The trace facility outputs messages with macro calls of the form
|
||||||
<stdio.h>}} to the C declarations section unless it is already there.
|
@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} to a nonzero value but do not
|
||||||
|
define @code{YYFPRINTF}, @code{<stdio.h>} is automatically included
|
||||||
|
and @code{YYPRINTF} is defined to @code{fprintf}. In the same
|
||||||
|
situation, C++ parsers include @code{<cstdio>} and use
|
||||||
|
@code{std::fprintf} instead.
|
||||||
|
|
||||||
Once you have compiled the program with trace facilities, the way to
|
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}.
|
request a trace is to store a nonzero value in the variable @code{yydebug}.
|
||||||
@@ -5003,7 +5020,7 @@ Here @var{infile} is the grammar file name, which usually ends in
|
|||||||
@samp{.y}. The parser file's name is made by replacing the @samp{.y}
|
@samp{.y}. The parser file's name is made by replacing the @samp{.y}
|
||||||
with @samp{.tab.c}. Thus, the @samp{bison foo.y} filename yields
|
with @samp{.tab.c}. Thus, the @samp{bison foo.y} filename yields
|
||||||
@file{foo.tab.c}, and the @samp{bison hack/foo.y} filename yields
|
@file{foo.tab.c}, and the @samp{bison hack/foo.y} filename yields
|
||||||
@file{hack/foo.tab.c}. It's is also possible, in case you are writting
|
@file{hack/foo.tab.c}. It's is also possible, in case you are writing
|
||||||
C++ code instead of C in your grammar file, to name it @file{foo.ypp}
|
C++ code instead of C in your grammar file, to name it @file{foo.ypp}
|
||||||
or @file{foo.y++}. Then, the output files will take an extention like
|
or @file{foo.y++}. Then, the output files will take an extention like
|
||||||
the given one as input (repectively @file{foo.tab.cpp} and @file{foo.tab.c++}).
|
the given one as input (repectively @file{foo.tab.cpp} and @file{foo.tab.c++}).
|
||||||
@@ -5085,9 +5102,9 @@ you are developing Bison.
|
|||||||
|
|
||||||
@item -t
|
@item -t
|
||||||
@itemx --debug
|
@itemx --debug
|
||||||
Output a definition of the macro @code{YYDEBUG} into the parser file, so
|
In the parser file, define the macro @code{YYDEBUG} to 1 if it is not
|
||||||
that the debugging facilities are compiled. @xref{Debugging, ,Debugging
|
already defined, so that the debugging facilities are compiled.
|
||||||
Your Parser}.
|
@xref{Debugging, ,Debugging Your Parser}.
|
||||||
|
|
||||||
@item --locations
|
@item --locations
|
||||||
Pretend that @code{%locations} was specified. @xref{Decl Summary}.
|
Pretend that @code{%locations} was specified. @xref{Decl Summary}.
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
@set UPDATED 12 November 2001
|
|
||||||
@set UPDATED-MONTH November 2001
|
|
||||||
@set EDITION 1.30e
|
|
||||||
@set VERSION 1.30e
|
|
||||||
+4
-4
@@ -1,4 +1,4 @@
|
|||||||
@set UPDATED 12 November 2001
|
@set UPDATED 5 January 2002
|
||||||
@set UPDATED-MONTH November 2001
|
@set UPDATED-MONTH January 2002
|
||||||
@set EDITION 1.30e
|
@set EDITION 1.31
|
||||||
@set VERSION 1.30e
|
@set VERSION 1.31
|
||||||
|
|||||||
+24
-8
@@ -1,22 +1,38 @@
|
|||||||
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
## 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 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 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
|
||||||
|
|
||||||
AUTOMAKE_OPTIONS = ansi2knr
|
AUTOMAKE_OPTIONS = ansi2knr
|
||||||
|
|
||||||
|
CFLAGS = @CFLAGS@ $(WARNING_CFLAGS)
|
||||||
|
|
||||||
noinst_LIBRARIES = libbison.a
|
noinst_LIBRARIES = libbison.a
|
||||||
|
|
||||||
INCLUDES = -I.. -I$(srcdir) -I../intl
|
INCLUDES = -I.. -I$(srcdir) -I../intl
|
||||||
|
|
||||||
# Heck, we are still using an old version of Automake which does not
|
# Heck, we are still using an old version of Automake which does not
|
||||||
# understand LIBOBJ additions using $objext...
|
# understand inner AC_LIBOBJ (i.e., from Autoconf itself, not from
|
||||||
|
# configure.in).
|
||||||
EXTRA_DIST = malloc.c realloc.c
|
EXTRA_DIST = malloc.c realloc.c strnlen.c
|
||||||
|
|
||||||
libbison_a_SOURCES = \
|
libbison_a_SOURCES = \
|
||||||
error.c error.h \
|
basename.c dirname.h dirname.c \
|
||||||
getopt.h getopt.c getopt1.c \
|
getopt.h getopt.c getopt1.c \
|
||||||
obstack.h obstack.c \
|
|
||||||
quote.h quote.c quotearg.h quotearg.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@
|
libbison_a_LIBADD = @LIBOBJS@ @ALLOCA@
|
||||||
libbison_a_DEPENDENCIES = $(libbison_a_LIBADD)
|
libbison_a_DEPENDENCIES = $(libbison_a_LIBADD)
|
||||||
|
|||||||
+57
-41
@@ -1,4 +1,4 @@
|
|||||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
# Makefile.in generated by automake 1.5c from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||||
@@ -13,7 +13,6 @@
|
|||||||
# PARTICULAR PURPOSE.
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
|
||||||
SHELL = @SHELL@
|
SHELL = @SHELL@
|
||||||
|
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
@@ -48,6 +47,7 @@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
|||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
INSTALL_HEADER = $(INSTALL_DATA)
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
transform = @program_transform_name@
|
transform = @program_transform_name@
|
||||||
@@ -97,30 +97,32 @@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
|||||||
USE_NLS = @USE_NLS@
|
USE_NLS = @USE_NLS@
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
WARNING_CFLAGS = @WARNING_CFLAGS@
|
WARNING_CFLAGS = @WARNING_CFLAGS@
|
||||||
|
WERROR_CFLAGS = @WERROR_CFLAGS@
|
||||||
am__include = @am__include@
|
am__include = @am__include@
|
||||||
am__quote = @am__quote@
|
am__quote = @am__quote@
|
||||||
install_sh = @install_sh@
|
install_sh = @install_sh@
|
||||||
|
|
||||||
AUTOMAKE_OPTIONS = ansi2knr
|
AUTOMAKE_OPTIONS = ansi2knr
|
||||||
|
|
||||||
|
CFLAGS = @CFLAGS@ $(WARNING_CFLAGS)
|
||||||
|
|
||||||
noinst_LIBRARIES = libbison.a
|
noinst_LIBRARIES = libbison.a
|
||||||
|
|
||||||
INCLUDES = -I.. -I$(srcdir) -I../intl
|
INCLUDES = -I.. -I$(srcdir) -I../intl
|
||||||
|
|
||||||
|
|
||||||
# Heck, we are still using an old version of Automake which does not
|
# Heck, we are still using an old version of Automake which does not
|
||||||
# understand LIBOBJ additions using $objext...
|
# understand inner AC_LIBOBJ (i.e., from Autoconf itself, not from
|
||||||
EXTRA_DIST = malloc.c realloc.c
|
# configure.in).
|
||||||
|
EXTRA_DIST = malloc.c realloc.c strnlen.c
|
||||||
|
|
||||||
libbison_a_SOURCES = \
|
libbison_a_SOURCES = \
|
||||||
error.c error.h \
|
basename.c dirname.h dirname.c \
|
||||||
getopt.h getopt.c getopt1.c \
|
getopt.h getopt.c getopt1.c \
|
||||||
obstack.h obstack.c \
|
|
||||||
quote.h quote.c quotearg.h quotearg.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@
|
libbison_a_LIBADD = @LIBOBJS@ @ALLOCA@
|
||||||
libbison_a_DEPENDENCIES = $(libbison_a_LIBADD)
|
libbison_a_DEPENDENCIES = $(libbison_a_LIBADD)
|
||||||
subdir = lib
|
subdir = lib
|
||||||
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
|
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
|
||||||
@@ -129,9 +131,10 @@ CONFIG_CLEAN_FILES =
|
|||||||
LIBRARIES = $(noinst_LIBRARIES)
|
LIBRARIES = $(noinst_LIBRARIES)
|
||||||
|
|
||||||
libbison_a_AR = $(AR) cru
|
libbison_a_AR = $(AR) cru
|
||||||
am_libbison_a_OBJECTS = error$U.$(OBJEXT) getopt$U.$(OBJEXT) \
|
am_libbison_a_OBJECTS = basename$U.$(OBJEXT) dirname$U.$(OBJEXT) \
|
||||||
getopt1$U.$(OBJEXT) obstack$U.$(OBJEXT) quote$U.$(OBJEXT) \
|
getopt$U.$(OBJEXT) getopt1$U.$(OBJEXT) quote$U.$(OBJEXT) \
|
||||||
quotearg$U.$(OBJEXT) xmalloc$U.$(OBJEXT) xstrdup$U.$(OBJEXT)
|
quotearg$U.$(OBJEXT) xmalloc$U.$(OBJEXT) xstrdup$U.$(OBJEXT) \
|
||||||
|
xstrndup$U.$(OBJEXT)
|
||||||
libbison_a_OBJECTS = $(am_libbison_a_OBJECTS)
|
libbison_a_OBJECTS = $(am_libbison_a_OBJECTS)
|
||||||
|
|
||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
@@ -140,22 +143,24 @@ CPPFLAGS = @CPPFLAGS@
|
|||||||
LDFLAGS = @LDFLAGS@
|
LDFLAGS = @LDFLAGS@
|
||||||
LIBS = @LIBS@
|
LIBS = @LIBS@
|
||||||
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
|
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
|
||||||
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/error$U.Po $(DEPDIR)/getopt$U.Po \
|
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/alloca.Po $(DEPDIR)/basename$U.Po \
|
||||||
@AMDEP_TRUE@ $(DEPDIR)/getopt1$U.Po $(DEPDIR)/malloc.Po \
|
@AMDEP_TRUE@ $(DEPDIR)/dirname$U.Po $(DEPDIR)/error.Po \
|
||||||
@AMDEP_TRUE@ $(DEPDIR)/memchr.Po $(DEPDIR)/obstack$U.Po \
|
@AMDEP_TRUE@ $(DEPDIR)/getopt$U.Po $(DEPDIR)/getopt1$U.Po \
|
||||||
|
@AMDEP_TRUE@ $(DEPDIR)/malloc.Po $(DEPDIR)/memchr.Po \
|
||||||
|
@AMDEP_TRUE@ $(DEPDIR)/memrchr.Po $(DEPDIR)/obstack.Po \
|
||||||
@AMDEP_TRUE@ $(DEPDIR)/quote$U.Po $(DEPDIR)/quotearg$U.Po \
|
@AMDEP_TRUE@ $(DEPDIR)/quote$U.Po $(DEPDIR)/quotearg$U.Po \
|
||||||
@AMDEP_TRUE@ $(DEPDIR)/realloc.Po $(DEPDIR)/stpcpy.Po \
|
@AMDEP_TRUE@ $(DEPDIR)/realloc.Po $(DEPDIR)/stpcpy.Po \
|
||||||
@AMDEP_TRUE@ $(DEPDIR)/strndup.Po $(DEPDIR)/strnlen.Po \
|
@AMDEP_TRUE@ $(DEPDIR)/strchr.Po $(DEPDIR)/strspn.Po \
|
||||||
@AMDEP_TRUE@ $(DEPDIR)/strspn.Po $(DEPDIR)/xmalloc$U.Po \
|
@AMDEP_TRUE@ $(DEPDIR)/xmalloc$U.Po $(DEPDIR)/xstrdup$U.Po \
|
||||||
@AMDEP_TRUE@ $(DEPDIR)/xstrdup$U.Po
|
@AMDEP_TRUE@ $(DEPDIR)/xstrndup$U.Po
|
||||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||||
CCLD = $(CC)
|
CCLD = $(CC)
|
||||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
CFLAGS = @CFLAGS@
|
|
||||||
DIST_SOURCES = $(libbison_a_SOURCES)
|
DIST_SOURCES = $(libbison_a_SOURCES)
|
||||||
DIST_COMMON = Makefile.am Makefile.in ansi2knr.1 ansi2knr.c malloc.c \
|
DIST_COMMON = Makefile.am Makefile.in alloca.c ansi2knr.1 ansi2knr.c \
|
||||||
memchr.c 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)
|
SOURCES = $(libbison_a_SOURCES)
|
||||||
|
|
||||||
all: all-am
|
all: all-am
|
||||||
@@ -194,21 +199,25 @@ clean-krextra:
|
|||||||
mostlyclean-kr:
|
mostlyclean-kr:
|
||||||
-test "$U" = "" || rm -f *_.c
|
-test "$U" = "" || rm -f *_.c
|
||||||
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/error$U.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.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)/error.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getopt$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)/getopt1$U.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/malloc.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)/memchr.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/obstack$U.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)/quote$U.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/quotearg$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)/realloc.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/stpcpy.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)/strchr.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strnlen.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strspn.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)/xmalloc$U.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/xstrdup$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:
|
distclean-depend:
|
||||||
-rm -rf $(DEPDIR)
|
-rm -rf $(DEPDIR)
|
||||||
@@ -227,6 +236,10 @@ distclean-depend:
|
|||||||
CCDEPMODE = @CCDEPMODE@
|
CCDEPMODE = @CCDEPMODE@
|
||||||
alloca_.c: alloca.c $(ANSI2KNR)
|
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
|
$(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
|
||||||
|
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: error.c $(ANSI2KNR)
|
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
|
$(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
|
||||||
getopt_.c: getopt.c $(ANSI2KNR)
|
getopt_.c: getopt.c $(ANSI2KNR)
|
||||||
@@ -237,6 +250,8 @@ 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
|
$(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)
|
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
|
$(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
|
||||||
|
memrchr_.c: memrchr.c $(ANSI2KNR)
|
||||||
|
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/memrchr.c; then echo $(srcdir)/memrchr.c; else echo memrchr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > memrchr_.c || rm -f memrchr_.c
|
||||||
obstack_.c: obstack.c $(ANSI2KNR)
|
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
|
$(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
|
||||||
quote_.c: quote.c $(ANSI2KNR)
|
quote_.c: quote.c $(ANSI2KNR)
|
||||||
@@ -247,46 +262,47 @@ 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
|
$(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)
|
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
|
$(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)
|
strchr_.c: strchr.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
|
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strchr.c; then echo $(srcdir)/strchr.c; else echo strchr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > strchr_.c || rm -f strchr_.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)
|
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
|
$(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
|
||||||
xmalloc_.c: xmalloc.c $(ANSI2KNR)
|
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
|
$(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)
|
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
|
$(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) \
|
xstrndup_.c: xstrndup.c $(ANSI2KNR)
|
||||||
malloc_.$(OBJEXT) memchr_.$(OBJEXT) obstack_.$(OBJEXT) quote_.$(OBJEXT) \
|
$(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
|
||||||
quotearg_.$(OBJEXT) realloc_.$(OBJEXT) stpcpy_.$(OBJEXT) \
|
alloca_.$(OBJEXT) basename_.$(OBJEXT) dirname_.$(OBJEXT) \
|
||||||
strndup_.$(OBJEXT) strnlen_.$(OBJEXT) strspn_.$(OBJEXT) \
|
error_.$(OBJEXT) getopt_.$(OBJEXT) getopt1_.$(OBJEXT) malloc_.$(OBJEXT) \
|
||||||
xmalloc_.$(OBJEXT) xstrdup_.$(OBJEXT) : $(ANSI2KNR)
|
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:
|
uninstall-info-am:
|
||||||
|
|
||||||
tags: TAGS
|
tags: TAGS
|
||||||
|
|
||||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||||
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) ' { files[$$0] = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { for (i in files) print i; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
mkid -fID $$unique $(LISP)
|
mkid -fID $$unique
|
||||||
|
|
||||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||||
$(TAGS_FILES) $(LISP)
|
$(TAGS_FILES) $(LISP)
|
||||||
tags=; \
|
tags=; \
|
||||||
here=`pwd`; \
|
here=`pwd`; \
|
||||||
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) ' { files[$$0] = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { for (i in files) print i; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|
||||||
|| etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
|
|| etags $(ETAGS_ARGS) $$tags $$unique
|
||||||
|
|
||||||
GTAGS:
|
GTAGS:
|
||||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||||
@@ -295,7 +311,6 @@ GTAGS:
|
|||||||
|
|
||||||
distclean-tags:
|
distclean-tags:
|
||||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
top_distdir = ..
|
top_distdir = ..
|
||||||
@@ -303,7 +318,7 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
|||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(DISTFILES)
|
||||||
@for file in $(DISTFILES); do \
|
@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,/[^/]*$$,,'`; \
|
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||||
@@ -334,6 +349,7 @@ install-am: all-am
|
|||||||
installcheck: installcheck-am
|
installcheck: installcheck-am
|
||||||
install-strip:
|
install-strip:
|
||||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
INSTALL_STRIP_FLAG=-s \
|
||||||
`test -z '$(STRIP)' || \
|
`test -z '$(STRIP)' || \
|
||||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||||
mostlyclean-generic:
|
mostlyclean-generic:
|
||||||
|
|||||||
+66
-66
@@ -22,18 +22,18 @@
|
|||||||
your main control loop, etc. to force garbage collection. */
|
your main control loop, etc. to force garbage collection. */
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include <config.h>
|
# include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_STRING_H
|
#if HAVE_STRING_H
|
||||||
#include <string.h>
|
# include <string.h>
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_STDLIB_H
|
#if HAVE_STDLIB_H
|
||||||
#include <stdlib.h>
|
# include <stdlib.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef emacs
|
#ifdef emacs
|
||||||
#include "blockinput.h"
|
# include "blockinput.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* If compiling with GCC 2, this file's not needed. */
|
/* If compiling with GCC 2, this file's not needed. */
|
||||||
@@ -41,41 +41,41 @@
|
|||||||
|
|
||||||
/* If someone has defined alloca as a macro,
|
/* If someone has defined alloca as a macro,
|
||||||
there must be some other way alloca is supposed to work. */
|
there must be some other way alloca is supposed to work. */
|
||||||
#ifndef alloca
|
# ifndef alloca
|
||||||
|
|
||||||
#ifdef emacs
|
# ifdef emacs
|
||||||
#ifdef static
|
# ifdef static
|
||||||
/* actually, only want this if static is defined as ""
|
/* actually, only want this if static is defined as ""
|
||||||
-- this is for usg, in which emacs must undefine static
|
-- this is for usg, in which emacs must undefine static
|
||||||
in order to make unexec workable
|
in order to make unexec workable
|
||||||
*/
|
*/
|
||||||
#ifndef STACK_DIRECTION
|
# ifndef STACK_DIRECTION
|
||||||
you
|
you
|
||||||
lose
|
lose
|
||||||
-- must know STACK_DIRECTION at compile-time
|
-- must know STACK_DIRECTION at compile-time
|
||||||
#endif /* STACK_DIRECTION undefined */
|
# endif /* STACK_DIRECTION undefined */
|
||||||
#endif /* static */
|
# endif /* static */
|
||||||
#endif /* emacs */
|
# endif /* emacs */
|
||||||
|
|
||||||
/* If your stack is a linked list of frames, you have to
|
/* If your stack is a linked list of frames, you have to
|
||||||
provide an "address metric" ADDRESS_FUNCTION macro. */
|
provide an "address metric" ADDRESS_FUNCTION macro. */
|
||||||
|
|
||||||
#if defined (CRAY) && defined (CRAY_STACKSEG_END)
|
# if defined (CRAY) && defined (CRAY_STACKSEG_END)
|
||||||
long i00afunc ();
|
long i00afunc ();
|
||||||
#define ADDRESS_FUNCTION(arg) (char *) i00afunc (&(arg))
|
# define ADDRESS_FUNCTION(arg) (char *) i00afunc (&(arg))
|
||||||
#else
|
# else
|
||||||
#define ADDRESS_FUNCTION(arg) &(arg)
|
# define ADDRESS_FUNCTION(arg) &(arg)
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
#if __STDC__
|
# if __STDC__
|
||||||
typedef void *pointer;
|
typedef void *pointer;
|
||||||
#else
|
# else
|
||||||
typedef char *pointer;
|
typedef char *pointer;
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
#ifndef NULL
|
# ifndef NULL
|
||||||
#define NULL 0
|
# define NULL 0
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
/* Different portions of Emacs need to call different versions of
|
/* Different portions of Emacs need to call different versions of
|
||||||
malloc. The Emacs executable needs alloca to call xmalloc, because
|
malloc. The Emacs executable needs alloca to call xmalloc, because
|
||||||
@@ -83,13 +83,14 @@ typedef char *pointer;
|
|||||||
hand, the utilities in lib-src need alloca to call malloc; some of
|
hand, the utilities in lib-src need alloca to call malloc; some of
|
||||||
them are very simple, and don't have an xmalloc routine.
|
them are very simple, and don't have an xmalloc routine.
|
||||||
|
|
||||||
Non-Emacs programs expect this to call use xmalloc.
|
Non-Emacs programs expect this to call xmalloc.
|
||||||
|
|
||||||
Callers below should use malloc. */
|
Callers below should use malloc. */
|
||||||
|
|
||||||
#ifndef emacs
|
# ifndef emacs
|
||||||
#define malloc xmalloc
|
# undef malloc
|
||||||
#endif
|
# define malloc xmalloc
|
||||||
|
# endif
|
||||||
extern pointer malloc ();
|
extern pointer malloc ();
|
||||||
|
|
||||||
/* Define STACK_DIRECTION if you know the direction of stack
|
/* Define STACK_DIRECTION if you know the direction of stack
|
||||||
@@ -100,18 +101,18 @@ extern pointer malloc ();
|
|||||||
STACK_DIRECTION < 0 => grows toward lower addresses
|
STACK_DIRECTION < 0 => grows toward lower addresses
|
||||||
STACK_DIRECTION = 0 => direction of growth unknown */
|
STACK_DIRECTION = 0 => direction of growth unknown */
|
||||||
|
|
||||||
#ifndef STACK_DIRECTION
|
# ifndef STACK_DIRECTION
|
||||||
#define STACK_DIRECTION 0 /* Direction unknown. */
|
# define STACK_DIRECTION 0 /* Direction unknown. */
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
#if STACK_DIRECTION != 0
|
# if STACK_DIRECTION != 0
|
||||||
|
|
||||||
#define STACK_DIR STACK_DIRECTION /* Known at compile-time. */
|
# define STACK_DIR STACK_DIRECTION /* Known at compile-time. */
|
||||||
|
|
||||||
#else /* STACK_DIRECTION == 0; need run-time code. */
|
# else /* STACK_DIRECTION == 0; need run-time code. */
|
||||||
|
|
||||||
static int stack_dir; /* 1 or -1 once known. */
|
static int stack_dir; /* 1 or -1 once known. */
|
||||||
#define STACK_DIR stack_dir
|
# define STACK_DIR stack_dir
|
||||||
|
|
||||||
static void
|
static void
|
||||||
find_stack_direction ()
|
find_stack_direction ()
|
||||||
@@ -135,7 +136,7 @@ find_stack_direction ()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* STACK_DIRECTION == 0 */
|
# endif /* STACK_DIRECTION == 0 */
|
||||||
|
|
||||||
/* An "alloca header" is used to:
|
/* An "alloca header" is used to:
|
||||||
(a) chain together all alloca'ed blocks;
|
(a) chain together all alloca'ed blocks;
|
||||||
@@ -144,9 +145,9 @@ find_stack_direction ()
|
|||||||
It is very important that sizeof(header) agree with malloc
|
It is very important that sizeof(header) agree with malloc
|
||||||
alignment chunk size. The following default should work okay. */
|
alignment chunk size. The following default should work okay. */
|
||||||
|
|
||||||
#ifndef ALIGN_SIZE
|
# ifndef ALIGN_SIZE
|
||||||
#define ALIGN_SIZE sizeof(double)
|
# define ALIGN_SIZE sizeof(double)
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
typedef union hdr
|
typedef union hdr
|
||||||
{
|
{
|
||||||
@@ -168,16 +169,15 @@ static header *last_alloca_header = NULL; /* -> last alloca header. */
|
|||||||
implementations of C, for example under Gould's UTX/32. */
|
implementations of C, for example under Gould's UTX/32. */
|
||||||
|
|
||||||
pointer
|
pointer
|
||||||
alloca (size)
|
alloca (size_t size)
|
||||||
unsigned size;
|
|
||||||
{
|
{
|
||||||
auto char probe; /* Probes stack depth: */
|
auto char probe; /* Probes stack depth: */
|
||||||
register char *depth = ADDRESS_FUNCTION (probe);
|
register char *depth = ADDRESS_FUNCTION (probe);
|
||||||
|
|
||||||
#if STACK_DIRECTION == 0
|
# if STACK_DIRECTION == 0
|
||||||
if (STACK_DIR == 0) /* Unknown growth direction. */
|
if (STACK_DIR == 0) /* Unknown growth direction. */
|
||||||
find_stack_direction ();
|
find_stack_direction ();
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
/* Reclaim garbage, defined as all alloca'd storage that
|
/* Reclaim garbage, defined as all alloca'd storage that
|
||||||
was allocated from deeper in the stack than currently. */
|
was allocated from deeper in the stack than currently. */
|
||||||
@@ -185,9 +185,9 @@ alloca (size)
|
|||||||
{
|
{
|
||||||
register header *hp; /* Traverses linked list. */
|
register header *hp; /* Traverses linked list. */
|
||||||
|
|
||||||
#ifdef emacs
|
# ifdef emacs
|
||||||
BLOCK_INPUT;
|
BLOCK_INPUT;
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
for (hp = last_alloca_header; hp != NULL;)
|
for (hp = last_alloca_header; hp != NULL;)
|
||||||
if ((STACK_DIR > 0 && hp->h.deep > depth)
|
if ((STACK_DIR > 0 && hp->h.deep > depth)
|
||||||
@@ -204,9 +204,9 @@ alloca (size)
|
|||||||
|
|
||||||
last_alloca_header = hp; /* -> last valid storage. */
|
last_alloca_header = hp; /* -> last valid storage. */
|
||||||
|
|
||||||
#ifdef emacs
|
# ifdef emacs
|
||||||
UNBLOCK_INPUT;
|
UNBLOCK_INPUT;
|
||||||
#endif
|
# endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (size == 0)
|
if (size == 0)
|
||||||
@@ -232,15 +232,15 @@ alloca (size)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined (CRAY) && defined (CRAY_STACKSEG_END)
|
# if defined (CRAY) && defined (CRAY_STACKSEG_END)
|
||||||
|
|
||||||
#ifdef DEBUG_I00AFUNC
|
# ifdef DEBUG_I00AFUNC
|
||||||
#include <stdio.h>
|
# include <stdio.h>
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
#ifndef CRAY_STACK
|
# ifndef CRAY_STACK
|
||||||
#define CRAY_STACK
|
# define CRAY_STACK
|
||||||
#ifndef CRAY2
|
# ifndef CRAY2
|
||||||
/* Stack structures for CRAY-1, CRAY X-MP, and CRAY Y-MP */
|
/* Stack structures for CRAY-1, CRAY X-MP, and CRAY Y-MP */
|
||||||
struct stack_control_header
|
struct stack_control_header
|
||||||
{
|
{
|
||||||
@@ -292,7 +292,7 @@ struct stack_segment_linkage
|
|||||||
long sss7;
|
long sss7;
|
||||||
};
|
};
|
||||||
|
|
||||||
#else /* CRAY2 */
|
# else /* CRAY2 */
|
||||||
/* The following structure defines the vector of words
|
/* The following structure defines the vector of words
|
||||||
returned by the STKSTAT library routine. */
|
returned by the STKSTAT library routine. */
|
||||||
struct stk_stat
|
struct stk_stat
|
||||||
@@ -345,10 +345,10 @@ struct stk_trailer
|
|||||||
long unknown14;
|
long unknown14;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* CRAY2 */
|
# endif /* CRAY2 */
|
||||||
#endif /* not CRAY_STACK */
|
# endif /* not CRAY_STACK */
|
||||||
|
|
||||||
#ifdef CRAY2
|
# ifdef CRAY2
|
||||||
/* Determine a "stack measure" for an arbitrary ADDRESS.
|
/* Determine a "stack measure" for an arbitrary ADDRESS.
|
||||||
I doubt that "lint" will like this much. */
|
I doubt that "lint" will like this much. */
|
||||||
|
|
||||||
@@ -419,7 +419,7 @@ i00afunc (long *address)
|
|||||||
return (result);
|
return (result);
|
||||||
}
|
}
|
||||||
|
|
||||||
#else /* not CRAY2 */
|
# else /* not CRAY2 */
|
||||||
/* Stack address function for a CRAY-1, CRAY X-MP, or CRAY Y-MP.
|
/* Stack address function for a CRAY-1, CRAY X-MP, or CRAY Y-MP.
|
||||||
Determine the number of the cell within the stack,
|
Determine the number of the cell within the stack,
|
||||||
given the address of the cell. The purpose of this
|
given the address of the cell. The purpose of this
|
||||||
@@ -464,9 +464,9 @@ i00afunc (long address)
|
|||||||
|
|
||||||
while (!(this_segment <= address && address <= stkl))
|
while (!(this_segment <= address && address <= stkl))
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_I00AFUNC
|
# ifdef DEBUG_I00AFUNC
|
||||||
fprintf (stderr, "%011o %011o %011o\n", this_segment, address, stkl);
|
fprintf (stderr, "%011o %011o %011o\n", this_segment, address, stkl);
|
||||||
#endif
|
# endif
|
||||||
if (pseg == 0)
|
if (pseg == 0)
|
||||||
break;
|
break;
|
||||||
stkl = stkl - pseg;
|
stkl = stkl - pseg;
|
||||||
@@ -485,9 +485,9 @@ i00afunc (long address)
|
|||||||
|
|
||||||
while (pseg != 0)
|
while (pseg != 0)
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_I00AFUNC
|
# ifdef DEBUG_I00AFUNC
|
||||||
fprintf (stderr, "%011o %011o\n", pseg, size);
|
fprintf (stderr, "%011o %011o\n", pseg, size);
|
||||||
#endif
|
# endif
|
||||||
stkl = stkl - pseg;
|
stkl = stkl - pseg;
|
||||||
ssptr = (struct stack_segment_linkage *) stkl;
|
ssptr = (struct stack_segment_linkage *) stkl;
|
||||||
size = ssptr->sssize;
|
size = ssptr->sssize;
|
||||||
@@ -497,8 +497,8 @@ i00afunc (long address)
|
|||||||
return (result);
|
return (result);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* not CRAY2 */
|
# endif /* not CRAY2 */
|
||||||
#endif /* CRAY */
|
# endif /* CRAY */
|
||||||
|
|
||||||
#endif /* no alloca */
|
# endif /* no alloca */
|
||||||
#endif /* not GCC version 2 */
|
#endif /* not GCC version 2 */
|
||||||
|
|||||||
@@ -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]> */
|
/* Written by Paul Eggert <[email protected]> */
|
||||||
|
|
||||||
#if HAVE_CONFIG_H
|
#if HAVE_CONFIG_H
|
||||||
@@ -8,8 +25,8 @@
|
|||||||
# include <stddef.h> /* For the definition of size_t on windows w/MSVC. */
|
# include <stddef.h> /* For the definition of size_t on windows w/MSVC. */
|
||||||
#endif
|
#endif
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <quotearg.h>
|
#include "quotearg.h"
|
||||||
#include <quote.h>
|
#include "quote.h"
|
||||||
|
|
||||||
/* Return an unambiguous printable representated, allocated in slot N,
|
/* Return an unambiguous printable representated, allocated in slot N,
|
||||||
for NAME, suitable for diagnostics. */
|
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
|
#ifndef PARAMS
|
||||||
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
|
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||||
|
|||||||
+25
-12
@@ -25,8 +25,8 @@
|
|||||||
# include <stddef.h> /* For the definition of size_t on windows w/MSVC. */
|
# include <stddef.h> /* For the definition of size_t on windows w/MSVC. */
|
||||||
#endif
|
#endif
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <quotearg.h>
|
#include "quotearg.h"
|
||||||
#include <xalloc.h>
|
#include "xalloc.h"
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
@@ -44,9 +44,15 @@
|
|||||||
#ifndef CHAR_BIT
|
#ifndef CHAR_BIT
|
||||||
# define CHAR_BIT 8
|
# define CHAR_BIT 8
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef SIZE_MAX
|
||||||
|
# define SIZE_MAX ((size_t) -1)
|
||||||
|
#endif
|
||||||
#ifndef UCHAR_MAX
|
#ifndef UCHAR_MAX
|
||||||
# define UCHAR_MAX ((unsigned char) -1)
|
# define UCHAR_MAX ((unsigned char) -1)
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef UINT_MAX
|
||||||
|
# define UINT_MAX ((unsigned int) -1)
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAVE_C_BACKSLASH_A
|
#if HAVE_C_BACKSLASH_A
|
||||||
# define ALERT_CHAR '\a'
|
# define ALERT_CHAR '\a'
|
||||||
@@ -539,6 +545,7 @@ quotearg_n_options (int n, char const *arg,
|
|||||||
one small component of a "memory exhausted" message in slot 0. */
|
one small component of a "memory exhausted" message in slot 0. */
|
||||||
static char slot0[256];
|
static char slot0[256];
|
||||||
static unsigned int nslots = 1;
|
static unsigned int nslots = 1;
|
||||||
|
unsigned int n0 = n;
|
||||||
struct slotvec
|
struct slotvec
|
||||||
{
|
{
|
||||||
size_t size;
|
size_t size;
|
||||||
@@ -547,20 +554,26 @@ quotearg_n_options (int n, char const *arg,
|
|||||||
static struct slotvec slotvec0 = {sizeof slot0, slot0};
|
static struct slotvec slotvec0 = {sizeof slot0, slot0};
|
||||||
static struct slotvec *slotvec = &slotvec0;
|
static struct slotvec *slotvec = &slotvec0;
|
||||||
|
|
||||||
if (nslots <= n)
|
if (n < 0)
|
||||||
|
abort ();
|
||||||
|
|
||||||
|
if (nslots <= n0)
|
||||||
{
|
{
|
||||||
int n1 = n + 1;
|
unsigned int n1 = n0 + 1;
|
||||||
size_t s = n1 * sizeof (struct slotvec);
|
size_t s = n1 * sizeof *slotvec;
|
||||||
if (! (0 < n1 && n1 == s / sizeof (struct slotvec)))
|
|
||||||
abort ();
|
if (SIZE_MAX / UINT_MAX <= sizeof *slotvec
|
||||||
|
&& n1 != s / sizeof *slotvec)
|
||||||
|
xalloc_die ();
|
||||||
|
|
||||||
if (slotvec == &slotvec0)
|
if (slotvec == &slotvec0)
|
||||||
{
|
{
|
||||||
slotvec = (struct slotvec *) xmalloc (sizeof (struct slotvec));
|
slotvec = (struct slotvec *) xmalloc (sizeof *slotvec);
|
||||||
*slotvec = slotvec0;
|
*slotvec = slotvec0;
|
||||||
}
|
}
|
||||||
slotvec = (struct slotvec *) xrealloc (slotvec, s);
|
slotvec = (struct slotvec *) xrealloc (slotvec, s);
|
||||||
memset (slotvec + nslots, 0, (n1 - nslots) * sizeof (struct slotvec));
|
memset (slotvec + nslots, 0, (n1 - nslots) * sizeof *slotvec);
|
||||||
nslots = n;
|
nslots = n1;
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -580,7 +593,7 @@ quotearg_n_options (int n, char const *arg,
|
|||||||
}
|
}
|
||||||
|
|
||||||
char *
|
char *
|
||||||
quotearg_n (unsigned int n, char const *arg)
|
quotearg_n (int n, char const *arg)
|
||||||
{
|
{
|
||||||
return quotearg_n_options (n, arg, &default_quoting_options);
|
return quotearg_n_options (n, arg, &default_quoting_options);
|
||||||
}
|
}
|
||||||
@@ -592,7 +605,7 @@ quotearg (char const *arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
char *
|
char *
|
||||||
quotearg_n_style (unsigned int n, enum quoting_style s, char const *arg)
|
quotearg_n_style (int n, enum quoting_style s, char const *arg)
|
||||||
{
|
{
|
||||||
struct quoting_options o;
|
struct quoting_options o;
|
||||||
o.style = s;
|
o.style = s;
|
||||||
|
|||||||
+2
-3
@@ -89,7 +89,7 @@ size_t quotearg_buffer PARAMS ((char *buffer, size_t buffersize,
|
|||||||
The returned value points to static storage that can be
|
The returned value points to static storage that can be
|
||||||
reused by the next call to this function with the same value of N.
|
reused by the next call to this function with the same value of N.
|
||||||
N must be nonnegative. */
|
N must be nonnegative. */
|
||||||
char *quotearg_n PARAMS ((unsigned int n, char const *arg));
|
char *quotearg_n PARAMS ((int n, char const *arg));
|
||||||
|
|
||||||
/* Equivalent to quotearg_n (0, ARG). */
|
/* Equivalent to quotearg_n (0, ARG). */
|
||||||
char *quotearg PARAMS ((char const *arg));
|
char *quotearg PARAMS ((char const *arg));
|
||||||
@@ -97,8 +97,7 @@ char *quotearg PARAMS ((char const *arg));
|
|||||||
/* Use style S and storage slot N to return a quoted version of the string ARG.
|
/* Use style S and storage slot N to return a quoted version of the string ARG.
|
||||||
This is like quotearg_n (N, ARG), except that it uses S with no other
|
This is like quotearg_n (N, ARG), except that it uses S with no other
|
||||||
options to specify the quoting method. */
|
options to specify the quoting method. */
|
||||||
char *quotearg_n_style PARAMS ((unsigned int n, enum quoting_style s,
|
char *quotearg_n_style PARAMS ((int n, enum quoting_style s, char const *arg));
|
||||||
char const *arg));
|
|
||||||
|
|
||||||
/* Equivalent to quotearg_n_style (0, S, ARG). */
|
/* Equivalent to quotearg_n_style (0, S, ARG). */
|
||||||
char *quotearg_style PARAMS ((enum quoting_style s, char const *arg));
|
char *quotearg_style PARAMS ((enum quoting_style s, char const *arg));
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
+2
-10
@@ -1,5 +1,5 @@
|
|||||||
/* xstrdup.c -- copy a string with out of memory checking
|
/* xstrdup.c -- copy a string with out of memory checking
|
||||||
Copyright (C) 1990, 1996, 1998 Free Software Foundation, Inc.
|
Copyright (C) 1990, 1996, 1998, 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -19,14 +19,6 @@
|
|||||||
# include <config.h>
|
# include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef PARAMS
|
|
||||||
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
|
|
||||||
# define PARAMS(Args) Args
|
|
||||||
# else
|
|
||||||
# define PARAMS(Args) ()
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if STDC_HEADERS || HAVE_STRING_H
|
#if STDC_HEADERS || HAVE_STRING_H
|
||||||
# include <string.h>
|
# include <string.h>
|
||||||
#else
|
#else
|
||||||
@@ -35,7 +27,7 @@
|
|||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
char *xmalloc PARAMS ((size_t n));
|
#include "xalloc.h"
|
||||||
|
|
||||||
/* Return a newly allocated copy of STRING. */
|
/* Return a newly allocated copy of STRING. */
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
/* Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
|
/* Copyright (C) 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
NOTE: The canonical source of this file is maintained with the GNU C Library.
|
|
||||||
Bugs can be reported to bug-glibc@prep.ai.mit.edu.
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify it
|
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
|
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,
|
along with this program; if not, write to the Free Software Foundation,
|
||||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#if HAVE_CONFIG_H
|
||||||
# include "config.h"
|
# include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
#if STDC_HEADERS || HAVE_STRING_H
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
#if defined _LIBC || defined STDC_HEADERS
|
|
||||||
# include <stdlib.h>
|
|
||||||
# include <string.h>
|
# include <string.h>
|
||||||
#else
|
#else
|
||||||
char *malloc ();
|
# include <strings.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include "xalloc.h"
|
||||||
|
|
||||||
#ifndef HAVE_DECL_STRNLEN
|
#ifndef HAVE_DECL_STRNLEN
|
||||||
"this configure-time declaration test was not run"
|
"this configure-time declaration test was not run"
|
||||||
#endif
|
#endif
|
||||||
@@ -38,18 +35,13 @@ char *malloc ();
|
|||||||
size_t strnlen ();
|
size_t strnlen ();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#undef __strndup
|
char *xstrndup (const char *s, size_t n);
|
||||||
#undef strndup
|
|
||||||
|
|
||||||
#ifndef weak_alias
|
|
||||||
# define __strndup strndup
|
|
||||||
#endif
|
|
||||||
|
|
||||||
char *
|
char *
|
||||||
__strndup (const char *s, size_t n)
|
xstrndup (const char *s, size_t n)
|
||||||
{
|
{
|
||||||
size_t len = strnlen (s, n);
|
size_t len = strnlen (s, n);
|
||||||
char *new = malloc (len + 1);
|
char *new = xmalloc (len + 1);
|
||||||
|
|
||||||
if (new == NULL)
|
if (new == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -57,6 +49,3 @@ __strndup (const char *s, size_t n)
|
|||||||
new[len] = '\0';
|
new[len] = '\0';
|
||||||
return (char *) memcpy (new, s, len);
|
return (char *) memcpy (new, s, len);
|
||||||
}
|
}
|
||||||
#ifdef weak_alias
|
|
||||||
weak_alias (__strndup, strndup)
|
|
||||||
#endif
|
|
||||||
+5
-5
@@ -1,4 +1,4 @@
|
|||||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
# Makefile.in generated by automake 1.5c from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||||
@@ -13,7 +13,6 @@
|
|||||||
# PARTICULAR PURPOSE.
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
|
||||||
SHELL = @SHELL@
|
SHELL = @SHELL@
|
||||||
|
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
@@ -48,6 +47,7 @@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
|||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
INSTALL_HEADER = $(INSTALL_DATA)
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
transform = @program_transform_name@
|
transform = @program_transform_name@
|
||||||
@@ -97,10 +97,10 @@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
|||||||
USE_NLS = @USE_NLS@
|
USE_NLS = @USE_NLS@
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
WARNING_CFLAGS = @WARNING_CFLAGS@
|
WARNING_CFLAGS = @WARNING_CFLAGS@
|
||||||
|
WERROR_CFLAGS = @WERROR_CFLAGS@
|
||||||
am__include = @am__include@
|
am__include = @am__include@
|
||||||
am__quote = @am__quote@
|
am__quote = @am__quote@
|
||||||
install_sh = @install_sh@
|
install_sh = @install_sh@
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
c-bs-a.m4 \
|
c-bs-a.m4 \
|
||||||
codeset.m4 \
|
codeset.m4 \
|
||||||
@@ -138,7 +138,6 @@ uninstall-info-am:
|
|||||||
tags: TAGS
|
tags: TAGS
|
||||||
TAGS:
|
TAGS:
|
||||||
|
|
||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
top_distdir = ..
|
top_distdir = ..
|
||||||
@@ -146,7 +145,7 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
|||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(DISTFILES)
|
||||||
@for file in $(DISTFILES); do \
|
@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,/[^/]*$$,,'`; \
|
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||||
@@ -177,6 +176,7 @@ install-am: all-am
|
|||||||
installcheck: installcheck-am
|
installcheck: installcheck-am
|
||||||
install-strip:
|
install-strip:
|
||||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
INSTALL_STRIP_FLAG=-s \
|
||||||
`test -z '$(STRIP)' || \
|
`test -z '$(STRIP)' || \
|
||||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||||
mostlyclean-generic:
|
mostlyclean-generic:
|
||||||
|
|||||||
+1
-2
@@ -1,6 +1,5 @@
|
|||||||
ChangeLog
|
ChangeLog
|
||||||
Makefile
|
Makefile Makefile.in
|
||||||
Makefile.in
|
|
||||||
POTFILES
|
POTFILES
|
||||||
bison.pot
|
bison.pot
|
||||||
stamp-cat-id
|
stamp-cat-id
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ src/files.c
|
|||||||
src/getargs.c
|
src/getargs.c
|
||||||
src/lalr.c
|
src/lalr.c
|
||||||
src/lex.c
|
src/lex.c
|
||||||
src/main.c
|
|
||||||
src/output.c
|
src/output.c
|
||||||
src/print.c
|
src/print.c
|
||||||
src/print_graph.c
|
src/print_graph.c
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bison 1.25\n"
|
"Project-Id-Version: bison 1.25\n"
|
||||||
"POT-Creation-Date: 2001-11-20 14:16+0100\n"
|
"POT-Creation-Date: 2002-01-11 14:38+0100\n"
|
||||||
"PO-Revision-Date: 1996-10-10 17:54 MET DST\n"
|
"PO-Revision-Date: 1996-10-10 17:54 MET DST\n"
|
||||||
"Last-Translator: Ulrich Drepper <[email protected]>\n"
|
"Last-Translator: Ulrich Drepper <[email protected]>\n"
|
||||||
"Language-Team: German <[email protected]>\n"
|
"Language-Team: German <[email protected]>\n"
|
||||||
@@ -18,7 +18,7 @@ msgstr ""
|
|||||||
msgid "too many states (max %d)"
|
msgid "too many states (max %d)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
|
#: lib/error.c:128 lib/error.c:156 src/complain.c:99
|
||||||
msgid "Unknown system error"
|
msgid "Unknown system error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -26,83 +26,83 @@ msgstr ""
|
|||||||
msgid "warning: "
|
msgid "warning: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/complain.c:238 src/complain.c:279
|
#: src/complain.c:238
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "fatal error: "
|
msgid "fatal error: "
|
||||||
msgstr "fataler Fehler: %s\n"
|
msgstr "fataler Fehler: %s\n"
|
||||||
|
|
||||||
#: src/conflicts.c:45
|
#: src/conflicts.c:44
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||||
msgstr "Konflikt in Zustand %d zwischen Regel %d and Token %s wurde %s.\n"
|
msgstr "Konflikt in Zustand %d zwischen Regel %d and Token %s wurde %s.\n"
|
||||||
|
|
||||||
#: src/conflicts.c:111 src/conflicts.c:134
|
#: src/conflicts.c:94 src/conflicts.c:119
|
||||||
msgid "reduce"
|
msgid "reduce"
|
||||||
msgstr "durch Reduzierung gelöst"
|
msgstr "durch Reduzierung gelöst"
|
||||||
|
|
||||||
#: src/conflicts.c:117 src/conflicts.c:130
|
#: src/conflicts.c:101 src/conflicts.c:115
|
||||||
msgid "shift"
|
msgid "shift"
|
||||||
msgstr "durch Schieben gelöst"
|
msgstr "durch Schieben gelöst"
|
||||||
|
|
||||||
#: src/conflicts.c:138
|
#: src/conflicts.c:123
|
||||||
msgid "an error"
|
msgid "an error"
|
||||||
msgstr "als Fehler betrachtet"
|
msgstr "als Fehler betrachtet"
|
||||||
|
|
||||||
#: src/conflicts.c:389
|
#: src/conflicts.c:302
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%d shift/reduce conflict"
|
msgid "%d shift/reduce conflict"
|
||||||
msgid_plural "%d shift/reduce conflicts"
|
msgid_plural "%d shift/reduce conflicts"
|
||||||
msgstr[0] " %d Schiebe/Reduziere Konflikte"
|
msgstr[0] " %d Schiebe/Reduziere Konflikte"
|
||||||
|
|
||||||
#: src/conflicts.c:396
|
#: src/conflicts.c:309
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "and"
|
msgid "and"
|
||||||
msgstr " und"
|
msgstr " und"
|
||||||
|
|
||||||
#: src/conflicts.c:402
|
#: src/conflicts.c:315
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%d reduce/reduce conflict"
|
msgid "%d reduce/reduce conflict"
|
||||||
msgid_plural "%d reduce/reduce conflicts"
|
msgid_plural "%d reduce/reduce conflicts"
|
||||||
msgstr[0] " %d Reduziere/Reduziere Konflikte"
|
msgstr[0] " %d Reduziere/Reduziere Konflikte"
|
||||||
|
|
||||||
#: src/conflicts.c:426
|
#: src/conflicts.c:340
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "State %d contains "
|
msgid "State %d contains "
|
||||||
msgstr "Zustand %d enthält"
|
msgstr "Zustand %d enthält"
|
||||||
|
|
||||||
#. If invoked with `--yacc', use the output format specified by
|
#. If invoked with `--yacc', use the output format specified by
|
||||||
#. POSIX.
|
#. POSIX.
|
||||||
#: src/conflicts.c:460
|
#: src/conflicts.c:387
|
||||||
msgid "conflicts: "
|
msgid "conflicts: "
|
||||||
msgstr "Konflikte: "
|
msgstr "Konflikte: "
|
||||||
|
|
||||||
#: src/conflicts.c:462
|
#: src/conflicts.c:389
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d shift/reduce"
|
msgid " %d shift/reduce"
|
||||||
msgstr " %d Schiebe/Reduziere"
|
msgstr " %d Schiebe/Reduziere"
|
||||||
|
|
||||||
#: src/conflicts.c:466
|
#: src/conflicts.c:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d reduce/reduce"
|
msgid " %d reduce/reduce"
|
||||||
msgstr " %d Reduziere/Reduziere"
|
msgstr " %d Reduziere/Reduziere"
|
||||||
|
|
||||||
#: src/conflicts.c:471 src/reduce.c:493
|
#: src/conflicts.c:398 src/reduce.c:508
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s contains "
|
msgid "%s contains "
|
||||||
msgstr "%s enthält "
|
msgstr "%s enthält "
|
||||||
|
|
||||||
#: src/conflicts.c:480
|
#: src/conflicts.c:412
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "expected %d shift/reduce conflict\n"
|
msgid "expected %d shift/reduce conflict\n"
|
||||||
msgid_plural "expected %d shift/reduce conflicts\n"
|
msgid_plural "expected %d shift/reduce conflicts\n"
|
||||||
msgstr[0] " %d Schiebe/Reduziere Konflikte"
|
msgstr[0] " %d Schiebe/Reduziere Konflikte"
|
||||||
|
|
||||||
#: src/conflicts.c:567 src/conflicts.c:688
|
#: src/conflicts.c:463 src/conflicts.c:540
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||||
msgstr " %-4s\t[reduziere mit Regel %d (%s)]\n"
|
msgstr " %-4s\t[reduziere mit Regel %d (%s)]\n"
|
||||||
|
|
||||||
#: src/conflicts.c:579 src/print.c:156
|
#: src/conflicts.c:467 src/print.c:154
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" $default\treduce using rule %d (%s)\n"
|
" $default\treduce using rule %d (%s)\n"
|
||||||
@@ -111,22 +111,22 @@ msgstr ""
|
|||||||
" $default\treduziere mit Regel %d (%s)\n"
|
" $default\treduziere mit Regel %d (%s)\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/conflicts.c:668 src/conflicts.c:682
|
#: src/conflicts.c:521 src/conflicts.c:534
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||||
msgstr " %-4s\treduziere mit Tegel %d (%s)\n"
|
msgstr " %-4s\treduziere mit Tegel %d (%s)\n"
|
||||||
|
|
||||||
#: src/conflicts.c:708
|
#: src/conflicts.c:550
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $default\treduce using rule %d (%s)\n"
|
msgid " $default\treduce using rule %d (%s)\n"
|
||||||
msgstr " $default\treduziere mit Regel %d (%s)\n"
|
msgstr " $default\treduziere mit Regel %d (%s)\n"
|
||||||
|
|
||||||
#: src/files.c:143
|
#: src/files.c:150
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/files.c:162
|
#: src/files.c:169
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -200,27 +200,27 @@ msgid ""
|
|||||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/getargs.c:215 src/lex.c:694
|
#: src/getargs.c:223 src/lex.c:694
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is no longer supported"
|
msgid "`%s' is no longer supported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/getargs.c:239
|
#: src/getargs.c:247
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Try `%s --help' for more information.\n"
|
msgid "Try `%s --help' for more information.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/getargs.c:246
|
#: src/getargs.c:254
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: no grammar file given\n"
|
msgid "%s: no grammar file given\n"
|
||||||
msgstr "%s: keine Grammatik-Datei angegeben\n"
|
msgstr "%s: keine Grammatik-Datei angegeben\n"
|
||||||
|
|
||||||
#: src/getargs.c:250
|
#: src/getargs.c:258
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%s: extra arguments ignored after `%s'\n"
|
msgid "%s: extra arguments ignored after `%s'\n"
|
||||||
msgstr "%s: zusätzliche Argumente nach »%s« werden ignoriert\n"
|
msgstr "%s: zusätzliche Argumente nach »%s« werden ignoriert\n"
|
||||||
|
|
||||||
#: src/lalr.c:293
|
#: src/lalr.c:256
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many gotos (max %d)"
|
msgid "too many gotos (max %d)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -229,7 +229,7 @@ msgstr ""
|
|||||||
msgid "unexpected `/' found and ignored"
|
msgid "unexpected `/' found and ignored"
|
||||||
msgstr "»/« wird hier nicht erwartet und wird deshalb ignoriert"
|
msgstr "»/« wird hier nicht erwartet und wird deshalb ignoriert"
|
||||||
|
|
||||||
#: src/lex.c:105 src/reader.c:269
|
#: src/lex.c:105 src/reader.c:280
|
||||||
msgid "unterminated comment"
|
msgid "unterminated comment"
|
||||||
msgstr "unbeendeter Kommentar"
|
msgstr "unbeendeter Kommentar"
|
||||||
|
|
||||||
@@ -280,55 +280,50 @@ msgstr ""
|
|||||||
msgid "`%s' requires an argument"
|
msgid "`%s' requires an argument"
|
||||||
msgstr "%s: die Option »%s« erfordert ein Argument\n"
|
msgstr "%s: die Option »%s« erfordert ein Argument\n"
|
||||||
|
|
||||||
#: src/main.c:128
|
#: src/output.c:951
|
||||||
#, fuzzy, c-format
|
|
||||||
msgid "%s: internal error: %s\n"
|
|
||||||
msgstr "interner Fehler, %s\n"
|
|
||||||
|
|
||||||
#: src/output.c:979
|
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "maximum table size (%d) exceeded"
|
msgid "maximum table size (%d) exceeded"
|
||||||
msgstr "maximale Tabellengröße (%s) überschritten"
|
msgstr "maximale Tabellengröße (%s) überschritten"
|
||||||
|
|
||||||
#: src/print.c:38
|
#: src/print.c:39
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " type %d is %s\n"
|
msgid " type %d is %s\n"
|
||||||
msgstr " Typ %d ist %s\n"
|
msgstr " Typ %d ist %s\n"
|
||||||
|
|
||||||
#: src/print.c:78
|
#: src/print.c:88
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " (rule %d)"
|
msgid " (rule %d)"
|
||||||
msgstr " (Regel %d)"
|
msgstr " (Regel %d)"
|
||||||
|
|
||||||
#: src/print.c:98
|
#: src/print.c:108
|
||||||
msgid " $default\taccept\n"
|
msgid " $default\taccept\n"
|
||||||
msgstr " $default\takzeptiere\n"
|
msgstr " $default\takzeptiere\n"
|
||||||
|
|
||||||
#: src/print.c:100
|
#: src/print.c:110
|
||||||
msgid " NO ACTIONS\n"
|
msgid " NO ACTIONS\n"
|
||||||
msgstr " KEINE AKTIONEN\n"
|
msgstr " KEINE AKTIONEN\n"
|
||||||
|
|
||||||
#: src/print.c:120
|
#: src/print.c:124
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $ \tgo to state %d\n"
|
msgid " $ \tgo to state %d\n"
|
||||||
msgstr " $ \tgehe zu Zustand %d über\n"
|
msgstr " $ \tgehe zu Zustand %d über\n"
|
||||||
|
|
||||||
#: src/print.c:123
|
#: src/print.c:127
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tshift, and go to state %d\n"
|
msgid " %-4s\tshift, and go to state %d\n"
|
||||||
msgstr " %-4s\tSchiebe und gehe zu Zustand %d über\n"
|
msgstr " %-4s\tSchiebe und gehe zu Zustand %d über\n"
|
||||||
|
|
||||||
#: src/print.c:144
|
#: src/print.c:142
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\terror (nonassociative)\n"
|
msgid " %-4s\terror (nonassociative)\n"
|
||||||
msgstr " %-4s\tFehler (nicht assoziativ)\n"
|
msgstr " %-4s\tFehler (nicht assoziativ)\n"
|
||||||
|
|
||||||
#: src/print.c:173
|
#: src/print.c:169
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tgo to state %d\n"
|
msgid " %-4s\tgo to state %d\n"
|
||||||
msgstr " %-4s\tgehe zu Zustand %d über\n"
|
msgstr " %-4s\tgehe zu Zustand %d über\n"
|
||||||
|
|
||||||
#: src/print.c:185
|
#: src/print.c:180
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "state %d"
|
msgid "state %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -338,19 +333,23 @@ msgstr ""
|
|||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#. rule # : LHS -> RHS
|
#. rule # : LHS -> RHS
|
||||||
#: src/print.c:215
|
#: src/print.c:211
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Grammar"
|
msgid "Grammar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"\n"
|
"\n"
|
||||||
"Grammatik\n"
|
"Grammatik\n"
|
||||||
|
|
||||||
#: src/print.c:220
|
#: src/print.c:212
|
||||||
#, c-format
|
msgid "Number, Line, Rule"
|
||||||
msgid "rule %-4d %s ->"
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/print.c:217
|
||||||
|
#, fuzzy, c-format
|
||||||
|
msgid " %3d %3d %s ->"
|
||||||
msgstr "Regel %-4d %s ->"
|
msgstr "Regel %-4d %s ->"
|
||||||
|
|
||||||
#: src/print.c:226
|
#: src/print.c:224
|
||||||
msgid "empty"
|
msgid "empty"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -363,7 +362,7 @@ msgstr ""
|
|||||||
"Terminale und die Regeln un denen sie verwendet werden\n"
|
"Terminale und die Regeln un denen sie verwendet werden\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/print.c:255
|
#: src/print.c:256
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Nonterminals, with rules where they appear"
|
msgid "Nonterminals, with rules where they appear"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -371,11 +370,11 @@ msgstr ""
|
|||||||
"Nicht-Terminal und die Regeln in denen sie verwendet werden\n"
|
"Nicht-Terminal und die Regeln in denen sie verwendet werden\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/print.c:281
|
#: src/print.c:282
|
||||||
msgid " on left:"
|
msgid " on left:"
|
||||||
msgstr " auf der linken Seite:"
|
msgstr " auf der linken Seite:"
|
||||||
|
|
||||||
#: src/print.c:296
|
#: src/print.c:297
|
||||||
msgid " on right:"
|
msgid " on right:"
|
||||||
msgstr " auf der rechten Seite:"
|
msgstr " auf der rechten Seite:"
|
||||||
|
|
||||||
@@ -384,7 +383,7 @@ msgstr " auf der rechten Seite:"
|
|||||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||||
#. obstack_sgrow (node_obstack, "\n");
|
#. obstack_sgrow (node_obstack, "\n");
|
||||||
#.
|
#.
|
||||||
#: src/print_graph.c:166
|
#: src/print_graph.c:146
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%-4s\terror (nonassociative)"
|
msgid "%-4s\terror (nonassociative)"
|
||||||
msgstr " %-4s\tFehler (nicht assoziativ)\n"
|
msgstr " %-4s\tFehler (nicht assoziativ)\n"
|
||||||
@@ -393,246 +392,246 @@ msgstr " %-4s\tFehler (nicht assoziativ)\n"
|
|||||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||||
#. obstack_sgrow (node_obstack, "\n");
|
#. obstack_sgrow (node_obstack, "\n");
|
||||||
#.
|
#.
|
||||||
#: src/print_graph.c:181
|
#: src/print_graph.c:161
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "$default\treduce using rule %d (%s)"
|
msgid "$default\treduce using rule %d (%s)"
|
||||||
msgstr " $default\treduziere mit Regel %d (%s)\n"
|
msgstr " $default\treduziere mit Regel %d (%s)\n"
|
||||||
|
|
||||||
#: src/reader.c:78
|
#: src/reader.c:89
|
||||||
msgid " Skipping to next \\n"
|
msgid " Skipping to next \\n"
|
||||||
msgstr " Überspringe Zeichen bis zum nächsten \\n"
|
msgstr " Überspringe Zeichen bis zum nächsten \\n"
|
||||||
|
|
||||||
#: src/reader.c:80
|
#: src/reader.c:91
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " Skipping to next %c"
|
msgid " Skipping to next %c"
|
||||||
msgstr " Überspringe Zeichen bis zum nächten %c"
|
msgstr " Überspringe Zeichen bis zum nächten %c"
|
||||||
|
|
||||||
#: src/reader.c:131 src/reader.c:143
|
#: src/reader.c:142 src/reader.c:154
|
||||||
msgid "invalid $ value"
|
msgid "invalid $ value"
|
||||||
msgstr "unzulässiger $ Wert"
|
msgstr "unzulässiger $ Wert"
|
||||||
|
|
||||||
#: src/reader.c:169 src/reader.c:184
|
#: src/reader.c:180 src/reader.c:195
|
||||||
msgid "unterminated string at end of file"
|
msgid "unterminated string at end of file"
|
||||||
msgstr "unbeendete Zeichenkette am Ende der Datei"
|
msgstr "unbeendete Zeichenkette am Ende der Datei"
|
||||||
|
|
||||||
#: src/reader.c:172
|
#: src/reader.c:183
|
||||||
msgid "unterminated string"
|
msgid "unterminated string"
|
||||||
msgstr "unbeendete Zeichenkette"
|
msgstr "unbeendete Zeichenkette"
|
||||||
|
|
||||||
#: src/reader.c:325 src/reader.c:389
|
#: src/reader.c:336 src/reader.c:400
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "@%s ist unzulässig"
|
msgstr "@%s ist unzulässig"
|
||||||
|
|
||||||
#: src/reader.c:365
|
#: src/reader.c:376
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$$ of `%s' has no declared type"
|
msgid "$$ of `%s' has no declared type"
|
||||||
msgstr "$$ von »%s« hat keine deklarierten Wert"
|
msgstr "$$ von »%s« hat keine deklarierten Wert"
|
||||||
|
|
||||||
#: src/reader.c:382
|
#: src/reader.c:393
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "»%s« von »%s« hat keine deklarierten Wert"
|
msgstr "»%s« von »%s« hat keine deklarierten Wert"
|
||||||
|
|
||||||
#: src/reader.c:436
|
#: src/reader.c:447
|
||||||
msgid "unterminated `%{' definition"
|
msgid "unterminated `%{' definition"
|
||||||
msgstr "unbeendete »%{« Definition"
|
msgstr "unbeendete »%{« Definition"
|
||||||
|
|
||||||
#: src/reader.c:481 src/reader.c:595 src/reader.c:645
|
#: src/reader.c:492 src/reader.c:607 src/reader.c:657
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Premature EOF after %s"
|
msgid "Premature EOF after %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/reader.c:498
|
#: src/reader.c:509
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' used more than once as a literal string"
|
msgid "symbol `%s' used more than once as a literal string"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/reader.c:501
|
#: src/reader.c:512
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' given more than one literal string"
|
msgid "symbol `%s' given more than one literal string"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/reader.c:522 src/reader.c:664
|
#: src/reader.c:533 src/reader.c:676
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol %s redefined"
|
msgid "symbol %s redefined"
|
||||||
msgstr "Symbol %s noch einmal definiert"
|
msgstr "Symbol %s noch einmal definiert"
|
||||||
|
|
||||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1280
|
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1298
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type redeclaration for %s"
|
msgid "type redeclaration for %s"
|
||||||
msgstr "erneute Deklaration des Typs für %s"
|
msgstr "erneute Deklaration des Typs für %s"
|
||||||
|
|
||||||
#: src/reader.c:541
|
#: src/reader.c:552
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is invalid in %s"
|
msgid "`%s' is invalid in %s"
|
||||||
msgstr "»%s« ist in %s nicht erlaubt"
|
msgstr "»%s« ist in %s nicht erlaubt"
|
||||||
|
|
||||||
#: src/reader.c:558 src/reader.c:723
|
#: src/reader.c:570 src/reader.c:735
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "mehr als eine %start Deklaration"
|
msgstr "mehr als eine %start Deklaration"
|
||||||
|
|
||||||
#: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1258
|
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1276
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "invalid %s declaration"
|
msgid "invalid %s declaration"
|
||||||
msgstr "ungültige %start Deklaration"
|
msgstr "ungültige %start Deklaration"
|
||||||
|
|
||||||
#: src/reader.c:580
|
#: src/reader.c:592
|
||||||
msgid "%type declaration has no <typename>"
|
msgid "%type declaration has no <typename>"
|
||||||
msgstr "%type Deklaration hat keinen <Typ-Namen>"
|
msgstr "%type Deklaration hat keinen <Typ-Namen>"
|
||||||
|
|
||||||
#: src/reader.c:615
|
#: src/reader.c:627
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "invalid %%type declaration due to item: %s"
|
msgid "invalid %%type declaration due to item: %s"
|
||||||
msgstr "ungültige %%type Deklaration wegen »%s«"
|
msgstr "ungültige %%type Deklaration wegen »%s«"
|
||||||
|
|
||||||
#: src/reader.c:660
|
#: src/reader.c:672
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "redefining precedence of %s"
|
msgid "redefining precedence of %s"
|
||||||
msgstr "Stellenwertigkeit von %s wird erneut definiert"
|
msgstr "Stellenwertigkeit von %s wird erneut definiert"
|
||||||
|
|
||||||
#: src/reader.c:683
|
#: src/reader.c:695
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid text (%s) - number should be after identifier"
|
msgid "invalid text (%s) - number should be after identifier"
|
||||||
msgstr "unzulässiger Text (%s) - Nummer sollte nach Bezeichner kommen"
|
msgstr "unzulässiger Text (%s) - Nummer sollte nach Bezeichner kommen"
|
||||||
|
|
||||||
#: src/reader.c:693
|
#: src/reader.c:705
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unexpected item: %s"
|
msgid "unexpected item: %s"
|
||||||
msgstr "unerwartetes Symbol: %s"
|
msgstr "unerwartetes Symbol: %s"
|
||||||
|
|
||||||
#: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
|
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1187
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "unmatched %s"
|
msgid "unmatched %s"
|
||||||
msgstr "»{« hat kein Gegenstück"
|
msgstr "»{« hat kein Gegenstück"
|
||||||
|
|
||||||
#: src/reader.c:798
|
#: src/reader.c:810
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "argument of %%expect is not an integer"
|
msgid "argument of %%expect is not an integer"
|
||||||
msgstr "Argument von %expect ist keine ganze Zahl"
|
msgstr "Argument von %expect ist keine ganze Zahl"
|
||||||
|
|
||||||
#: src/reader.c:844
|
#: src/reader.c:856
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unrecognized item %s, expected an identifier"
|
msgid "unrecognized item %s, expected an identifier"
|
||||||
msgstr "unerwartetes Symbol %s, hier wird ein Bezeichner erwartet"
|
msgstr "unerwartetes Symbol %s, hier wird ein Bezeichner erwartet"
|
||||||
|
|
||||||
#: src/reader.c:866
|
#: src/reader.c:878
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "expected string constant instead of %s"
|
msgid "expected string constant instead of %s"
|
||||||
msgstr "hier wird eine Zeichenkette erwartet, nicht %s"
|
msgstr "hier wird eine Zeichenkette erwartet, nicht %s"
|
||||||
|
|
||||||
#: src/reader.c:1014
|
#: src/reader.c:1026
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unrecognized: %s"
|
msgid "unrecognized: %s"
|
||||||
msgstr "unbekannt: %s"
|
msgstr "unbekannt: %s"
|
||||||
|
|
||||||
#: src/reader.c:1019
|
#: src/reader.c:1031
|
||||||
msgid "no input grammar"
|
msgid "no input grammar"
|
||||||
msgstr "keine Eingabe-Grammatik"
|
msgstr "keine Eingabe-Grammatik"
|
||||||
|
|
||||||
#: src/reader.c:1024
|
#: src/reader.c:1036
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unknown character: %s"
|
msgid "unknown character: %s"
|
||||||
msgstr "unbekanntes Zeichen: %s"
|
msgstr "unbekanntes Zeichen: %s"
|
||||||
|
|
||||||
#: src/reader.c:1192
|
#: src/reader.c:1210
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "unterminated %guard clause"
|
msgid "unterminated %guard clause"
|
||||||
msgstr "unbeendeter %%guard Fall"
|
msgstr "unbeendeter %%guard Fall"
|
||||||
|
|
||||||
#: src/reader.c:1345
|
#: src/reader.c:1363
|
||||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"falsch geformte Regel: führendes Symbol wird nicht von einem Semikolon "
|
"falsch geformte Regel: führendes Symbol wird nicht von einem Semikolon "
|
||||||
"gefolgt"
|
"gefolgt"
|
||||||
|
|
||||||
#: src/reader.c:1352
|
#: src/reader.c:1370
|
||||||
msgid "grammar starts with vertical bar"
|
msgid "grammar starts with vertical bar"
|
||||||
msgstr "Grammatik fängt mit einem vertikalen Strich (»|«) an"
|
msgstr "Grammatik fängt mit einem vertikalen Strich (»|«) an"
|
||||||
|
|
||||||
#: src/reader.c:1381
|
#: src/reader.c:1398
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule given for %s, which is a token"
|
msgid "rule given for %s, which is a token"
|
||||||
msgstr "Regel für %s vorhanden, welches aber ein Token ist"
|
msgstr "Regel für %s vorhanden, welches aber ein Token ist"
|
||||||
|
|
||||||
#: src/reader.c:1483
|
#: src/reader.c:1498
|
||||||
msgid "two @prec's in a row"
|
msgid "two @prec's in a row"
|
||||||
msgstr "zwei @prec Anweisungen nacheinander"
|
msgstr "zwei @prec Anweisungen nacheinander"
|
||||||
|
|
||||||
#: src/reader.c:1491
|
#: src/reader.c:1506
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%%guard present but %%semantic_parser not specified"
|
msgid "%%guard present but %%semantic_parser not specified"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%%guard Anweisung vorhanden, jedoch wird %%semantic_parser nicht angegeben"
|
"%%guard Anweisung vorhanden, jedoch wird %%semantic_parser nicht angegeben"
|
||||||
|
|
||||||
#: src/reader.c:1500
|
#: src/reader.c:1515
|
||||||
msgid "two actions at end of one rule"
|
msgid "two actions at end of one rule"
|
||||||
msgstr "Zwei Aktionen am Ende einer Regel"
|
msgstr "Zwei Aktionen am Ende einer Regel"
|
||||||
|
|
||||||
#: src/reader.c:1514
|
#: src/reader.c:1529
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type clash (`%s' `%s') on default action"
|
msgid "type clash (`%s' `%s') on default action"
|
||||||
msgstr "Typkonflikt (»%s« »%s«) bei Default Aktion"
|
msgstr "Typkonflikt (»%s« »%s«) bei Default Aktion"
|
||||||
|
|
||||||
#: src/reader.c:1520
|
#: src/reader.c:1535
|
||||||
msgid "empty rule for typed nonterminal, and no action"
|
msgid "empty rule for typed nonterminal, and no action"
|
||||||
msgstr "leere Regel für Nicht-Terminal vmit Typ und keine Aktion"
|
msgstr "leere Regel für Nicht-Terminal vmit Typ und keine Aktion"
|
||||||
|
|
||||||
#: src/reader.c:1564
|
#: src/reader.c:1579
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid input: %s"
|
msgid "invalid input: %s"
|
||||||
msgstr "ungültige Eingabe: %s"
|
msgstr "ungültige Eingabe: %s"
|
||||||
|
|
||||||
#: src/reader.c:1572
|
#: src/reader.c:1587
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "zu viele Symbols (Token plus Nicht-Terminal); Maximum %s"
|
msgstr "zu viele Symbols (Token plus Nicht-Terminal); Maximum %s"
|
||||||
|
|
||||||
#: src/reader.c:1575
|
#: src/reader.c:1590
|
||||||
msgid "no rules in the input grammar"
|
msgid "no rules in the input grammar"
|
||||||
msgstr "Eingabegrammatik enthält keine Regeln"
|
msgstr "Eingabegrammatik enthält keine Regeln"
|
||||||
|
|
||||||
#: src/reader.c:1599
|
#: src/reader.c:1614
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Symbol %s wird benutzt, ist aber nicht als Token definiert und hat keine "
|
"Symbol %s wird benutzt, ist aber nicht als Token definiert und hat keine "
|
||||||
"Regel"
|
"Regel"
|
||||||
|
|
||||||
#: src/reader.c:1734
|
#: src/reader.c:1749
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "tokens %s and %s both assigned number %d"
|
msgid "tokens %s and %s both assigned number %d"
|
||||||
msgstr "Token %s und %s haben die selbe nummer %s"
|
msgstr "Token %s und %s haben die selbe nummer %s"
|
||||||
|
|
||||||
#: src/reader.c:1787
|
#: src/reader.c:1802
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "conflicting precedences for %s and %s"
|
msgid "conflicting precedences for %s and %s"
|
||||||
msgstr "Vorrangwertigkeiten für %s und %s widersprechen sich"
|
msgstr "Vorrangwertigkeiten für %s und %s widersprechen sich"
|
||||||
|
|
||||||
#: src/reader.c:1799
|
#: src/reader.c:1814
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "conflicting assoc values for %s and %s"
|
msgid "conflicting assoc values for %s and %s"
|
||||||
msgstr "assoc Werte für %s nd %s widersprechen sich"
|
msgstr "assoc Werte für %s nd %s widersprechen sich"
|
||||||
|
|
||||||
#: src/reader.c:1838
|
#: src/reader.c:1853
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the start symbol %s is undefined"
|
msgid "the start symbol %s is undefined"
|
||||||
msgstr "das Startsymbol %s ist undefiniert"
|
msgstr "das Startsymbol %s ist undefiniert"
|
||||||
|
|
||||||
#: src/reader.c:1840
|
#: src/reader.c:1855
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the start symbol %s is a token"
|
msgid "the start symbol %s is a token"
|
||||||
msgstr "das Startsymbol %s ist ein Token"
|
msgstr "das Startsymbol %s ist ein Token"
|
||||||
|
|
||||||
#: src/reduce.c:400
|
#: src/reduce.c:409
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Useless nonterminals:"
|
msgid "Useless nonterminals:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Nutzlose Nicht-Terminale:\n"
|
"Nutzlose Nicht-Terminale:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:414
|
#: src/reduce.c:422
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Terminals which are not used:"
|
msgid "Terminals which are not used:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -641,7 +640,7 @@ msgstr ""
|
|||||||
"Nicht genutzte Terminale:\n"
|
"Nicht genutzte Terminale:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:425
|
#: src/reduce.c:433
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Useless rules:"
|
msgid "Useless rules:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -650,60 +649,29 @@ msgstr ""
|
|||||||
"Ungenutzte Regeln:\n"
|
"Ungenutzte Regeln:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:451
|
#: src/reduce.c:503
|
||||||
msgid ""
|
#, fuzzy, c-format
|
||||||
"Variables\n"
|
msgid "%d rule never reduced\n"
|
||||||
"---------\n"
|
msgid_plural "%d rules never reduced\n"
|
||||||
"\n"
|
msgstr[0] "%d wurde niemals reduziert\n"
|
||||||
msgstr ""
|
|
||||||
"Variablen\n"
|
|
||||||
"---------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:452
|
#: src/reduce.c:511
|
||||||
msgid "Value Sprec Sassoc Tag\n"
|
#, fuzzy, c-format
|
||||||
msgstr "Wert Sprec Sassoc Tag\n"
|
msgid "%d useless nonterminal"
|
||||||
|
msgid_plural "%d useless nonterminals"
|
||||||
|
msgstr[0] "%d ungenutzte Nicht-Terminal"
|
||||||
|
|
||||||
#: src/reduce.c:456
|
#: src/reduce.c:517
|
||||||
msgid ""
|
|
||||||
"Rules\n"
|
|
||||||
"-----\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"Regeln\n"
|
|
||||||
"------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:470
|
|
||||||
msgid ""
|
|
||||||
"Rules interpreted\n"
|
|
||||||
"-----------------\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"interpretierete Regeln\n"
|
|
||||||
"----------------------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:491
|
|
||||||
#, c-format
|
|
||||||
msgid "%d rules never reduced\n"
|
|
||||||
msgstr "%d wurde niemals reduziert\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:497
|
|
||||||
#, c-format
|
|
||||||
msgid "%d useless nonterminal%s"
|
|
||||||
msgstr "%d ungenutzte Nicht-Terminal"
|
|
||||||
|
|
||||||
#: src/reduce.c:502
|
|
||||||
msgid " and "
|
msgid " and "
|
||||||
msgstr " und "
|
msgstr " und "
|
||||||
|
|
||||||
#: src/reduce.c:506
|
#: src/reduce.c:520
|
||||||
#, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%d useless rule%s"
|
msgid "%d useless rule"
|
||||||
msgstr "%d ungenutzte Regel"
|
msgid_plural "%d useless rules"
|
||||||
|
msgstr[0] "%d ungenutzte Regel"
|
||||||
|
|
||||||
#: src/reduce.c:536
|
#: src/reduce.c:551
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "es lassen sich keine Sätze vom Startsymbol %s ableiten"
|
msgstr "es lassen sich keine Sätze vom Startsymbol %s ableiten"
|
||||||
@@ -788,11 +756,11 @@ msgstr "%s: Hauptspeicher ersch
|
|||||||
#. MARK). A British English Unicode locale should instead
|
#. MARK). A British English Unicode locale should instead
|
||||||
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
|
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
|
||||||
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
|
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
|
||||||
#: lib/quotearg.c:268
|
#: lib/quotearg.c:274
|
||||||
msgid "`"
|
msgid "`"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/quotearg.c:269
|
#: lib/quotearg.c:275
|
||||||
msgid "'"
|
msgid "'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -839,6 +807,9 @@ msgstr ""
|
|||||||
#~ msgid "limit of %d exceeded, too many %s"
|
#~ msgid "limit of %d exceeded, too many %s"
|
||||||
#~ msgstr "Grenze von %d erreicht, zu viele %s"
|
#~ msgstr "Grenze von %d erreicht, zu viele %s"
|
||||||
|
|
||||||
|
#~ msgid "internal error, %s\n"
|
||||||
|
#~ msgstr "interner Fehler, %s\n"
|
||||||
|
|
||||||
#~ msgid "Entering set_nullable"
|
#~ msgid "Entering set_nullable"
|
||||||
#~ msgstr "Führe »set_nullable« aus"
|
#~ msgstr "Führe »set_nullable« aus"
|
||||||
|
|
||||||
@@ -874,3 +845,33 @@ msgstr ""
|
|||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "Reduzierung von %s definiert %d Terminal, %d Nicht-Terminal und %d "
|
#~ "Reduzierung von %s definiert %d Terminal, %d Nicht-Terminal und %d "
|
||||||
#~ "Produktionen.\n"
|
#~ "Produktionen.\n"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Variables\n"
|
||||||
|
#~ "---------\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Variablen\n"
|
||||||
|
#~ "---------\n"
|
||||||
|
#~ "\n"
|
||||||
|
|
||||||
|
#~ msgid "Value Sprec Sassoc Tag\n"
|
||||||
|
#~ msgstr "Wert Sprec Sassoc Tag\n"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Rules\n"
|
||||||
|
#~ "-----\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Regeln\n"
|
||||||
|
#~ "------\n"
|
||||||
|
#~ "\n"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Rules interpreted\n"
|
||||||
|
#~ "-----------------\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "interpretierete Regeln\n"
|
||||||
|
#~ "----------------------\n"
|
||||||
|
#~ "\n"
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: GNU bison 1.25\n"
|
"Project-Id-Version: GNU bison 1.25\n"
|
||||||
"POT-Creation-Date: 2001-11-20 14:16+0100\n"
|
"POT-Creation-Date: 2002-01-11 14:38+0100\n"
|
||||||
"PO-Revision-Date: 1998-09-21 10:19+0200\n"
|
"PO-Revision-Date: 1998-09-21 10:19+0200\n"
|
||||||
"Last-Translator: Nicolás García-Pedrajas <[email protected]>\n"
|
"Last-Translator: Nicolás García-Pedrajas <[email protected]>\n"
|
||||||
"Language-Team: Spanish <[email protected]>\n"
|
"Language-Team: Spanish <[email protected]>\n"
|
||||||
@@ -43,7 +43,7 @@ msgstr ""
|
|||||||
msgid "too many states (max %d)"
|
msgid "too many states (max %d)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
|
#: lib/error.c:128 lib/error.c:156 src/complain.c:99
|
||||||
msgid "Unknown system error"
|
msgid "Unknown system error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -58,55 +58,55 @@ msgstr ""
|
|||||||
# La verdad es que a mi lo de error fatal me suena fatal
|
# La verdad es que a mi lo de error fatal me suena fatal
|
||||||
# ngp
|
# ngp
|
||||||
#
|
#
|
||||||
#: src/complain.c:238 src/complain.c:279
|
#: src/complain.c:238
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "fatal error: "
|
msgid "fatal error: "
|
||||||
msgstr "error grave: %s\n"
|
msgstr "error grave: %s\n"
|
||||||
|
|
||||||
#: src/conflicts.c:45
|
#: src/conflicts.c:44
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"El conflicto en el estado %s entre la regla %d y el terminal %s se resuelve "
|
"El conflicto en el estado %s entre la regla %d y el terminal %s se resuelve "
|
||||||
"como %s.\n"
|
"como %s.\n"
|
||||||
|
|
||||||
#: src/conflicts.c:111 src/conflicts.c:134
|
#: src/conflicts.c:94 src/conflicts.c:119
|
||||||
msgid "reduce"
|
msgid "reduce"
|
||||||
msgstr "reduce"
|
msgstr "reduce"
|
||||||
|
|
||||||
#: src/conflicts.c:117 src/conflicts.c:130
|
#: src/conflicts.c:101 src/conflicts.c:115
|
||||||
msgid "shift"
|
msgid "shift"
|
||||||
msgstr "desplaza"
|
msgstr "desplaza"
|
||||||
|
|
||||||
#: src/conflicts.c:138
|
#: src/conflicts.c:123
|
||||||
msgid "an error"
|
msgid "an error"
|
||||||
msgstr "un error"
|
msgstr "un error"
|
||||||
|
|
||||||
#: src/conflicts.c:389
|
#: src/conflicts.c:302
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%d shift/reduce conflict"
|
msgid "%d shift/reduce conflict"
|
||||||
msgid_plural "%d shift/reduce conflicts"
|
msgid_plural "%d shift/reduce conflicts"
|
||||||
msgstr[0] " %d conflictos desplazamiento/reducción"
|
msgstr[0] " %d conflictos desplazamiento/reducción"
|
||||||
|
|
||||||
#: src/conflicts.c:396
|
#: src/conflicts.c:309
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "and"
|
msgid "and"
|
||||||
msgstr " y"
|
msgstr " y"
|
||||||
|
|
||||||
#: src/conflicts.c:402
|
#: src/conflicts.c:315
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%d reduce/reduce conflict"
|
msgid "%d reduce/reduce conflict"
|
||||||
msgid_plural "%d reduce/reduce conflicts"
|
msgid_plural "%d reduce/reduce conflicts"
|
||||||
msgstr[0] " %d conflictos reducción/reducción"
|
msgstr[0] " %d conflictos reducción/reducción"
|
||||||
|
|
||||||
#: src/conflicts.c:426
|
#: src/conflicts.c:340
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "State %d contains "
|
msgid "State %d contains "
|
||||||
msgstr "El estado %d contiene"
|
msgstr "El estado %d contiene"
|
||||||
|
|
||||||
#. If invoked with `--yacc', use the output format specified by
|
#. If invoked with `--yacc', use the output format specified by
|
||||||
#. POSIX.
|
#. POSIX.
|
||||||
#: src/conflicts.c:460
|
#: src/conflicts.c:387
|
||||||
msgid "conflicts: "
|
msgid "conflicts: "
|
||||||
msgstr "conflictos: "
|
msgstr "conflictos: "
|
||||||
|
|
||||||
@@ -122,7 +122,7 @@ msgstr "conflictos: "
|
|||||||
# ok
|
# ok
|
||||||
# ngp
|
# ngp
|
||||||
#
|
#
|
||||||
#: src/conflicts.c:462
|
#: src/conflicts.c:389
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d shift/reduce"
|
msgid " %d shift/reduce"
|
||||||
msgstr " %d desplazamiento(s)/reducción(ones)"
|
msgstr " %d desplazamiento(s)/reducción(ones)"
|
||||||
@@ -139,28 +139,28 @@ msgstr " %d desplazamiento(s)/reducci
|
|||||||
#
|
#
|
||||||
# ok
|
# ok
|
||||||
# ngp
|
# ngp
|
||||||
#: src/conflicts.c:466
|
#: src/conflicts.c:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d reduce/reduce"
|
msgid " %d reduce/reduce"
|
||||||
msgstr " %d reducción(ones)/reducción(ones)"
|
msgstr " %d reducción(ones)/reducción(ones)"
|
||||||
|
|
||||||
#: src/conflicts.c:471 src/reduce.c:493
|
#: src/conflicts.c:398 src/reduce.c:508
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s contains "
|
msgid "%s contains "
|
||||||
msgstr "%s contiene "
|
msgstr "%s contiene "
|
||||||
|
|
||||||
#: src/conflicts.c:480
|
#: src/conflicts.c:412
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "expected %d shift/reduce conflict\n"
|
msgid "expected %d shift/reduce conflict\n"
|
||||||
msgid_plural "expected %d shift/reduce conflicts\n"
|
msgid_plural "expected %d shift/reduce conflicts\n"
|
||||||
msgstr[0] " %d conflictos desplazamiento/reducción"
|
msgstr[0] " %d conflictos desplazamiento/reducción"
|
||||||
|
|
||||||
#: src/conflicts.c:567 src/conflicts.c:688
|
#: src/conflicts.c:463 src/conflicts.c:540
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||||
msgstr " %-4s\t[reduce usando la regla %d (%s)]\n"
|
msgstr " %-4s\t[reduce usando la regla %d (%s)]\n"
|
||||||
|
|
||||||
#: src/conflicts.c:579 src/print.c:156
|
#: src/conflicts.c:467 src/print.c:154
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" $default\treduce using rule %d (%s)\n"
|
" $default\treduce using rule %d (%s)\n"
|
||||||
@@ -169,22 +169,22 @@ msgstr ""
|
|||||||
" $default\treduce usando la regla %d (%s)\n"
|
" $default\treduce usando la regla %d (%s)\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/conflicts.c:668 src/conflicts.c:682
|
#: src/conflicts.c:521 src/conflicts.c:534
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||||
msgstr " %-4s\treduce usando la regla %d (%s)\n"
|
msgstr " %-4s\treduce usando la regla %d (%s)\n"
|
||||||
|
|
||||||
#: src/conflicts.c:708
|
#: src/conflicts.c:550
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $default\treduce using rule %d (%s)\n"
|
msgid " $default\treduce using rule %d (%s)\n"
|
||||||
msgstr " $default\treduce usando la regla %d (%s)\n"
|
msgstr " $default\treduce usando la regla %d (%s)\n"
|
||||||
|
|
||||||
#: src/files.c:143
|
#: src/files.c:150
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/files.c:162
|
#: src/files.c:169
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -258,30 +258,30 @@ msgid ""
|
|||||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/getargs.c:215 src/lex.c:694
|
#: src/getargs.c:223 src/lex.c:694
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is no longer supported"
|
msgid "`%s' is no longer supported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/getargs.c:239
|
#: src/getargs.c:247
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Try `%s --help' for more information.\n"
|
msgid "Try `%s --help' for more information.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# Me parece menos "computadora" decir "ningún fichero de gramática" - cll
|
# Me parece menos "computadora" decir "ningún fichero de gramática" - cll
|
||||||
#
|
#
|
||||||
#: src/getargs.c:246
|
#: src/getargs.c:254
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: no grammar file given\n"
|
msgid "%s: no grammar file given\n"
|
||||||
msgstr "%s: no se ha especificado ningún fichero de gramática\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
|
# Ignorar es no saber, to ignore es no hacer caso, que no es lo mismo. sv
|
||||||
#: src/getargs.c:250
|
#: src/getargs.c:258
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%s: extra arguments ignored after `%s'\n"
|
msgid "%s: extra arguments ignored after `%s'\n"
|
||||||
msgstr "%s: los argumentos extra después de '%s' no se tendrán en cuenta\n"
|
msgstr "%s: los argumentos extra después de '%s' no se tendrán en cuenta\n"
|
||||||
|
|
||||||
#: src/lalr.c:293
|
#: src/lalr.c:256
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many gotos (max %d)"
|
msgid "too many gotos (max %d)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -291,7 +291,7 @@ msgstr ""
|
|||||||
msgid "unexpected `/' found and ignored"
|
msgid "unexpected `/' found and ignored"
|
||||||
msgstr "se ha encontrado `/' cuando no se esperaba, no se tendrán en cuenta"
|
msgstr "se ha encontrado `/' cuando no se esperaba, no se tendrán en cuenta"
|
||||||
|
|
||||||
#: src/lex.c:105 src/reader.c:269
|
#: src/lex.c:105 src/reader.c:280
|
||||||
msgid "unterminated comment"
|
msgid "unterminated comment"
|
||||||
msgstr "comentario sin terminar"
|
msgstr "comentario sin terminar"
|
||||||
|
|
||||||
@@ -343,60 +343,55 @@ msgstr ""
|
|||||||
msgid "`%s' requires an argument"
|
msgid "`%s' requires an argument"
|
||||||
msgstr "%s: la opción `%s' requiere un argumento\n"
|
msgstr "%s: la opción `%s' requiere un argumento\n"
|
||||||
|
|
||||||
#: src/main.c:128
|
|
||||||
#, fuzzy, c-format
|
|
||||||
msgid "%s: internal error: %s\n"
|
|
||||||
msgstr "error interno, %s\n"
|
|
||||||
|
|
||||||
# Únicamente cambio la posición del adjetivo `máximo'. En vez de después
|
# Únicamente cambio la posición del adjetivo `máximo'. En vez de después
|
||||||
# de `tabla', después de `tamaño' - cll
|
# de `tabla', después de `tamaño' - cll
|
||||||
# en inglés era así, pero quizás en español sea mejor como dices
|
# en inglés era así, pero quizás en español sea mejor como dices
|
||||||
# ngp
|
# ngp
|
||||||
#
|
#
|
||||||
#: src/output.c:979
|
#: src/output.c:951
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "maximum table size (%d) exceeded"
|
msgid "maximum table size (%d) exceeded"
|
||||||
msgstr "excedido el tamaño máximo de la tabla (%s)"
|
msgstr "excedido el tamaño máximo de la tabla (%s)"
|
||||||
|
|
||||||
#: src/print.c:38
|
#: src/print.c:39
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " type %d is %s\n"
|
msgid " type %d is %s\n"
|
||||||
msgstr " el tipo %d es %s\n"
|
msgstr " el tipo %d es %s\n"
|
||||||
|
|
||||||
#: src/print.c:78
|
#: src/print.c:88
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " (rule %d)"
|
msgid " (rule %d)"
|
||||||
msgstr " (regla %d)"
|
msgstr " (regla %d)"
|
||||||
|
|
||||||
#: src/print.c:98
|
#: src/print.c:108
|
||||||
msgid " $default\taccept\n"
|
msgid " $default\taccept\n"
|
||||||
msgstr " $default\taceptar\n"
|
msgstr " $default\taceptar\n"
|
||||||
|
|
||||||
#: src/print.c:100
|
#: src/print.c:110
|
||||||
msgid " NO ACTIONS\n"
|
msgid " NO ACTIONS\n"
|
||||||
msgstr " SIN ACCIONES\n"
|
msgstr " SIN ACCIONES\n"
|
||||||
|
|
||||||
#: src/print.c:120
|
#: src/print.c:124
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $ \tgo to state %d\n"
|
msgid " $ \tgo to state %d\n"
|
||||||
msgstr " $ \tir al estado %d\n"
|
msgstr " $ \tir al estado %d\n"
|
||||||
|
|
||||||
#: src/print.c:123
|
#: src/print.c:127
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tshift, and go to state %d\n"
|
msgid " %-4s\tshift, and go to state %d\n"
|
||||||
msgstr " %-4s\tdesplazar e ir al estado %d\n"
|
msgstr " %-4s\tdesplazar e ir al estado %d\n"
|
||||||
|
|
||||||
#: src/print.c:144
|
#: src/print.c:142
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\terror (nonassociative)\n"
|
msgid " %-4s\terror (nonassociative)\n"
|
||||||
msgstr " %-4s\terror (no asociativo)\n"
|
msgstr " %-4s\terror (no asociativo)\n"
|
||||||
|
|
||||||
#: src/print.c:173
|
#: src/print.c:169
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tgo to state %d\n"
|
msgid " %-4s\tgo to state %d\n"
|
||||||
msgstr " %-4s\tir al estado %d\n"
|
msgstr " %-4s\tir al estado %d\n"
|
||||||
|
|
||||||
#: src/print.c:185
|
#: src/print.c:180
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "state %d"
|
msgid "state %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -406,19 +401,23 @@ msgstr ""
|
|||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#. rule # : LHS -> RHS
|
#. rule # : LHS -> RHS
|
||||||
#: src/print.c:215
|
#: src/print.c:211
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Grammar"
|
msgid "Grammar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"\n"
|
"\n"
|
||||||
"Gramática\n"
|
"Gramática\n"
|
||||||
|
|
||||||
#: src/print.c:220
|
#: src/print.c:212
|
||||||
#, c-format
|
msgid "Number, Line, Rule"
|
||||||
msgid "rule %-4d %s ->"
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/print.c:217
|
||||||
|
#, fuzzy, c-format
|
||||||
|
msgid " %3d %3d %s ->"
|
||||||
msgstr "regla %-4d %s ->"
|
msgstr "regla %-4d %s ->"
|
||||||
|
|
||||||
#: src/print.c:226
|
#: src/print.c:224
|
||||||
msgid "empty"
|
msgid "empty"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -431,18 +430,18 @@ msgstr ""
|
|||||||
"Terminales con las reglas donde aparecen\n"
|
"Terminales con las reglas donde aparecen\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/print.c:255
|
#: src/print.c:256
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Nonterminals, with rules where they appear"
|
msgid "Nonterminals, with rules where they appear"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"\n"
|
"\n"
|
||||||
"No terminales con las reglas donde aparecen\n"
|
"No terminales con las reglas donde aparecen\n"
|
||||||
|
|
||||||
#: src/print.c:281
|
#: src/print.c:282
|
||||||
msgid " on left:"
|
msgid " on left:"
|
||||||
msgstr " en la izquierda:"
|
msgstr " en la izquierda:"
|
||||||
|
|
||||||
#: src/print.c:296
|
#: src/print.c:297
|
||||||
msgid " on right:"
|
msgid " on right:"
|
||||||
msgstr " en la derecha:"
|
msgstr " en la derecha:"
|
||||||
|
|
||||||
@@ -451,7 +450,7 @@ msgstr " en la derecha:"
|
|||||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||||
#. obstack_sgrow (node_obstack, "\n");
|
#. obstack_sgrow (node_obstack, "\n");
|
||||||
#.
|
#.
|
||||||
#: src/print_graph.c:166
|
#: src/print_graph.c:146
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%-4s\terror (nonassociative)"
|
msgid "%-4s\terror (nonassociative)"
|
||||||
msgstr " %-4s\terror (no asociativo)\n"
|
msgstr " %-4s\terror (no asociativo)\n"
|
||||||
@@ -460,101 +459,101 @@ msgstr " %-4s\terror (no asociativo)\n"
|
|||||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||||
#. obstack_sgrow (node_obstack, "\n");
|
#. obstack_sgrow (node_obstack, "\n");
|
||||||
#.
|
#.
|
||||||
#: src/print_graph.c:181
|
#: src/print_graph.c:161
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "$default\treduce using rule %d (%s)"
|
msgid "$default\treduce using rule %d (%s)"
|
||||||
msgstr " $default\treduce usando la regla %d (%s)\n"
|
msgstr " $default\treduce usando la regla %d (%s)\n"
|
||||||
|
|
||||||
#: src/reader.c:78
|
#: src/reader.c:89
|
||||||
msgid " Skipping to next \\n"
|
msgid " Skipping to next \\n"
|
||||||
msgstr " Saltando al siguiente \\n"
|
msgstr " Saltando al siguiente \\n"
|
||||||
|
|
||||||
#: src/reader.c:80
|
#: src/reader.c:91
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " Skipping to next %c"
|
msgid " Skipping to next %c"
|
||||||
msgstr " Saltando al siguiente %c"
|
msgstr " Saltando al siguiente %c"
|
||||||
|
|
||||||
#: src/reader.c:131 src/reader.c:143
|
#: src/reader.c:142 src/reader.c:154
|
||||||
msgid "invalid $ value"
|
msgid "invalid $ value"
|
||||||
msgstr "valor $ no válido"
|
msgstr "valor $ no válido"
|
||||||
|
|
||||||
#: src/reader.c:169 src/reader.c:184
|
#: src/reader.c:180 src/reader.c:195
|
||||||
msgid "unterminated string at end of file"
|
msgid "unterminated string at end of file"
|
||||||
msgstr "cadena sin terminar al final del fichero"
|
msgstr "cadena sin terminar al final del fichero"
|
||||||
|
|
||||||
#: src/reader.c:172
|
#: src/reader.c:183
|
||||||
msgid "unterminated string"
|
msgid "unterminated string"
|
||||||
msgstr "cadena sin terminar"
|
msgstr "cadena sin terminar"
|
||||||
|
|
||||||
#: src/reader.c:325 src/reader.c:389
|
#: src/reader.c:336 src/reader.c:400
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "@%s no es válido"
|
msgstr "@%s no es válido"
|
||||||
|
|
||||||
#: src/reader.c:365
|
#: src/reader.c:376
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$$ of `%s' has no declared type"
|
msgid "$$ of `%s' has no declared type"
|
||||||
msgstr "$$ de `%s' no tiene tipo declarado"
|
msgstr "$$ de `%s' no tiene tipo declarado"
|
||||||
|
|
||||||
#: src/reader.c:382
|
#: src/reader.c:393
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "$%s de `%s' no tiene tipo declarado"
|
msgstr "$%s de `%s' no tiene tipo declarado"
|
||||||
|
|
||||||
#: src/reader.c:436
|
#: src/reader.c:447
|
||||||
msgid "unterminated `%{' definition"
|
msgid "unterminated `%{' definition"
|
||||||
msgstr "definición `%{' sin terminar"
|
msgstr "definición `%{' sin terminar"
|
||||||
|
|
||||||
#: src/reader.c:481 src/reader.c:595 src/reader.c:645
|
#: src/reader.c:492 src/reader.c:607 src/reader.c:657
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Premature EOF after %s"
|
msgid "Premature EOF after %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/reader.c:498
|
#: src/reader.c:509
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' used more than once as a literal string"
|
msgid "symbol `%s' used more than once as a literal string"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/reader.c:501
|
#: src/reader.c:512
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' given more than one literal string"
|
msgid "symbol `%s' given more than one literal string"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/reader.c:522 src/reader.c:664
|
#: src/reader.c:533 src/reader.c:676
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol %s redefined"
|
msgid "symbol %s redefined"
|
||||||
msgstr "redefinido el símbolo %s"
|
msgstr "redefinido el símbolo %s"
|
||||||
|
|
||||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1280
|
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1298
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type redeclaration for %s"
|
msgid "type redeclaration for %s"
|
||||||
msgstr "redeclaración del tipo de %s"
|
msgstr "redeclaración del tipo de %s"
|
||||||
|
|
||||||
#: src/reader.c:541
|
#: src/reader.c:552
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is invalid in %s"
|
msgid "`%s' is invalid in %s"
|
||||||
msgstr "`%s' no es válido en %s"
|
msgstr "`%s' no es válido en %s"
|
||||||
|
|
||||||
#: src/reader.c:558 src/reader.c:723
|
#: src/reader.c:570 src/reader.c:735
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "múltiples declaraciones de %start"
|
msgstr "múltiples declaraciones de %start"
|
||||||
|
|
||||||
#: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1258
|
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1276
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "invalid %s declaration"
|
msgid "invalid %s declaration"
|
||||||
msgstr "declaración de %start no válida"
|
msgstr "declaración de %start no válida"
|
||||||
|
|
||||||
#: src/reader.c:580
|
#: src/reader.c:592
|
||||||
msgid "%type declaration has no <typename>"
|
msgid "%type declaration has no <typename>"
|
||||||
msgstr "la declaración %type no tiene <nombre-tipo>"
|
msgstr "la declaración %type no tiene <nombre-tipo>"
|
||||||
|
|
||||||
#: src/reader.c:615
|
#: src/reader.c:627
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "invalid %%type declaration due to item: %s"
|
msgid "invalid %%type declaration due to item: %s"
|
||||||
msgstr "declaración de %%type no válida debido al ítem: `%s'"
|
msgstr "declaración de %%type no válida debido al ítem: `%s'"
|
||||||
|
|
||||||
#: src/reader.c:660
|
#: src/reader.c:672
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "redefining precedence of %s"
|
msgid "redefining precedence of %s"
|
||||||
msgstr "redefinición de la precedencia de %s"
|
msgstr "redefinición de la precedencia de %s"
|
||||||
@@ -563,7 +562,7 @@ msgstr "redefinici
|
|||||||
# de "to must" y aquí se emplea en su forma condicional. Por eso, he
|
# de "to must" y aquí se emplea en su forma condicional. Por eso, he
|
||||||
# cambiado `debe' por `debería' - cll
|
# cambiado `debe' por `debería' - cll
|
||||||
# ahí me has pillado en un olvido del inglés - ngp
|
# ahí me has pillado en un olvido del inglés - ngp
|
||||||
#: src/reader.c:683
|
#: src/reader.c:695
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid text (%s) - number should be after identifier"
|
msgid "invalid text (%s) - number should be after identifier"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -573,18 +572,18 @@ msgstr ""
|
|||||||
# otras, como `inesperado'. Cualquiera es correcta, por supuesto y, en
|
# otras, como `inesperado'. Cualquiera es correcta, por supuesto y, en
|
||||||
# este caso, la segunda me parece más apropiada - cll
|
# este caso, la segunda me parece más apropiada - cll
|
||||||
# ok - ngp
|
# ok - ngp
|
||||||
#: src/reader.c:693
|
#: src/reader.c:705
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unexpected item: %s"
|
msgid "unexpected item: %s"
|
||||||
msgstr "ítem inesperado: %s"
|
msgstr "ítem inesperado: %s"
|
||||||
|
|
||||||
# Cambio el orden y el sexo. Ahora está "en español". sv
|
# Cambio el orden y el sexo. Ahora está "en español". sv
|
||||||
#: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
|
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1187
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "unmatched %s"
|
msgid "unmatched %s"
|
||||||
msgstr "`{' desemparejada"
|
msgstr "`{' desemparejada"
|
||||||
|
|
||||||
#: src/reader.c:798
|
#: src/reader.c:810
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "argument of %%expect is not an integer"
|
msgid "argument of %%expect is not an integer"
|
||||||
msgstr "el argumento de %expect no es un entero"
|
msgstr "el argumento de %expect no es un entero"
|
||||||
@@ -595,26 +594,26 @@ msgstr "el argumento de %expect no es un entero"
|
|||||||
# - cll
|
# - cll
|
||||||
# ok - ngp
|
# ok - ngp
|
||||||
#
|
#
|
||||||
#: src/reader.c:844
|
#: src/reader.c:856
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unrecognized item %s, expected an identifier"
|
msgid "unrecognized item %s, expected an identifier"
|
||||||
msgstr "no se reconoce el ítem %s, se esperaba un identificador"
|
msgstr "no se reconoce el ítem %s, se esperaba un identificador"
|
||||||
|
|
||||||
#: src/reader.c:866
|
#: src/reader.c:878
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "expected string constant instead of %s"
|
msgid "expected string constant instead of %s"
|
||||||
msgstr "se esperaba una cadena constante en lugar de %s"
|
msgstr "se esperaba una cadena constante en lugar de %s"
|
||||||
|
|
||||||
#: src/reader.c:1014
|
#: src/reader.c:1026
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unrecognized: %s"
|
msgid "unrecognized: %s"
|
||||||
msgstr "no reconocido: %s"
|
msgstr "no reconocido: %s"
|
||||||
|
|
||||||
#: src/reader.c:1019
|
#: src/reader.c:1031
|
||||||
msgid "no input grammar"
|
msgid "no input grammar"
|
||||||
msgstr "no hay gramática de entrada"
|
msgstr "no hay gramática de entrada"
|
||||||
|
|
||||||
#: src/reader.c:1024
|
#: src/reader.c:1036
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unknown character: %s"
|
msgid "unknown character: %s"
|
||||||
msgstr "carácter desconocido: %s"
|
msgstr "carácter desconocido: %s"
|
||||||
@@ -623,105 +622,105 @@ msgstr "car
|
|||||||
# mejor que `sin terminar' que me parece más "computerizado" - cll
|
# mejor que `sin terminar' que me parece más "computerizado" - cll
|
||||||
# quizás un poco cacofónico lo de claúsula inconclusa - ngp
|
# quizás un poco cacofónico lo de claúsula inconclusa - ngp
|
||||||
#
|
#
|
||||||
#: src/reader.c:1192
|
#: src/reader.c:1210
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "unterminated %guard clause"
|
msgid "unterminated %guard clause"
|
||||||
msgstr "cláusula %%guard sin terminar"
|
msgstr "cláusula %%guard sin terminar"
|
||||||
|
|
||||||
#: src/reader.c:1345
|
#: src/reader.c:1363
|
||||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||||
msgstr "regla mal formada: el símbolo inicial no está seguido por :"
|
msgstr "regla mal formada: el símbolo inicial no está seguido por :"
|
||||||
|
|
||||||
#: src/reader.c:1352
|
#: src/reader.c:1370
|
||||||
msgid "grammar starts with vertical bar"
|
msgid "grammar starts with vertical bar"
|
||||||
msgstr "la gramática comienza con una barra vertical"
|
msgstr "la gramática comienza con una barra vertical"
|
||||||
|
|
||||||
#: src/reader.c:1381
|
#: src/reader.c:1398
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule given for %s, which is a token"
|
msgid "rule given for %s, which is a token"
|
||||||
msgstr "se ha dado una regla para %s, que es un terminal"
|
msgstr "se ha dado una regla para %s, que es un terminal"
|
||||||
|
|
||||||
#: src/reader.c:1483
|
#: src/reader.c:1498
|
||||||
msgid "two @prec's in a row"
|
msgid "two @prec's in a row"
|
||||||
msgstr "dos @prec en una línea"
|
msgstr "dos @prec en una línea"
|
||||||
|
|
||||||
# Insisto, el empleo de participios a secas me parece como hablar en
|
# Insisto, el empleo de participios a secas me parece como hablar en
|
||||||
# indio. Por favor, permíteme que añada un "está" :) - cll
|
# indio. Por favor, permíteme que añada un "está" :) - cll
|
||||||
# ok - ngp
|
# ok - ngp
|
||||||
#: src/reader.c:1491
|
#: src/reader.c:1506
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%%guard present but %%semantic_parser not specified"
|
msgid "%%guard present but %%semantic_parser not specified"
|
||||||
msgstr "%%guard presente pero %%semantic_parser está sin especificar"
|
msgstr "%%guard presente pero %%semantic_parser está sin especificar"
|
||||||
|
|
||||||
#: src/reader.c:1500
|
#: src/reader.c:1515
|
||||||
msgid "two actions at end of one rule"
|
msgid "two actions at end of one rule"
|
||||||
msgstr "dos acciones al final de una regla"
|
msgstr "dos acciones al final de una regla"
|
||||||
|
|
||||||
#: src/reader.c:1514
|
#: src/reader.c:1529
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type clash (`%s' `%s') on default action"
|
msgid "type clash (`%s' `%s') on default action"
|
||||||
msgstr "los tipos (`%s' `%s') no concuerdan en la acción por defecto"
|
msgstr "los tipos (`%s' `%s') no concuerdan en la acción por defecto"
|
||||||
|
|
||||||
#: src/reader.c:1520
|
#: src/reader.c:1535
|
||||||
msgid "empty rule for typed nonterminal, and no action"
|
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"
|
msgstr "regla vacía para un no terminal con tipo y no hay ninguna acción"
|
||||||
|
|
||||||
#: src/reader.c:1564
|
#: src/reader.c:1579
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid input: %s"
|
msgid "invalid input: %s"
|
||||||
msgstr "entrada no válida: %s"
|
msgstr "entrada no válida: %s"
|
||||||
|
|
||||||
#: src/reader.c:1572
|
#: src/reader.c:1587
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "demasiados símbolos (terminales y no terminales); máximo %s"
|
msgstr "demasiados símbolos (terminales y no terminales); máximo %s"
|
||||||
|
|
||||||
#: src/reader.c:1575
|
#: src/reader.c:1590
|
||||||
msgid "no rules in the input grammar"
|
msgid "no rules in the input grammar"
|
||||||
msgstr "no hay reglas en la gramática de entrada"
|
msgstr "no hay reglas en la gramática de entrada"
|
||||||
|
|
||||||
# `token' se debe traducir como `literal' - cll
|
# `token' se debe traducir como `literal' - cll
|
||||||
# en terminología de compiladores token es más un terminal - ngp
|
# en terminología de compiladores token es más un terminal - ngp
|
||||||
#
|
#
|
||||||
#: src/reader.c:1599
|
#: src/reader.c:1614
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"se usa el símbolo %s, pero no está definido como terminal y no tiene reglas"
|
"se usa el símbolo %s, pero no está definido como terminal y no tiene reglas"
|
||||||
|
|
||||||
#: src/reader.c:1734
|
#: src/reader.c:1749
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "tokens %s and %s both assigned number %d"
|
msgid "tokens %s and %s both assigned number %d"
|
||||||
msgstr "los terminales %s y %s tienen asignados ambos el número %s"
|
msgstr "los terminales %s y %s tienen asignados ambos el número %s"
|
||||||
|
|
||||||
#: src/reader.c:1787
|
#: src/reader.c:1802
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "conflicting precedences for %s and %s"
|
msgid "conflicting precedences for %s and %s"
|
||||||
msgstr "precedencias en conflicto entre %s y %s"
|
msgstr "precedencias en conflicto entre %s y %s"
|
||||||
|
|
||||||
#: src/reader.c:1799
|
#: src/reader.c:1814
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "conflicting assoc values for %s and %s"
|
msgid "conflicting assoc values for %s and %s"
|
||||||
msgstr "conflicto de valores assoc para %s y %s"
|
msgstr "conflicto de valores assoc para %s y %s"
|
||||||
|
|
||||||
#: src/reader.c:1838
|
#: src/reader.c:1853
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the start symbol %s is undefined"
|
msgid "the start symbol %s is undefined"
|
||||||
msgstr "el símbolo de inicio (axioma) %s no está definido"
|
msgstr "el símbolo de inicio (axioma) %s no está definido"
|
||||||
|
|
||||||
#: src/reader.c:1840
|
#: src/reader.c:1855
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the start symbol %s is a token"
|
msgid "the start symbol %s is a token"
|
||||||
msgstr "el símbolo de inicio (axioma) %s es un terminal"
|
msgstr "el símbolo de inicio (axioma) %s es un terminal"
|
||||||
|
|
||||||
#: src/reduce.c:400
|
#: src/reduce.c:409
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Useless nonterminals:"
|
msgid "Useless nonterminals:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"No terminales sin uso:\n"
|
"No terminales sin uso:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:414
|
#: src/reduce.c:422
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Terminals which are not used:"
|
msgid "Terminals which are not used:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -730,7 +729,7 @@ msgstr ""
|
|||||||
"Terminales que no se usan:\n"
|
"Terminales que no se usan:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:425
|
#: src/reduce.c:433
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Useless rules:"
|
msgid "Useless rules:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -739,60 +738,29 @@ msgstr ""
|
|||||||
"Reglas sin uso:\n"
|
"Reglas sin uso:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:451
|
#: src/reduce.c:503
|
||||||
msgid ""
|
#, fuzzy, c-format
|
||||||
"Variables\n"
|
msgid "%d rule never reduced\n"
|
||||||
"---------\n"
|
msgid_plural "%d rules never reduced\n"
|
||||||
"\n"
|
msgstr[0] "%d reglas que nunca se han reducido\n"
|
||||||
msgstr ""
|
|
||||||
"Variables\n"
|
|
||||||
"---------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:452
|
#: src/reduce.c:511
|
||||||
msgid "Value Sprec Sassoc Tag\n"
|
#, fuzzy, c-format
|
||||||
msgstr "Valor Sprec Sasoc Tag\n"
|
msgid "%d useless nonterminal"
|
||||||
|
msgid_plural "%d useless nonterminals"
|
||||||
|
msgstr[0] "%d no terminales %s sin uso"
|
||||||
|
|
||||||
#: src/reduce.c:456
|
#: src/reduce.c:517
|
||||||
msgid ""
|
|
||||||
"Rules\n"
|
|
||||||
"-----\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"Reglas\n"
|
|
||||||
"------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:470
|
|
||||||
msgid ""
|
|
||||||
"Rules interpreted\n"
|
|
||||||
"-----------------\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"Reglas interpretadas\n"
|
|
||||||
"--------------------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:491
|
|
||||||
#, c-format
|
|
||||||
msgid "%d rules never reduced\n"
|
|
||||||
msgstr "%d reglas que nunca se han reducido\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:497
|
|
||||||
#, c-format
|
|
||||||
msgid "%d useless nonterminal%s"
|
|
||||||
msgstr "%d no terminales %s sin uso"
|
|
||||||
|
|
||||||
#: src/reduce.c:502
|
|
||||||
msgid " and "
|
msgid " and "
|
||||||
msgstr " y "
|
msgstr " y "
|
||||||
|
|
||||||
#: src/reduce.c:506
|
#: src/reduce.c:520
|
||||||
#, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%d useless rule%s"
|
msgid "%d useless rule"
|
||||||
msgstr "%d regla%s sin uso"
|
msgid_plural "%d useless rules"
|
||||||
|
msgstr[0] "%d regla%s sin uso"
|
||||||
|
|
||||||
#: src/reduce.c:536
|
#: src/reduce.c:551
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "El símbolo de inicio (axioma) %s no deriva ninguna sentencia"
|
msgstr "El símbolo de inicio (axioma) %s no deriva ninguna sentencia"
|
||||||
@@ -901,11 +869,11 @@ msgstr "%s: memoria agotada\n"
|
|||||||
#. MARK). A British English Unicode locale should instead
|
#. MARK). A British English Unicode locale should instead
|
||||||
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
|
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
|
||||||
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
|
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
|
||||||
#: lib/quotearg.c:268
|
#: lib/quotearg.c:274
|
||||||
msgid "`"
|
msgid "`"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/quotearg.c:269
|
#: lib/quotearg.c:275
|
||||||
msgid "'"
|
msgid "'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1026,6 +994,9 @@ msgstr ""
|
|||||||
#~ msgid "limit of %d exceeded, too many %s"
|
#~ msgid "limit of %d exceeded, too many %s"
|
||||||
#~ msgstr "excedido el límite de %d, demasiados %s"
|
#~ msgstr "excedido el límite de %d, demasiados %s"
|
||||||
|
|
||||||
|
#~ msgid "internal error, %s\n"
|
||||||
|
#~ msgstr "error interno, %s\n"
|
||||||
|
|
||||||
#~ msgid "Entering set_nullable"
|
#~ msgid "Entering set_nullable"
|
||||||
#~ msgstr "Entrando set_nullable"
|
#~ msgstr "Entrando set_nullable"
|
||||||
|
|
||||||
@@ -1082,3 +1053,33 @@ msgstr ""
|
|||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "la reducción de %s define %d terminal%s, %d no terminal%s, y %d produccion"
|
#~ "la reducción de %s define %d terminal%s, %d no terminal%s, y %d produccion"
|
||||||
#~ "%s.\n"
|
#~ "%s.\n"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Variables\n"
|
||||||
|
#~ "---------\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Variables\n"
|
||||||
|
#~ "---------\n"
|
||||||
|
#~ "\n"
|
||||||
|
|
||||||
|
#~ msgid "Value Sprec Sassoc Tag\n"
|
||||||
|
#~ msgstr "Valor Sprec Sasoc Tag\n"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Rules\n"
|
||||||
|
#~ "-----\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Reglas\n"
|
||||||
|
#~ "------\n"
|
||||||
|
#~ "\n"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Rules interpreted\n"
|
||||||
|
#~ "-----------------\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Reglas interpretadas\n"
|
||||||
|
#~ "--------------------\n"
|
||||||
|
#~ "\n"
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bison 1.30b\n"
|
"Project-Id-Version: bison 1.30f\n"
|
||||||
"POT-Creation-Date: 2001-11-20 14:16+0100\n"
|
"POT-Creation-Date: 2002-01-11 14:38+0100\n"
|
||||||
"PO-Revision-Date: 2001-11-13 10:42+02:00\n"
|
"PO-Revision-Date: 2001-12-05 20:35+0200\n"
|
||||||
"Last-Translator: Toomas Soome <[email protected]>\n"
|
"Last-Translator: Toomas Soome <[email protected]>\n"
|
||||||
"Language-Team: Estonian <[email protected]>\n"
|
"Language-Team: Estonian <[email protected]>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@@ -18,7 +18,7 @@ msgstr ""
|
|||||||
msgid "too many states (max %d)"
|
msgid "too many states (max %d)"
|
||||||
msgstr "liiga palju olekuid (maks %d)"
|
msgstr "liiga palju olekuid (maks %d)"
|
||||||
|
|
||||||
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
|
#: lib/error.c:128 lib/error.c:156 src/complain.c:99
|
||||||
msgid "Unknown system error"
|
msgid "Unknown system error"
|
||||||
msgstr "Tundmatu süsteemi viga"
|
msgstr "Tundmatu süsteemi viga"
|
||||||
|
|
||||||
@@ -26,84 +26,84 @@ msgstr "Tundmatu s
|
|||||||
msgid "warning: "
|
msgid "warning: "
|
||||||
msgstr "hoiatus: "
|
msgstr "hoiatus: "
|
||||||
|
|
||||||
#: src/complain.c:238 src/complain.c:279
|
#: src/complain.c:238
|
||||||
msgid "fatal error: "
|
msgid "fatal error: "
|
||||||
msgstr "fataalne viga: "
|
msgstr "fataalne viga: "
|
||||||
|
|
||||||
#: src/conflicts.c:45
|
#: src/conflicts.c:44
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||||
msgstr "Konflikt olekus %d reegli %d ja märgi %s vahel lahendatud, kui %s.\n"
|
msgstr "Konflikt olekus %d reegli %d ja märgi %s vahel lahendatud, kui %s.\n"
|
||||||
|
|
||||||
#: src/conflicts.c:111 src/conflicts.c:134
|
#: src/conflicts.c:94 src/conflicts.c:119
|
||||||
msgid "reduce"
|
msgid "reduce"
|
||||||
msgstr "redutseerimine"
|
msgstr "redutseerimine"
|
||||||
|
|
||||||
#: src/conflicts.c:117 src/conflicts.c:130
|
#: src/conflicts.c:101 src/conflicts.c:115
|
||||||
msgid "shift"
|
msgid "shift"
|
||||||
msgstr "nihutamine"
|
msgstr "nihutamine"
|
||||||
|
|
||||||
#: src/conflicts.c:138
|
#: src/conflicts.c:123
|
||||||
msgid "an error"
|
msgid "an error"
|
||||||
msgstr "viga"
|
msgstr "viga"
|
||||||
|
|
||||||
#: src/conflicts.c:389
|
#: src/conflicts.c:302
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d shift/reduce conflict"
|
msgid "%d shift/reduce conflict"
|
||||||
msgid_plural "%d shift/reduce conflicts"
|
msgid_plural "%d shift/reduce conflicts"
|
||||||
msgstr[0] "%d nihutamine/redutseerimine konflikt"
|
msgstr[0] "%d nihutamine/redutseerimine konflikt"
|
||||||
msgstr[1] "%d nihutamine/redutseerimine konflikti"
|
msgstr[1] "%d nihutamine/redutseerimine konflikti"
|
||||||
|
|
||||||
#: src/conflicts.c:396
|
#: src/conflicts.c:309
|
||||||
msgid "and"
|
msgid "and"
|
||||||
msgstr "ja"
|
msgstr "ja"
|
||||||
|
|
||||||
#: src/conflicts.c:402
|
#: src/conflicts.c:315
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d reduce/reduce conflict"
|
msgid "%d reduce/reduce conflict"
|
||||||
msgid_plural "%d reduce/reduce conflicts"
|
msgid_plural "%d reduce/reduce conflicts"
|
||||||
msgstr[0] "%d redutseerimine/redutseerimine konflikt"
|
msgstr[0] "%d redutseerimine/redutseerimine konflikt"
|
||||||
msgstr[1] "%d redutseerimine/redutseerimine konflikti"
|
msgstr[1] "%d redutseerimine/redutseerimine konflikti"
|
||||||
|
|
||||||
#: src/conflicts.c:426
|
#: src/conflicts.c:340
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "State %d contains "
|
msgid "State %d contains "
|
||||||
msgstr "Olek %d sisaldab "
|
msgstr "Olek %d sisaldab "
|
||||||
|
|
||||||
#. If invoked with `--yacc', use the output format specified by
|
#. If invoked with `--yacc', use the output format specified by
|
||||||
#. POSIX.
|
#. POSIX.
|
||||||
#: src/conflicts.c:460
|
#: src/conflicts.c:387
|
||||||
msgid "conflicts: "
|
msgid "conflicts: "
|
||||||
msgstr "konfliktid: "
|
msgstr "konfliktid: "
|
||||||
|
|
||||||
#: src/conflicts.c:462
|
#: src/conflicts.c:389
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d shift/reduce"
|
msgid " %d shift/reduce"
|
||||||
msgstr " %d nihutamine/redutseerimine"
|
msgstr " %d nihutamine/redutseerimine"
|
||||||
|
|
||||||
#: src/conflicts.c:466
|
#: src/conflicts.c:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d reduce/reduce"
|
msgid " %d reduce/reduce"
|
||||||
msgstr " %d redutseerimine/redutseerimine"
|
msgstr " %d redutseerimine/redutseerimine"
|
||||||
|
|
||||||
#: src/conflicts.c:471 src/reduce.c:493
|
#: src/conflicts.c:398 src/reduce.c:508
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s contains "
|
msgid "%s contains "
|
||||||
msgstr "%s sisaldab "
|
msgstr "%s sisaldab "
|
||||||
|
|
||||||
#: src/conflicts.c:480
|
#: src/conflicts.c:412
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "expected %d shift/reduce conflict\n"
|
msgid "expected %d shift/reduce conflict\n"
|
||||||
msgid_plural "expected %d shift/reduce conflicts\n"
|
msgid_plural "expected %d shift/reduce conflicts\n"
|
||||||
msgstr[0] "eeldasime %d nihutamine/redutseerimine konflikti"
|
msgstr[0] "eeldasime %d nihutamine/redutseerimine konflikti\n"
|
||||||
msgstr[1] "eeldasime %d nihutamine/redutseerimine konflikti"
|
msgstr[1] "eeldasime %d nihutamine/redutseerimine konflikti\n"
|
||||||
|
|
||||||
#: src/conflicts.c:567 src/conflicts.c:688
|
#: src/conflicts.c:463 src/conflicts.c:540
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||||
msgstr " %-4s\t[redutseerin, kasutades reeglit %d (%s)]\n"
|
msgstr " %-4s\t[redutseerin, kasutades reeglit %d (%s)]\n"
|
||||||
|
|
||||||
#: src/conflicts.c:579 src/print.c:156
|
#: src/conflicts.c:467 src/print.c:154
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" $default\treduce using rule %d (%s)\n"
|
" $default\treduce using rule %d (%s)\n"
|
||||||
@@ -112,22 +112,22 @@ msgstr ""
|
|||||||
" $default\tredutseerin kasutades reeglit %d (%s)\n"
|
" $default\tredutseerin kasutades reeglit %d (%s)\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/conflicts.c:668 src/conflicts.c:682
|
#: src/conflicts.c:521 src/conflicts.c:534
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||||
msgstr " %-4s\tredutseerin kasutades reeglit %d (%s)\n"
|
msgstr " %-4s\tredutseerin kasutades reeglit %d (%s)\n"
|
||||||
|
|
||||||
#: src/conflicts.c:708
|
#: src/conflicts.c:550
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $default\treduce using rule %d (%s)\n"
|
msgid " $default\treduce using rule %d (%s)\n"
|
||||||
msgstr " $default\tredutseerin kasutades reeglit %d (%s)\n"
|
msgstr " $default\tredutseerin kasutades reeglit %d (%s)\n"
|
||||||
|
|
||||||
#: src/files.c:143
|
#: src/files.c:150
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr "faili `%s' ei saa avada"
|
msgstr "faili `%s' ei saa avada"
|
||||||
|
|
||||||
#: src/files.c:162
|
#: src/files.c:169
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr "faili ei õnnestu sulgeda"
|
msgstr "faili ei õnnestu sulgeda"
|
||||||
|
|
||||||
@@ -225,27 +225,27 @@ msgstr ""
|
|||||||
"See on vaba tarkvara; kopeerimistingimused leiate lähtetekstidest. Garantii\n"
|
"See on vaba tarkvara; kopeerimistingimused leiate lähtetekstidest. Garantii\n"
|
||||||
"PUUDUB; ka müügiks või mingil eesmärgil kasutamiseks.\n"
|
"PUUDUB; ka müügiks või mingil eesmärgil kasutamiseks.\n"
|
||||||
|
|
||||||
#: src/getargs.c:215 src/lex.c:694
|
#: src/getargs.c:223 src/lex.c:694
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is no longer supported"
|
msgid "`%s' is no longer supported"
|
||||||
msgstr "`%s' ei ole enam toetatud"
|
msgstr "`%s' ei ole enam toetatud"
|
||||||
|
|
||||||
#: src/getargs.c:239
|
#: src/getargs.c:247
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Try `%s --help' for more information.\n"
|
msgid "Try `%s --help' for more information.\n"
|
||||||
msgstr "Lisainfo saamiseks proovige `%s --help'.\n"
|
msgstr "Lisainfo saamiseks proovige `%s --help'.\n"
|
||||||
|
|
||||||
#: src/getargs.c:246
|
#: src/getargs.c:254
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: no grammar file given\n"
|
msgid "%s: no grammar file given\n"
|
||||||
msgstr "%s: puudub grammatikafail\n"
|
msgstr "%s: puudub grammatikafail\n"
|
||||||
|
|
||||||
#: src/getargs.c:250
|
#: src/getargs.c:258
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: extra arguments ignored after `%s'\n"
|
msgid "%s: extra arguments ignored after `%s'\n"
|
||||||
msgstr "%s: ignoreerin lisaargumente peale `%s'\n"
|
msgstr "%s: ignoreerin lisaargumente peale `%s'\n"
|
||||||
|
|
||||||
#: src/lalr.c:293
|
#: src/lalr.c:256
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many gotos (max %d)"
|
msgid "too many gotos (max %d)"
|
||||||
msgstr "liiga palju gotosid (maks %d)"
|
msgstr "liiga palju gotosid (maks %d)"
|
||||||
@@ -254,7 +254,7 @@ msgstr "liiga palju gotosid (maks %d)"
|
|||||||
msgid "unexpected `/' found and ignored"
|
msgid "unexpected `/' found and ignored"
|
||||||
msgstr "leidsin ja ignoreerin ootamatu `/'"
|
msgstr "leidsin ja ignoreerin ootamatu `/'"
|
||||||
|
|
||||||
#: src/lex.c:105 src/reader.c:269
|
#: src/lex.c:105 src/reader.c:280
|
||||||
msgid "unterminated comment"
|
msgid "unterminated comment"
|
||||||
msgstr "lõpetamata kommentaar"
|
msgstr "lõpetamata kommentaar"
|
||||||
|
|
||||||
@@ -303,70 +303,69 @@ msgstr "`%s' ei toeta argumente: %s"
|
|||||||
msgid "`%s' requires an argument"
|
msgid "`%s' requires an argument"
|
||||||
msgstr "võti `%s' nõuab argumenti"
|
msgstr "võti `%s' nõuab argumenti"
|
||||||
|
|
||||||
#: src/main.c:128
|
#: src/output.c:951
|
||||||
#, c-format
|
|
||||||
msgid "%s: internal error: %s\n"
|
|
||||||
msgstr "%s: sisemine viga: %s\n"
|
|
||||||
|
|
||||||
#: src/output.c:979
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "maximum table size (%d) exceeded"
|
msgid "maximum table size (%d) exceeded"
|
||||||
msgstr "ületati maksimaalset tabelisuurust (%d)"
|
msgstr "ületati maksimaalset tabelisuurust (%d)"
|
||||||
|
|
||||||
#: src/print.c:38
|
#: src/print.c:39
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " type %d is %s\n"
|
msgid " type %d is %s\n"
|
||||||
msgstr " tüüp %d on %s\n"
|
msgstr " tüüp %d on %s\n"
|
||||||
|
|
||||||
#: src/print.c:78
|
#: src/print.c:88
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " (rule %d)"
|
msgid " (rule %d)"
|
||||||
msgstr " (reegel %d)"
|
msgstr " (reegel %d)"
|
||||||
|
|
||||||
#: src/print.c:98
|
#: src/print.c:108
|
||||||
msgid " $default\taccept\n"
|
msgid " $default\taccept\n"
|
||||||
msgstr " $default\taktsepteerin\n"
|
msgstr " $default\taktsepteerin\n"
|
||||||
|
|
||||||
#: src/print.c:100
|
#: src/print.c:110
|
||||||
msgid " NO ACTIONS\n"
|
msgid " NO ACTIONS\n"
|
||||||
msgstr " TEGEVUSI POLE\n"
|
msgstr " TEGEVUSI POLE\n"
|
||||||
|
|
||||||
#: src/print.c:120
|
#: src/print.c:124
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $ \tgo to state %d\n"
|
msgid " $ \tgo to state %d\n"
|
||||||
msgstr " $ \tliigu olekule %d\n"
|
msgstr " $ \tliigu olekule %d\n"
|
||||||
|
|
||||||
#: src/print.c:123
|
#: src/print.c:127
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tshift, and go to state %d\n"
|
msgid " %-4s\tshift, and go to state %d\n"
|
||||||
msgstr " %-4s\tnihuta ja liigu olekule %d\n"
|
msgstr " %-4s\tnihuta ja liigu olekule %d\n"
|
||||||
|
|
||||||
#: src/print.c:144
|
#: src/print.c:142
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\terror (nonassociative)\n"
|
msgid " %-4s\terror (nonassociative)\n"
|
||||||
msgstr " %-4s\tviga (mitteassotsiatiivne)\n"
|
msgstr " %-4s\tviga (mitteassotsiatiivne)\n"
|
||||||
|
|
||||||
#: src/print.c:173
|
#: src/print.c:169
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tgo to state %d\n"
|
msgid " %-4s\tgo to state %d\n"
|
||||||
msgstr " %-4s\tliigu olekule %d\n"
|
msgstr " %-4s\tliigu olekule %d\n"
|
||||||
|
|
||||||
#: src/print.c:185
|
#: src/print.c:180
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "state %d"
|
msgid "state %d"
|
||||||
msgstr "olek %d"
|
msgstr "olek %d"
|
||||||
|
|
||||||
#. rule # : LHS -> RHS
|
#. rule # : LHS -> RHS
|
||||||
#: src/print.c:215
|
#: src/print.c:211
|
||||||
msgid "Grammar"
|
msgid "Grammar"
|
||||||
msgstr "Grammatika"
|
msgstr "Grammatika"
|
||||||
|
|
||||||
#: src/print.c:220
|
#: src/print.c:212
|
||||||
#, c-format
|
msgid "Number, Line, Rule"
|
||||||
msgid "rule %-4d %s ->"
|
msgstr "Number, rida, reegel"
|
||||||
msgstr "reegel %-4d %s ->"
|
|
||||||
|
|
||||||
#: src/print.c:226
|
#: src/print.c:217
|
||||||
|
#, c-format
|
||||||
|
msgid " %3d %3d %s ->"
|
||||||
|
msgstr " %3d %3d %s ->"
|
||||||
|
|
||||||
|
#: src/print.c:224
|
||||||
msgid "empty"
|
msgid "empty"
|
||||||
msgstr "tühi"
|
msgstr "tühi"
|
||||||
|
|
||||||
@@ -375,15 +374,15 @@ msgstr "t
|
|||||||
msgid "Terminals, with rules where they appear"
|
msgid "Terminals, with rules where they appear"
|
||||||
msgstr "Terminalid, koos reeglitega, kus nad ilmuvad"
|
msgstr "Terminalid, koos reeglitega, kus nad ilmuvad"
|
||||||
|
|
||||||
#: src/print.c:255
|
#: src/print.c:256
|
||||||
msgid "Nonterminals, with rules where they appear"
|
msgid "Nonterminals, with rules where they appear"
|
||||||
msgstr "Mitteterminalid, koos reeglitega, kus nad ilmuvad"
|
msgstr "Mitteterminalid, koos reeglitega, kus nad ilmuvad"
|
||||||
|
|
||||||
#: src/print.c:281
|
#: src/print.c:282
|
||||||
msgid " on left:"
|
msgid " on left:"
|
||||||
msgstr " vasakul:"
|
msgstr " vasakul:"
|
||||||
|
|
||||||
#: src/print.c:296
|
#: src/print.c:297
|
||||||
msgid " on right:"
|
msgid " on right:"
|
||||||
msgstr " paremal:"
|
msgstr " paremal:"
|
||||||
|
|
||||||
@@ -392,7 +391,7 @@ msgstr " paremal:"
|
|||||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||||
#. obstack_sgrow (node_obstack, "\n");
|
#. obstack_sgrow (node_obstack, "\n");
|
||||||
#.
|
#.
|
||||||
#: src/print_graph.c:166
|
#: src/print_graph.c:146
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%-4s\terror (nonassociative)"
|
msgid "%-4s\terror (nonassociative)"
|
||||||
msgstr "%-4s\tviga (mitteassotsiatiivne)"
|
msgstr "%-4s\tviga (mitteassotsiatiivne)"
|
||||||
@@ -401,301 +400,273 @@ msgstr "%-4s\tviga (mitteassotsiatiivne)"
|
|||||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||||
#. obstack_sgrow (node_obstack, "\n");
|
#. obstack_sgrow (node_obstack, "\n");
|
||||||
#.
|
#.
|
||||||
#: src/print_graph.c:181
|
#: src/print_graph.c:161
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$default\treduce using rule %d (%s)"
|
msgid "$default\treduce using rule %d (%s)"
|
||||||
msgstr "$default\tredutseerin kasutades reeglit %d (%s)"
|
msgstr "$default\tredutseerin kasutades reeglit %d (%s)"
|
||||||
|
|
||||||
#: src/reader.c:78
|
#: src/reader.c:89
|
||||||
msgid " Skipping to next \\n"
|
msgid " Skipping to next \\n"
|
||||||
msgstr " Liigun järgmisele \\n"
|
msgstr " Liigun järgmisele \\n"
|
||||||
|
|
||||||
#: src/reader.c:80
|
#: src/reader.c:91
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " Skipping to next %c"
|
msgid " Skipping to next %c"
|
||||||
msgstr " Liigun järgmisele %c"
|
msgstr " Liigun järgmisele %c"
|
||||||
|
|
||||||
#: src/reader.c:131 src/reader.c:143
|
#: src/reader.c:142 src/reader.c:154
|
||||||
msgid "invalid $ value"
|
msgid "invalid $ value"
|
||||||
msgstr "vigane $ väärtus"
|
msgstr "vigane $ väärtus"
|
||||||
|
|
||||||
#: src/reader.c:169 src/reader.c:184
|
#: src/reader.c:180 src/reader.c:195
|
||||||
msgid "unterminated string at end of file"
|
msgid "unterminated string at end of file"
|
||||||
msgstr "lõpetamata sõne faili lõpus"
|
msgstr "lõpetamata sõne faili lõpus"
|
||||||
|
|
||||||
#: src/reader.c:172
|
#: src/reader.c:183
|
||||||
msgid "unterminated string"
|
msgid "unterminated string"
|
||||||
msgstr "lõpetamata sõne"
|
msgstr "lõpetamata sõne"
|
||||||
|
|
||||||
#: src/reader.c:325 src/reader.c:389
|
#: src/reader.c:336 src/reader.c:400
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "%s on vigane"
|
msgstr "%s on vigane"
|
||||||
|
|
||||||
#: src/reader.c:365
|
#: src/reader.c:376
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$$ of `%s' has no declared type"
|
msgid "$$ of `%s' has no declared type"
|
||||||
msgstr "`%s' $$ ei oma deklareeritud tüüpi"
|
msgstr "`%s' $$ ei oma deklareeritud tüüpi"
|
||||||
|
|
||||||
#: src/reader.c:382
|
#: src/reader.c:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "$%d `%s' ei oma deklareeritud tüüpi"
|
msgstr "$%d `%s' ei oma deklareeritud tüüpi"
|
||||||
|
|
||||||
#: src/reader.c:436
|
#: src/reader.c:447
|
||||||
msgid "unterminated `%{' definition"
|
msgid "unterminated `%{' definition"
|
||||||
msgstr "lõpetamata `%{' definitsioon"
|
msgstr "lõpetamata `%{' definitsioon"
|
||||||
|
|
||||||
#: src/reader.c:481 src/reader.c:595 src/reader.c:645
|
#: src/reader.c:492 src/reader.c:607 src/reader.c:657
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Premature EOF after %s"
|
msgid "Premature EOF after %s"
|
||||||
msgstr "Enneaegne EOF peale %s"
|
msgstr "Enneaegne EOF peale %s"
|
||||||
|
|
||||||
#: src/reader.c:498
|
#: src/reader.c:509
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' used more than once as a literal string"
|
msgid "symbol `%s' used more than once as a literal string"
|
||||||
msgstr "sümbolit `%s' on kasutatud enam kui kord literaal sõnena"
|
msgstr "sümbolit `%s' on kasutatud enam kui kord literaal sõnena"
|
||||||
|
|
||||||
#: src/reader.c:501
|
#: src/reader.c:512
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' given more than one literal string"
|
msgid "symbol `%s' given more than one literal string"
|
||||||
msgstr "sümbolile `%s' on antud enam kui üks literaal sõne"
|
msgstr "sümbolile `%s' on antud enam kui üks literaal sõne"
|
||||||
|
|
||||||
#: src/reader.c:522 src/reader.c:664
|
#: src/reader.c:533 src/reader.c:676
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol %s redefined"
|
msgid "symbol %s redefined"
|
||||||
msgstr "sümbol %s on uuesti defineeritud"
|
msgstr "sümbol %s on uuesti defineeritud"
|
||||||
|
|
||||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1280
|
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1298
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type redeclaration for %s"
|
msgid "type redeclaration for %s"
|
||||||
msgstr "%s tüübi uuesti deklareerimine"
|
msgstr "%s tüübi uuesti deklareerimine"
|
||||||
|
|
||||||
#: src/reader.c:541
|
#: src/reader.c:552
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is invalid in %s"
|
msgid "`%s' is invalid in %s"
|
||||||
msgstr "`%s' ei ole %s sees lubatud"
|
msgstr "`%s' ei ole %s sees lubatud"
|
||||||
|
|
||||||
#: src/reader.c:558 src/reader.c:723
|
#: src/reader.c:570 src/reader.c:735
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "korduvad %s deklaratsioonid"
|
msgstr "korduvad %s deklaratsioonid"
|
||||||
|
|
||||||
#: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1258
|
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1276
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid %s declaration"
|
msgid "invalid %s declaration"
|
||||||
msgstr "vigane %s deklaratsioon"
|
msgstr "vigane %s deklaratsioon"
|
||||||
|
|
||||||
#: src/reader.c:580
|
#: src/reader.c:592
|
||||||
msgid "%type declaration has no <typename>"
|
msgid "%type declaration has no <typename>"
|
||||||
msgstr "%type deklaratsioonis puudub <tüübinimi>"
|
msgstr "%type deklaratsioonis puudub <tüübinimi>"
|
||||||
|
|
||||||
#: src/reader.c:615
|
#: src/reader.c:627
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid %%type declaration due to item: %s"
|
msgid "invalid %%type declaration due to item: %s"
|
||||||
msgstr "vigane %%type deklaratsioon, element: %s"
|
msgstr "vigane %%type deklaratsioon, element: %s"
|
||||||
|
|
||||||
#: src/reader.c:660
|
#: src/reader.c:672
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "redefining precedence of %s"
|
msgid "redefining precedence of %s"
|
||||||
msgstr "%s prioriteedi uus definitsioon"
|
msgstr "%s prioriteedi uus definitsioon"
|
||||||
|
|
||||||
#: src/reader.c:683
|
#: src/reader.c:695
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid text (%s) - number should be after identifier"
|
msgid "invalid text (%s) - number should be after identifier"
|
||||||
msgstr "vigane tekst (%s) - number peab olema peale identifikaatorit"
|
msgstr "vigane tekst (%s) - number peab olema peale identifikaatorit"
|
||||||
|
|
||||||
#: src/reader.c:693
|
#: src/reader.c:705
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unexpected item: %s"
|
msgid "unexpected item: %s"
|
||||||
msgstr "ootamatu element: %s"
|
msgstr "ootamatu element: %s"
|
||||||
|
|
||||||
#: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
|
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1187
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unmatched %s"
|
msgid "unmatched %s"
|
||||||
msgstr "puudub %s"
|
msgstr "puudub %s"
|
||||||
|
|
||||||
#: src/reader.c:798
|
#: src/reader.c:810
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "argument of %%expect is not an integer"
|
msgid "argument of %%expect is not an integer"
|
||||||
msgstr "%%expect argument ei ole täisarv"
|
msgstr "%%expect argument ei ole täisarv"
|
||||||
|
|
||||||
#: src/reader.c:844
|
#: src/reader.c:856
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unrecognized item %s, expected an identifier"
|
msgid "unrecognized item %s, expected an identifier"
|
||||||
msgstr "tundmatu element %s, eeldasin identifikaatorit"
|
msgstr "tundmatu element %s, eeldasin identifikaatorit"
|
||||||
|
|
||||||
#: src/reader.c:866
|
#: src/reader.c:878
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "expected string constant instead of %s"
|
msgid "expected string constant instead of %s"
|
||||||
msgstr "eeldasin %s asemel sõnekonstanti"
|
msgstr "eeldasin %s asemel sõnekonstanti"
|
||||||
|
|
||||||
#: src/reader.c:1014
|
#: src/reader.c:1026
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unrecognized: %s"
|
msgid "unrecognized: %s"
|
||||||
msgstr "tundmatu: %s"
|
msgstr "tundmatu: %s"
|
||||||
|
|
||||||
#: src/reader.c:1019
|
#: src/reader.c:1031
|
||||||
msgid "no input grammar"
|
msgid "no input grammar"
|
||||||
msgstr "sisendgrammatikat pole"
|
msgstr "sisendgrammatikat pole"
|
||||||
|
|
||||||
#: src/reader.c:1024
|
#: src/reader.c:1036
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unknown character: %s"
|
msgid "unknown character: %s"
|
||||||
msgstr "tundmatu sümbol: %s"
|
msgstr "tundmatu sümbol: %s"
|
||||||
|
|
||||||
#: src/reader.c:1192
|
#: src/reader.c:1210
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unterminated %guard clause"
|
msgid "unterminated %guard clause"
|
||||||
msgstr "lõpetamata %guard klausel"
|
msgstr "lõpetamata %guard klausel"
|
||||||
|
|
||||||
#: src/reader.c:1345
|
#: src/reader.c:1363
|
||||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||||
msgstr "vigaselt formeeritud reegel: algsümbolile ei järgne koolonit"
|
msgstr "vigaselt formeeritud reegel: algsümbolile ei järgne koolonit"
|
||||||
|
|
||||||
#: src/reader.c:1352
|
#: src/reader.c:1370
|
||||||
msgid "grammar starts with vertical bar"
|
msgid "grammar starts with vertical bar"
|
||||||
msgstr "grammatika algab püstkriipsuga"
|
msgstr "grammatika algab püstkriipsuga"
|
||||||
|
|
||||||
#: src/reader.c:1381
|
#: src/reader.c:1398
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule given for %s, which is a token"
|
msgid "rule given for %s, which is a token"
|
||||||
msgstr "%s jaoks on antud reegel, aga see on märk"
|
msgstr "%s jaoks on antud reegel, aga see on märk"
|
||||||
|
|
||||||
#: src/reader.c:1483
|
#: src/reader.c:1498
|
||||||
msgid "two @prec's in a row"
|
msgid "two @prec's in a row"
|
||||||
msgstr "kaks @prec ühel real"
|
msgstr "kaks @prec ühel real"
|
||||||
|
|
||||||
#: src/reader.c:1491
|
#: src/reader.c:1506
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%%guard present but %%semantic_parser not specified"
|
msgid "%%guard present but %%semantic_parser not specified"
|
||||||
msgstr "%%guard on määratud, aga %%semantic_parser ei ole"
|
msgstr "%%guard on määratud, aga %%semantic_parser ei ole"
|
||||||
|
|
||||||
#: src/reader.c:1500
|
#: src/reader.c:1515
|
||||||
msgid "two actions at end of one rule"
|
msgid "two actions at end of one rule"
|
||||||
msgstr "kaks tegevust ühe reegli lõpus"
|
msgstr "kaks tegevust ühe reegli lõpus"
|
||||||
|
|
||||||
#: src/reader.c:1514
|
#: src/reader.c:1529
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type clash (`%s' `%s') on default action"
|
msgid "type clash (`%s' `%s') on default action"
|
||||||
msgstr "vaikimisi tegevuse tüübikonflikt (`%s' `%s')"
|
msgstr "vaikimisi tegevuse tüübikonflikt (`%s' `%s')"
|
||||||
|
|
||||||
#: src/reader.c:1520
|
#: src/reader.c:1535
|
||||||
msgid "empty rule for typed nonterminal, and no action"
|
msgid "empty rule for typed nonterminal, and no action"
|
||||||
msgstr "tüübiga mitteterminalil on tühi reegel ja puudub tegevus"
|
msgstr "tüübiga mitteterminalil on tühi reegel ja puudub tegevus"
|
||||||
|
|
||||||
#: src/reader.c:1564
|
#: src/reader.c:1579
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid input: %s"
|
msgid "invalid input: %s"
|
||||||
msgstr "vigane sisend: %s"
|
msgstr "vigane sisend: %s"
|
||||||
|
|
||||||
#: src/reader.c:1572
|
#: src/reader.c:1587
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "liiga palju sümboleid (märgid ja mitteterminalid); maksimaalne on %d"
|
msgstr "liiga palju sümboleid (märgid ja mitteterminalid); maksimaalne on %d"
|
||||||
|
|
||||||
#: src/reader.c:1575
|
#: src/reader.c:1590
|
||||||
msgid "no rules in the input grammar"
|
msgid "no rules in the input grammar"
|
||||||
msgstr "sisendgrammatikas pole reegleid"
|
msgstr "sisendgrammatikas pole reegleid"
|
||||||
|
|
||||||
#: src/reader.c:1599
|
#: src/reader.c:1614
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"kasutatakse sümbolit %s, mis ei ole defineeritud märgina ja millel puuduvad "
|
"kasutatakse sümbolit %s, mis ei ole defineeritud märgina ja millel puuduvad "
|
||||||
"reeglid"
|
"reeglid"
|
||||||
|
|
||||||
#: src/reader.c:1734
|
#: src/reader.c:1749
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "tokens %s and %s both assigned number %d"
|
msgid "tokens %s and %s both assigned number %d"
|
||||||
msgstr "märkidele %s ja %s on mõlemale omistatud number %d"
|
msgstr "märkidele %s ja %s on mõlemale omistatud number %d"
|
||||||
|
|
||||||
#: src/reader.c:1787
|
#: src/reader.c:1802
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "conflicting precedences for %s and %s"
|
msgid "conflicting precedences for %s and %s"
|
||||||
msgstr "%s ja %s omavad konfliktseid prioriteete"
|
msgstr "%s ja %s omavad konfliktseid prioriteete"
|
||||||
|
|
||||||
#: src/reader.c:1799
|
#: src/reader.c:1814
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "conflicting assoc values for %s and %s"
|
msgid "conflicting assoc values for %s and %s"
|
||||||
msgstr "%s ja %s omavad konfliktseid assotsiatiivseid väärtuseid"
|
msgstr "%s ja %s omavad konfliktseid assotsiatiivseid väärtuseid"
|
||||||
|
|
||||||
#: src/reader.c:1838
|
#: src/reader.c:1853
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the start symbol %s is undefined"
|
msgid "the start symbol %s is undefined"
|
||||||
msgstr "stardisümbol %s ei ole defineeritud"
|
msgstr "stardisümbol %s ei ole defineeritud"
|
||||||
|
|
||||||
#: src/reader.c:1840
|
#: src/reader.c:1855
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the start symbol %s is a token"
|
msgid "the start symbol %s is a token"
|
||||||
msgstr "stardisümbol %s on märk"
|
msgstr "stardisümbol %s on märk"
|
||||||
|
|
||||||
#: src/reduce.c:400
|
#: src/reduce.c:409
|
||||||
msgid "Useless nonterminals:"
|
msgid "Useless nonterminals:"
|
||||||
msgstr "Kasutamata mitteterminalid:"
|
msgstr "Kasutamata mitteterminalid:"
|
||||||
|
|
||||||
#: src/reduce.c:414
|
#: src/reduce.c:422
|
||||||
msgid "Terminals which are not used:"
|
msgid "Terminals which are not used:"
|
||||||
msgstr "Terminalid, mida ei kasutatud:"
|
msgstr "Terminalid, mida ei kasutatud:"
|
||||||
|
|
||||||
#: src/reduce.c:425
|
#: src/reduce.c:433
|
||||||
msgid "Useless rules:"
|
msgid "Useless rules:"
|
||||||
msgstr "Kasutamata reeglid:"
|
msgstr "Kasutamata reeglid:"
|
||||||
|
|
||||||
#: src/reduce.c:451
|
#: src/reduce.c:503
|
||||||
msgid ""
|
|
||||||
"Variables\n"
|
|
||||||
"---------\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"Muutujad\n"
|
|
||||||
"--------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:452
|
|
||||||
msgid "Value Sprec Sassoc Tag\n"
|
|
||||||
msgstr "Value Sprec Sassoc Tag\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:456
|
|
||||||
msgid ""
|
|
||||||
"Rules\n"
|
|
||||||
"-----\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"Reeglid\n"
|
|
||||||
"-------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:470
|
|
||||||
msgid ""
|
|
||||||
"Rules interpreted\n"
|
|
||||||
"-----------------\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"Interpreteeritud reeglid\n"
|
|
||||||
"------------------------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:491
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d rules never reduced\n"
|
msgid "%d rule never reduced\n"
|
||||||
msgstr "%d reeglit ei redutseeritud\n"
|
msgid_plural "%d rules never reduced\n"
|
||||||
|
msgstr[0] "%d reegel ei redutseeru\n"
|
||||||
|
msgstr[1] "%d reeglit ei redutseeru\n"
|
||||||
|
|
||||||
#: src/reduce.c:497
|
#: src/reduce.c:511
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless nonterminal%s"
|
msgid "%d useless nonterminal"
|
||||||
msgstr "%d kasutamata mitteterminali%s"
|
msgid_plural "%d useless nonterminals"
|
||||||
|
msgstr[0] "%d kasutamata mitteterminal"
|
||||||
|
msgstr[1] "%d kasutamata mitteterminali"
|
||||||
|
|
||||||
#: src/reduce.c:502
|
#: src/reduce.c:517
|
||||||
msgid " and "
|
msgid " and "
|
||||||
msgstr " ja "
|
msgstr " ja "
|
||||||
|
|
||||||
#: src/reduce.c:506
|
#: src/reduce.c:520
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless rule%s"
|
msgid "%d useless rule"
|
||||||
msgstr "%d kasutamata reeglit%s"
|
msgid_plural "%d useless rules"
|
||||||
|
msgstr[0] "%d kasutamata reegel"
|
||||||
|
msgstr[1] "%d kasutamata reeglit"
|
||||||
|
|
||||||
#: src/reduce.c:536
|
#: src/reduce.c:551
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "Stardisümbolist %s ei tuletata ühtegi lauset"
|
msgstr "Stardisümbolist %s ei tuletata ühtegi lauset"
|
||||||
@@ -779,25 +750,10 @@ msgstr "m
|
|||||||
#. MARK). A British English Unicode locale should instead
|
#. MARK). A British English Unicode locale should instead
|
||||||
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
|
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
|
||||||
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
|
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
|
||||||
#: lib/quotearg.c:268
|
#: lib/quotearg.c:274
|
||||||
msgid "`"
|
msgid "`"
|
||||||
msgstr "`"
|
msgstr "`"
|
||||||
|
|
||||||
#: lib/quotearg.c:269
|
#: lib/quotearg.c:275
|
||||||
msgid "'"
|
msgid "'"
|
||||||
msgstr "'"
|
msgstr "'"
|
||||||
|
|
||||||
#~ msgid "DERIVES"
|
|
||||||
#~ msgstr "DERIVES"
|
|
||||||
|
|
||||||
#~ msgid "%s derives"
|
|
||||||
#~ msgstr "%s derives"
|
|
||||||
|
|
||||||
#~ msgid "Entering set_nullable"
|
|
||||||
#~ msgstr "Entering set_nullable"
|
|
||||||
|
|
||||||
#~ msgid ""
|
|
||||||
#~ "reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
|
||||||
#~ msgstr ""
|
|
||||||
#~ "redutseeritud %s defineerib %d terminali%s, %d mitteterminali%s ja %d "
|
|
||||||
#~ "reeglit%s.\n"
|
|
||||||
|
|||||||
@@ -5,9 +5,9 @@
|
|||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: GNU bison 1.30c\n"
|
"Project-Id-Version: GNU bison 1.30f\n"
|
||||||
"POT-Creation-Date: 2001-11-20 14:16+0100\n"
|
"POT-Creation-Date: 2002-01-11 14:38+0100\n"
|
||||||
"PO-Revision-Date: 2001-11-19 12:00-0500\n"
|
"PO-Revision-Date: 2001-12-05 13:00-0500\n"
|
||||||
"Last-Translator: Michel Robitaille <[email protected]>\n"
|
"Last-Translator: Michel Robitaille <[email protected]>\n"
|
||||||
"Language-Team: French <[email protected]>\n"
|
"Language-Team: French <[email protected]>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@@ -19,7 +19,7 @@ msgstr ""
|
|||||||
msgid "too many states (max %d)"
|
msgid "too many states (max %d)"
|
||||||
msgstr "nombre trop grand d'états (max %d)"
|
msgstr "nombre trop grand d'états (max %d)"
|
||||||
|
|
||||||
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
|
#: lib/error.c:128 lib/error.c:156 src/complain.c:99
|
||||||
msgid "Unknown system error"
|
msgid "Unknown system error"
|
||||||
msgstr "Erreur système inconnue"
|
msgstr "Erreur système inconnue"
|
||||||
|
|
||||||
@@ -27,82 +27,82 @@ msgstr "Erreur syst
|
|||||||
msgid "warning: "
|
msgid "warning: "
|
||||||
msgstr "AVERTISSEMENT: "
|
msgstr "AVERTISSEMENT: "
|
||||||
|
|
||||||
#: src/complain.c:238 src/complain.c:279
|
#: src/complain.c:238
|
||||||
msgid "fatal error: "
|
msgid "fatal error: "
|
||||||
msgstr "erreur fatale: "
|
msgstr "erreur fatale: "
|
||||||
|
|
||||||
#: src/conflicts.c:45
|
#: src/conflicts.c:44
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Conflit à l'état %d entre la règle %d et le terminal %s résolu par %s.\n"
|
"Conflit à l'état %d entre la règle %d et le terminal %s résolu par %s.\n"
|
||||||
|
|
||||||
#: src/conflicts.c:111 src/conflicts.c:134
|
#: src/conflicts.c:94 src/conflicts.c:119
|
||||||
msgid "reduce"
|
msgid "reduce"
|
||||||
msgstr "réduction"
|
msgstr "réduction"
|
||||||
|
|
||||||
#: src/conflicts.c:117 src/conflicts.c:130
|
#: src/conflicts.c:101 src/conflicts.c:115
|
||||||
msgid "shift"
|
msgid "shift"
|
||||||
msgstr "décalage"
|
msgstr "décalage"
|
||||||
|
|
||||||
#: src/conflicts.c:138
|
#: src/conflicts.c:123
|
||||||
msgid "an error"
|
msgid "an error"
|
||||||
msgstr "une erreur"
|
msgstr "une erreur"
|
||||||
|
|
||||||
#: src/conflicts.c:389
|
#: src/conflicts.c:302
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d shift/reduce conflict"
|
msgid "%d shift/reduce conflict"
|
||||||
msgid_plural "%d shift/reduce conflicts"
|
msgid_plural "%d shift/reduce conflicts"
|
||||||
msgstr[0] "%d conflits par décalage/réduction"
|
msgstr[0] "%d conflits par décalage/réduction"
|
||||||
|
|
||||||
#: src/conflicts.c:396
|
#: src/conflicts.c:309
|
||||||
msgid "and"
|
msgid "and"
|
||||||
msgstr "et"
|
msgstr "et"
|
||||||
|
|
||||||
#: src/conflicts.c:402
|
#: src/conflicts.c:315
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d reduce/reduce conflict"
|
msgid "%d reduce/reduce conflict"
|
||||||
msgid_plural "%d reduce/reduce conflicts"
|
msgid_plural "%d reduce/reduce conflicts"
|
||||||
msgstr[0] "%d conflits par réduction/réduction"
|
msgstr[0] "%d conflits par réduction/réduction"
|
||||||
|
|
||||||
#: src/conflicts.c:426
|
#: src/conflicts.c:340
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "State %d contains "
|
msgid "State %d contains "
|
||||||
msgstr "L'état %d contient "
|
msgstr "L'état %d contient "
|
||||||
|
|
||||||
#. If invoked with `--yacc', use the output format specified by
|
#. If invoked with `--yacc', use the output format specified by
|
||||||
#. POSIX.
|
#. POSIX.
|
||||||
#: src/conflicts.c:460
|
#: src/conflicts.c:387
|
||||||
msgid "conflicts: "
|
msgid "conflicts: "
|
||||||
msgstr "conflits: "
|
msgstr "conflits: "
|
||||||
|
|
||||||
#: src/conflicts.c:462
|
#: src/conflicts.c:389
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d shift/reduce"
|
msgid " %d shift/reduce"
|
||||||
msgstr " %d décalage/réduction"
|
msgstr " %d décalage/réduction"
|
||||||
|
|
||||||
#: src/conflicts.c:466
|
#: src/conflicts.c:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d reduce/reduce"
|
msgid " %d reduce/reduce"
|
||||||
msgstr " %d réduction/réduction"
|
msgstr " %d réduction/réduction"
|
||||||
|
|
||||||
#: src/conflicts.c:471 src/reduce.c:493
|
#: src/conflicts.c:398 src/reduce.c:508
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s contains "
|
msgid "%s contains "
|
||||||
msgstr "%s contient "
|
msgstr "%s contient "
|
||||||
|
|
||||||
#: src/conflicts.c:480
|
#: src/conflicts.c:412
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "expected %d shift/reduce conflict\n"
|
msgid "expected %d shift/reduce conflict\n"
|
||||||
msgid_plural "expected %d shift/reduce conflicts\n"
|
msgid_plural "expected %d shift/reduce conflicts\n"
|
||||||
msgstr[0] "attendu %d conflits décalage/réduction"
|
msgstr[0] "attendu %d conflits décalage/réduction\n"
|
||||||
|
|
||||||
#: src/conflicts.c:567 src/conflicts.c:688
|
#: src/conflicts.c:463 src/conflicts.c:540
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||||
msgstr " %-4s\t[réduction par la règle %d (%s)\n"
|
msgstr " %-4s\t[réduction par la règle %d (%s)\n"
|
||||||
|
|
||||||
#: src/conflicts.c:579 src/print.c:156
|
#: src/conflicts.c:467 src/print.c:154
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" $default\treduce using rule %d (%s)\n"
|
" $default\treduce using rule %d (%s)\n"
|
||||||
@@ -111,22 +111,22 @@ msgstr ""
|
|||||||
" $défaut\tréduction par la règle %d (%s)\n"
|
" $défaut\tréduction par la règle %d (%s)\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/conflicts.c:668 src/conflicts.c:682
|
#: src/conflicts.c:521 src/conflicts.c:534
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||||
msgstr " %-4s\tréduction par la règle %d (%s)\n"
|
msgstr " %-4s\tréduction par la règle %d (%s)\n"
|
||||||
|
|
||||||
#: src/conflicts.c:708
|
#: src/conflicts.c:550
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $default\treduce using rule %d (%s)\n"
|
msgid " $default\treduce using rule %d (%s)\n"
|
||||||
msgstr " $défaut\tréduction par la règle %d (%s)\n"
|
msgstr " $défaut\tréduction par la règle %d (%s)\n"
|
||||||
|
|
||||||
#: src/files.c:143
|
#: src/files.c:150
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr "ne peut ouvrir le fichier `%s'"
|
msgstr "ne peut ouvrir le fichier `%s'"
|
||||||
|
|
||||||
#: src/files.c:162
|
#: src/files.c:169
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr "ne peut fermer le fichier"
|
msgstr "ne peut fermer le fichier"
|
||||||
|
|
||||||
@@ -228,27 +228,27 @@ msgstr ""
|
|||||||
"reproduction. AUCUNE garantie n'est donnée; tant pour des raisons\n"
|
"reproduction. AUCUNE garantie n'est donnée; tant pour des raisons\n"
|
||||||
"COMMERCIALES que pour RÉPONDRE À UN BESOIN PARTICULIER.\n"
|
"COMMERCIALES que pour RÉPONDRE À UN BESOIN PARTICULIER.\n"
|
||||||
|
|
||||||
#: src/getargs.c:215 src/lex.c:694
|
#: src/getargs.c:223 src/lex.c:694
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is no longer supported"
|
msgid "`%s' is no longer supported"
|
||||||
msgstr "`%s' n'est plus supporté"
|
msgstr "`%s' n'est plus supporté"
|
||||||
|
|
||||||
#: src/getargs.c:239
|
#: src/getargs.c:247
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Try `%s --help' for more information.\n"
|
msgid "Try `%s --help' for more information.\n"
|
||||||
msgstr "Pour en savoir davantage, faites: `%s --help'.\n"
|
msgstr "Pour en savoir davantage, faites: `%s --help'.\n"
|
||||||
|
|
||||||
#: src/getargs.c:246
|
#: src/getargs.c:254
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: no grammar file given\n"
|
msgid "%s: no grammar file given\n"
|
||||||
msgstr "%s: grammaire manquante\n"
|
msgstr "%s: grammaire manquante\n"
|
||||||
|
|
||||||
#: src/getargs.c:250
|
#: src/getargs.c:258
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: extra arguments ignored after `%s'\n"
|
msgid "%s: extra arguments ignored after `%s'\n"
|
||||||
msgstr "%s: arguments supplémentaires ignorés après `%s'\n"
|
msgstr "%s: arguments supplémentaires ignorés après `%s'\n"
|
||||||
|
|
||||||
#: src/lalr.c:293
|
#: src/lalr.c:256
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many gotos (max %d)"
|
msgid "too many gotos (max %d)"
|
||||||
msgstr "nombre trop grand de \"goto\" (Max %d)"
|
msgstr "nombre trop grand de \"goto\" (Max %d)"
|
||||||
@@ -257,7 +257,7 @@ msgstr "nombre trop grand de \"goto\" (Max %d)"
|
|||||||
msgid "unexpected `/' found and ignored"
|
msgid "unexpected `/' found and ignored"
|
||||||
msgstr "`/' inattendu et ignoré"
|
msgstr "`/' inattendu et ignoré"
|
||||||
|
|
||||||
#: src/lex.c:105 src/reader.c:269
|
#: src/lex.c:105 src/reader.c:280
|
||||||
msgid "unterminated comment"
|
msgid "unterminated comment"
|
||||||
msgstr "le commentaire ne se termine pas"
|
msgstr "le commentaire ne se termine pas"
|
||||||
|
|
||||||
@@ -306,70 +306,69 @@ msgstr "`%s' ne supporte aucun argument: %s"
|
|||||||
msgid "`%s' requires an argument"
|
msgid "`%s' requires an argument"
|
||||||
msgstr "`%s': requiert un argument"
|
msgstr "`%s': requiert un argument"
|
||||||
|
|
||||||
#: src/main.c:128
|
#: src/output.c:951
|
||||||
#, c-format
|
|
||||||
msgid "%s: internal error: %s\n"
|
|
||||||
msgstr "%s: erreur interne: %s\n"
|
|
||||||
|
|
||||||
#: src/output.c:979
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "maximum table size (%d) exceeded"
|
msgid "maximum table size (%d) exceeded"
|
||||||
msgstr "taille maximale de la table (%d) dépassée"
|
msgstr "taille maximale de la table (%d) dépassée"
|
||||||
|
|
||||||
#: src/print.c:38
|
#: src/print.c:39
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " type %d is %s\n"
|
msgid " type %d is %s\n"
|
||||||
msgstr " le type %d est %s\n"
|
msgstr " le type %d est %s\n"
|
||||||
|
|
||||||
#: src/print.c:78
|
#: src/print.c:88
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " (rule %d)"
|
msgid " (rule %d)"
|
||||||
msgstr " (règle %d)"
|
msgstr " (règle %d)"
|
||||||
|
|
||||||
#: src/print.c:98
|
#: src/print.c:108
|
||||||
msgid " $default\taccept\n"
|
msgid " $default\taccept\n"
|
||||||
msgstr " $défaut\taccepter\n"
|
msgstr " $défaut\taccepter\n"
|
||||||
|
|
||||||
#: src/print.c:100
|
#: src/print.c:110
|
||||||
msgid " NO ACTIONS\n"
|
msgid " NO ACTIONS\n"
|
||||||
msgstr " PAS D'ACTION\n"
|
msgstr " PAS D'ACTION\n"
|
||||||
|
|
||||||
#: src/print.c:120
|
#: src/print.c:124
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $ \tgo to state %d\n"
|
msgid " $ \tgo to state %d\n"
|
||||||
msgstr " $ \taller à l'état %d\n"
|
msgstr " $ \taller à l'état %d\n"
|
||||||
|
|
||||||
#: src/print.c:123
|
#: src/print.c:127
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tshift, and go to state %d\n"
|
msgid " %-4s\tshift, and go to state %d\n"
|
||||||
msgstr " %-4s\tdécalage et aller à l'état %d\n"
|
msgstr " %-4s\tdécalage et aller à l'état %d\n"
|
||||||
|
|
||||||
#: src/print.c:144
|
#: src/print.c:142
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\terror (nonassociative)\n"
|
msgid " %-4s\terror (nonassociative)\n"
|
||||||
msgstr " %-4s\terreur (non-associatif)\n"
|
msgstr " %-4s\terreur (non-associatif)\n"
|
||||||
|
|
||||||
#: src/print.c:173
|
#: src/print.c:169
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tgo to state %d\n"
|
msgid " %-4s\tgo to state %d\n"
|
||||||
msgstr " %-4s\taller à l'état %d\n"
|
msgstr " %-4s\taller à l'état %d\n"
|
||||||
|
|
||||||
#: src/print.c:185
|
#: src/print.c:180
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "state %d"
|
msgid "state %d"
|
||||||
msgstr "état %d"
|
msgstr "état %d"
|
||||||
|
|
||||||
#. rule # : LHS -> RHS
|
#. rule # : LHS -> RHS
|
||||||
#: src/print.c:215
|
#: src/print.c:211
|
||||||
msgid "Grammar"
|
msgid "Grammar"
|
||||||
msgstr "Grammaire"
|
msgstr "Grammaire"
|
||||||
|
|
||||||
#: src/print.c:220
|
#: src/print.c:212
|
||||||
#, c-format
|
msgid "Number, Line, Rule"
|
||||||
msgid "rule %-4d %s ->"
|
msgstr "Nombre, ligne, règle"
|
||||||
msgstr "règle %-4d %s ->"
|
|
||||||
|
|
||||||
#: src/print.c:226
|
#: src/print.c:217
|
||||||
|
#, c-format
|
||||||
|
msgid " %3d %3d %s ->"
|
||||||
|
msgstr " %3d %3d %s ->"
|
||||||
|
|
||||||
|
#: src/print.c:224
|
||||||
msgid "empty"
|
msgid "empty"
|
||||||
msgstr "vide"
|
msgstr "vide"
|
||||||
|
|
||||||
@@ -378,15 +377,15 @@ msgstr "vide"
|
|||||||
msgid "Terminals, with rules where they appear"
|
msgid "Terminals, with rules where they appear"
|
||||||
msgstr "Terminaux, suivis des règles où ils apparaissent"
|
msgstr "Terminaux, suivis des règles où ils apparaissent"
|
||||||
|
|
||||||
#: src/print.c:255
|
#: src/print.c:256
|
||||||
msgid "Nonterminals, with rules where they appear"
|
msgid "Nonterminals, with rules where they appear"
|
||||||
msgstr "Non-terminaux, suivis des règles où ils apparaissent"
|
msgstr "Non-terminaux, suivis des règles où ils apparaissent"
|
||||||
|
|
||||||
#: src/print.c:281
|
#: src/print.c:282
|
||||||
msgid " on left:"
|
msgid " on left:"
|
||||||
msgstr " à gauche:"
|
msgstr " à gauche:"
|
||||||
|
|
||||||
#: src/print.c:296
|
#: src/print.c:297
|
||||||
msgid " on right:"
|
msgid " on right:"
|
||||||
msgstr " à droite:"
|
msgstr " à droite:"
|
||||||
|
|
||||||
@@ -395,7 +394,7 @@ msgstr "
|
|||||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||||
#. obstack_sgrow (node_obstack, "\n");
|
#. obstack_sgrow (node_obstack, "\n");
|
||||||
#.
|
#.
|
||||||
#: src/print_graph.c:166
|
#: src/print_graph.c:146
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%-4s\terror (nonassociative)"
|
msgid "%-4s\terror (nonassociative)"
|
||||||
msgstr "%-4s\terreur (non-associatif)"
|
msgstr "%-4s\terreur (non-associatif)"
|
||||||
@@ -404,302 +403,274 @@ msgstr "%-4s\terreur (non-associatif)"
|
|||||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||||
#. obstack_sgrow (node_obstack, "\n");
|
#. obstack_sgrow (node_obstack, "\n");
|
||||||
#.
|
#.
|
||||||
#: src/print_graph.c:181
|
#: src/print_graph.c:161
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$default\treduce using rule %d (%s)"
|
msgid "$default\treduce using rule %d (%s)"
|
||||||
msgstr "$défaut\tréduction par la règle %d (%s)"
|
msgstr "$défaut\tréduction par la règle %d (%s)"
|
||||||
|
|
||||||
#: src/reader.c:78
|
#: src/reader.c:89
|
||||||
msgid " Skipping to next \\n"
|
msgid " Skipping to next \\n"
|
||||||
msgstr " Saut jusqu'au prochain \\n"
|
msgstr " Saut jusqu'au prochain \\n"
|
||||||
|
|
||||||
#: src/reader.c:80
|
#: src/reader.c:91
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " Skipping to next %c"
|
msgid " Skipping to next %c"
|
||||||
msgstr " Saut jusqu'au prochain %c"
|
msgstr " Saut jusqu'au prochain %c"
|
||||||
|
|
||||||
#: src/reader.c:131 src/reader.c:143
|
#: src/reader.c:142 src/reader.c:154
|
||||||
msgid "invalid $ value"
|
msgid "invalid $ value"
|
||||||
msgstr "la valeur de symbole $ n'est pas valide"
|
msgstr "la valeur de symbole $ n'est pas valide"
|
||||||
|
|
||||||
#: src/reader.c:169 src/reader.c:184
|
#: src/reader.c:180 src/reader.c:195
|
||||||
msgid "unterminated string at end of file"
|
msgid "unterminated string at end of file"
|
||||||
msgstr "chaîne de caractères non terminée en fin de fichier"
|
msgstr "chaîne de caractères non terminée en fin de fichier"
|
||||||
|
|
||||||
#: src/reader.c:172
|
#: src/reader.c:183
|
||||||
msgid "unterminated string"
|
msgid "unterminated string"
|
||||||
msgstr "chaîne de caractère non terminée"
|
msgstr "chaîne de caractère non terminée"
|
||||||
|
|
||||||
#: src/reader.c:325 src/reader.c:389
|
#: src/reader.c:336 src/reader.c:400
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "%s n'est pas valide"
|
msgstr "%s n'est pas valide"
|
||||||
|
|
||||||
#: src/reader.c:365
|
#: src/reader.c:376
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$$ of `%s' has no declared type"
|
msgid "$$ of `%s' has no declared type"
|
||||||
msgstr "$$ de `%s' n'a pas son type déclaré"
|
msgstr "$$ de `%s' n'a pas son type déclaré"
|
||||||
|
|
||||||
#: src/reader.c:382
|
#: src/reader.c:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "$%d de `%s' n'a pas de type déclaré"
|
msgstr "$%d de `%s' n'a pas de type déclaré"
|
||||||
|
|
||||||
#: src/reader.c:436
|
#: src/reader.c:447
|
||||||
msgid "unterminated `%{' definition"
|
msgid "unterminated `%{' definition"
|
||||||
msgstr "La section de définition (%{) ne termine pas avant la fin du fichier"
|
msgstr "La section de définition (%{) ne termine pas avant la fin du fichier"
|
||||||
|
|
||||||
#: src/reader.c:481 src/reader.c:595 src/reader.c:645
|
#: src/reader.c:492 src/reader.c:607 src/reader.c:657
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Premature EOF after %s"
|
msgid "Premature EOF after %s"
|
||||||
msgstr "Fin de fichier prématutée après %s"
|
msgstr "Fin de fichier prématutée après %s"
|
||||||
|
|
||||||
#: src/reader.c:498
|
#: src/reader.c:509
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' used more than once as a literal string"
|
msgid "symbol `%s' used more than once as a literal string"
|
||||||
msgstr "symbole `%s' utilisé plus d'une fois dans une chaîne litérale"
|
msgstr "symbole `%s' utilisé plus d'une fois dans une chaîne litérale"
|
||||||
|
|
||||||
#: src/reader.c:501
|
#: src/reader.c:512
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' given more than one literal string"
|
msgid "symbol `%s' given more than one literal string"
|
||||||
msgstr "symbole `%s' présent dans plus d'une chaîne litérale"
|
msgstr "symbole `%s' présent dans plus d'une chaîne litérale"
|
||||||
|
|
||||||
#: src/reader.c:522 src/reader.c:664
|
#: src/reader.c:533 src/reader.c:676
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol %s redefined"
|
msgid "symbol %s redefined"
|
||||||
msgstr "symbole %s redéfini"
|
msgstr "symbole %s redéfini"
|
||||||
|
|
||||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1280
|
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1298
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type redeclaration for %s"
|
msgid "type redeclaration for %s"
|
||||||
msgstr "redéclaration du type de %s"
|
msgstr "redéclaration du type de %s"
|
||||||
|
|
||||||
#: src/reader.c:541
|
#: src/reader.c:552
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is invalid in %s"
|
msgid "`%s' is invalid in %s"
|
||||||
msgstr "`%s' n'est pas valide dans %s"
|
msgstr "`%s' n'est pas valide dans %s"
|
||||||
|
|
||||||
#: src/reader.c:558 src/reader.c:723
|
#: src/reader.c:570 src/reader.c:735
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "multiples déclarations %s"
|
msgstr "multiples déclarations %s"
|
||||||
|
|
||||||
#: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1258
|
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1276
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid %s declaration"
|
msgid "invalid %s declaration"
|
||||||
msgstr "la déclaration %s n'est pas valide"
|
msgstr "la déclaration %s n'est pas valide"
|
||||||
|
|
||||||
#: src/reader.c:580
|
#: src/reader.c:592
|
||||||
msgid "%type declaration has no <typename>"
|
msgid "%type declaration has no <typename>"
|
||||||
msgstr "la déclaration %type n'a pas de <nom_de_type>"
|
msgstr "la déclaration %type n'a pas de <nom_de_type>"
|
||||||
|
|
||||||
#: src/reader.c:615
|
#: src/reader.c:627
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid %%type declaration due to item: %s"
|
msgid "invalid %%type declaration due to item: %s"
|
||||||
msgstr "la déclaration %%type n'est pas valide en raison de l'item: %s"
|
msgstr "la déclaration %%type n'est pas valide en raison de l'item: %s"
|
||||||
|
|
||||||
#: src/reader.c:660
|
#: src/reader.c:672
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "redefining precedence of %s"
|
msgid "redefining precedence of %s"
|
||||||
msgstr "redéfinition du niveau de priorité de %s"
|
msgstr "redéfinition du niveau de priorité de %s"
|
||||||
|
|
||||||
#: src/reader.c:683
|
#: src/reader.c:695
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid text (%s) - number should be after identifier"
|
msgid "invalid text (%s) - number should be after identifier"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"le texte n'est pas valide (%s) - le nombre devrait suivre l'identificateur"
|
"le texte n'est pas valide (%s) - le nombre devrait suivre l'identificateur"
|
||||||
|
|
||||||
#: src/reader.c:693
|
#: src/reader.c:705
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unexpected item: %s"
|
msgid "unexpected item: %s"
|
||||||
msgstr "item inattendu: %s"
|
msgstr "item inattendu: %s"
|
||||||
|
|
||||||
#: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
|
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1187
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unmatched %s"
|
msgid "unmatched %s"
|
||||||
msgstr "non appariement de %s"
|
msgstr "non appariement de %s"
|
||||||
|
|
||||||
#: src/reader.c:798
|
#: src/reader.c:810
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "argument of %%expect is not an integer"
|
msgid "argument of %%expect is not an integer"
|
||||||
msgstr "l'argument de %%expect n'est pas un entier"
|
msgstr "l'argument de %%expect n'est pas un entier"
|
||||||
|
|
||||||
#: src/reader.c:844
|
#: src/reader.c:856
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unrecognized item %s, expected an identifier"
|
msgid "unrecognized item %s, expected an identifier"
|
||||||
msgstr "item %s non reconnu, un identificateur est attendu"
|
msgstr "item %s non reconnu, un identificateur est attendu"
|
||||||
|
|
||||||
#: src/reader.c:866
|
#: src/reader.c:878
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "expected string constant instead of %s"
|
msgid "expected string constant instead of %s"
|
||||||
msgstr "chaîne de caractères constante attendue plutôt que %s"
|
msgstr "chaîne de caractères constante attendue plutôt que %s"
|
||||||
|
|
||||||
#: src/reader.c:1014
|
#: src/reader.c:1026
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unrecognized: %s"
|
msgid "unrecognized: %s"
|
||||||
msgstr "non reconnu: %s"
|
msgstr "non reconnu: %s"
|
||||||
|
|
||||||
#: src/reader.c:1019
|
#: src/reader.c:1031
|
||||||
msgid "no input grammar"
|
msgid "no input grammar"
|
||||||
msgstr "aucune grammaire en entrée"
|
msgstr "aucune grammaire en entrée"
|
||||||
|
|
||||||
#: src/reader.c:1024
|
#: src/reader.c:1036
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unknown character: %s"
|
msgid "unknown character: %s"
|
||||||
msgstr "caractère inconnu: %s"
|
msgstr "caractère inconnu: %s"
|
||||||
|
|
||||||
#: src/reader.c:1192
|
#: src/reader.c:1210
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unterminated %guard clause"
|
msgid "unterminated %guard clause"
|
||||||
msgstr "clause %guard non terminée"
|
msgstr "clause %guard non terminée"
|
||||||
|
|
||||||
#: src/reader.c:1345
|
#: src/reader.c:1363
|
||||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||||
msgstr "règle mal formée: le symbole initial n'est pas suivi de `:'"
|
msgstr "règle mal formée: le symbole initial n'est pas suivi de `:'"
|
||||||
|
|
||||||
#: src/reader.c:1352
|
#: src/reader.c:1370
|
||||||
msgid "grammar starts with vertical bar"
|
msgid "grammar starts with vertical bar"
|
||||||
msgstr "la grammaire débute par une barre verticale"
|
msgstr "la grammaire débute par une barre verticale"
|
||||||
|
|
||||||
#: src/reader.c:1381
|
#: src/reader.c:1398
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule given for %s, which is a token"
|
msgid "rule given for %s, which is a token"
|
||||||
msgstr "la règle pour %s, qui est un terminal"
|
msgstr "la règle pour %s, qui est un terminal"
|
||||||
|
|
||||||
#: src/reader.c:1483
|
#: src/reader.c:1498
|
||||||
msgid "two @prec's in a row"
|
msgid "two @prec's in a row"
|
||||||
msgstr "deux @prec de suite"
|
msgstr "deux @prec de suite"
|
||||||
|
|
||||||
#: src/reader.c:1491
|
#: src/reader.c:1506
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%%guard present but %%semantic_parser not specified"
|
msgid "%%guard present but %%semantic_parser not specified"
|
||||||
msgstr "%%guard est présent mais %%semantic_parser n'est pas spécifié"
|
msgstr "%%guard est présent mais %%semantic_parser n'est pas spécifié"
|
||||||
|
|
||||||
#: src/reader.c:1500
|
#: src/reader.c:1515
|
||||||
msgid "two actions at end of one rule"
|
msgid "two actions at end of one rule"
|
||||||
msgstr "deux actions à la fin d'une même règle"
|
msgstr "deux actions à la fin d'une même règle"
|
||||||
|
|
||||||
#: src/reader.c:1514
|
#: src/reader.c:1529
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type clash (`%s' `%s') on default action"
|
msgid "type clash (`%s' `%s') on default action"
|
||||||
msgstr "conflit de type (`%s' `%s') pour l'action par défaut"
|
msgstr "conflit de type (`%s' `%s') pour l'action par défaut"
|
||||||
|
|
||||||
#: src/reader.c:1520
|
#: src/reader.c:1535
|
||||||
msgid "empty rule for typed nonterminal, and no action"
|
msgid "empty rule for typed nonterminal, and no action"
|
||||||
msgstr "règle vide pour une catégorie typée et aucune action"
|
msgstr "règle vide pour une catégorie typée et aucune action"
|
||||||
|
|
||||||
#: src/reader.c:1564
|
#: src/reader.c:1579
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid input: %s"
|
msgid "invalid input: %s"
|
||||||
msgstr "entrée non valide: %s"
|
msgstr "entrée non valide: %s"
|
||||||
|
|
||||||
#: src/reader.c:1572
|
#: src/reader.c:1587
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "trop de symboles (jeton plus non terminaux); maximum %d"
|
msgstr "trop de symboles (jeton plus non terminaux); maximum %d"
|
||||||
|
|
||||||
#: src/reader.c:1575
|
#: src/reader.c:1590
|
||||||
msgid "no rules in the input grammar"
|
msgid "no rules in the input grammar"
|
||||||
msgstr "la grammaire n'a pas de règles"
|
msgstr "la grammaire n'a pas de règles"
|
||||||
|
|
||||||
#: src/reader.c:1599
|
#: src/reader.c:1614
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"le symbole %s est utilisé mais ce n'est pas un terminal et il ne possède pas "
|
"le symbole %s est utilisé mais ce n'est pas un terminal et il ne possède pas "
|
||||||
"de règle"
|
"de règle"
|
||||||
|
|
||||||
#: src/reader.c:1734
|
#: src/reader.c:1749
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "tokens %s and %s both assigned number %d"
|
msgid "tokens %s and %s both assigned number %d"
|
||||||
msgstr "les jetons %s et %s se sont vus assigner le nombre %d"
|
msgstr "les jetons %s et %s se sont vus assigner le nombre %d"
|
||||||
|
|
||||||
#: src/reader.c:1787
|
#: src/reader.c:1802
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "conflicting precedences for %s and %s"
|
msgid "conflicting precedences for %s and %s"
|
||||||
msgstr "les priorités pour %s et %s entrent en conflit"
|
msgstr "les priorités pour %s et %s entrent en conflit"
|
||||||
|
|
||||||
#: src/reader.c:1799
|
#: src/reader.c:1814
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "conflicting assoc values for %s and %s"
|
msgid "conflicting assoc values for %s and %s"
|
||||||
msgstr "les valeurs d'association de %s et %s entrent en conflit"
|
msgstr "les valeurs d'association de %s et %s entrent en conflit"
|
||||||
|
|
||||||
#: src/reader.c:1838
|
#: src/reader.c:1853
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the start symbol %s is undefined"
|
msgid "the start symbol %s is undefined"
|
||||||
msgstr "le symbole de départ %s n'est pas défini"
|
msgstr "le symbole de départ %s n'est pas défini"
|
||||||
|
|
||||||
#: src/reader.c:1840
|
#: src/reader.c:1855
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the start symbol %s is a token"
|
msgid "the start symbol %s is a token"
|
||||||
msgstr "le symbole de départ %s est un terminal"
|
msgstr "le symbole de départ %s est un terminal"
|
||||||
|
|
||||||
#: src/reduce.c:400
|
#: src/reduce.c:409
|
||||||
msgid "Useless nonterminals:"
|
msgid "Useless nonterminals:"
|
||||||
msgstr "Non-terminaux inutiles:"
|
msgstr "Non-terminaux inutiles:"
|
||||||
|
|
||||||
#: src/reduce.c:414
|
#: src/reduce.c:422
|
||||||
msgid "Terminals which are not used:"
|
msgid "Terminals which are not used:"
|
||||||
msgstr "Terminaux non utilisés:"
|
msgstr "Terminaux non utilisés:"
|
||||||
|
|
||||||
#: src/reduce.c:425
|
#: src/reduce.c:433
|
||||||
msgid "Useless rules:"
|
msgid "Useless rules:"
|
||||||
msgstr "Règles inutiles:"
|
msgstr "Règles inutiles:"
|
||||||
|
|
||||||
#: src/reduce.c:451
|
#: src/reduce.c:503
|
||||||
msgid ""
|
|
||||||
"Variables\n"
|
|
||||||
"---------\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"Variables\n"
|
|
||||||
"---------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:452
|
|
||||||
msgid "Value Sprec Sassoc Tag\n"
|
|
||||||
msgstr "Valeur Spréc Sassoc Tag\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:456
|
|
||||||
msgid ""
|
|
||||||
"Rules\n"
|
|
||||||
"-----\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"Règles\n"
|
|
||||||
"------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:470
|
|
||||||
msgid ""
|
|
||||||
"Rules interpreted\n"
|
|
||||||
"-----------------\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"Règles interprétées\n"
|
|
||||||
"-------------------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:491
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d rules never reduced\n"
|
msgid "%d rule never reduced\n"
|
||||||
msgstr "%d règles jamais réduites\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"
|
||||||
|
|
||||||
#: src/reduce.c:497
|
#: src/reduce.c:511
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless nonterminal%s"
|
msgid "%d useless nonterminal"
|
||||||
msgstr "%d catégories non productives%s"
|
msgid_plural "%d useless nonterminals"
|
||||||
|
msgstr[0] "%d nonterminal inutilisable"
|
||||||
|
msgstr[1] "%d nonterminals inutilisables"
|
||||||
|
|
||||||
#: src/reduce.c:502
|
#: src/reduce.c:517
|
||||||
msgid " and "
|
msgid " and "
|
||||||
msgstr " et "
|
msgstr " et "
|
||||||
|
|
||||||
#: src/reduce.c:506
|
#: src/reduce.c:520
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless rule%s"
|
msgid "%d useless rule"
|
||||||
msgstr "%d règle(s) non productive(s)%s"
|
msgid_plural "%d useless rules"
|
||||||
|
msgstr[0] "%d règle inutilisable"
|
||||||
|
msgstr[1] "%d règles inutilisables"
|
||||||
|
|
||||||
#: src/reduce.c:536
|
#: src/reduce.c:551
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "Aucune phrase ne peut être dérivée du symbole de départ %s"
|
msgstr "Aucune phrase ne peut être dérivée du symbole de départ %s"
|
||||||
@@ -783,14 +754,47 @@ msgstr "m
|
|||||||
#. MARK). A British English Unicode locale should instead
|
#. MARK). A British English Unicode locale should instead
|
||||||
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
|
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
|
||||||
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
|
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
|
||||||
#: lib/quotearg.c:268
|
#: lib/quotearg.c:274
|
||||||
msgid "`"
|
msgid "`"
|
||||||
msgstr "`"
|
msgstr "`"
|
||||||
|
|
||||||
#: lib/quotearg.c:269
|
#: lib/quotearg.c:275
|
||||||
msgid "'"
|
msgid "'"
|
||||||
msgstr "'"
|
msgstr "'"
|
||||||
|
|
||||||
|
#~ msgid "%s: internal error: %s\n"
|
||||||
|
#~ msgstr "%s: erreur interne: %s\n"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Variables\n"
|
||||||
|
#~ "---------\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Variables\n"
|
||||||
|
#~ "---------\n"
|
||||||
|
#~ "\n"
|
||||||
|
|
||||||
|
#~ msgid "Value Sprec Sassoc Tag\n"
|
||||||
|
#~ msgstr "Valeur Spréc Sassoc Tag\n"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Rules\n"
|
||||||
|
#~ "-----\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Règles\n"
|
||||||
|
#~ "------\n"
|
||||||
|
#~ "\n"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Rules interpreted\n"
|
||||||
|
#~ "-----------------\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Règles interprétées\n"
|
||||||
|
#~ "-------------------\n"
|
||||||
|
#~ "\n"
|
||||||
|
|
||||||
#~ msgid "DERIVES"
|
#~ msgid "DERIVES"
|
||||||
#~ msgstr "DÉRIVES"
|
#~ msgstr "DÉRIVES"
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
# Japanese message for GNU bison 1.28
|
# Japanese message for GNU bison 1.30f
|
||||||
# Copyright (C) 1999 Free Software Foundation, Inc.
|
# Copyright (C) 2001 Free Software Foundation, Inc.
|
||||||
# Daisuke Yamashita <[email protected]>, 1999.
|
# Daisuke Yamashita <[email protected]>, 2001.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: GNU bison 1.28\n"
|
"Project-Id-Version: GNU bison 1.30f\n"
|
||||||
"POT-Creation-Date: 2001-11-20 14:16+0100\n"
|
"POT-Creation-Date: 2002-01-11 14:38+0100\n"
|
||||||
"PO-Revision-Date: 1999-09-28 21:10+0900\n"
|
"PO-Revision-Date: 2001-12-10 15:59+0900\n"
|
||||||
"Last-Translator: Daisuke Yamashita <[email protected]>\n"
|
"Last-Translator: Daisuke Yamashita <[email protected]>\n"
|
||||||
"Language-Team: Japanese <[email protected]>\n"
|
"Language-Team: Japanese <[email protected]>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@@ -14,95 +14,93 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
#: src/LR0.c:189
|
#: src/LR0.c:189
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "too many states (max %d)"
|
msgid "too many states (max %d)"
|
||||||
msgstr "%s の数が多すぎます (最大 %d)"
|
msgstr "状態が多すぎます (最大 %d)"
|
||||||
|
|
||||||
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
|
#: lib/error.c:128 lib/error.c:156 src/complain.c:99
|
||||||
msgid "Unknown system error"
|
msgid "Unknown system error"
|
||||||
msgstr ""
|
msgstr "不明なシステムエラー"
|
||||||
|
|
||||||
#: src/complain.c:150
|
#: src/complain.c:150
|
||||||
msgid "warning: "
|
msgid "warning: "
|
||||||
msgstr ""
|
msgstr "警告: "
|
||||||
|
|
||||||
#: src/complain.c:238 src/complain.c:279
|
#: src/complain.c:238
|
||||||
#, fuzzy
|
|
||||||
msgid "fatal error: "
|
msgid "fatal error: "
|
||||||
msgstr "%s: 致命的エラー: "
|
msgstr "致命的エラー: "
|
||||||
|
|
||||||
#: src/conflicts.c:45
|
#: src/conflicts.c:44
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||||
msgstr "状態 %d の規則 %d とトークン %s の競合を%sとして解決。\n"
|
msgstr "状態 %d の規則 %d とトークン %s の競合を%sとして解決。\n"
|
||||||
|
|
||||||
#: src/conflicts.c:111 src/conflicts.c:134
|
#: src/conflicts.c:94 src/conflicts.c:119
|
||||||
msgid "reduce"
|
msgid "reduce"
|
||||||
msgstr "還元"
|
msgstr "還元"
|
||||||
|
|
||||||
#: src/conflicts.c:117 src/conflicts.c:130
|
#: src/conflicts.c:101 src/conflicts.c:115
|
||||||
msgid "shift"
|
msgid "shift"
|
||||||
msgstr "シフト"
|
msgstr "シフト"
|
||||||
|
|
||||||
#: src/conflicts.c:138
|
#: src/conflicts.c:123
|
||||||
msgid "an error"
|
msgid "an error"
|
||||||
msgstr "エラー"
|
msgstr "エラー"
|
||||||
|
|
||||||
#: src/conflicts.c:389
|
#: src/conflicts.c:302
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "%d shift/reduce conflict"
|
msgid "%d shift/reduce conflict"
|
||||||
msgid_plural "%d shift/reduce conflicts"
|
msgid_plural "%d shift/reduce conflicts"
|
||||||
msgstr[0] " %d シフト/還元衝突"
|
msgstr[0] "%d シフト/還元衝突"
|
||||||
|
|
||||||
#: src/conflicts.c:396
|
#: src/conflicts.c:309
|
||||||
#, fuzzy
|
|
||||||
msgid "and"
|
msgid "and"
|
||||||
msgstr " および"
|
msgstr "および"
|
||||||
|
|
||||||
#: src/conflicts.c:402
|
#: src/conflicts.c:315
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "%d reduce/reduce conflict"
|
msgid "%d reduce/reduce conflict"
|
||||||
msgid_plural "%d reduce/reduce conflicts"
|
msgid_plural "%d reduce/reduce conflicts"
|
||||||
msgstr[0] " %d 還元/還元衝突"
|
msgstr[0] "%d 還元/還元衝突"
|
||||||
|
|
||||||
#: src/conflicts.c:426
|
#: src/conflicts.c:340
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "State %d contains "
|
msgid "State %d contains "
|
||||||
msgstr "状態 %d が含むのは"
|
msgstr "状態 %d が含むのは "
|
||||||
|
|
||||||
#. If invoked with `--yacc', use the output format specified by
|
#. If invoked with `--yacc', use the output format specified by
|
||||||
#. POSIX.
|
#. POSIX.
|
||||||
#: src/conflicts.c:460
|
#: src/conflicts.c:387
|
||||||
msgid "conflicts: "
|
msgid "conflicts: "
|
||||||
msgstr "衝突: "
|
msgstr "衝突: "
|
||||||
|
|
||||||
#: src/conflicts.c:462
|
#: src/conflicts.c:389
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d shift/reduce"
|
msgid " %d shift/reduce"
|
||||||
msgstr " %d シフト/還元"
|
msgstr " %d シフト/還元"
|
||||||
|
|
||||||
#: src/conflicts.c:466
|
#: src/conflicts.c:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d reduce/reduce"
|
msgid " %d reduce/reduce"
|
||||||
msgstr " %d 還元/還元"
|
msgstr " %d 還元/還元"
|
||||||
|
|
||||||
#: src/conflicts.c:471 src/reduce.c:493
|
#: src/conflicts.c:398 src/reduce.c:508
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s contains "
|
msgid "%s contains "
|
||||||
msgstr "%s には"
|
msgstr "%s の中身は"
|
||||||
|
|
||||||
#: src/conflicts.c:480
|
#: src/conflicts.c:412
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "expected %d shift/reduce conflict\n"
|
msgid "expected %d shift/reduce conflict\n"
|
||||||
msgid_plural "expected %d shift/reduce conflicts\n"
|
msgid_plural "expected %d shift/reduce conflicts\n"
|
||||||
msgstr[0] " %d シフト/還元衝突"
|
msgstr[0] "本来 %d 個のシフト/還元衝突であるはずです\n"
|
||||||
|
|
||||||
#: src/conflicts.c:567 src/conflicts.c:688
|
#: src/conflicts.c:463 src/conflicts.c:540
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||||
msgstr " %-4s\t[規則 %d を利用して還元 (%s)]\n"
|
msgstr " %-4s\t[規則 %d を利用して還元 (%s)]\n"
|
||||||
|
|
||||||
#: src/conflicts.c:579 src/print.c:156
|
#: src/conflicts.c:467 src/print.c:154
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" $default\treduce using rule %d (%s)\n"
|
" $default\treduce using rule %d (%s)\n"
|
||||||
@@ -111,41 +109,43 @@ msgstr ""
|
|||||||
" $default\t規則 %d を利用して還元 (%s)\n"
|
" $default\t規則 %d を利用して還元 (%s)\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/conflicts.c:668 src/conflicts.c:682
|
#: src/conflicts.c:521 src/conflicts.c:534
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||||
msgstr " %-4s\t規則 %d を利用して還元 (%s)\n"
|
msgstr " %-4s\t規則 %d を利用して還元 (%s)\n"
|
||||||
|
|
||||||
#: src/conflicts.c:708
|
#: src/conflicts.c:550
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $default\treduce using rule %d (%s)\n"
|
msgid " $default\treduce using rule %d (%s)\n"
|
||||||
msgstr " $default\t規則 %d を利用して還元 (%s)\n"
|
msgstr " $default\t規則 %d を利用して還元 (%s)\n"
|
||||||
|
|
||||||
#: src/files.c:143
|
#: src/files.c:150
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr ""
|
msgstr "ファイル `%s' を開けません"
|
||||||
|
|
||||||
#: src/files.c:162
|
#: src/files.c:169
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr ""
|
msgstr "ファイルを閉じることができません"
|
||||||
|
|
||||||
#. Some efforts were made to ease the translators' task, please
|
#. Some efforts were made to ease the translators' task, please
|
||||||
#. continue.
|
#. continue.
|
||||||
#: src/getargs.c:84
|
#: src/getargs.c:84
|
||||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||||
msgstr ""
|
msgstr "GNU bison は LALR(1) 文法の構文解析器を生成します。\n"
|
||||||
|
|
||||||
#: src/getargs.c:88
|
#: src/getargs.c:88
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Usage: %s [OPTION]... FILE\n"
|
msgid "Usage: %s [OPTION]... FILE\n"
|
||||||
msgstr ""
|
msgstr "使い方: %s [オプション]... ファイル\n"
|
||||||
|
|
||||||
#: src/getargs.c:92
|
#: src/getargs.c:92
|
||||||
msgid ""
|
msgid ""
|
||||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"ロングオプションで必須の引数が示されていれば、同じ意味のショートオプション\n"
|
||||||
|
"でも同様に必須の引数となります。必須でない選択的引数でも同様です。\n"
|
||||||
|
|
||||||
#: src/getargs.c:98
|
#: src/getargs.c:98
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -154,6 +154,10 @@ msgid ""
|
|||||||
" -V, --version output version information and exit\n"
|
" -V, --version output version information and exit\n"
|
||||||
" -y, --yacc emulate POSIX yacc\n"
|
" -y, --yacc emulate POSIX yacc\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"操作モード:\n"
|
||||||
|
" -h, --help この使い方を表示して終了する\n"
|
||||||
|
" -V, --version バージョン情報を表示して終了する\n"
|
||||||
|
" -y, --yacc POSIX yacc をエミュレイトする\n"
|
||||||
|
|
||||||
#: src/getargs.c:105
|
#: src/getargs.c:105
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -166,6 +170,14 @@ msgid ""
|
|||||||
" -n, --no-parser generate the tables only\n"
|
" -n, --no-parser generate the tables only\n"
|
||||||
" -k, --token-table include a table of token names\n"
|
" -k, --token-table include a table of token names\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"構文解析器:\n"
|
||||||
|
" -S, --skeleton=FILE 利用するスケルトンを指定する\n"
|
||||||
|
" -t, --debug 構文解析のデバッグ用の手段\n"
|
||||||
|
" --locations 計算結果位置を有効にする\n"
|
||||||
|
" -p, --name-prefix=PREFIX PREFIX を外部シンボルとして先頭に挿入する\n"
|
||||||
|
" -l, --no-lines `#line' ディレクティブを生成しない\n"
|
||||||
|
" -n, --no-parser テーブルのみを生成する\n"
|
||||||
|
" -k, --token-table トークン名のテーブルを含める\n"
|
||||||
|
|
||||||
#: src/getargs.c:117
|
#: src/getargs.c:117
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -177,64 +189,75 @@ msgid ""
|
|||||||
" -g, --graph also produce a VCG description of the "
|
" -g, --graph also produce a VCG description of the "
|
||||||
"automaton\n"
|
"automaton\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"出力:\n"
|
||||||
|
" -d, --defines ヘッダファイルも作成する\n"
|
||||||
|
" -v, --verbose オートマトンの解説も作成する\n"
|
||||||
|
" -b, --file-prefix=PREFIX 出力ファイルの PREFIX(接頭辞) を指定する\n"
|
||||||
|
" -o, --output=FILE 出力先を FILE とする\n"
|
||||||
|
" -g, --graph オートマトンの VCG 記述子も作成する\n"
|
||||||
|
|
||||||
#: src/getargs.c:127
|
#: src/getargs.c:127
|
||||||
msgid "Report bugs to <[email protected]>.\n"
|
msgid "Report bugs to <[email protected]>.\n"
|
||||||
msgstr ""
|
msgstr "バグレポートは <[email protected]> まで。\n"
|
||||||
|
|
||||||
#. Some efforts were made to ease the translators' task, please
|
#. Some efforts were made to ease the translators' task, please
|
||||||
#. continue.
|
#. continue.
|
||||||
#: src/getargs.c:141
|
#: src/getargs.c:141
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "bison (GNU Bison) %s"
|
msgid "bison (GNU Bison) %s"
|
||||||
msgstr ""
|
msgstr "bison (GNU Bison) %s"
|
||||||
|
|
||||||
#: src/getargs.c:146
|
#: src/getargs.c:146
|
||||||
msgid ""
|
msgid ""
|
||||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||||
|
|
||||||
#: src/getargs.c:150
|
#: src/getargs.c:150
|
||||||
msgid ""
|
msgid ""
|
||||||
"This is free software; see the source for copying conditions. There is NO\n"
|
"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"
|
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"This is free software; see the source for copying conditions. There is NO\n"
|
||||||
|
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||||
|
"[参考訳 -- 法的効力は英文が適用されます]\n"
|
||||||
|
"これはフリーソフトウェアです -- 複製についての条件はソースを見ましょう。\n"
|
||||||
|
"一切の保証はありません -- 商業性や目的適合性についての保証すらありません。\n"
|
||||||
|
|
||||||
#: src/getargs.c:215 src/lex.c:694
|
#: src/getargs.c:223 src/lex.c:694
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is no longer supported"
|
msgid "`%s' is no longer supported"
|
||||||
msgstr ""
|
msgstr "`%s' は最早サポートされません"
|
||||||
|
|
||||||
#: src/getargs.c:239
|
#: src/getargs.c:247
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Try `%s --help' for more information.\n"
|
msgid "Try `%s --help' for more information.\n"
|
||||||
msgstr ""
|
msgstr "`%s --help' で詳細情報を参照してください\n"
|
||||||
|
|
||||||
#: src/getargs.c:246
|
#: src/getargs.c:254
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: no grammar file given\n"
|
msgid "%s: no grammar file given\n"
|
||||||
msgstr "%s: 文法ファイルが指定されていません\n"
|
msgstr "%s: 文法ファイルが指定されていません\n"
|
||||||
|
|
||||||
#: src/getargs.c:250
|
#: src/getargs.c:258
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "%s: extra arguments ignored after `%s'\n"
|
msgid "%s: extra arguments ignored after `%s'\n"
|
||||||
msgstr "%s: '%s' より後ろの余分な引数は無視されました\n"
|
msgstr "%s: `%s' の後ろの余分な引数は無視されました\n"
|
||||||
|
|
||||||
#: src/lalr.c:293
|
#: src/lalr.c:256
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "too many gotos (max %d)"
|
msgid "too many gotos (max %d)"
|
||||||
msgstr "%s の数が多すぎます (最大 %d)"
|
msgstr "goto の数が多すぎます (最大 %d)"
|
||||||
|
|
||||||
#: src/lex.c:76
|
#: src/lex.c:76
|
||||||
msgid "unexpected `/' found and ignored"
|
msgid "unexpected `/' found and ignored"
|
||||||
msgstr "予期しない `/' が見つかり、無視されました"
|
msgstr "予期しない `/' が見つかり、無視されました"
|
||||||
|
|
||||||
#: src/lex.c:105 src/reader.c:269
|
#: src/lex.c:105 src/reader.c:280
|
||||||
msgid "unterminated comment"
|
msgid "unterminated comment"
|
||||||
msgstr "閉じていないコメントです"
|
msgstr "閉じていないコメントです"
|
||||||
|
|
||||||
#: src/lex.c:137
|
#: src/lex.c:137
|
||||||
#, fuzzy
|
|
||||||
msgid "unexpected end of file"
|
msgid "unexpected end of file"
|
||||||
msgstr "予期しないファイルの終端です"
|
msgstr "予期しないファイルの終端です"
|
||||||
|
|
||||||
@@ -272,109 +295,93 @@ msgstr "ʣ
|
|||||||
#: src/lex.c:667
|
#: src/lex.c:667
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' supports no argument: %s"
|
msgid "`%s' supports no argument: %s"
|
||||||
msgstr ""
|
msgstr "`%s' は引数を受け付けません: %s"
|
||||||
|
|
||||||
#: src/lex.c:683
|
#: src/lex.c:683
|
||||||
#, fuzzy, c-format
|
|
||||||
msgid "`%s' requires an argument"
|
|
||||||
msgstr "%s: オプション `%s' は引数を要求します\n"
|
|
||||||
|
|
||||||
#: src/main.c:128
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: internal error: %s\n"
|
msgid "`%s' requires an argument"
|
||||||
msgstr "%s: 内部エラー: %s\n"
|
msgstr "`%s' オプションは引数を要求します"
|
||||||
|
|
||||||
#: src/output.c:979
|
#: src/output.c:951
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "maximum table size (%d) exceeded"
|
msgid "maximum table size (%d) exceeded"
|
||||||
msgstr "最大テーブルサイズ (%s) を超えました"
|
msgstr "最大テーブルサイズ (%d) を超えました"
|
||||||
|
|
||||||
#: src/print.c:38
|
#: src/print.c:39
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " type %d is %s\n"
|
msgid " type %d is %s\n"
|
||||||
msgstr " タイプ %d は %s です\n"
|
msgstr " タイプ %d は %s です\n"
|
||||||
|
|
||||||
#: src/print.c:78
|
#: src/print.c:88
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " (rule %d)"
|
msgid " (rule %d)"
|
||||||
msgstr " (規則 %d)"
|
msgstr " (規則 %d)"
|
||||||
|
|
||||||
#: src/print.c:98
|
#: src/print.c:108
|
||||||
msgid " $default\taccept\n"
|
msgid " $default\taccept\n"
|
||||||
msgstr " $default\taccept\n"
|
msgstr " $default\taccept\n"
|
||||||
|
|
||||||
#: src/print.c:100
|
#: src/print.c:110
|
||||||
msgid " NO ACTIONS\n"
|
msgid " NO ACTIONS\n"
|
||||||
msgstr " 動作無し\n"
|
msgstr " 動作無し\n"
|
||||||
|
|
||||||
#: src/print.c:120
|
#: src/print.c:124
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $ \tgo to state %d\n"
|
msgid " $ \tgo to state %d\n"
|
||||||
msgstr " $ \t状態 %d へ\n"
|
msgstr " $ \t状態 %d へ\n"
|
||||||
|
|
||||||
#: src/print.c:123
|
#: src/print.c:127
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tshift, and go to state %d\n"
|
msgid " %-4s\tshift, and go to state %d\n"
|
||||||
msgstr " %-4s\tシフト、および状態 %d へ\n"
|
msgstr " %-4s\tシフト、および状態 %d へ\n"
|
||||||
|
|
||||||
#: src/print.c:144
|
#: src/print.c:142
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\terror (nonassociative)\n"
|
msgid " %-4s\terror (nonassociative)\n"
|
||||||
msgstr " %-4s\tエラー (非結合)\n"
|
msgstr " %-4s\tエラー (非結合)\n"
|
||||||
|
|
||||||
#: src/print.c:173
|
#: src/print.c:169
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tgo to state %d\n"
|
msgid " %-4s\tgo to state %d\n"
|
||||||
msgstr " %-4s\t状態 %d へ\n"
|
msgstr " %-4s\t状態 %d へ\n"
|
||||||
|
|
||||||
#: src/print.c:185
|
#: src/print.c:180
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "state %d"
|
msgid "state %d"
|
||||||
msgstr ""
|
msgstr "状態 %d"
|
||||||
"\n"
|
|
||||||
"\n"
|
|
||||||
"状態 %d\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#. rule # : LHS -> RHS
|
#. rule # : LHS -> RHS
|
||||||
#: src/print.c:215
|
#: src/print.c:211
|
||||||
#, fuzzy
|
|
||||||
msgid "Grammar"
|
msgid "Grammar"
|
||||||
msgstr ""
|
msgstr "文法"
|
||||||
"\n"
|
|
||||||
"文法\n"
|
|
||||||
|
|
||||||
#: src/print.c:220
|
#: src/print.c:212
|
||||||
|
msgid "Number, Line, Rule"
|
||||||
|
msgstr "番号, 行, 規則"
|
||||||
|
|
||||||
|
#: src/print.c:217
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule %-4d %s ->"
|
msgid " %3d %3d %s ->"
|
||||||
msgstr "規則 %-4d %s ->"
|
msgstr " %3d %3d %s ->"
|
||||||
|
|
||||||
#: src/print.c:226
|
#: src/print.c:224
|
||||||
msgid "empty"
|
msgid "empty"
|
||||||
msgstr ""
|
msgstr "空"
|
||||||
|
|
||||||
#. TERMINAL (type #) : rule #s terminal is on RHS
|
#. TERMINAL (type #) : rule #s terminal is on RHS
|
||||||
#: src/print.c:231
|
#: src/print.c:231
|
||||||
#, fuzzy
|
|
||||||
msgid "Terminals, with rules where they appear"
|
msgid "Terminals, with rules where they appear"
|
||||||
msgstr ""
|
msgstr "出現位置の規則による終端"
|
||||||
"\n"
|
|
||||||
"終端トークン、およびそこに現れた規則\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/print.c:255
|
#: src/print.c:256
|
||||||
#, fuzzy
|
|
||||||
msgid "Nonterminals, with rules where they appear"
|
msgid "Nonterminals, with rules where they appear"
|
||||||
msgstr ""
|
msgstr "出現位置の規則による非終端"
|
||||||
"\n"
|
|
||||||
"非終端トークン、およびそこに現れた規則\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/print.c:281
|
#: src/print.c:282
|
||||||
msgid " on left:"
|
msgid " on left:"
|
||||||
msgstr " 左辺:"
|
msgstr " 左辺:"
|
||||||
|
|
||||||
#: src/print.c:296
|
#: src/print.c:297
|
||||||
msgid " on right:"
|
msgid " on right:"
|
||||||
msgstr " 右辺:"
|
msgstr " 右辺:"
|
||||||
|
|
||||||
@@ -383,323 +390,279 @@ msgstr "
|
|||||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||||
#. obstack_sgrow (node_obstack, "\n");
|
#. obstack_sgrow (node_obstack, "\n");
|
||||||
#.
|
#.
|
||||||
#: src/print_graph.c:166
|
#: src/print_graph.c:146
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "%-4s\terror (nonassociative)"
|
msgid "%-4s\terror (nonassociative)"
|
||||||
msgstr " %-4s\tエラー (非結合)\n"
|
msgstr "%-4s\tエラー (非結合)"
|
||||||
|
|
||||||
#.
|
#.
|
||||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||||
#. obstack_sgrow (node_obstack, "\n");
|
#. obstack_sgrow (node_obstack, "\n");
|
||||||
#.
|
#.
|
||||||
#: src/print_graph.c:181
|
#: src/print_graph.c:161
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "$default\treduce using rule %d (%s)"
|
msgid "$default\treduce using rule %d (%s)"
|
||||||
msgstr " $default\t規則 %d を利用して還元 (%s)\n"
|
msgstr "$default\t規則 %d を利用して還元 (%s)"
|
||||||
|
|
||||||
#: src/reader.c:78
|
#: src/reader.c:89
|
||||||
msgid " Skipping to next \\n"
|
msgid " Skipping to next \\n"
|
||||||
msgstr " 次の \\n にスキップ"
|
msgstr " 次の \\n にスキップ"
|
||||||
|
|
||||||
#: src/reader.c:80
|
#: src/reader.c:91
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " Skipping to next %c"
|
msgid " Skipping to next %c"
|
||||||
msgstr " 次の %c にスキップ"
|
msgstr " 次の %c にスキップ"
|
||||||
|
|
||||||
#: src/reader.c:131 src/reader.c:143
|
#: src/reader.c:142 src/reader.c:154
|
||||||
msgid "invalid $ value"
|
msgid "invalid $ value"
|
||||||
msgstr "無効な $ の値"
|
msgstr "不適切な $ の値"
|
||||||
|
|
||||||
#: src/reader.c:169 src/reader.c:184
|
#: src/reader.c:180 src/reader.c:195
|
||||||
msgid "unterminated string at end of file"
|
msgid "unterminated string at end of file"
|
||||||
msgstr "閉じられていない文字列がファイル末尾にあります"
|
msgstr "閉じられていない文字列がファイル末尾にあります"
|
||||||
|
|
||||||
#: src/reader.c:172
|
#: src/reader.c:183
|
||||||
msgid "unterminated string"
|
msgid "unterminated string"
|
||||||
msgstr "閉じられていない文字列"
|
msgstr "閉じられていない文字列"
|
||||||
|
|
||||||
#: src/reader.c:325 src/reader.c:389
|
#: src/reader.c:336 src/reader.c:400
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "@%s は無効です"
|
msgstr "%s は不適切です"
|
||||||
|
|
||||||
#: src/reader.c:365
|
#: src/reader.c:376
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$$ of `%s' has no declared type"
|
msgid "$$ of `%s' has no declared type"
|
||||||
msgstr "`%s' の $$ に宣言のない型があります"
|
msgstr "`%s' の $$ に宣言のない型があります"
|
||||||
|
|
||||||
#: src/reader.c:382
|
#: src/reader.c:393
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "`%s' の $%s に宣言のない型があります"
|
msgstr "$%d 個の `%s' が宣言された型を持っていません"
|
||||||
|
|
||||||
#: src/reader.c:436
|
#: src/reader.c:447
|
||||||
msgid "unterminated `%{' definition"
|
msgid "unterminated `%{' definition"
|
||||||
msgstr "`%{' 定義 が閉じられていません"
|
msgstr "`%{' 定義 が閉じられていません"
|
||||||
|
|
||||||
#: src/reader.c:481 src/reader.c:595 src/reader.c:645
|
#: src/reader.c:492 src/reader.c:607 src/reader.c:657
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Premature EOF after %s"
|
msgid "Premature EOF after %s"
|
||||||
msgstr ""
|
msgstr "%s の後ろに早くも EOF があります"
|
||||||
|
|
||||||
#: src/reader.c:498
|
#: src/reader.c:509
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' used more than once as a literal string"
|
msgid "symbol `%s' used more than once as a literal string"
|
||||||
msgstr ""
|
msgstr "シンボル `%s' はリテラル文字列として複数回使われました"
|
||||||
|
|
||||||
#: src/reader.c:501
|
#: src/reader.c:512
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' given more than one literal string"
|
msgid "symbol `%s' given more than one literal string"
|
||||||
msgstr ""
|
msgstr "シンボル `%s' は複数のリテラル文字列が与えられました"
|
||||||
|
|
||||||
#: src/reader.c:522 src/reader.c:664
|
#: src/reader.c:533 src/reader.c:676
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol %s redefined"
|
msgid "symbol %s redefined"
|
||||||
msgstr "シンボル %s が再定義されました"
|
msgstr "シンボル %s が再定義されました"
|
||||||
|
|
||||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1280
|
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1298
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type redeclaration for %s"
|
msgid "type redeclaration for %s"
|
||||||
msgstr "%s の型が再定義されました"
|
msgstr "%s の型が再定義されました"
|
||||||
|
|
||||||
#: src/reader.c:541
|
#: src/reader.c:552
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is invalid in %s"
|
msgid "`%s' is invalid in %s"
|
||||||
msgstr "%2$s 内の `%1$s' は無効です"
|
msgstr "`%s' は %s 内では不適切です"
|
||||||
|
|
||||||
#: src/reader.c:558 src/reader.c:723
|
#: src/reader.c:570 src/reader.c:735
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "複数の %start が宣言されました"
|
msgstr "%s が複数個宣言されました"
|
||||||
|
|
||||||
#: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1258
|
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1276
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "invalid %s declaration"
|
msgid "invalid %s declaration"
|
||||||
msgstr "無効な %start が宣言されました"
|
msgstr "%s の宣言が不適切です"
|
||||||
|
|
||||||
#: src/reader.c:580
|
#: src/reader.c:592
|
||||||
msgid "%type declaration has no <typename>"
|
msgid "%type declaration has no <typename>"
|
||||||
msgstr "%type 宣言に <タイプ名> がありません"
|
msgstr "%type 宣言に <タイプ名> がありません"
|
||||||
|
|
||||||
#: src/reader.c:615
|
#: src/reader.c:627
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "invalid %%type declaration due to item: %s"
|
msgid "invalid %%type declaration due to item: %s"
|
||||||
msgstr "アイテムに与えられるべき %%type 宣言が無効です: `%s'"
|
msgstr "アイテムの為の %%type 宣言が不適切です: %s"
|
||||||
|
|
||||||
#: src/reader.c:660
|
#: src/reader.c:672
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "redefining precedence of %s"
|
msgid "redefining precedence of %s"
|
||||||
msgstr "%s に先行した再定義です"
|
msgstr "%s に先行した再定義です"
|
||||||
|
|
||||||
#: src/reader.c:683
|
#: src/reader.c:695
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid text (%s) - number should be after identifier"
|
msgid "invalid text (%s) - number should be after identifier"
|
||||||
msgstr "無効なテキスト (%s) - 数値は識別子の後ろにあるべきです"
|
msgstr "不適切なテキスト (%s) - 数値は識別子の後ろにあるべきです"
|
||||||
|
|
||||||
#: src/reader.c:693
|
#: src/reader.c:705
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unexpected item: %s"
|
msgid "unexpected item: %s"
|
||||||
msgstr "予期せぬアイテム: %s"
|
msgstr "予期せぬアイテム: %s"
|
||||||
|
|
||||||
#: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
|
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1187
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "unmatched %s"
|
msgid "unmatched %s"
|
||||||
msgstr "対応のない `{' です"
|
msgstr "対応のない %s です"
|
||||||
|
|
||||||
#: src/reader.c:798
|
#: src/reader.c:810
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "argument of %%expect is not an integer"
|
msgid "argument of %%expect is not an integer"
|
||||||
msgstr "%expect の引数が整数値ではありません"
|
msgstr "%%expect の引数が整数値ではありません"
|
||||||
|
|
||||||
#: src/reader.c:844
|
#: src/reader.c:856
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unrecognized item %s, expected an identifier"
|
msgid "unrecognized item %s, expected an identifier"
|
||||||
msgstr "認識できないアイテム %s、ここでは識別子が期待されます"
|
msgstr "認識できないアイテム %s、ここでは識別子が期待されます"
|
||||||
|
|
||||||
#: src/reader.c:866
|
#: src/reader.c:878
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "expected string constant instead of %s"
|
msgid "expected string constant instead of %s"
|
||||||
msgstr "ここでは %s ではなく文字列定数が期待されます"
|
msgstr "ここでは %s ではなく文字列定数が期待されます"
|
||||||
|
|
||||||
#: src/reader.c:1014
|
#: src/reader.c:1026
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unrecognized: %s"
|
msgid "unrecognized: %s"
|
||||||
msgstr "認識できない: %s"
|
msgstr "認識できない: %s"
|
||||||
|
|
||||||
#: src/reader.c:1019
|
#: src/reader.c:1031
|
||||||
msgid "no input grammar"
|
msgid "no input grammar"
|
||||||
msgstr "文法の入力が無い"
|
msgstr "文法の入力が無い"
|
||||||
|
|
||||||
#: src/reader.c:1024
|
#: src/reader.c:1036
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unknown character: %s"
|
msgid "unknown character: %s"
|
||||||
msgstr "未知の文字: %s"
|
msgstr "未知の文字: %s"
|
||||||
|
|
||||||
#: src/reader.c:1192
|
#: src/reader.c:1210
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "unterminated %guard clause"
|
msgid "unterminated %guard clause"
|
||||||
msgstr "閉じられていない %%guard 節です"
|
msgstr "%guard 節が閉じられていません"
|
||||||
|
|
||||||
#: src/reader.c:1345
|
#: src/reader.c:1363
|
||||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||||
msgstr "邪悪な規則: 初期化シンボルにコロン (:) が続いていません"
|
msgstr "邪悪な規則: 初期化シンボルにコロン (:) が続いていません"
|
||||||
|
|
||||||
#: src/reader.c:1352
|
#: src/reader.c:1370
|
||||||
msgid "grammar starts with vertical bar"
|
msgid "grammar starts with vertical bar"
|
||||||
msgstr "文法は縦棒 (|) で始めます"
|
msgstr "文法は縦棒 (|) で始めます"
|
||||||
|
|
||||||
#: src/reader.c:1381
|
#: src/reader.c:1398
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule given for %s, which is a token"
|
msgid "rule given for %s, which is a token"
|
||||||
msgstr "%s に規則が与えられ、それはトークンとなります"
|
msgstr "%s に規則が与えられ、それはトークンとなります"
|
||||||
|
|
||||||
#: src/reader.c:1483
|
#: src/reader.c:1498
|
||||||
msgid "two @prec's in a row"
|
msgid "two @prec's in a row"
|
||||||
msgstr "@prec のもの二つが同列になっています"
|
msgstr "@prec のもの二つが同列になっています"
|
||||||
|
|
||||||
#: src/reader.c:1491
|
#: src/reader.c:1506
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%%guard present but %%semantic_parser not specified"
|
msgid "%%guard present but %%semantic_parser not specified"
|
||||||
msgstr "%%guard がありますが %%semantic_parser が指定されていません"
|
msgstr "%%guard がありますが %%semantic_parser が指定されていません"
|
||||||
|
|
||||||
#: src/reader.c:1500
|
#: src/reader.c:1515
|
||||||
msgid "two actions at end of one rule"
|
msgid "two actions at end of one rule"
|
||||||
msgstr "一つの規則の終りに二つの動作を指定しています"
|
msgstr "一つの規則の終りに二つの動作を指定しています"
|
||||||
|
|
||||||
#: src/reader.c:1514
|
#: src/reader.c:1529
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type clash (`%s' `%s') on default action"
|
msgid "type clash (`%s' `%s') on default action"
|
||||||
msgstr "初期状態の動作では型 (`%s' `%s') が衝突します"
|
msgstr "初期状態の動作では型 (`%s' `%s') が衝突します"
|
||||||
|
|
||||||
#: src/reader.c:1520
|
#: src/reader.c:1535
|
||||||
msgid "empty rule for typed nonterminal, and no action"
|
msgid "empty rule for typed nonterminal, and no action"
|
||||||
msgstr "空の型付き非終端アイテム用規則であり、動作が起りません"
|
msgstr "空の型付き非終端アイテム用規則であり、動作が起りません"
|
||||||
|
|
||||||
#: src/reader.c:1564
|
#: src/reader.c:1579
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid input: %s"
|
msgid "invalid input: %s"
|
||||||
msgstr "無効な入力: %s"
|
msgstr "不適切な入力: %s"
|
||||||
|
|
||||||
#: src/reader.c:1572
|
#: src/reader.c:1587
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "シンボルが多すぎます (トークンと非終端アイテム) -- 最大 %s"
|
msgstr "シンボルが多すぎます (トークン + 非終端アイテム) -- 最大 %d"
|
||||||
|
|
||||||
#: src/reader.c:1575
|
#: src/reader.c:1590
|
||||||
msgid "no rules in the input grammar"
|
msgid "no rules in the input grammar"
|
||||||
msgstr "入力した文法に規則が定義されていません"
|
msgstr "入力した文法に規則が定義されていません"
|
||||||
|
|
||||||
#: src/reader.c:1599
|
#: src/reader.c:1614
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"シンボル %s が使われていますが、トークンとして定義されておらず、規則を持ちま"
|
"シンボル %s が使われていますが、トークンとして定義されておらず、規則を持ちま"
|
||||||
"せん"
|
"せん"
|
||||||
|
|
||||||
#: src/reader.c:1734
|
#: src/reader.c:1749
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "tokens %s and %s both assigned number %d"
|
msgid "tokens %s and %s both assigned number %d"
|
||||||
msgstr "トークン %s と %s の双方が番号 %s に割り当てられました"
|
msgstr "トークン %s と %s の双方が番号 %d に割り当てられました"
|
||||||
|
|
||||||
#: src/reader.c:1787
|
#: src/reader.c:1802
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "conflicting precedences for %s and %s"
|
msgid "conflicting precedences for %s and %s"
|
||||||
msgstr "先行している %s と %s で競合が生じています"
|
msgstr "先行している %s と %s で競合が生じています"
|
||||||
|
|
||||||
#: src/reader.c:1799
|
#: src/reader.c:1814
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "conflicting assoc values for %s and %s"
|
msgid "conflicting assoc values for %s and %s"
|
||||||
msgstr "非結合値 %s と %s で競合が生じています"
|
msgstr "非結合値 %s と %s で競合が生じています"
|
||||||
|
|
||||||
#: src/reader.c:1838
|
#: src/reader.c:1853
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the start symbol %s is undefined"
|
msgid "the start symbol %s is undefined"
|
||||||
msgstr "開始シンボル %s は定義されていません"
|
msgstr "開始シンボル %s は定義されていません"
|
||||||
|
|
||||||
#: src/reader.c:1840
|
#: src/reader.c:1855
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the start symbol %s is a token"
|
msgid "the start symbol %s is a token"
|
||||||
msgstr "開始シンボル %s はトークンです"
|
msgstr "開始シンボル %s はトークンです"
|
||||||
|
|
||||||
#: src/reduce.c:400
|
#: src/reduce.c:409
|
||||||
#, fuzzy
|
|
||||||
msgid "Useless nonterminals:"
|
msgid "Useless nonterminals:"
|
||||||
msgstr ""
|
msgstr "無意味な非終端子:"
|
||||||
"不使用非終端子:\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:414
|
#: src/reduce.c:422
|
||||||
#, fuzzy
|
|
||||||
msgid "Terminals which are not used:"
|
msgid "Terminals which are not used:"
|
||||||
msgstr ""
|
msgstr "利用されない終端子:"
|
||||||
"\n"
|
|
||||||
"\n"
|
|
||||||
"利用されない終端子:\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:425
|
#: src/reduce.c:433
|
||||||
#, fuzzy
|
|
||||||
msgid "Useless rules:"
|
msgid "Useless rules:"
|
||||||
msgstr ""
|
msgstr "無意味な規則:"
|
||||||
"\n"
|
|
||||||
"\n"
|
|
||||||
"不使用規則:\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:451
|
#: src/reduce.c:503
|
||||||
msgid ""
|
|
||||||
"Variables\n"
|
|
||||||
"---------\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"変数\n"
|
|
||||||
"---------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:452
|
|
||||||
msgid "Value Sprec Sassoc Tag\n"
|
|
||||||
msgstr "値 前置 結合 タグ\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:456
|
|
||||||
msgid ""
|
|
||||||
"Rules\n"
|
|
||||||
"-----\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"規則\n"
|
|
||||||
"-----\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:470
|
|
||||||
msgid ""
|
|
||||||
"Rules interpreted\n"
|
|
||||||
"-----------------\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"解釈された規則\n"
|
|
||||||
"-----------------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:491
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d rules never reduced\n"
|
msgid "%d rule never reduced\n"
|
||||||
msgstr "%d 個の規則は決して還元されません\n"
|
msgid_plural "%d rules never reduced\n"
|
||||||
|
msgstr[0] "%d 個の規則は決して還元されません\n"
|
||||||
|
|
||||||
#: src/reduce.c:497
|
#: src/reduce.c:511
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless nonterminal%s"
|
msgid "%d useless nonterminal"
|
||||||
msgstr "%d 個の不使用非終端子%.0s"
|
msgid_plural "%d useless nonterminals"
|
||||||
|
msgstr[0] "%d 個の無意味な非終端子"
|
||||||
|
|
||||||
#: src/reduce.c:502
|
#: src/reduce.c:517
|
||||||
msgid " and "
|
msgid " and "
|
||||||
msgstr "および"
|
msgstr "および"
|
||||||
|
|
||||||
#: src/reduce.c:506
|
#: src/reduce.c:520
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless rule%s"
|
msgid "%d useless rule"
|
||||||
msgstr "%d 個の不使用規則%.0s"
|
msgid_plural "%d useless rules"
|
||||||
|
msgstr[0] "%d 個の無意味な規則"
|
||||||
|
|
||||||
#: src/reduce.c:536
|
#: src/reduce.c:551
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "開始シンボル %s はどの文にも由来しません"
|
msgstr "開始シンボル %s はどの文にも由来しません"
|
||||||
@@ -745,7 +708,7 @@ msgstr "%s:
|
|||||||
#: lib/getopt.c:804
|
#: lib/getopt.c:804
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: invalid option -- %c\n"
|
msgid "%s: invalid option -- %c\n"
|
||||||
msgstr "%s: 無効なオプション -- %c\n"
|
msgstr "%s: 不適切なオプション -- %c\n"
|
||||||
|
|
||||||
#. 1003.2 specifies the format of this message.
|
#. 1003.2 specifies the format of this message.
|
||||||
#: lib/getopt.c:834 lib/getopt.c:964
|
#: lib/getopt.c:834 lib/getopt.c:964
|
||||||
@@ -766,9 +729,8 @@ msgstr "%s:
|
|||||||
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
|
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
|
||||||
#. before exiting when memory is exhausted. Goes through gettext.
|
#. before exiting when memory is exhausted. Goes through gettext.
|
||||||
#: lib/obstack.c:494 lib/obstack.c:497 lib/xmalloc.c:66
|
#: lib/obstack.c:494 lib/obstack.c:497 lib/xmalloc.c:66
|
||||||
#, fuzzy
|
|
||||||
msgid "memory exhausted"
|
msgid "memory exhausted"
|
||||||
msgstr "%s: メモリを使い果たしました\n"
|
msgstr "メモリを使い果たしました"
|
||||||
|
|
||||||
#. Get translations for open and closing quotation marks.
|
#. Get translations for open and closing quotation marks.
|
||||||
#.
|
#.
|
||||||
@@ -784,13 +746,13 @@ msgstr "%s:
|
|||||||
#. MARK). A British English Unicode locale should instead
|
#. MARK). A British English Unicode locale should instead
|
||||||
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
|
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
|
||||||
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
|
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
|
||||||
#: lib/quotearg.c:268
|
#: lib/quotearg.c:274
|
||||||
msgid "`"
|
msgid "`"
|
||||||
msgstr ""
|
msgstr "`"
|
||||||
|
|
||||||
#: lib/quotearg.c:269
|
#: lib/quotearg.c:275
|
||||||
msgid "'"
|
msgid "'"
|
||||||
msgstr ""
|
msgstr "'"
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "\n"
|
#~ "\n"
|
||||||
@@ -894,6 +856,9 @@ msgstr ""
|
|||||||
#~ msgid "%s:%d: "
|
#~ msgid "%s:%d: "
|
||||||
#~ msgstr "%s:%d: "
|
#~ msgstr "%s:%d: "
|
||||||
|
|
||||||
|
#~ msgid "%s: internal error: %s\n"
|
||||||
|
#~ msgstr "%s: 内部エラー: %s\n"
|
||||||
|
|
||||||
#~ msgid "Entering set_nullable"
|
#~ msgid "Entering set_nullable"
|
||||||
#~ msgstr "set_nullable に入ります"
|
#~ msgstr "set_nullable に入ります"
|
||||||
|
|
||||||
@@ -916,10 +881,10 @@ msgstr ""
|
|||||||
#~ msgstr "対応のない右ブレース (`}') です"
|
#~ msgstr "対応のない右ブレース (`}') です"
|
||||||
|
|
||||||
#~ msgid "$%s is invalid"
|
#~ msgid "$%s is invalid"
|
||||||
#~ msgstr "$%s は無効です"
|
#~ msgstr "$%s は不適切です"
|
||||||
|
|
||||||
#~ msgid "invalid @-construct"
|
#~ msgid "invalid @-construct"
|
||||||
#~ msgstr "無効な @-コンストラクトです"
|
#~ msgstr "不適切な @-コンストラクトです"
|
||||||
|
|
||||||
#~ msgid "ill-formed %type declaration"
|
#~ msgid "ill-formed %type declaration"
|
||||||
#~ msgstr "邪悪な %type 宣言です"
|
#~ msgstr "邪悪な %type 宣言です"
|
||||||
@@ -929,3 +894,33 @@ msgstr ""
|
|||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "還元ファイル %s で %d 個の終端子%.0s, %d 個の非終端子%.0s, %d 個の規則%.0s"
|
#~ "還元ファイル %s で %d 個の終端子%.0s, %d 個の非終端子%.0s, %d 個の規則%.0s"
|
||||||
#~ "が定義されました\n"
|
#~ "が定義されました\n"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Variables\n"
|
||||||
|
#~ "---------\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "変数\n"
|
||||||
|
#~ "---------\n"
|
||||||
|
#~ "\n"
|
||||||
|
|
||||||
|
#~ msgid "Value Sprec Sassoc Tag\n"
|
||||||
|
#~ msgstr "値 前置 結合 タグ\n"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Rules\n"
|
||||||
|
#~ "-----\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "規則\n"
|
||||||
|
#~ "-----\n"
|
||||||
|
#~ "\n"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Rules interpreted\n"
|
||||||
|
#~ "-----------------\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "解釈された規則\n"
|
||||||
|
#~ "-----------------\n"
|
||||||
|
#~ "\n"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bison 1.25\n"
|
"Project-Id-Version: bison 1.25\n"
|
||||||
"POT-Creation-Date: 2001-11-20 14:16+0100\n"
|
"POT-Creation-Date: 2002-01-11 14:38+0100\n"
|
||||||
"PO-Revision-Date: 1996-08-27 15:34 MET DST\n"
|
"PO-Revision-Date: 1996-08-27 15:34 MET DST\n"
|
||||||
"Last-Translator: Erick Branderhorst <[email protected]>\n"
|
"Last-Translator: Erick Branderhorst <[email protected]>\n"
|
||||||
"Language-Team: Dutch <[email protected]>\n"
|
"Language-Team: Dutch <[email protected]>\n"
|
||||||
@@ -18,7 +18,7 @@ msgstr ""
|
|||||||
msgid "too many states (max %d)"
|
msgid "too many states (max %d)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
|
#: lib/error.c:128 lib/error.c:156 src/complain.c:99
|
||||||
msgid "Unknown system error"
|
msgid "Unknown system error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -26,83 +26,83 @@ msgstr ""
|
|||||||
msgid "warning: "
|
msgid "warning: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/complain.c:238 src/complain.c:279
|
#: src/complain.c:238
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "fatal error: "
|
msgid "fatal error: "
|
||||||
msgstr "fatale fout: %s\n"
|
msgstr "fatale fout: %s\n"
|
||||||
|
|
||||||
#: src/conflicts.c:45
|
#: src/conflicts.c:44
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||||
msgstr "Conflict in stadium %d tussen regel %d en teken %s opgelost als %s.\n"
|
msgstr "Conflict in stadium %d tussen regel %d en teken %s opgelost als %s.\n"
|
||||||
|
|
||||||
#: src/conflicts.c:111 src/conflicts.c:134
|
#: src/conflicts.c:94 src/conflicts.c:119
|
||||||
msgid "reduce"
|
msgid "reduce"
|
||||||
msgstr "reduceer"
|
msgstr "reduceer"
|
||||||
|
|
||||||
#: src/conflicts.c:117 src/conflicts.c:130
|
#: src/conflicts.c:101 src/conflicts.c:115
|
||||||
msgid "shift"
|
msgid "shift"
|
||||||
msgstr "verschuif"
|
msgstr "verschuif"
|
||||||
|
|
||||||
#: src/conflicts.c:138
|
#: src/conflicts.c:123
|
||||||
msgid "an error"
|
msgid "an error"
|
||||||
msgstr "een fout"
|
msgstr "een fout"
|
||||||
|
|
||||||
#: src/conflicts.c:389
|
#: src/conflicts.c:302
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%d shift/reduce conflict"
|
msgid "%d shift/reduce conflict"
|
||||||
msgid_plural "%d shift/reduce conflicts"
|
msgid_plural "%d shift/reduce conflicts"
|
||||||
msgstr[0] " %d verschuif/reduceer conflicten"
|
msgstr[0] " %d verschuif/reduceer conflicten"
|
||||||
|
|
||||||
#: src/conflicts.c:396
|
#: src/conflicts.c:309
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "and"
|
msgid "and"
|
||||||
msgstr " en"
|
msgstr " en"
|
||||||
|
|
||||||
#: src/conflicts.c:402
|
#: src/conflicts.c:315
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%d reduce/reduce conflict"
|
msgid "%d reduce/reduce conflict"
|
||||||
msgid_plural "%d reduce/reduce conflicts"
|
msgid_plural "%d reduce/reduce conflicts"
|
||||||
msgstr[0] " %d reduceer/reduceer conflicten"
|
msgstr[0] " %d reduceer/reduceer conflicten"
|
||||||
|
|
||||||
#: src/conflicts.c:426
|
#: src/conflicts.c:340
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "State %d contains "
|
msgid "State %d contains "
|
||||||
msgstr "Stadium %d bevat"
|
msgstr "Stadium %d bevat"
|
||||||
|
|
||||||
#. If invoked with `--yacc', use the output format specified by
|
#. If invoked with `--yacc', use the output format specified by
|
||||||
#. POSIX.
|
#. POSIX.
|
||||||
#: src/conflicts.c:460
|
#: src/conflicts.c:387
|
||||||
msgid "conflicts: "
|
msgid "conflicts: "
|
||||||
msgstr "conflictueerd: "
|
msgstr "conflictueerd: "
|
||||||
|
|
||||||
#: src/conflicts.c:462
|
#: src/conflicts.c:389
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d shift/reduce"
|
msgid " %d shift/reduce"
|
||||||
msgstr " %d vershuif/reduceer"
|
msgstr " %d vershuif/reduceer"
|
||||||
|
|
||||||
#: src/conflicts.c:466
|
#: src/conflicts.c:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d reduce/reduce"
|
msgid " %d reduce/reduce"
|
||||||
msgstr " %d reduceer/reduceer"
|
msgstr " %d reduceer/reduceer"
|
||||||
|
|
||||||
#: src/conflicts.c:471 src/reduce.c:493
|
#: src/conflicts.c:398 src/reduce.c:508
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s contains "
|
msgid "%s contains "
|
||||||
msgstr "%s bevat"
|
msgstr "%s bevat"
|
||||||
|
|
||||||
#: src/conflicts.c:480
|
#: src/conflicts.c:412
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "expected %d shift/reduce conflict\n"
|
msgid "expected %d shift/reduce conflict\n"
|
||||||
msgid_plural "expected %d shift/reduce conflicts\n"
|
msgid_plural "expected %d shift/reduce conflicts\n"
|
||||||
msgstr[0] " %d verschuif/reduceer conflicten"
|
msgstr[0] " %d verschuif/reduceer conflicten"
|
||||||
|
|
||||||
#: src/conflicts.c:567 src/conflicts.c:688
|
#: src/conflicts.c:463 src/conflicts.c:540
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||||
msgstr " %-4s\t[reduceer gebruikt regel %d (%s)]\n"
|
msgstr " %-4s\t[reduceer gebruikt regel %d (%s)]\n"
|
||||||
|
|
||||||
#: src/conflicts.c:579 src/print.c:156
|
#: src/conflicts.c:467 src/print.c:154
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" $default\treduce using rule %d (%s)\n"
|
" $default\treduce using rule %d (%s)\n"
|
||||||
@@ -111,22 +111,22 @@ msgstr ""
|
|||||||
" $default\treduce using rule %d (%s)\n"
|
" $default\treduce using rule %d (%s)\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/conflicts.c:668 src/conflicts.c:682
|
#: src/conflicts.c:521 src/conflicts.c:534
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/conflicts.c:708
|
#: src/conflicts.c:550
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $default\treduce using rule %d (%s)\n"
|
msgid " $default\treduce using rule %d (%s)\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/files.c:143
|
#: src/files.c:150
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/files.c:162
|
#: src/files.c:169
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -200,27 +200,27 @@ msgid ""
|
|||||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/getargs.c:215 src/lex.c:694
|
#: src/getargs.c:223 src/lex.c:694
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is no longer supported"
|
msgid "`%s' is no longer supported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/getargs.c:239
|
#: src/getargs.c:247
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Try `%s --help' for more information.\n"
|
msgid "Try `%s --help' for more information.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/getargs.c:246
|
#: src/getargs.c:254
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: no grammar file given\n"
|
msgid "%s: no grammar file given\n"
|
||||||
msgstr "%s: geen grammatica bestand gegeven\n"
|
msgstr "%s: geen grammatica bestand gegeven\n"
|
||||||
|
|
||||||
#: src/getargs.c:250
|
#: src/getargs.c:258
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%s: extra arguments ignored after `%s'\n"
|
msgid "%s: extra arguments ignored after `%s'\n"
|
||||||
msgstr "%s: extra argumenten genegeerd na '%s'\n"
|
msgstr "%s: extra argumenten genegeerd na '%s'\n"
|
||||||
|
|
||||||
#: src/lalr.c:293
|
#: src/lalr.c:256
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many gotos (max %d)"
|
msgid "too many gotos (max %d)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -229,7 +229,7 @@ msgstr ""
|
|||||||
msgid "unexpected `/' found and ignored"
|
msgid "unexpected `/' found and ignored"
|
||||||
msgstr "onverwachte `/' gevonden en genegeerd"
|
msgstr "onverwachte `/' gevonden en genegeerd"
|
||||||
|
|
||||||
#: src/lex.c:105 src/reader.c:269
|
#: src/lex.c:105 src/reader.c:280
|
||||||
msgid "unterminated comment"
|
msgid "unterminated comment"
|
||||||
msgstr "ongetermineerd commentaar"
|
msgstr "ongetermineerd commentaar"
|
||||||
|
|
||||||
@@ -279,55 +279,50 @@ msgstr ""
|
|||||||
msgid "`%s' requires an argument"
|
msgid "`%s' requires an argument"
|
||||||
msgstr "%s: optie `%s' vereist een argument\n"
|
msgstr "%s: optie `%s' vereist een argument\n"
|
||||||
|
|
||||||
#: src/main.c:128
|
#: src/output.c:951
|
||||||
#, fuzzy, c-format
|
|
||||||
msgid "%s: internal error: %s\n"
|
|
||||||
msgstr "interne fout, %s\n"
|
|
||||||
|
|
||||||
#: src/output.c:979
|
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "maximum table size (%d) exceeded"
|
msgid "maximum table size (%d) exceeded"
|
||||||
msgstr "maximale tabel grootte (%s) overschreden"
|
msgstr "maximale tabel grootte (%s) overschreden"
|
||||||
|
|
||||||
#: src/print.c:38
|
#: src/print.c:39
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " type %d is %s\n"
|
msgid " type %d is %s\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/print.c:78
|
#: src/print.c:88
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " (rule %d)"
|
msgid " (rule %d)"
|
||||||
msgstr " (regel %d)"
|
msgstr " (regel %d)"
|
||||||
|
|
||||||
#: src/print.c:98
|
#: src/print.c:108
|
||||||
msgid " $default\taccept\n"
|
msgid " $default\taccept\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/print.c:100
|
#: src/print.c:110
|
||||||
msgid " NO ACTIONS\n"
|
msgid " NO ACTIONS\n"
|
||||||
msgstr " GEEN AKTIES\n"
|
msgstr " GEEN AKTIES\n"
|
||||||
|
|
||||||
#: src/print.c:120
|
#: src/print.c:124
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $ \tgo to state %d\n"
|
msgid " $ \tgo to state %d\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/print.c:123
|
#: src/print.c:127
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tshift, and go to state %d\n"
|
msgid " %-4s\tshift, and go to state %d\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/print.c:144
|
#: src/print.c:142
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\terror (nonassociative)\n"
|
msgid " %-4s\terror (nonassociative)\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/print.c:173
|
#: src/print.c:169
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tgo to state %d\n"
|
msgid " %-4s\tgo to state %d\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/print.c:185
|
#: src/print.c:180
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "state %d"
|
msgid "state %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -337,19 +332,23 @@ msgstr ""
|
|||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#. rule # : LHS -> RHS
|
#. rule # : LHS -> RHS
|
||||||
#: src/print.c:215
|
#: src/print.c:211
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Grammar"
|
msgid "Grammar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"\n"
|
"\n"
|
||||||
"Grammatica\n"
|
"Grammatica\n"
|
||||||
|
|
||||||
#: src/print.c:220
|
#: src/print.c:212
|
||||||
#, c-format
|
msgid "Number, Line, Rule"
|
||||||
msgid "rule %-4d %s ->"
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/print.c:217
|
||||||
|
#, fuzzy, c-format
|
||||||
|
msgid " %3d %3d %s ->"
|
||||||
msgstr "regel %-4d %s ->"
|
msgstr "regel %-4d %s ->"
|
||||||
|
|
||||||
#: src/print.c:226
|
#: src/print.c:224
|
||||||
msgid "empty"
|
msgid "empty"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -362,7 +361,7 @@ msgstr ""
|
|||||||
"Terminals, met regels waar ze voorkomen\n"
|
"Terminals, met regels waar ze voorkomen\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/print.c:255
|
#: src/print.c:256
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Nonterminals, with rules where they appear"
|
msgid "Nonterminals, with rules where they appear"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -370,11 +369,11 @@ msgstr ""
|
|||||||
"Geen terminals, met regels waar ze voorkomen\n"
|
"Geen terminals, met regels waar ze voorkomen\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/print.c:281
|
#: src/print.c:282
|
||||||
msgid " on left:"
|
msgid " on left:"
|
||||||
msgstr " links:"
|
msgstr " links:"
|
||||||
|
|
||||||
#: src/print.c:296
|
#: src/print.c:297
|
||||||
msgid " on right:"
|
msgid " on right:"
|
||||||
msgstr " rechts:"
|
msgstr " rechts:"
|
||||||
|
|
||||||
@@ -383,7 +382,7 @@ msgstr " rechts:"
|
|||||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||||
#. obstack_sgrow (node_obstack, "\n");
|
#. obstack_sgrow (node_obstack, "\n");
|
||||||
#.
|
#.
|
||||||
#: src/print_graph.c:166
|
#: src/print_graph.c:146
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%-4s\terror (nonassociative)"
|
msgid "%-4s\terror (nonassociative)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -392,246 +391,246 @@ msgstr ""
|
|||||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||||
#. obstack_sgrow (node_obstack, "\n");
|
#. obstack_sgrow (node_obstack, "\n");
|
||||||
#.
|
#.
|
||||||
#: src/print_graph.c:181
|
#: src/print_graph.c:161
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "$default\treduce using rule %d (%s)"
|
msgid "$default\treduce using rule %d (%s)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
" $default\treduce using rule %d (%s)\n"
|
" $default\treduce using rule %d (%s)\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reader.c:78
|
#: src/reader.c:89
|
||||||
msgid " Skipping to next \\n"
|
msgid " Skipping to next \\n"
|
||||||
msgstr " Verder naar volgende \\n"
|
msgstr " Verder naar volgende \\n"
|
||||||
|
|
||||||
#: src/reader.c:80
|
#: src/reader.c:91
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " Skipping to next %c"
|
msgid " Skipping to next %c"
|
||||||
msgstr " Verder naar volgende %c"
|
msgstr " Verder naar volgende %c"
|
||||||
|
|
||||||
#: src/reader.c:131 src/reader.c:143
|
#: src/reader.c:142 src/reader.c:154
|
||||||
msgid "invalid $ value"
|
msgid "invalid $ value"
|
||||||
msgstr "onjuiste $ waarde"
|
msgstr "onjuiste $ waarde"
|
||||||
|
|
||||||
#: src/reader.c:169 src/reader.c:184
|
#: src/reader.c:180 src/reader.c:195
|
||||||
msgid "unterminated string at end of file"
|
msgid "unterminated string at end of file"
|
||||||
msgstr "niet getermineerde string aan einde van bestand"
|
msgstr "niet getermineerde string aan einde van bestand"
|
||||||
|
|
||||||
#: src/reader.c:172
|
#: src/reader.c:183
|
||||||
msgid "unterminated string"
|
msgid "unterminated string"
|
||||||
msgstr "niet getermineerde string"
|
msgstr "niet getermineerde string"
|
||||||
|
|
||||||
#: src/reader.c:325 src/reader.c:389
|
#: src/reader.c:336 src/reader.c:400
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "@%s is onjuist"
|
msgstr "@%s is onjuist"
|
||||||
|
|
||||||
#: src/reader.c:365
|
#: src/reader.c:376
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$$ of `%s' has no declared type"
|
msgid "$$ of `%s' has no declared type"
|
||||||
msgstr "$$ van `%s' heeft geen gedeclareerd type"
|
msgstr "$$ van `%s' heeft geen gedeclareerd type"
|
||||||
|
|
||||||
#: src/reader.c:382
|
#: src/reader.c:393
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "$%s van `%s' heeft geen gedeclareerd type"
|
msgstr "$%s van `%s' heeft geen gedeclareerd type"
|
||||||
|
|
||||||
#: src/reader.c:436
|
#: src/reader.c:447
|
||||||
msgid "unterminated `%{' definition"
|
msgid "unterminated `%{' definition"
|
||||||
msgstr "niet getermineerde `%{' definitie"
|
msgstr "niet getermineerde `%{' definitie"
|
||||||
|
|
||||||
#: src/reader.c:481 src/reader.c:595 src/reader.c:645
|
#: src/reader.c:492 src/reader.c:607 src/reader.c:657
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Premature EOF after %s"
|
msgid "Premature EOF after %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/reader.c:498
|
#: src/reader.c:509
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' used more than once as a literal string"
|
msgid "symbol `%s' used more than once as a literal string"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/reader.c:501
|
#: src/reader.c:512
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' given more than one literal string"
|
msgid "symbol `%s' given more than one literal string"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/reader.c:522 src/reader.c:664
|
#: src/reader.c:533 src/reader.c:676
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol %s redefined"
|
msgid "symbol %s redefined"
|
||||||
msgstr "symbool %s opnieuw gedefinieerd"
|
msgstr "symbool %s opnieuw gedefinieerd"
|
||||||
|
|
||||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1280
|
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1298
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type redeclaration for %s"
|
msgid "type redeclaration for %s"
|
||||||
msgstr "type herdeclaratie voor %s"
|
msgstr "type herdeclaratie voor %s"
|
||||||
|
|
||||||
#: src/reader.c:541
|
#: src/reader.c:552
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is invalid in %s"
|
msgid "`%s' is invalid in %s"
|
||||||
msgstr "`%s' is onjuist in %s"
|
msgstr "`%s' is onjuist in %s"
|
||||||
|
|
||||||
#: src/reader.c:558 src/reader.c:723
|
#: src/reader.c:570 src/reader.c:735
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "meerdere %start declaraties"
|
msgstr "meerdere %start declaraties"
|
||||||
|
|
||||||
#: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1258
|
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1276
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "invalid %s declaration"
|
msgid "invalid %s declaration"
|
||||||
msgstr "onjuiste %start declaratie"
|
msgstr "onjuiste %start declaratie"
|
||||||
|
|
||||||
#: src/reader.c:580
|
#: src/reader.c:592
|
||||||
msgid "%type declaration has no <typename>"
|
msgid "%type declaration has no <typename>"
|
||||||
msgstr "%type declaratie heeft geen <typenaam>"
|
msgstr "%type declaratie heeft geen <typenaam>"
|
||||||
|
|
||||||
#: src/reader.c:615
|
#: src/reader.c:627
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "invalid %%type declaration due to item: %s"
|
msgid "invalid %%type declaration due to item: %s"
|
||||||
msgstr "onjuist %%type declaratie door item: `%s'"
|
msgstr "onjuist %%type declaratie door item: `%s'"
|
||||||
|
|
||||||
#: src/reader.c:660
|
#: src/reader.c:672
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "redefining precedence of %s"
|
msgid "redefining precedence of %s"
|
||||||
msgstr "herdefinieren voorganger van %s"
|
msgstr "herdefinieren voorganger van %s"
|
||||||
|
|
||||||
#: src/reader.c:683
|
#: src/reader.c:695
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid text (%s) - number should be after identifier"
|
msgid "invalid text (%s) - number should be after identifier"
|
||||||
msgstr "onjuiste tekst (%s) - nummer hoort na de identifier"
|
msgstr "onjuiste tekst (%s) - nummer hoort na de identifier"
|
||||||
|
|
||||||
#: src/reader.c:693
|
#: src/reader.c:705
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unexpected item: %s"
|
msgid "unexpected item: %s"
|
||||||
msgstr "onbekend item: %s"
|
msgstr "onbekend item: %s"
|
||||||
|
|
||||||
#: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
|
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1187
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "unmatched %s"
|
msgid "unmatched %s"
|
||||||
msgstr "niet overeenkomstige `{'"
|
msgstr "niet overeenkomstige `{'"
|
||||||
|
|
||||||
#: src/reader.c:798
|
#: src/reader.c:810
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "argument of %%expect is not an integer"
|
msgid "argument of %%expect is not an integer"
|
||||||
msgstr "argument van %expect is niet een integer"
|
msgstr "argument van %expect is niet een integer"
|
||||||
|
|
||||||
#: src/reader.c:844
|
#: src/reader.c:856
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unrecognized item %s, expected an identifier"
|
msgid "unrecognized item %s, expected an identifier"
|
||||||
msgstr "onbekend item %s, verwacht een identifier"
|
msgstr "onbekend item %s, verwacht een identifier"
|
||||||
|
|
||||||
#: src/reader.c:866
|
#: src/reader.c:878
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "expected string constant instead of %s"
|
msgid "expected string constant instead of %s"
|
||||||
msgstr "verwacht string constante in plaats van %s"
|
msgstr "verwacht string constante in plaats van %s"
|
||||||
|
|
||||||
#: src/reader.c:1014
|
#: src/reader.c:1026
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unrecognized: %s"
|
msgid "unrecognized: %s"
|
||||||
msgstr "onbekend: %s"
|
msgstr "onbekend: %s"
|
||||||
|
|
||||||
#: src/reader.c:1019
|
#: src/reader.c:1031
|
||||||
msgid "no input grammar"
|
msgid "no input grammar"
|
||||||
msgstr "geen invoer grammatica"
|
msgstr "geen invoer grammatica"
|
||||||
|
|
||||||
#: src/reader.c:1024
|
#: src/reader.c:1036
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unknown character: %s"
|
msgid "unknown character: %s"
|
||||||
msgstr "onbekend karakter: %s"
|
msgstr "onbekend karakter: %s"
|
||||||
|
|
||||||
#: src/reader.c:1192
|
#: src/reader.c:1210
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "unterminated %guard clause"
|
msgid "unterminated %guard clause"
|
||||||
msgstr "niet getermineerde %%guard voorwaarde"
|
msgstr "niet getermineerde %%guard voorwaarde"
|
||||||
|
|
||||||
#: src/reader.c:1345
|
#: src/reader.c:1363
|
||||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"slecht geformuleerde regel: initieel symbool niet gevolgd door dubbele punt"
|
"slecht geformuleerde regel: initieel symbool niet gevolgd door dubbele punt"
|
||||||
|
|
||||||
#: src/reader.c:1352
|
#: src/reader.c:1370
|
||||||
msgid "grammar starts with vertical bar"
|
msgid "grammar starts with vertical bar"
|
||||||
msgstr "grammatica start met een verticale bar"
|
msgstr "grammatica start met een verticale bar"
|
||||||
|
|
||||||
#: src/reader.c:1381
|
#: src/reader.c:1398
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule given for %s, which is a token"
|
msgid "rule given for %s, which is a token"
|
||||||
msgstr "regel geven voor %s, welke een teken is"
|
msgstr "regel geven voor %s, welke een teken is"
|
||||||
|
|
||||||
#: src/reader.c:1483
|
#: src/reader.c:1498
|
||||||
msgid "two @prec's in a row"
|
msgid "two @prec's in a row"
|
||||||
msgstr "twee @prec's in een regel"
|
msgstr "twee @prec's in een regel"
|
||||||
|
|
||||||
#: src/reader.c:1491
|
#: src/reader.c:1506
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%%guard present but %%semantic_parser not specified"
|
msgid "%%guard present but %%semantic_parser not specified"
|
||||||
msgstr "%%guard aanwezig maar %%semantic_parser niet gespecificeerd"
|
msgstr "%%guard aanwezig maar %%semantic_parser niet gespecificeerd"
|
||||||
|
|
||||||
#: src/reader.c:1500
|
#: src/reader.c:1515
|
||||||
msgid "two actions at end of one rule"
|
msgid "two actions at end of one rule"
|
||||||
msgstr "twee akties aan het einde van een regel"
|
msgstr "twee akties aan het einde van een regel"
|
||||||
|
|
||||||
#: src/reader.c:1514
|
#: src/reader.c:1529
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type clash (`%s' `%s') on default action"
|
msgid "type clash (`%s' `%s') on default action"
|
||||||
msgstr "type clash (`%s' `%s') bij standaard aktie"
|
msgstr "type clash (`%s' `%s') bij standaard aktie"
|
||||||
|
|
||||||
#: src/reader.c:1520
|
#: src/reader.c:1535
|
||||||
msgid "empty rule for typed nonterminal, and no action"
|
msgid "empty rule for typed nonterminal, and no action"
|
||||||
msgstr "lege regel voor getypte niet terminal, en geen aktie"
|
msgstr "lege regel voor getypte niet terminal, en geen aktie"
|
||||||
|
|
||||||
#: src/reader.c:1564
|
#: src/reader.c:1579
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid input: %s"
|
msgid "invalid input: %s"
|
||||||
msgstr "ongeldige invoer: %s"
|
msgstr "ongeldige invoer: %s"
|
||||||
|
|
||||||
#: src/reader.c:1572
|
#: src/reader.c:1587
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "te veel symbolen (tekens plus nietterminals); maximum %s"
|
msgstr "te veel symbolen (tekens plus nietterminals); maximum %s"
|
||||||
|
|
||||||
#: src/reader.c:1575
|
#: src/reader.c:1590
|
||||||
msgid "no rules in the input grammar"
|
msgid "no rules in the input grammar"
|
||||||
msgstr "geen regels voor invoer grammatica"
|
msgstr "geen regels voor invoer grammatica"
|
||||||
|
|
||||||
#: src/reader.c:1599
|
#: src/reader.c:1614
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"symbool %s is gebruikt, maar is niet gedefinieerd als een teken en\n"
|
"symbool %s is gebruikt, maar is niet gedefinieerd als een teken en\n"
|
||||||
"heeft geen regels"
|
"heeft geen regels"
|
||||||
|
|
||||||
#: src/reader.c:1734
|
#: src/reader.c:1749
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "tokens %s and %s both assigned number %d"
|
msgid "tokens %s and %s both assigned number %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/reader.c:1787
|
#: src/reader.c:1802
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "conflicting precedences for %s and %s"
|
msgid "conflicting precedences for %s and %s"
|
||||||
msgstr "conflictuerende precedentein voor %s en %s"
|
msgstr "conflictuerende precedentein voor %s en %s"
|
||||||
|
|
||||||
#: src/reader.c:1799
|
#: src/reader.c:1814
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "conflicting assoc values for %s and %s"
|
msgid "conflicting assoc values for %s and %s"
|
||||||
msgstr "conflictuerende associatieve waarden voor %s en %s"
|
msgstr "conflictuerende associatieve waarden voor %s en %s"
|
||||||
|
|
||||||
#: src/reader.c:1838
|
#: src/reader.c:1853
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the start symbol %s is undefined"
|
msgid "the start symbol %s is undefined"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/reader.c:1840
|
#: src/reader.c:1855
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the start symbol %s is a token"
|
msgid "the start symbol %s is a token"
|
||||||
msgstr "het start symbool %s is een token"
|
msgstr "het start symbool %s is een token"
|
||||||
|
|
||||||
#: src/reduce.c:400
|
#: src/reduce.c:409
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Useless nonterminals:"
|
msgid "Useless nonterminals:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Onbruikbare niet terminals:\n"
|
"Onbruikbare niet terminals:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:414
|
#: src/reduce.c:422
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Terminals which are not used:"
|
msgid "Terminals which are not used:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -640,7 +639,7 @@ msgstr ""
|
|||||||
"Terminals welke niet worden gebruikt:\n"
|
"Terminals welke niet worden gebruikt:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:425
|
#: src/reduce.c:433
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Useless rules:"
|
msgid "Useless rules:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -649,60 +648,29 @@ msgstr ""
|
|||||||
"Onbruikbare regels:\n"
|
"Onbruikbare regels:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/reduce.c:451
|
#: src/reduce.c:503
|
||||||
msgid ""
|
#, fuzzy, c-format
|
||||||
"Variables\n"
|
msgid "%d rule never reduced\n"
|
||||||
"---------\n"
|
msgid_plural "%d rules never reduced\n"
|
||||||
"\n"
|
msgstr[0] "%d regels nooit gereduceerd\n"
|
||||||
msgstr ""
|
|
||||||
"Variabelen\n"
|
|
||||||
"----------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:452
|
#: src/reduce.c:511
|
||||||
msgid "Value Sprec Sassoc Tag\n"
|
#, fuzzy, c-format
|
||||||
msgstr "Waarde Sprec Sassoc Tag\n"
|
msgid "%d useless nonterminal"
|
||||||
|
msgid_plural "%d useless nonterminals"
|
||||||
|
msgstr[0] "%d onbruikbare niet terminal%s"
|
||||||
|
|
||||||
#: src/reduce.c:456
|
#: src/reduce.c:517
|
||||||
msgid ""
|
|
||||||
"Rules\n"
|
|
||||||
"-----\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"Regels\n"
|
|
||||||
"------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:470
|
|
||||||
msgid ""
|
|
||||||
"Rules interpreted\n"
|
|
||||||
"-----------------\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"Geinterpreteerde regels\n"
|
|
||||||
"-----------------------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:491
|
|
||||||
#, c-format
|
|
||||||
msgid "%d rules never reduced\n"
|
|
||||||
msgstr "%d regels nooit gereduceerd\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:497
|
|
||||||
#, c-format
|
|
||||||
msgid "%d useless nonterminal%s"
|
|
||||||
msgstr "%d onbruikbare niet terminal%s"
|
|
||||||
|
|
||||||
#: src/reduce.c:502
|
|
||||||
msgid " and "
|
msgid " and "
|
||||||
msgstr " en "
|
msgstr " en "
|
||||||
|
|
||||||
#: src/reduce.c:506
|
#: src/reduce.c:520
|
||||||
#, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%d useless rule%s"
|
msgid "%d useless rule"
|
||||||
msgstr "%d onbruikbare regels%s"
|
msgid_plural "%d useless rules"
|
||||||
|
msgstr[0] "%d onbruikbare regels%s"
|
||||||
|
|
||||||
#: src/reduce.c:536
|
#: src/reduce.c:551
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "Start symbool %s is niet afkomstig uit een zin"
|
msgstr "Start symbool %s is niet afkomstig uit een zin"
|
||||||
@@ -787,11 +755,11 @@ msgstr "%s: geen geheugen meer beschikbaar\n"
|
|||||||
#. MARK). A British English Unicode locale should instead
|
#. MARK). A British English Unicode locale should instead
|
||||||
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
|
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
|
||||||
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
|
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
|
||||||
#: lib/quotearg.c:268
|
#: lib/quotearg.c:274
|
||||||
msgid "`"
|
msgid "`"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/quotearg.c:269
|
#: lib/quotearg.c:275
|
||||||
msgid "'"
|
msgid "'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -896,6 +864,9 @@ msgstr ""
|
|||||||
#~ msgid "limit of %d exceeded, too many %s"
|
#~ msgid "limit of %d exceeded, too many %s"
|
||||||
#~ msgstr "limiet van %d overschreden, te veel %s"
|
#~ msgstr "limiet van %d overschreden, te veel %s"
|
||||||
|
|
||||||
|
#~ msgid "internal error, %s\n"
|
||||||
|
#~ msgstr "interne fout, %s\n"
|
||||||
|
|
||||||
#~ msgid "Entering set_nullable"
|
#~ msgid "Entering set_nullable"
|
||||||
#~ msgstr "Inkomende set nullable"
|
#~ msgstr "Inkomende set nullable"
|
||||||
|
|
||||||
@@ -928,3 +899,33 @@ msgstr ""
|
|||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "gereduceerd %s gedefinieerd %d terminal%s, %d nietterminal%s, en %d "
|
#~ "gereduceerd %s gedefinieerd %d terminal%s, %d nietterminal%s, en %d "
|
||||||
#~ "productie%s.\n"
|
#~ "productie%s.\n"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Variables\n"
|
||||||
|
#~ "---------\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Variabelen\n"
|
||||||
|
#~ "----------\n"
|
||||||
|
#~ "\n"
|
||||||
|
|
||||||
|
#~ msgid "Value Sprec Sassoc Tag\n"
|
||||||
|
#~ msgstr "Waarde Sprec Sassoc Tag\n"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Rules\n"
|
||||||
|
#~ "-----\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Regels\n"
|
||||||
|
#~ "------\n"
|
||||||
|
#~ "\n"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Rules interpreted\n"
|
||||||
|
#~ "-----------------\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Geinterpreteerde regels\n"
|
||||||
|
#~ "-----------------------\n"
|
||||||
|
#~ "\n"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bison 1.29\n"
|
"Project-Id-Version: bison 1.29\n"
|
||||||
"POT-Creation-Date: 2001-11-20 14:16+0100\n"
|
"POT-Creation-Date: 2002-01-11 14:38+0100\n"
|
||||||
"PO-Revision-Date: 2001-09-09 13:49+04:00\n"
|
"PO-Revision-Date: 2001-09-09 13:49+04:00\n"
|
||||||
"Last-Translator: Dmitry S. Sivachenko <[email protected]>\n"
|
"Last-Translator: Dmitry S. Sivachenko <[email protected]>\n"
|
||||||
"Language-Team: Russian <[email protected]>\n"
|
"Language-Team: Russian <[email protected]>\n"
|
||||||
@@ -18,7 +18,7 @@ msgstr ""
|
|||||||
msgid "too many states (max %d)"
|
msgid "too many states (max %d)"
|
||||||
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÏÓÔÏÑÎÉÊ (ÍÁËÓÉÍÁÌØÎÏ %d)"
|
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÏÓÔÏÑÎÉÊ (ÍÁËÓÉÍÁÌØÎÏ %d)"
|
||||||
|
|
||||||
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
|
#: lib/error.c:128 lib/error.c:156 src/complain.c:99
|
||||||
msgid "Unknown system error"
|
msgid "Unknown system error"
|
||||||
msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÓÉÓÔÅÍÎÁÑ ÏÛÉÂËÁ"
|
msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÓÉÓÔÅÍÎÁÑ ÏÛÉÂËÁ"
|
||||||
|
|
||||||
@@ -26,83 +26,83 @@ msgstr "
|
|||||||
msgid "warning: "
|
msgid "warning: "
|
||||||
msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: "
|
msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: "
|
||||||
|
|
||||||
#: src/complain.c:238 src/complain.c:279
|
#: src/complain.c:238
|
||||||
msgid "fatal error: "
|
msgid "fatal error: "
|
||||||
msgstr "ÆÁÔÁÌØÎÁÑ ÏÛÉÂËÁ: "
|
msgstr "ÆÁÔÁÌØÎÁÑ ÏÛÉÂËÁ: "
|
||||||
|
|
||||||
#: src/conflicts.c:45
|
#: src/conflicts.c:44
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"ëÏÎÆÌÉËÔ × ÓÏÓÔÏÑÎÉÉ %d ÍÅÖÄÕ ÐÒÁ×ÉÌÏÍ %d É ÌÅËÓÅÍÏÊ %s ÒÁÚÒÅÛÅÎ ËÁË %s.\n"
|
"ëÏÎÆÌÉËÔ × ÓÏÓÔÏÑÎÉÉ %d ÍÅÖÄÕ ÐÒÁ×ÉÌÏÍ %d É ÌÅËÓÅÍÏÊ %s ÒÁÚÒÅÛÅÎ ËÁË %s.\n"
|
||||||
|
|
||||||
#: src/conflicts.c:111 src/conflicts.c:134
|
#: src/conflicts.c:94 src/conflicts.c:119
|
||||||
msgid "reduce"
|
msgid "reduce"
|
||||||
msgstr "×Ù×ÏÄ"
|
msgstr "×Ù×ÏÄ"
|
||||||
|
|
||||||
#: src/conflicts.c:117 src/conflicts.c:130
|
#: src/conflicts.c:101 src/conflicts.c:115
|
||||||
msgid "shift"
|
msgid "shift"
|
||||||
msgstr "ÓÄ×ÉÇ"
|
msgstr "ÓÄ×ÉÇ"
|
||||||
|
|
||||||
#: src/conflicts.c:138
|
#: src/conflicts.c:123
|
||||||
msgid "an error"
|
msgid "an error"
|
||||||
msgstr "ÏÛÉÂËÁ"
|
msgstr "ÏÛÉÂËÁ"
|
||||||
|
|
||||||
#: src/conflicts.c:389
|
#: src/conflicts.c:302
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%d shift/reduce conflict"
|
msgid "%d shift/reduce conflict"
|
||||||
msgid_plural "%d shift/reduce conflicts"
|
msgid_plural "%d shift/reduce conflicts"
|
||||||
msgstr[0] " %d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
msgstr[0] " %d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||||
|
|
||||||
#: src/conflicts.c:396
|
#: src/conflicts.c:309
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "and"
|
msgid "and"
|
||||||
msgstr " É"
|
msgstr " É"
|
||||||
|
|
||||||
#: src/conflicts.c:402
|
#: src/conflicts.c:315
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%d reduce/reduce conflict"
|
msgid "%d reduce/reduce conflict"
|
||||||
msgid_plural "%d reduce/reduce conflicts"
|
msgid_plural "%d reduce/reduce conflicts"
|
||||||
msgstr[0] " %d ËÏÎÆÌÉËÔÏ× ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
|
msgstr[0] " %d ËÏÎÆÌÉËÔÏ× ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
|
||||||
|
|
||||||
#: src/conflicts.c:426
|
#: src/conflicts.c:340
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "State %d contains "
|
msgid "State %d contains "
|
||||||
msgstr "óÏÓÔÏÑÎÉÅ %d ÓÏÄÅÒÖÉÔ"
|
msgstr "óÏÓÔÏÑÎÉÅ %d ÓÏÄÅÒÖÉÔ"
|
||||||
|
|
||||||
#. If invoked with `--yacc', use the output format specified by
|
#. If invoked with `--yacc', use the output format specified by
|
||||||
#. POSIX.
|
#. POSIX.
|
||||||
#: src/conflicts.c:460
|
#: src/conflicts.c:387
|
||||||
msgid "conflicts: "
|
msgid "conflicts: "
|
||||||
msgstr "ËÏÎÆÌÉËÔÙ: "
|
msgstr "ËÏÎÆÌÉËÔÙ: "
|
||||||
|
|
||||||
#: src/conflicts.c:462
|
#: src/conflicts.c:389
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d shift/reduce"
|
msgid " %d shift/reduce"
|
||||||
msgstr " %d ÓÄ×ÉÇ/×Ù×ÏÄ"
|
msgstr " %d ÓÄ×ÉÇ/×Ù×ÏÄ"
|
||||||
|
|
||||||
#: src/conflicts.c:466
|
#: src/conflicts.c:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d reduce/reduce"
|
msgid " %d reduce/reduce"
|
||||||
msgstr " %d ×Ù×ÏÄ/×Ù×ÏÄ"
|
msgstr " %d ×Ù×ÏÄ/×Ù×ÏÄ"
|
||||||
|
|
||||||
#: src/conflicts.c:471 src/reduce.c:493
|
#: src/conflicts.c:398 src/reduce.c:508
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s contains "
|
msgid "%s contains "
|
||||||
msgstr "%s ÓÏÄÅÒÖÉÔ "
|
msgstr "%s ÓÏÄÅÒÖÉÔ "
|
||||||
|
|
||||||
#: src/conflicts.c:480
|
#: src/conflicts.c:412
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "expected %d shift/reduce conflict\n"
|
msgid "expected %d shift/reduce conflict\n"
|
||||||
msgid_plural "expected %d shift/reduce conflicts\n"
|
msgid_plural "expected %d shift/reduce conflicts\n"
|
||||||
msgstr[0] " %d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
msgstr[0] " %d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||||
|
|
||||||
#: src/conflicts.c:567 src/conflicts.c:688
|
#: src/conflicts.c:463 src/conflicts.c:540
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||||
msgstr " %-4s\t[×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)]\n"
|
msgstr " %-4s\t[×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)]\n"
|
||||||
|
|
||||||
#: src/conflicts.c:579 src/print.c:156
|
#: src/conflicts.c:467 src/print.c:154
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" $default\treduce using rule %d (%s)\n"
|
" $default\treduce using rule %d (%s)\n"
|
||||||
@@ -111,22 +111,22 @@ msgstr ""
|
|||||||
" $default\t×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)\n"
|
" $default\t×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/conflicts.c:668 src/conflicts.c:682
|
#: src/conflicts.c:521 src/conflicts.c:534
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||||
msgstr " %-4s\t×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)\n"
|
msgstr " %-4s\t×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)\n"
|
||||||
|
|
||||||
#: src/conflicts.c:708
|
#: src/conflicts.c:550
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $default\treduce using rule %d (%s)\n"
|
msgid " $default\treduce using rule %d (%s)\n"
|
||||||
msgstr " $default\t×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)\n"
|
msgstr " $default\t×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)\n"
|
||||||
|
|
||||||
#: src/files.c:143
|
#: src/files.c:150
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr "ÎÅ ÕÄÁÅÔÓÑ ÏÔËÒÙÔØ ÆÁÊÌ `%s'"
|
msgstr "ÎÅ ÕÄÁÅÔÓÑ ÏÔËÒÙÔØ ÆÁÊÌ `%s'"
|
||||||
|
|
||||||
#: src/files.c:162
|
#: src/files.c:169
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr "ÎÅ ÕÄÁÅÔÓÑ ÚÁËÒÙÔØ ÆÁÊÌ"
|
msgstr "ÎÅ ÕÄÁÅÔÓÑ ÚÁËÒÙÔØ ÆÁÊÌ"
|
||||||
|
|
||||||
@@ -229,27 +229,27 @@ msgstr ""
|
|||||||
"ðòéçïäîïóôé\n"
|
"ðòéçïäîïóôé\n"
|
||||||
"äìñ ïðòåäåìåîîïê ãåìé.\n"
|
"äìñ ïðòåäåìåîîïê ãåìé.\n"
|
||||||
|
|
||||||
#: src/getargs.c:215 src/lex.c:694
|
#: src/getargs.c:223 src/lex.c:694
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is no longer supported"
|
msgid "`%s' is no longer supported"
|
||||||
msgstr "`%s' ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
|
msgstr "`%s' ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
|
||||||
|
|
||||||
#: src/getargs.c:239
|
#: src/getargs.c:247
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Try `%s --help' for more information.\n"
|
msgid "Try `%s --help' for more information.\n"
|
||||||
msgstr "éÓÐÏÌØÚÕÊÔÅ `%s --help' ÄÌÑ ÄÏÐÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n"
|
msgstr "éÓÐÏÌØÚÕÊÔÅ `%s --help' ÄÌÑ ÄÏÐÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n"
|
||||||
|
|
||||||
#: src/getargs.c:246
|
#: src/getargs.c:254
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: no grammar file given\n"
|
msgid "%s: no grammar file given\n"
|
||||||
msgstr "%s: ÎÅ ÚÁÄÁÎ ÆÁÊÌ Ó ÇÒÁÍÍÁÔÉËÏÊ\n"
|
msgstr "%s: ÎÅ ÚÁÄÁÎ ÆÁÊÌ Ó ÇÒÁÍÍÁÔÉËÏÊ\n"
|
||||||
|
|
||||||
#: src/getargs.c:250
|
#: src/getargs.c:258
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: extra arguments ignored after `%s'\n"
|
msgid "%s: extra arguments ignored after `%s'\n"
|
||||||
msgstr "%s: ÌÉÛÎÉÅ ÁÒÇÕÍÅÎÔÙ ÐÏÓÌÅ `%s' ÉÇÎÏÒÉÒÏ×ÁÎÙ\n"
|
msgstr "%s: ÌÉÛÎÉÅ ÁÒÇÕÍÅÎÔÙ ÐÏÓÌÅ `%s' ÉÇÎÏÒÉÒÏ×ÁÎÙ\n"
|
||||||
|
|
||||||
#: src/lalr.c:293
|
#: src/lalr.c:256
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many gotos (max %d)"
|
msgid "too many gotos (max %d)"
|
||||||
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ goto (ÍÁËÓÉÍÁÌØÎÏ %d)"
|
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ goto (ÍÁËÓÉÍÁÌØÎÏ %d)"
|
||||||
@@ -258,7 +258,7 @@ msgstr "
|
|||||||
msgid "unexpected `/' found and ignored"
|
msgid "unexpected `/' found and ignored"
|
||||||
msgstr "×ÓÔÒÅÞÅÎ É ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎ ÎÅÏÖÉÄÁÎÎÙÊ ÓÉÍ×ÏÌ `/'"
|
msgstr "×ÓÔÒÅÞÅÎ É ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎ ÎÅÏÖÉÄÁÎÎÙÊ ÓÉÍ×ÏÌ `/'"
|
||||||
|
|
||||||
#: src/lex.c:105 src/reader.c:269
|
#: src/lex.c:105 src/reader.c:280
|
||||||
msgid "unterminated comment"
|
msgid "unterminated comment"
|
||||||
msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ËÏÍÍÅÎÔÁÒÉÊ"
|
msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ËÏÍÍÅÎÔÁÒÉÊ"
|
||||||
|
|
||||||
@@ -307,70 +307,69 @@ msgstr ""
|
|||||||
msgid "`%s' requires an argument"
|
msgid "`%s' requires an argument"
|
||||||
msgstr "%s: ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ\n"
|
msgstr "%s: ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ\n"
|
||||||
|
|
||||||
#: src/main.c:128
|
#: src/output.c:951
|
||||||
#, c-format
|
|
||||||
msgid "%s: internal error: %s\n"
|
|
||||||
msgstr "%s: ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ: %s\n"
|
|
||||||
|
|
||||||
#: src/output.c:979
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "maximum table size (%d) exceeded"
|
msgid "maximum table size (%d) exceeded"
|
||||||
msgstr "ÐÒÅ×ÙÛÅÎ ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ (%d)"
|
msgstr "ÐÒÅ×ÙÛÅÎ ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ (%d)"
|
||||||
|
|
||||||
#: src/print.c:38
|
#: src/print.c:39
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " type %d is %s\n"
|
msgid " type %d is %s\n"
|
||||||
msgstr " ÔÉÐ %d Ñ×ÌÑÅÔÓÑ %s\n"
|
msgstr " ÔÉÐ %d Ñ×ÌÑÅÔÓÑ %s\n"
|
||||||
|
|
||||||
#: src/print.c:78
|
#: src/print.c:88
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " (rule %d)"
|
msgid " (rule %d)"
|
||||||
msgstr " (ÐÒÁ×ÉÌÏ %d)"
|
msgstr " (ÐÒÁ×ÉÌÏ %d)"
|
||||||
|
|
||||||
#: src/print.c:98
|
#: src/print.c:108
|
||||||
msgid " $default\taccept\n"
|
msgid " $default\taccept\n"
|
||||||
msgstr " $default\tÐÒÉÎÑÔÉÅ\n"
|
msgstr " $default\tÐÒÉÎÑÔÉÅ\n"
|
||||||
|
|
||||||
#: src/print.c:100
|
#: src/print.c:110
|
||||||
msgid " NO ACTIONS\n"
|
msgid " NO ACTIONS\n"
|
||||||
msgstr " îåô äåêóô÷éê\n"
|
msgstr " îåô äåêóô÷éê\n"
|
||||||
|
|
||||||
#: src/print.c:120
|
#: src/print.c:124
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $ \tgo to state %d\n"
|
msgid " $ \tgo to state %d\n"
|
||||||
msgstr " $ \tÐÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
|
msgstr " $ \tÐÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
|
||||||
|
|
||||||
#: src/print.c:123
|
#: src/print.c:127
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tshift, and go to state %d\n"
|
msgid " %-4s\tshift, and go to state %d\n"
|
||||||
msgstr " %-4s\tÓÄ×ÉÇ, É ÐÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
|
msgstr " %-4s\tÓÄ×ÉÇ, É ÐÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
|
||||||
|
|
||||||
#: src/print.c:144
|
#: src/print.c:142
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\terror (nonassociative)\n"
|
msgid " %-4s\terror (nonassociative)\n"
|
||||||
msgstr " %-4s\tÏÛÉÂËÁ (ÎÅÁÓÓÏÃÉÁÔÉ×ÎÁÑ)\n"
|
msgstr " %-4s\tÏÛÉÂËÁ (ÎÅÁÓÓÏÃÉÁÔÉ×ÎÁÑ)\n"
|
||||||
|
|
||||||
#: src/print.c:173
|
#: src/print.c:169
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tgo to state %d\n"
|
msgid " %-4s\tgo to state %d\n"
|
||||||
msgstr " %-4s\tÐÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
|
msgstr " %-4s\tÐÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
|
||||||
|
|
||||||
#: src/print.c:185
|
#: src/print.c:180
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "state %d"
|
msgid "state %d"
|
||||||
msgstr "ÓÏÓÔÏÑÎÉÅ %d"
|
msgstr "ÓÏÓÔÏÑÎÉÅ %d"
|
||||||
|
|
||||||
#. rule # : LHS -> RHS
|
#. rule # : LHS -> RHS
|
||||||
#: src/print.c:215
|
#: src/print.c:211
|
||||||
msgid "Grammar"
|
msgid "Grammar"
|
||||||
msgstr "çÒÁÍÍÁÔÉËÁ"
|
msgstr "çÒÁÍÍÁÔÉËÁ"
|
||||||
|
|
||||||
#: src/print.c:220
|
#: src/print.c:212
|
||||||
#, c-format
|
msgid "Number, Line, Rule"
|
||||||
msgid "rule %-4d %s ->"
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/print.c:217
|
||||||
|
#, fuzzy, c-format
|
||||||
|
msgid " %3d %3d %s ->"
|
||||||
msgstr "ÐÒÁ×ÉÌÏ %-4d %s ->"
|
msgstr "ÐÒÁ×ÉÌÏ %-4d %s ->"
|
||||||
|
|
||||||
#: src/print.c:226
|
#: src/print.c:224
|
||||||
msgid "empty"
|
msgid "empty"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -379,15 +378,15 @@ msgstr ""
|
|||||||
msgid "Terminals, with rules where they appear"
|
msgid "Terminals, with rules where they appear"
|
||||||
msgstr "ôÅÒÍÉÎÁÌØÎÙÅ ÓÉÍ×ÏÌÙ Ó ÐÒÁ×ÉÌÁÍÉ, × ËÏÔÏÒÙÈ ÏÎÉ ÐÏÑ×ÌÑÀÔÓÑ"
|
msgstr "ôÅÒÍÉÎÁÌØÎÙÅ ÓÉÍ×ÏÌÙ Ó ÐÒÁ×ÉÌÁÍÉ, × ËÏÔÏÒÙÈ ÏÎÉ ÐÏÑ×ÌÑÀÔÓÑ"
|
||||||
|
|
||||||
#: src/print.c:255
|
#: src/print.c:256
|
||||||
msgid "Nonterminals, with rules where they appear"
|
msgid "Nonterminals, with rules where they appear"
|
||||||
msgstr "îÅÔÅÒÍÉÎÁÌØÎÙÅ ÓÉÍ×ÏÌÙ Ó ÐÒÁ×ÉÌÁÍÉ, × ËÏÔÏÒÙÈ ÏÎÉ ÐÏÑ×ÌÑÀÔÓÑ"
|
msgstr "îÅÔÅÒÍÉÎÁÌØÎÙÅ ÓÉÍ×ÏÌÙ Ó ÐÒÁ×ÉÌÁÍÉ, × ËÏÔÏÒÙÈ ÏÎÉ ÐÏÑ×ÌÑÀÔÓÑ"
|
||||||
|
|
||||||
#: src/print.c:281
|
#: src/print.c:282
|
||||||
msgid " on left:"
|
msgid " on left:"
|
||||||
msgstr " ÎÁÌÅ×Ï:"
|
msgstr " ÎÁÌÅ×Ï:"
|
||||||
|
|
||||||
#: src/print.c:296
|
#: src/print.c:297
|
||||||
msgid " on right:"
|
msgid " on right:"
|
||||||
msgstr " ÎÁÐÒÁ×Ï:"
|
msgstr " ÎÁÐÒÁ×Ï:"
|
||||||
|
|
||||||
@@ -396,7 +395,7 @@ msgstr "
|
|||||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||||
#. obstack_sgrow (node_obstack, "\n");
|
#. obstack_sgrow (node_obstack, "\n");
|
||||||
#.
|
#.
|
||||||
#: src/print_graph.c:166
|
#: src/print_graph.c:146
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%-4s\terror (nonassociative)"
|
msgid "%-4s\terror (nonassociative)"
|
||||||
msgstr "%-4s\tÏÛÉÂËÁ (ÎÅÁÓÓÏÃÉÁÔÉ×ÎÁÑ)"
|
msgstr "%-4s\tÏÛÉÂËÁ (ÎÅÁÓÓÏÃÉÁÔÉ×ÎÁÑ)"
|
||||||
@@ -405,300 +404,269 @@ msgstr "%-4s\t
|
|||||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||||
#. obstack_sgrow (node_obstack, "\n");
|
#. obstack_sgrow (node_obstack, "\n");
|
||||||
#.
|
#.
|
||||||
#: src/print_graph.c:181
|
#: src/print_graph.c:161
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$default\treduce using rule %d (%s)"
|
msgid "$default\treduce using rule %d (%s)"
|
||||||
msgstr "$default\t×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)"
|
msgstr "$default\t×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)"
|
||||||
|
|
||||||
#: src/reader.c:78
|
#: src/reader.c:89
|
||||||
msgid " Skipping to next \\n"
|
msgid " Skipping to next \\n"
|
||||||
msgstr " ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ \\n"
|
msgstr " ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ \\n"
|
||||||
|
|
||||||
#: src/reader.c:80
|
#: src/reader.c:91
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " Skipping to next %c"
|
msgid " Skipping to next %c"
|
||||||
msgstr " ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ %c"
|
msgstr " ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ %c"
|
||||||
|
|
||||||
#: src/reader.c:131 src/reader.c:143
|
#: src/reader.c:142 src/reader.c:154
|
||||||
msgid "invalid $ value"
|
msgid "invalid $ value"
|
||||||
msgstr "ÎÅ×ÅÒÎÏÅ $ ÚÎÁÞÅÎÉÅ"
|
msgstr "ÎÅ×ÅÒÎÏÅ $ ÚÎÁÞÅÎÉÅ"
|
||||||
|
|
||||||
#: src/reader.c:169 src/reader.c:184
|
#: src/reader.c:180 src/reader.c:195
|
||||||
msgid "unterminated string at end of file"
|
msgid "unterminated string at end of file"
|
||||||
msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ × ËÏÎÃÅ ÆÁÊÌÁ"
|
msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ × ËÏÎÃÅ ÆÁÊÌÁ"
|
||||||
|
|
||||||
#: src/reader.c:172
|
#: src/reader.c:183
|
||||||
msgid "unterminated string"
|
msgid "unterminated string"
|
||||||
msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ"
|
msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ"
|
||||||
|
|
||||||
#: src/reader.c:325 src/reader.c:389
|
#: src/reader.c:336 src/reader.c:400
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË %s"
|
msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË %s"
|
||||||
|
|
||||||
#: src/reader.c:365
|
#: src/reader.c:376
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$$ of `%s' has no declared type"
|
msgid "$$ of `%s' has no declared type"
|
||||||
msgstr "$$ × `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
|
msgstr "$$ × `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
|
||||||
|
|
||||||
#: src/reader.c:382
|
#: src/reader.c:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "$%d ÉÚ `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
|
msgstr "$%d ÉÚ `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
|
||||||
|
|
||||||
#: src/reader.c:436
|
#: src/reader.c:447
|
||||||
msgid "unterminated `%{' definition"
|
msgid "unterminated `%{' definition"
|
||||||
msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ `%{'"
|
msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ `%{'"
|
||||||
|
|
||||||
#: src/reader.c:481 src/reader.c:595 src/reader.c:645
|
#: src/reader.c:492 src/reader.c:607 src/reader.c:657
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Premature EOF after %s"
|
msgid "Premature EOF after %s"
|
||||||
msgstr "ðÒÅÖÄÅ×ÒÅÍÅÎÎÙÊ ËÏÎÅà ÆÁÊÌÁ ÐÏÓÌÅ %s"
|
msgstr "ðÒÅÖÄÅ×ÒÅÍÅÎÎÙÊ ËÏÎÅà ÆÁÊÌÁ ÐÏÓÌÅ %s"
|
||||||
|
|
||||||
#: src/reader.c:498
|
#: src/reader.c:509
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' used more than once as a literal string"
|
msgid "symbol `%s' used more than once as a literal string"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/reader.c:501
|
#: src/reader.c:512
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' given more than one literal string"
|
msgid "symbol `%s' given more than one literal string"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/reader.c:522 src/reader.c:664
|
#: src/reader.c:533 src/reader.c:676
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol %s redefined"
|
msgid "symbol %s redefined"
|
||||||
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ %s"
|
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ %s"
|
||||||
|
|
||||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1280
|
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1298
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type redeclaration for %s"
|
msgid "type redeclaration for %s"
|
||||||
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÉÓÁÎÉÅ ÔÉÐÁ ÄÌÑ %s"
|
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÉÓÁÎÉÅ ÔÉÐÁ ÄÌÑ %s"
|
||||||
|
|
||||||
#: src/reader.c:541
|
#: src/reader.c:552
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is invalid in %s"
|
msgid "`%s' is invalid in %s"
|
||||||
msgstr "`%s' ÎÅ×ÅÒÎÏ × %s"
|
msgstr "`%s' ÎÅ×ÅÒÎÏ × %s"
|
||||||
|
|
||||||
#: src/reader.c:558 src/reader.c:723
|
#: src/reader.c:570 src/reader.c:735
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %s"
|
msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %s"
|
||||||
|
|
||||||
#: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1258
|
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1276
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid %s declaration"
|
msgid "invalid %s declaration"
|
||||||
msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %s"
|
msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %s"
|
||||||
|
|
||||||
#: src/reader.c:580
|
#: src/reader.c:592
|
||||||
msgid "%type declaration has no <typename>"
|
msgid "%type declaration has no <typename>"
|
||||||
msgstr "ÏÐÉÓÁÎÉÅ %type ÎÅ ÉÍÅÅÔ <ÉÍÑ_ÔÉÐÁ>"
|
msgstr "ÏÐÉÓÁÎÉÅ %type ÎÅ ÉÍÅÅÔ <ÉÍÑ_ÔÉÐÁ>"
|
||||||
|
|
||||||
#: src/reader.c:615
|
#: src/reader.c:627
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid %%type declaration due to item: %s"
|
msgid "invalid %%type declaration due to item: %s"
|
||||||
msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %%type ÉÚ-ÚÁ ÜÌÅÍÅÎÔÁ: %s"
|
msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %%type ÉÚ-ÚÁ ÜÌÅÍÅÎÔÁ: %s"
|
||||||
|
|
||||||
#: src/reader.c:660
|
#: src/reader.c:672
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "redefining precedence of %s"
|
msgid "redefining precedence of %s"
|
||||||
msgstr "ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÅ ÐÒÉÏÒÉÔÅÔÁ ÄÌÑ %s"
|
msgstr "ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÅ ÐÒÉÏÒÉÔÅÔÁ ÄÌÑ %s"
|
||||||
|
|
||||||
#: src/reader.c:683
|
#: src/reader.c:695
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid text (%s) - number should be after identifier"
|
msgid "invalid text (%s) - number should be after identifier"
|
||||||
msgstr "ÎÅ×ÅÒÎÙÊ ÔÅËÓÔ (%s) - ÞÉÓÌÏ ÄÏÌÖÎÏ ÓÌÅÄÏ×ÁÔØ ÚÁ ÉÄÅÎÔÉÆÉËÁÔÏÒÏÍ"
|
msgstr "ÎÅ×ÅÒÎÙÊ ÔÅËÓÔ (%s) - ÞÉÓÌÏ ÄÏÌÖÎÏ ÓÌÅÄÏ×ÁÔØ ÚÁ ÉÄÅÎÔÉÆÉËÁÔÏÒÏÍ"
|
||||||
|
|
||||||
#: src/reader.c:693
|
#: src/reader.c:705
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unexpected item: %s"
|
msgid "unexpected item: %s"
|
||||||
msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ÜÌÅÍÅÎÔ: %s"
|
msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ÜÌÅÍÅÎÔ: %s"
|
||||||
|
|
||||||
#: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
|
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1187
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unmatched %s"
|
msgid "unmatched %s"
|
||||||
msgstr "ÎÅÐÁÒÎÁÑ %s"
|
msgstr "ÎÅÐÁÒÎÁÑ %s"
|
||||||
|
|
||||||
#: src/reader.c:798
|
#: src/reader.c:810
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "argument of %%expect is not an integer"
|
msgid "argument of %%expect is not an integer"
|
||||||
msgstr "ÁÒÇÕÍÅÎÔ %%expect ÎÅ Ñ×ÌÑÅÔÓÑ ÃÅÌÙÍ ÞÉÓÌÏÍ"
|
msgstr "ÁÒÇÕÍÅÎÔ %%expect ÎÅ Ñ×ÌÑÅÔÓÑ ÃÅÌÙÍ ÞÉÓÌÏÍ"
|
||||||
|
|
||||||
#: src/reader.c:844
|
#: src/reader.c:856
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unrecognized item %s, expected an identifier"
|
msgid "unrecognized item %s, expected an identifier"
|
||||||
msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÜÌÅÍÅÎÔ %s, ÏÖÉÄÁÌÓÑ ÉÄÅÎÔÉÆÉËÁÔÏÒ"
|
msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÜÌÅÍÅÎÔ %s, ÏÖÉÄÁÌÓÑ ÉÄÅÎÔÉÆÉËÁÔÏÒ"
|
||||||
|
|
||||||
#: src/reader.c:866
|
#: src/reader.c:878
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "expected string constant instead of %s"
|
msgid "expected string constant instead of %s"
|
||||||
msgstr "×ÍÅÓÔÏ %s ÏÖÉÄÁÌÁÓØ ÓÔÒÏËÏ×ÁÑ ÐÏÓÔÏÑÎÎÁÑ"
|
msgstr "×ÍÅÓÔÏ %s ÏÖÉÄÁÌÁÓØ ÓÔÒÏËÏ×ÁÑ ÐÏÓÔÏÑÎÎÁÑ"
|
||||||
|
|
||||||
#: src/reader.c:1014
|
#: src/reader.c:1026
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unrecognized: %s"
|
msgid "unrecognized: %s"
|
||||||
msgstr "ÎÅÒÁÓÐÏÚÎÁÎÏ: %s"
|
msgstr "ÎÅÒÁÓÐÏÚÎÁÎÏ: %s"
|
||||||
|
|
||||||
#: src/reader.c:1019
|
#: src/reader.c:1031
|
||||||
msgid "no input grammar"
|
msgid "no input grammar"
|
||||||
msgstr "ÎÅÔ ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÉ"
|
msgstr "ÎÅÔ ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÉ"
|
||||||
|
|
||||||
#: src/reader.c:1024
|
#: src/reader.c:1036
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unknown character: %s"
|
msgid "unknown character: %s"
|
||||||
msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ: %s"
|
msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ: %s"
|
||||||
|
|
||||||
#: src/reader.c:1192
|
#: src/reader.c:1210
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unterminated %guard clause"
|
msgid "unterminated %guard clause"
|
||||||
msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ÏÐÅÒÁÔÏÒ %guard"
|
msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ÏÐÅÒÁÔÏÒ %guard"
|
||||||
|
|
||||||
#: src/reader.c:1345
|
#: src/reader.c:1363
|
||||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||||
msgstr "ÎÅ×ÅÒÎÏÅ ÐÒÁ×ÉÌÏ: Ä×ÏÅÔÏÞÉÅ ÎÅ ÓÌÅÄÕÅÔ ÚÁ ÎÁÞÁÌØÎÙÍ ÓÉÍ×ÏÌÏÍ"
|
msgstr "ÎÅ×ÅÒÎÏÅ ÐÒÁ×ÉÌÏ: Ä×ÏÅÔÏÞÉÅ ÎÅ ÓÌÅÄÕÅÔ ÚÁ ÎÁÞÁÌØÎÙÍ ÓÉÍ×ÏÌÏÍ"
|
||||||
|
|
||||||
#: src/reader.c:1352
|
#: src/reader.c:1370
|
||||||
msgid "grammar starts with vertical bar"
|
msgid "grammar starts with vertical bar"
|
||||||
msgstr "ÇÒÁÍÍÁÔÉËÁ ÎÁÞÉÎÁÅÔÓÑ Ó ×ÅÒÔÉËÁÌØÎÏÊ ÞÅÒÔÙ"
|
msgstr "ÇÒÁÍÍÁÔÉËÁ ÎÁÞÉÎÁÅÔÓÑ Ó ×ÅÒÔÉËÁÌØÎÏÊ ÞÅÒÔÙ"
|
||||||
|
|
||||||
#: src/reader.c:1381
|
#: src/reader.c:1398
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule given for %s, which is a token"
|
msgid "rule given for %s, which is a token"
|
||||||
msgstr "ÐÒÁ×ÉÌÏ ÚÁÄÁÎÏ ÄÌÑ %s, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
|
msgstr "ÐÒÁ×ÉÌÏ ÚÁÄÁÎÏ ÄÌÑ %s, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
|
||||||
|
|
||||||
#: src/reader.c:1483
|
#: src/reader.c:1498
|
||||||
msgid "two @prec's in a row"
|
msgid "two @prec's in a row"
|
||||||
msgstr "Ä×Á @prec ÐÏÄÒÑÄ"
|
msgstr "Ä×Á @prec ÐÏÄÒÑÄ"
|
||||||
|
|
||||||
#: src/reader.c:1491
|
#: src/reader.c:1506
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%%guard present but %%semantic_parser not specified"
|
msgid "%%guard present but %%semantic_parser not specified"
|
||||||
msgstr "%%guard ÐÒÉÓÕÔÓÔ×ÕÅÔ, Á %%semantic_parser ÎÅ ÚÁÄÁÎ"
|
msgstr "%%guard ÐÒÉÓÕÔÓÔ×ÕÅÔ, Á %%semantic_parser ÎÅ ÚÁÄÁÎ"
|
||||||
|
|
||||||
#: src/reader.c:1500
|
#: src/reader.c:1515
|
||||||
msgid "two actions at end of one rule"
|
msgid "two actions at end of one rule"
|
||||||
msgstr "Ä×Á ÄÅÊÓÔ×ÉÑ × ËÏÎÃÅ ÏÄÎÏÇÏ ÐÒÁ×ÉÌÁ"
|
msgstr "Ä×Á ÄÅÊÓÔ×ÉÑ × ËÏÎÃÅ ÏÄÎÏÇÏ ÐÒÁ×ÉÌÁ"
|
||||||
|
|
||||||
#: src/reader.c:1514
|
#: src/reader.c:1529
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type clash (`%s' `%s') on default action"
|
msgid "type clash (`%s' `%s') on default action"
|
||||||
msgstr "ËÏÎÆÌÉËÔ ÔÉÐÏ× (`%s' `%s') ÎÁ ÄÅÊÓÔ×ÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ"
|
msgstr "ËÏÎÆÌÉËÔ ÔÉÐÏ× (`%s' `%s') ÎÁ ÄÅÊÓÔ×ÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ"
|
||||||
|
|
||||||
#: src/reader.c:1520
|
#: src/reader.c:1535
|
||||||
msgid "empty rule for typed nonterminal, and no action"
|
msgid "empty rule for typed nonterminal, and no action"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ"
|
"ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ"
|
||||||
|
|
||||||
#: src/reader.c:1564
|
#: src/reader.c:1579
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid input: %s"
|
msgid "invalid input: %s"
|
||||||
msgstr "ÎÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ: %s"
|
msgstr "ÎÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ: %s"
|
||||||
|
|
||||||
#: src/reader.c:1572
|
#: src/reader.c:1587
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ÐÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %d"
|
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ÐÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %d"
|
||||||
|
|
||||||
#: src/reader.c:1575
|
#: src/reader.c:1590
|
||||||
msgid "no rules in the input grammar"
|
msgid "no rules in the input grammar"
|
||||||
msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ"
|
msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ"
|
||||||
|
|
||||||
#: src/reader.c:1599
|
#: src/reader.c:1614
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||||
msgstr "ÓÉÍ×ÏÌ %s ÉÓÐÏÌØÚÕÅÔÓÑ, ÎÏ ÎÅ ÏÐÒÅÄÅÌÅÎ ËÁË ÌÅËÓÅÍÁ É ÎÅ ÉÍÅÅÔ ÐÒÁ×ÉÌ"
|
msgstr "ÓÉÍ×ÏÌ %s ÉÓÐÏÌØÚÕÅÔÓÑ, ÎÏ ÎÅ ÏÐÒÅÄÅÌÅÎ ËÁË ÌÅËÓÅÍÁ É ÎÅ ÉÍÅÅÔ ÐÒÁ×ÉÌ"
|
||||||
|
|
||||||
#: src/reader.c:1734
|
#: src/reader.c:1749
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "tokens %s and %s both assigned number %d"
|
msgid "tokens %s and %s both assigned number %d"
|
||||||
msgstr "ÏÂÅÉÍ ÌÅËÓÅÍÁÍ %s É %s ÐÒÉÓ×ÏÅÎ ÎÏÍÅÒ %d"
|
msgstr "ÏÂÅÉÍ ÌÅËÓÅÍÁÍ %s É %s ÐÒÉÓ×ÏÅÎ ÎÏÍÅÒ %d"
|
||||||
|
|
||||||
#: src/reader.c:1787
|
#: src/reader.c:1802
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "conflicting precedences for %s and %s"
|
msgid "conflicting precedences for %s and %s"
|
||||||
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÐÒÉÏÒÉÔÅÔÙ ÄÌÑ %s É %s"
|
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÐÒÉÏÒÉÔÅÔÙ ÄÌÑ %s É %s"
|
||||||
|
|
||||||
#: src/reader.c:1799
|
#: src/reader.c:1814
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "conflicting assoc values for %s and %s"
|
msgid "conflicting assoc values for %s and %s"
|
||||||
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÚÎÁÞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s É %s"
|
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÚÎÁÞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s É %s"
|
||||||
|
|
||||||
#: src/reader.c:1838
|
#: src/reader.c:1853
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the start symbol %s is undefined"
|
msgid "the start symbol %s is undefined"
|
||||||
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅÏÐÒÅÄÅÌÅÎ"
|
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅÏÐÒÅÄÅÌÅÎ"
|
||||||
|
|
||||||
#: src/reader.c:1840
|
#: src/reader.c:1855
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the start symbol %s is a token"
|
msgid "the start symbol %s is a token"
|
||||||
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
|
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
|
||||||
|
|
||||||
#: src/reduce.c:400
|
#: src/reduce.c:409
|
||||||
msgid "Useless nonterminals:"
|
msgid "Useless nonterminals:"
|
||||||
msgstr "âÅÓÐÏÌÅÚÎÙÅ ÎÅÔÅÒÍÉÎÁÌÙ:"
|
msgstr "âÅÓÐÏÌÅÚÎÙÅ ÎÅÔÅÒÍÉÎÁÌÙ:"
|
||||||
|
|
||||||
#: src/reduce.c:414
|
#: src/reduce.c:422
|
||||||
msgid "Terminals which are not used:"
|
msgid "Terminals which are not used:"
|
||||||
msgstr "îÅÉÓÐÏÌØÚÏ×ÁÎÎÙÅ ÔÅÒÍÉÎÁÌÙ:"
|
msgstr "îÅÉÓÐÏÌØÚÏ×ÁÎÎÙÅ ÔÅÒÍÉÎÁÌÙ:"
|
||||||
|
|
||||||
#: src/reduce.c:425
|
#: src/reduce.c:433
|
||||||
msgid "Useless rules:"
|
msgid "Useless rules:"
|
||||||
msgstr "âÅÓÐÏÌÅÚÎÙÅ ÐÒÁ×ÉÌÁ:"
|
msgstr "âÅÓÐÏÌÅÚÎÙÅ ÐÒÁ×ÉÌÁ:"
|
||||||
|
|
||||||
#: src/reduce.c:451
|
#: src/reduce.c:503
|
||||||
msgid ""
|
#, fuzzy, c-format
|
||||||
"Variables\n"
|
msgid "%d rule never reduced\n"
|
||||||
"---------\n"
|
msgid_plural "%d rules never reduced\n"
|
||||||
"\n"
|
msgstr[0] "%d ÐÒÁ×ÉÌ ÎÅ Ó×ÅÄÅÎÏ\n"
|
||||||
msgstr ""
|
|
||||||
"ðÅÒÅÍÅÎÎÙÅ\n"
|
|
||||||
"----------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:452
|
#: src/reduce.c:511
|
||||||
msgid "Value Sprec Sassoc Tag\n"
|
#, fuzzy, c-format
|
||||||
msgstr "úÎÁÞ ðÒÉÏÒ áÓÓÏÃ ôÅÇ\n"
|
msgid "%d useless nonterminal"
|
||||||
|
msgid_plural "%d useless nonterminals"
|
||||||
|
msgstr[0] "%d ÂÅÓÐÏÌÅÚÎÙÈ ÎÅÔÅÒÍÉÎÁÌÏ×%s"
|
||||||
|
|
||||||
#: src/reduce.c:456
|
#: src/reduce.c:517
|
||||||
msgid ""
|
|
||||||
"Rules\n"
|
|
||||||
"-----\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"ðÒÁ×ÉÌÁ\n"
|
|
||||||
"-------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:470
|
|
||||||
msgid ""
|
|
||||||
"Rules interpreted\n"
|
|
||||||
"-----------------\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"éÎÔÅÒÐÒÅÔÉÒÏ×ÁÎÎÙÅ ÐÒÁ×ÉÌÁ\n"
|
|
||||||
"--------------------------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:491
|
|
||||||
#, c-format
|
|
||||||
msgid "%d rules never reduced\n"
|
|
||||||
msgstr "%d ÐÒÁ×ÉÌ ÎÅ Ó×ÅÄÅÎÏ\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:497
|
|
||||||
#, c-format
|
|
||||||
msgid "%d useless nonterminal%s"
|
|
||||||
msgstr "%d ÂÅÓÐÏÌÅÚÎÙÈ ÎÅÔÅÒÍÉÎÁÌÏ×%s"
|
|
||||||
|
|
||||||
#: src/reduce.c:502
|
|
||||||
msgid " and "
|
msgid " and "
|
||||||
msgstr " É "
|
msgstr " É "
|
||||||
|
|
||||||
#: src/reduce.c:506
|
#: src/reduce.c:520
|
||||||
#, c-format
|
#, fuzzy, c-format
|
||||||
msgid "%d useless rule%s"
|
msgid "%d useless rule"
|
||||||
msgstr "%d ÂÅÓÐÏÌÅÚÎÙÈ ÐÒÁ×ÉÌ%s"
|
msgid_plural "%d useless rules"
|
||||||
|
msgstr[0] "%d ÂÅÓÐÏÌÅÚÎÙÈ ÐÒÁ×ÉÌ%s"
|
||||||
|
|
||||||
#: src/reduce.c:536
|
#: src/reduce.c:551
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "îÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅ ×Ù×ÏÄÉÔ ÎÉ ÏÄÎÏÇÏ ÐÒÅÄÌÏÖÅÎÉÑ"
|
msgstr "îÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅ ×Ù×ÏÄÉÔ ÎÉ ÏÄÎÏÇÏ ÐÒÅÄÌÏÖÅÎÉÑ"
|
||||||
@@ -782,11 +750,11 @@ msgstr "
|
|||||||
#. MARK). A British English Unicode locale should instead
|
#. MARK). A British English Unicode locale should instead
|
||||||
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
|
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
|
||||||
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
|
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
|
||||||
#: lib/quotearg.c:268
|
#: lib/quotearg.c:274
|
||||||
msgid "`"
|
msgid "`"
|
||||||
msgstr "`"
|
msgstr "`"
|
||||||
|
|
||||||
#: lib/quotearg.c:269
|
#: lib/quotearg.c:275
|
||||||
msgid "'"
|
msgid "'"
|
||||||
msgstr "'"
|
msgstr "'"
|
||||||
|
|
||||||
@@ -805,6 +773,9 @@ msgstr "'"
|
|||||||
#~ msgid "%s derives"
|
#~ msgid "%s derives"
|
||||||
#~ msgstr "%s ×Ù×ÏÄÉÔ"
|
#~ msgstr "%s ×Ù×ÏÄÉÔ"
|
||||||
|
|
||||||
|
#~ msgid "%s: internal error: %s\n"
|
||||||
|
#~ msgstr "%s: ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ: %s\n"
|
||||||
|
|
||||||
#~ msgid "Entering set_nullable"
|
#~ msgid "Entering set_nullable"
|
||||||
#~ msgstr "÷ÈÏÄ × set_nullable"
|
#~ msgstr "÷ÈÏÄ × set_nullable"
|
||||||
|
|
||||||
@@ -817,6 +788,36 @@ msgstr "'"
|
|||||||
#~ msgid "multiple %%source_extension declarations"
|
#~ msgid "multiple %%source_extension declarations"
|
||||||
#~ msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÙÅ ÏÐÉÓÁÎÉÑ %%source_extension"
|
#~ msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÙÅ ÏÐÉÓÁÎÉÑ %%source_extension"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Variables\n"
|
||||||
|
#~ "---------\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "ðÅÒÅÍÅÎÎÙÅ\n"
|
||||||
|
#~ "----------\n"
|
||||||
|
#~ "\n"
|
||||||
|
|
||||||
|
#~ msgid "Value Sprec Sassoc Tag\n"
|
||||||
|
#~ msgstr "úÎÁÞ ðÒÉÏÒ áÓÓÏÃ ôÅÇ\n"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Rules\n"
|
||||||
|
#~ "-----\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "ðÒÁ×ÉÌÁ\n"
|
||||||
|
#~ "-------\n"
|
||||||
|
#~ "\n"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Rules interpreted\n"
|
||||||
|
#~ "-----------------\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "éÎÔÅÒÐÒÅÔÉÒÏ×ÁÎÎÙÅ ÐÒÁ×ÉÌÁ\n"
|
||||||
|
#~ "--------------------------\n"
|
||||||
|
#~ "\n"
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
#~ "reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|||||||
@@ -5,9 +5,9 @@
|
|||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bison 1.30c\n"
|
"Project-Id-Version: bison 1.30f\n"
|
||||||
"POT-Creation-Date: 2001-11-20 14:16+0100\n"
|
"POT-Creation-Date: 2002-01-11 14:38+0100\n"
|
||||||
"PO-Revision-Date: 2001-11-18 15:17+0100\n"
|
"PO-Revision-Date: 2001-12-06 22:33+0100\n"
|
||||||
"Last-Translator: Göran Uddeborg <[email protected]>\n"
|
"Last-Translator: Göran Uddeborg <[email protected]>\n"
|
||||||
"Language-Team: Swedish <[email protected]>\n"
|
"Language-Team: Swedish <[email protected]>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@@ -20,7 +20,7 @@ msgstr ""
|
|||||||
msgid "too many states (max %d)"
|
msgid "too many states (max %d)"
|
||||||
msgstr "för många tillstånd (max %d)"
|
msgstr "för många tillstånd (max %d)"
|
||||||
|
|
||||||
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
|
#: lib/error.c:128 lib/error.c:156 src/complain.c:99
|
||||||
msgid "Unknown system error"
|
msgid "Unknown system error"
|
||||||
msgstr "Okänt systemfel"
|
msgstr "Okänt systemfel"
|
||||||
|
|
||||||
@@ -28,85 +28,85 @@ msgstr "Ok
|
|||||||
msgid "warning: "
|
msgid "warning: "
|
||||||
msgstr "varning: "
|
msgstr "varning: "
|
||||||
|
|
||||||
#: src/complain.c:238 src/complain.c:279
|
#: src/complain.c:238
|
||||||
msgid "fatal error: "
|
msgid "fatal error: "
|
||||||
msgstr "ödesdigert fel: "
|
msgstr "ödesdigert fel: "
|
||||||
|
|
||||||
#: src/conflicts.c:45
|
#: src/conflicts.c:44
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Konflikt i tillstånd %d mellan regel %d och element %s, löstes med %s.\n"
|
"Konflikt i tillstånd %d mellan regel %d och element %s, löstes med %s.\n"
|
||||||
|
|
||||||
#: src/conflicts.c:111 src/conflicts.c:134
|
#: src/conflicts.c:94 src/conflicts.c:119
|
||||||
msgid "reduce"
|
msgid "reduce"
|
||||||
msgstr "reducera"
|
msgstr "reducera"
|
||||||
|
|
||||||
#: src/conflicts.c:117 src/conflicts.c:130
|
#: src/conflicts.c:101 src/conflicts.c:115
|
||||||
msgid "shift"
|
msgid "shift"
|
||||||
msgstr "skifta"
|
msgstr "skifta"
|
||||||
|
|
||||||
#: src/conflicts.c:138
|
#: src/conflicts.c:123
|
||||||
msgid "an error"
|
msgid "an error"
|
||||||
msgstr "ett fel"
|
msgstr "ett fel"
|
||||||
|
|
||||||
#: src/conflicts.c:389
|
#: src/conflicts.c:302
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d shift/reduce conflict"
|
msgid "%d shift/reduce conflict"
|
||||||
msgid_plural "%d shift/reduce conflicts"
|
msgid_plural "%d shift/reduce conflicts"
|
||||||
msgstr[0] "%d skifta/reducerakonflikt"
|
msgstr[0] "%d skifta/reducerakonflikt"
|
||||||
msgstr[1] "%d skifta/reducerakonflikter"
|
msgstr[1] "%d skifta/reducerakonflikter"
|
||||||
|
|
||||||
#: src/conflicts.c:396
|
#: src/conflicts.c:309
|
||||||
msgid "and"
|
msgid "and"
|
||||||
msgstr "och"
|
msgstr "och"
|
||||||
|
|
||||||
#: src/conflicts.c:402
|
#: src/conflicts.c:315
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d reduce/reduce conflict"
|
msgid "%d reduce/reduce conflict"
|
||||||
msgid_plural "%d reduce/reduce conflicts"
|
msgid_plural "%d reduce/reduce conflicts"
|
||||||
msgstr[0] "%d reducera/reducerakonflikt"
|
msgstr[0] "%d reducera/reducerakonflikt"
|
||||||
msgstr[1] "%d reducera/reducerakonflikter"
|
msgstr[1] "%d reducera/reducerakonflikter"
|
||||||
|
|
||||||
#: src/conflicts.c:426
|
#: src/conflicts.c:340
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "State %d contains "
|
msgid "State %d contains "
|
||||||
msgstr "Tillstånd %d innehåller "
|
msgstr "Tillstånd %d innehåller "
|
||||||
|
|
||||||
#. If invoked with `--yacc', use the output format specified by
|
#. If invoked with `--yacc', use the output format specified by
|
||||||
#. POSIX.
|
#. POSIX.
|
||||||
#: src/conflicts.c:460
|
#: src/conflicts.c:387
|
||||||
msgid "conflicts: "
|
msgid "conflicts: "
|
||||||
msgstr "konflikter: "
|
msgstr "konflikter: "
|
||||||
|
|
||||||
#: src/conflicts.c:462
|
#: src/conflicts.c:389
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d shift/reduce"
|
msgid " %d shift/reduce"
|
||||||
msgstr " %d skifta/reducera"
|
msgstr " %d skifta/reducera"
|
||||||
|
|
||||||
#: src/conflicts.c:466
|
#: src/conflicts.c:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d reduce/reduce"
|
msgid " %d reduce/reduce"
|
||||||
msgstr " %d reducera/reducera"
|
msgstr " %d reducera/reducera"
|
||||||
|
|
||||||
#: src/conflicts.c:471 src/reduce.c:493
|
#: src/conflicts.c:398 src/reduce.c:508
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s contains "
|
msgid "%s contains "
|
||||||
msgstr "%s innehåller "
|
msgstr "%s innehåller "
|
||||||
|
|
||||||
#: src/conflicts.c:480
|
#: src/conflicts.c:412
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "expected %d shift/reduce conflict\n"
|
msgid "expected %d shift/reduce conflict\n"
|
||||||
msgid_plural "expected %d shift/reduce conflicts\n"
|
msgid_plural "expected %d shift/reduce conflicts\n"
|
||||||
msgstr[0] "förväntade %d skifta/reducerakonflikt"
|
msgstr[0] "förväntade %d skifta/reducerakonflikt\n"
|
||||||
msgstr[1] "förväntade %d skifta/reducerakonflikter"
|
msgstr[1] "förväntade %d skifta/reducerakonflikter\n"
|
||||||
|
|
||||||
#: src/conflicts.c:567 src/conflicts.c:688
|
#: src/conflicts.c:463 src/conflicts.c:540
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||||
msgstr " %-4s\t[reducera med regel %d (%s)]\n"
|
msgstr " %-4s\t[reducera med regel %d (%s)]\n"
|
||||||
|
|
||||||
#: src/conflicts.c:579 src/print.c:156
|
#: src/conflicts.c:467 src/print.c:154
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" $default\treduce using rule %d (%s)\n"
|
" $default\treduce using rule %d (%s)\n"
|
||||||
@@ -115,22 +115,22 @@ msgstr ""
|
|||||||
" $standard\treducera med regel %d (%s)\n"
|
" $standard\treducera med regel %d (%s)\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/conflicts.c:668 src/conflicts.c:682
|
#: src/conflicts.c:521 src/conflicts.c:534
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||||
msgstr " %-4s\treducera med regel %d (%s)\n"
|
msgstr " %-4s\treducera med regel %d (%s)\n"
|
||||||
|
|
||||||
#: src/conflicts.c:708
|
#: src/conflicts.c:550
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $default\treduce using rule %d (%s)\n"
|
msgid " $default\treduce using rule %d (%s)\n"
|
||||||
msgstr " $standard\treducera med regel %d (%s)\n"
|
msgstr " $standard\treducera med regel %d (%s)\n"
|
||||||
|
|
||||||
#: src/files.c:143
|
#: src/files.c:150
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr "kan inte öppna filen \"%s\""
|
msgstr "kan inte öppna filen \"%s\""
|
||||||
|
|
||||||
#: src/files.c:162
|
#: src/files.c:169
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr "kan inte stänga fil"
|
msgstr "kan inte stänga fil"
|
||||||
|
|
||||||
@@ -231,27 +231,27 @@ msgstr ""
|
|||||||
"finns INGEN garanti, inte ens för SÄLJBARHET eller LÄMPLIGHET FÖR ETT\n"
|
"finns INGEN garanti, inte ens för SÄLJBARHET eller LÄMPLIGHET FÖR ETT\n"
|
||||||
"SPECIELLT ÄNDAMÅL.\n"
|
"SPECIELLT ÄNDAMÅL.\n"
|
||||||
|
|
||||||
#: src/getargs.c:215 src/lex.c:694
|
#: src/getargs.c:223 src/lex.c:694
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is no longer supported"
|
msgid "`%s' is no longer supported"
|
||||||
msgstr "\"%s\" stöds inte längre"
|
msgstr "\"%s\" stöds inte längre"
|
||||||
|
|
||||||
#: src/getargs.c:239
|
#: src/getargs.c:247
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Try `%s --help' for more information.\n"
|
msgid "Try `%s --help' for more information.\n"
|
||||||
msgstr "Försök med \"%s --help\" för mer information.\n"
|
msgstr "Försök med \"%s --help\" för mer information.\n"
|
||||||
|
|
||||||
#: src/getargs.c:246
|
#: src/getargs.c:254
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: no grammar file given\n"
|
msgid "%s: no grammar file given\n"
|
||||||
msgstr "%s: ingen grammatikfil angiven\n"
|
msgstr "%s: ingen grammatikfil angiven\n"
|
||||||
|
|
||||||
#: src/getargs.c:250
|
#: src/getargs.c:258
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: extra arguments ignored after `%s'\n"
|
msgid "%s: extra arguments ignored after `%s'\n"
|
||||||
msgstr "%s: extra argument ignorerade efter \"%s\"\n"
|
msgstr "%s: extra argument ignorerade efter \"%s\"\n"
|
||||||
|
|
||||||
#: src/lalr.c:293
|
#: src/lalr.c:256
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many gotos (max %d)"
|
msgid "too many gotos (max %d)"
|
||||||
msgstr "för många goto (max %d)"
|
msgstr "för många goto (max %d)"
|
||||||
@@ -260,7 +260,7 @@ msgstr "f
|
|||||||
msgid "unexpected `/' found and ignored"
|
msgid "unexpected `/' found and ignored"
|
||||||
msgstr "oväntat \"/\" hittat och ignorerat"
|
msgstr "oväntat \"/\" hittat och ignorerat"
|
||||||
|
|
||||||
#: src/lex.c:105 src/reader.c:269
|
#: src/lex.c:105 src/reader.c:280
|
||||||
msgid "unterminated comment"
|
msgid "unterminated comment"
|
||||||
msgstr "oavslutad kommentar"
|
msgstr "oavslutad kommentar"
|
||||||
|
|
||||||
@@ -309,70 +309,69 @@ msgstr "\"%s\" st
|
|||||||
msgid "`%s' requires an argument"
|
msgid "`%s' requires an argument"
|
||||||
msgstr "\"%s\" behöver ett argument"
|
msgstr "\"%s\" behöver ett argument"
|
||||||
|
|
||||||
#: src/main.c:128
|
#: src/output.c:951
|
||||||
#, c-format
|
|
||||||
msgid "%s: internal error: %s\n"
|
|
||||||
msgstr "%s: internt fel: %s\n"
|
|
||||||
|
|
||||||
#: src/output.c:979
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "maximum table size (%d) exceeded"
|
msgid "maximum table size (%d) exceeded"
|
||||||
msgstr "maximal tabellstorlek (%d) överskriden"
|
msgstr "maximal tabellstorlek (%d) överskriden"
|
||||||
|
|
||||||
#: src/print.c:38
|
#: src/print.c:39
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " type %d is %s\n"
|
msgid " type %d is %s\n"
|
||||||
msgstr " typ %d är %s\n"
|
msgstr " typ %d är %s\n"
|
||||||
|
|
||||||
#: src/print.c:78
|
#: src/print.c:88
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " (rule %d)"
|
msgid " (rule %d)"
|
||||||
msgstr " (regel %d)"
|
msgstr " (regel %d)"
|
||||||
|
|
||||||
#: src/print.c:98
|
#: src/print.c:108
|
||||||
msgid " $default\taccept\n"
|
msgid " $default\taccept\n"
|
||||||
msgstr " $standard\tacceptera\n"
|
msgstr " $standard\tacceptera\n"
|
||||||
|
|
||||||
#: src/print.c:100
|
#: src/print.c:110
|
||||||
msgid " NO ACTIONS\n"
|
msgid " NO ACTIONS\n"
|
||||||
msgstr " INGA ÅTGÄRDER\n"
|
msgstr " INGA ÅTGÄRDER\n"
|
||||||
|
|
||||||
#: src/print.c:120
|
#: src/print.c:124
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $ \tgo to state %d\n"
|
msgid " $ \tgo to state %d\n"
|
||||||
msgstr " $ \tgå till tillstånd %d\n"
|
msgstr " $ \tgå till tillstånd %d\n"
|
||||||
|
|
||||||
#: src/print.c:123
|
#: src/print.c:127
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tshift, and go to state %d\n"
|
msgid " %-4s\tshift, and go to state %d\n"
|
||||||
msgstr " %-4s\tskifta, och gå till tillstånd %d\n"
|
msgstr " %-4s\tskifta, och gå till tillstånd %d\n"
|
||||||
|
|
||||||
#: src/print.c:144
|
#: src/print.c:142
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\terror (nonassociative)\n"
|
msgid " %-4s\terror (nonassociative)\n"
|
||||||
msgstr " %-4s\tfel (ickeassociativ)\n"
|
msgstr " %-4s\tfel (ickeassociativ)\n"
|
||||||
|
|
||||||
#: src/print.c:173
|
#: src/print.c:169
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tgo to state %d\n"
|
msgid " %-4s\tgo to state %d\n"
|
||||||
msgstr " %-4s\tgå till tillstånd %d\n"
|
msgstr " %-4s\tgå till tillstånd %d\n"
|
||||||
|
|
||||||
#: src/print.c:185
|
#: src/print.c:180
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "state %d"
|
msgid "state %d"
|
||||||
msgstr "tillstånd %d"
|
msgstr "tillstånd %d"
|
||||||
|
|
||||||
#. rule # : LHS -> RHS
|
#. rule # : LHS -> RHS
|
||||||
#: src/print.c:215
|
#: src/print.c:211
|
||||||
msgid "Grammar"
|
msgid "Grammar"
|
||||||
msgstr "Grammatik"
|
msgstr "Grammatik"
|
||||||
|
|
||||||
#: src/print.c:220
|
#: src/print.c:212
|
||||||
#, c-format
|
msgid "Number, Line, Rule"
|
||||||
msgid "rule %-4d %s ->"
|
msgstr "Nummer, Rad, Regel"
|
||||||
msgstr "regel %-4d %s ->"
|
|
||||||
|
|
||||||
#: src/print.c:226
|
#: src/print.c:217
|
||||||
|
#, c-format
|
||||||
|
msgid " %3d %3d %s ->"
|
||||||
|
msgstr " %3d %3d %s ->"
|
||||||
|
|
||||||
|
#: src/print.c:224
|
||||||
msgid "empty"
|
msgid "empty"
|
||||||
msgstr "tom"
|
msgstr "tom"
|
||||||
|
|
||||||
@@ -381,15 +380,15 @@ msgstr "tom"
|
|||||||
msgid "Terminals, with rules where they appear"
|
msgid "Terminals, with rules where they appear"
|
||||||
msgstr "Terminaler, med regler där de förekommer"
|
msgstr "Terminaler, med regler där de förekommer"
|
||||||
|
|
||||||
#: src/print.c:255
|
#: src/print.c:256
|
||||||
msgid "Nonterminals, with rules where they appear"
|
msgid "Nonterminals, with rules where they appear"
|
||||||
msgstr "Icketerminaler, med regler där de förekommer"
|
msgstr "Icketerminaler, med regler där de förekommer"
|
||||||
|
|
||||||
#: src/print.c:281
|
#: src/print.c:282
|
||||||
msgid " on left:"
|
msgid " on left:"
|
||||||
msgstr " till vänster:"
|
msgstr " till vänster:"
|
||||||
|
|
||||||
#: src/print.c:296
|
#: src/print.c:297
|
||||||
msgid " on right:"
|
msgid " on right:"
|
||||||
msgstr " till höger:"
|
msgstr " till höger:"
|
||||||
|
|
||||||
@@ -398,7 +397,7 @@ msgstr " till h
|
|||||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||||
#. obstack_sgrow (node_obstack, "\n");
|
#. obstack_sgrow (node_obstack, "\n");
|
||||||
#.
|
#.
|
||||||
#: src/print_graph.c:166
|
#: src/print_graph.c:146
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%-4s\terror (nonassociative)"
|
msgid "%-4s\terror (nonassociative)"
|
||||||
msgstr "%-4s\tfel (ickeassociativ)"
|
msgstr "%-4s\tfel (ickeassociativ)"
|
||||||
@@ -407,304 +406,273 @@ msgstr "%-4s\tfel (ickeassociativ)"
|
|||||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||||
#. obstack_sgrow (node_obstack, "\n");
|
#. obstack_sgrow (node_obstack, "\n");
|
||||||
#.
|
#.
|
||||||
#: src/print_graph.c:181
|
#: src/print_graph.c:161
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$default\treduce using rule %d (%s)"
|
msgid "$default\treduce using rule %d (%s)"
|
||||||
msgstr "$standard\treducera med regel %d (%s)"
|
msgstr "$standard\treducera med regel %d (%s)"
|
||||||
|
|
||||||
#: src/reader.c:78
|
#: src/reader.c:89
|
||||||
msgid " Skipping to next \\n"
|
msgid " Skipping to next \\n"
|
||||||
msgstr " Hoppar över till nästa \\n"
|
msgstr " Hoppar över till nästa \\n"
|
||||||
|
|
||||||
#: src/reader.c:80
|
#: src/reader.c:91
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " Skipping to next %c"
|
msgid " Skipping to next %c"
|
||||||
msgstr " Hoppar över till nästa %c"
|
msgstr " Hoppar över till nästa %c"
|
||||||
|
|
||||||
#: src/reader.c:131 src/reader.c:143
|
#: src/reader.c:142 src/reader.c:154
|
||||||
msgid "invalid $ value"
|
msgid "invalid $ value"
|
||||||
msgstr "felaktigt $-värde"
|
msgstr "felaktigt $-värde"
|
||||||
|
|
||||||
#: src/reader.c:169 src/reader.c:184
|
#: src/reader.c:180 src/reader.c:195
|
||||||
msgid "unterminated string at end of file"
|
msgid "unterminated string at end of file"
|
||||||
msgstr "oavslutad sträng vid filslut"
|
msgstr "oavslutad sträng vid filslut"
|
||||||
|
|
||||||
#: src/reader.c:172
|
#: src/reader.c:183
|
||||||
msgid "unterminated string"
|
msgid "unterminated string"
|
||||||
msgstr "oavslutad sträng"
|
msgstr "oavslutad sträng"
|
||||||
|
|
||||||
#: src/reader.c:325 src/reader.c:389
|
#: src/reader.c:336 src/reader.c:400
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "%s är felaktigt"
|
msgstr "%s är felaktigt"
|
||||||
|
|
||||||
#: src/reader.c:365
|
#: src/reader.c:376
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$$ of `%s' has no declared type"
|
msgid "$$ of `%s' has no declared type"
|
||||||
msgstr "$$ för \"%s\" har ingen deklarerad typ"
|
msgstr "$$ för \"%s\" har ingen deklarerad typ"
|
||||||
|
|
||||||
#: src/reader.c:382
|
#: src/reader.c:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "$%d för \"%s\" har ingen deklarerad typ"
|
msgstr "$%d för \"%s\" har ingen deklarerad typ"
|
||||||
|
|
||||||
#: src/reader.c:436
|
#: src/reader.c:447
|
||||||
msgid "unterminated `%{' definition"
|
msgid "unterminated `%{' definition"
|
||||||
msgstr "oavslutad \"%{\"-definition"
|
msgstr "oavslutad \"%{\"-definition"
|
||||||
|
|
||||||
#: src/reader.c:481 src/reader.c:595 src/reader.c:645
|
#: src/reader.c:492 src/reader.c:607 src/reader.c:657
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Premature EOF after %s"
|
msgid "Premature EOF after %s"
|
||||||
msgstr "Förtida filslut efter %s"
|
msgstr "Förtida filslut efter %s"
|
||||||
|
|
||||||
#: src/reader.c:498
|
#: src/reader.c:509
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' used more than once as a literal string"
|
msgid "symbol `%s' used more than once as a literal string"
|
||||||
msgstr "symbolen \"%s\" används mer än en gång som en bokstavlig sträng"
|
msgstr "symbolen \"%s\" används mer än en gång som en bokstavlig sträng"
|
||||||
|
|
||||||
#: src/reader.c:501
|
#: src/reader.c:512
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' given more than one literal string"
|
msgid "symbol `%s' given more than one literal string"
|
||||||
msgstr "symbolen \"%s\" har fått mer än en bokstavlig sträng"
|
msgstr "symbolen \"%s\" har fått mer än en bokstavlig sträng"
|
||||||
|
|
||||||
#: src/reader.c:522 src/reader.c:664
|
#: src/reader.c:533 src/reader.c:676
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol %s redefined"
|
msgid "symbol %s redefined"
|
||||||
msgstr "symbolen %s omdefinierad"
|
msgstr "symbolen %s omdefinierad"
|
||||||
|
|
||||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1280
|
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1298
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type redeclaration for %s"
|
msgid "type redeclaration for %s"
|
||||||
msgstr "typen omdeklarerad för %s"
|
msgstr "typen omdeklarerad för %s"
|
||||||
|
|
||||||
#: src/reader.c:541
|
#: src/reader.c:552
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is invalid in %s"
|
msgid "`%s' is invalid in %s"
|
||||||
msgstr "\"%s\" är felaktig i %s"
|
msgstr "\"%s\" är felaktig i %s"
|
||||||
|
|
||||||
#: src/reader.c:558 src/reader.c:723
|
#: src/reader.c:570 src/reader.c:735
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "flera %s-deklarationer"
|
msgstr "flera %s-deklarationer"
|
||||||
|
|
||||||
#: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1258
|
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1276
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid %s declaration"
|
msgid "invalid %s declaration"
|
||||||
msgstr "felaktig %s-deklaration"
|
msgstr "felaktig %s-deklaration"
|
||||||
|
|
||||||
#: src/reader.c:580
|
#: src/reader.c:592
|
||||||
msgid "%type declaration has no <typename>"
|
msgid "%type declaration has no <typename>"
|
||||||
msgstr "%type-deklaration har inget <typnamn>"
|
msgstr "%type-deklaration har inget <typnamn>"
|
||||||
|
|
||||||
#: src/reader.c:615
|
#: src/reader.c:627
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid %%type declaration due to item: %s"
|
msgid "invalid %%type declaration due to item: %s"
|
||||||
msgstr "felaktig %%type-deklaration på grund av objekt: %s"
|
msgstr "felaktig %%type-deklaration på grund av objekt: %s"
|
||||||
|
|
||||||
#: src/reader.c:660
|
#: src/reader.c:672
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "redefining precedence of %s"
|
msgid "redefining precedence of %s"
|
||||||
msgstr "omdefinition av precedens för %s"
|
msgstr "omdefinition av precedens för %s"
|
||||||
|
|
||||||
#: src/reader.c:683
|
#: src/reader.c:695
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid text (%s) - number should be after identifier"
|
msgid "invalid text (%s) - number should be after identifier"
|
||||||
msgstr "felaktig text (%s) - tal skulle följa efter identifierare"
|
msgstr "felaktig text (%s) - tal skulle följa efter identifierare"
|
||||||
|
|
||||||
#: src/reader.c:693
|
#: src/reader.c:705
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unexpected item: %s"
|
msgid "unexpected item: %s"
|
||||||
msgstr "oväntat objekt: %s"
|
msgstr "oväntat objekt: %s"
|
||||||
|
|
||||||
#: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
|
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1187
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unmatched %s"
|
msgid "unmatched %s"
|
||||||
msgstr "ensam %s"
|
msgstr "ensam %s"
|
||||||
|
|
||||||
#: src/reader.c:798
|
#: src/reader.c:810
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "argument of %%expect is not an integer"
|
msgid "argument of %%expect is not an integer"
|
||||||
msgstr "argument till %%expect är inte ett heltal"
|
msgstr "argument till %%expect är inte ett heltal"
|
||||||
|
|
||||||
#: src/reader.c:844
|
#: src/reader.c:856
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unrecognized item %s, expected an identifier"
|
msgid "unrecognized item %s, expected an identifier"
|
||||||
msgstr "oväntat objekt %s, förväntade en identifierare"
|
msgstr "oväntat objekt %s, förväntade en identifierare"
|
||||||
|
|
||||||
#: src/reader.c:866
|
#: src/reader.c:878
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "expected string constant instead of %s"
|
msgid "expected string constant instead of %s"
|
||||||
msgstr "förväntade strängkonstant istället för %s"
|
msgstr "förväntade strängkonstant istället för %s"
|
||||||
|
|
||||||
#: src/reader.c:1014
|
#: src/reader.c:1026
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unrecognized: %s"
|
msgid "unrecognized: %s"
|
||||||
msgstr "okänt: %s"
|
msgstr "okänt: %s"
|
||||||
|
|
||||||
#: src/reader.c:1019
|
#: src/reader.c:1031
|
||||||
msgid "no input grammar"
|
msgid "no input grammar"
|
||||||
msgstr "ingen ingrammatik"
|
msgstr "ingen ingrammatik"
|
||||||
|
|
||||||
#: src/reader.c:1024
|
#: src/reader.c:1036
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unknown character: %s"
|
msgid "unknown character: %s"
|
||||||
msgstr "okänt tecken: %s"
|
msgstr "okänt tecken: %s"
|
||||||
|
|
||||||
#: src/reader.c:1192
|
#: src/reader.c:1210
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unterminated %guard clause"
|
msgid "unterminated %guard clause"
|
||||||
msgstr "oavlutad %guard-sats"
|
msgstr "oavlutad %guard-sats"
|
||||||
|
|
||||||
#: src/reader.c:1345
|
#: src/reader.c:1363
|
||||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||||
msgstr "felskriven regel: första symbolen följs inte av ett kolon"
|
msgstr "felskriven regel: första symbolen följs inte av ett kolon"
|
||||||
|
|
||||||
#: src/reader.c:1352
|
#: src/reader.c:1370
|
||||||
msgid "grammar starts with vertical bar"
|
msgid "grammar starts with vertical bar"
|
||||||
msgstr "grammatiken startar med ett vertikalt streck"
|
msgstr "grammatiken startar med ett vertikalt streck"
|
||||||
|
|
||||||
#: src/reader.c:1381
|
#: src/reader.c:1398
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule given for %s, which is a token"
|
msgid "rule given for %s, which is a token"
|
||||||
msgstr "regel given för %s, som är ett element"
|
msgstr "regel given för %s, som är ett element"
|
||||||
|
|
||||||
#: src/reader.c:1483
|
#: src/reader.c:1498
|
||||||
msgid "two @prec's in a row"
|
msgid "two @prec's in a row"
|
||||||
msgstr "två @prec i rad"
|
msgstr "två @prec i rad"
|
||||||
|
|
||||||
#: src/reader.c:1491
|
#: src/reader.c:1506
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%%guard present but %%semantic_parser not specified"
|
msgid "%%guard present but %%semantic_parser not specified"
|
||||||
msgstr "%%guard finns men %%semantic_parser är inte angiven"
|
msgstr "%%guard finns men %%semantic_parser är inte angiven"
|
||||||
|
|
||||||
#: src/reader.c:1500
|
#: src/reader.c:1515
|
||||||
msgid "two actions at end of one rule"
|
msgid "two actions at end of one rule"
|
||||||
msgstr "två åtgärder vid slutet av en regel"
|
msgstr "två åtgärder vid slutet av en regel"
|
||||||
|
|
||||||
#: src/reader.c:1514
|
#: src/reader.c:1529
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type clash (`%s' `%s') on default action"
|
msgid "type clash (`%s' `%s') on default action"
|
||||||
msgstr "typkonflikt (\"%s\" \"%s\") för standardåtgärd"
|
msgstr "typkonflikt (\"%s\" \"%s\") för standardåtgärd"
|
||||||
|
|
||||||
#: src/reader.c:1520
|
#: src/reader.c:1535
|
||||||
msgid "empty rule for typed nonterminal, and no action"
|
msgid "empty rule for typed nonterminal, and no action"
|
||||||
msgstr "tom regel för typad icketerminal, och ingen åtgärd"
|
msgstr "tom regel för typad icketerminal, och ingen åtgärd"
|
||||||
|
|
||||||
#: src/reader.c:1564
|
#: src/reader.c:1579
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid input: %s"
|
msgid "invalid input: %s"
|
||||||
msgstr "felaktig indata: %s"
|
msgstr "felaktig indata: %s"
|
||||||
|
|
||||||
#: src/reader.c:1572
|
#: src/reader.c:1587
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "för många symboler (element plus icketerminaler); max %d"
|
msgstr "för många symboler (element plus icketerminaler); max %d"
|
||||||
|
|
||||||
#: src/reader.c:1575
|
#: src/reader.c:1590
|
||||||
msgid "no rules in the input grammar"
|
msgid "no rules in the input grammar"
|
||||||
msgstr "inga regler i ingrammatiken"
|
msgstr "inga regler i ingrammatiken"
|
||||||
|
|
||||||
#: src/reader.c:1599
|
#: src/reader.c:1614
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"symbolen %s används, men är inte definierad som ett element och har inga "
|
"symbolen %s används, men är inte definierad som ett element och har inga "
|
||||||
"regler"
|
"regler"
|
||||||
|
|
||||||
#: src/reader.c:1734
|
#: src/reader.c:1749
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "tokens %s and %s both assigned number %d"
|
msgid "tokens %s and %s both assigned number %d"
|
||||||
msgstr "elementen %s och %s har båda fått nummer %d"
|
msgstr "elementen %s och %s har båda fått nummer %d"
|
||||||
|
|
||||||
#: src/reader.c:1787
|
#: src/reader.c:1802
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "conflicting precedences for %s and %s"
|
msgid "conflicting precedences for %s and %s"
|
||||||
msgstr "motstridiga precedenser mellan %s och %s"
|
msgstr "motstridiga precedenser mellan %s och %s"
|
||||||
|
|
||||||
#: src/reader.c:1799
|
#: src/reader.c:1814
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "conflicting assoc values for %s and %s"
|
msgid "conflicting assoc values for %s and %s"
|
||||||
msgstr "motstridiga assoc-värden mellan %s och %s"
|
msgstr "motstridiga assoc-värden mellan %s och %s"
|
||||||
|
|
||||||
#: src/reader.c:1838
|
#: src/reader.c:1853
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the start symbol %s is undefined"
|
msgid "the start symbol %s is undefined"
|
||||||
msgstr "startsymbolen %s är odefinierad"
|
msgstr "startsymbolen %s är odefinierad"
|
||||||
|
|
||||||
#: src/reader.c:1840
|
#: src/reader.c:1855
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the start symbol %s is a token"
|
msgid "the start symbol %s is a token"
|
||||||
msgstr "startsymbolen %s är ett element"
|
msgstr "startsymbolen %s är ett element"
|
||||||
|
|
||||||
#: src/reduce.c:400
|
#: src/reduce.c:409
|
||||||
msgid "Useless nonterminals:"
|
msgid "Useless nonterminals:"
|
||||||
msgstr "Oanvändbara icketerminaler:"
|
msgstr "Oanvändbara icketerminaler:"
|
||||||
|
|
||||||
#: src/reduce.c:414
|
#: src/reduce.c:422
|
||||||
msgid "Terminals which are not used:"
|
msgid "Terminals which are not used:"
|
||||||
msgstr "Terminaler som inte används:"
|
msgstr "Terminaler som inte används:"
|
||||||
|
|
||||||
#: src/reduce.c:425
|
#: src/reduce.c:433
|
||||||
msgid "Useless rules:"
|
msgid "Useless rules:"
|
||||||
msgstr "Oanvändbara regler:"
|
msgstr "Oanvändbara regler:"
|
||||||
|
|
||||||
#: src/reduce.c:451
|
#: src/reduce.c:503
|
||||||
msgid ""
|
|
||||||
"Variables\n"
|
|
||||||
"---------\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"Variabler\n"
|
|
||||||
"---------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:452
|
|
||||||
msgid "Value Sprec Sassoc Tag\n"
|
|
||||||
msgstr "Värde Sprec Sassoc Tagg\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:456
|
|
||||||
msgid ""
|
|
||||||
"Rules\n"
|
|
||||||
"-----\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"Regler\n"
|
|
||||||
"------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:470
|
|
||||||
msgid ""
|
|
||||||
"Rules interpreted\n"
|
|
||||||
"-----------------\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"Tolkade regler\n"
|
|
||||||
"--------------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:491
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d rules never reduced\n"
|
msgid "%d rule never reduced\n"
|
||||||
msgstr "%d regler reduceras aldrig\n"
|
msgid_plural "%d rules never reduced\n"
|
||||||
|
msgstr[0] "%d regel reduceras aldrig\n"
|
||||||
|
msgstr[1] "%d regler reduceras aldrig\n"
|
||||||
|
|
||||||
# Jag har anmält att det är fel att anta att "s" är en universell pluraländelse.
|
#: src/reduce.c:511
|
||||||
# Jag föreslog också att de använder ngettext istället.
|
|
||||||
# "Vad göras skall är redan gjort."
|
|
||||||
#: src/reduce.c:497
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless nonterminal%s"
|
msgid "%d useless nonterminal"
|
||||||
msgstr "%d oanvändbara icketerminaler%.0s"
|
msgid_plural "%d useless nonterminals"
|
||||||
|
msgstr[0] "%d oanvändbar icketerminal"
|
||||||
|
msgstr[1] "%d oanvändbara icketerminaler"
|
||||||
|
|
||||||
#: src/reduce.c:502
|
#: src/reduce.c:517
|
||||||
msgid " and "
|
msgid " and "
|
||||||
msgstr " och "
|
msgstr " och "
|
||||||
|
|
||||||
#: src/reduce.c:506
|
#: src/reduce.c:520
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless rule%s"
|
msgid "%d useless rule"
|
||||||
msgstr "%d oanvändbara regler%.0s"
|
msgid_plural "%d useless rules"
|
||||||
|
msgstr[0] "%d oanvändbar regel"
|
||||||
|
msgstr[1] "%d oanvändbara regler"
|
||||||
|
|
||||||
#: src/reduce.c:536
|
#: src/reduce.c:551
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "Startsymbolen %s genererar inga meningar"
|
msgstr "Startsymbolen %s genererar inga meningar"
|
||||||
@@ -791,25 +759,10 @@ msgstr "minnet slut"
|
|||||||
#. MARK). A British English Unicode locale should instead
|
#. MARK). A British English Unicode locale should instead
|
||||||
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
|
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
|
||||||
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
|
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
|
||||||
#: lib/quotearg.c:268
|
#: lib/quotearg.c:274
|
||||||
msgid "`"
|
msgid "`"
|
||||||
msgstr "\""
|
msgstr "\""
|
||||||
|
|
||||||
#: lib/quotearg.c:269
|
#: lib/quotearg.c:275
|
||||||
msgid "'"
|
msgid "'"
|
||||||
msgstr "\""
|
msgstr "\""
|
||||||
|
|
||||||
#~ msgid "DERIVES"
|
|
||||||
#~ msgstr "HÄRLEDER"
|
|
||||||
|
|
||||||
#~ msgid "%s derives"
|
|
||||||
#~ msgstr "%s härleder"
|
|
||||||
|
|
||||||
#~ msgid "Entering set_nullable"
|
|
||||||
#~ msgstr "Påbörjar set_nullable"
|
|
||||||
|
|
||||||
#~ msgid ""
|
|
||||||
#~ "reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
|
||||||
#~ msgstr ""
|
|
||||||
#~ "reducerad %s definierar %d terminaler%.0s, %d icketerminaler%.0s och %d "
|
|
||||||
#~ "produktioner%.0s.\n"
|
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bison 1.30\n"
|
"Project-Id-Version: bison 1.30f\n"
|
||||||
"POT-Creation-Date: 2001-11-20 14:16+0100\n"
|
"POT-Creation-Date: 2002-01-11 14:38+0100\n"
|
||||||
"PO-Revision-Date: 2001-11-02 14:49GMT\n"
|
"PO-Revision-Date: 2001-12-06 12:09+300\n"
|
||||||
"Last-Translator: Altug Bayram <[email protected]>\n"
|
"Last-Translator: Altug Bayram <[email protected]>\n"
|
||||||
"Language-Team: Turkish <[email protected]>\n"
|
"Language-Team: Turkish <[email protected]>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@@ -19,7 +19,7 @@ msgstr ""
|
|||||||
msgid "too many states (max %d)"
|
msgid "too many states (max %d)"
|
||||||
msgstr "çok fazla durum (en fazla %d)"
|
msgstr "çok fazla durum (en fazla %d)"
|
||||||
|
|
||||||
#: lib/error.c:128 lib/error.c:156 src/complain.c:96
|
#: lib/error.c:128 lib/error.c:156 src/complain.c:99
|
||||||
msgid "Unknown system error"
|
msgid "Unknown system error"
|
||||||
msgstr "Bilinmeyen sistem hatasý"
|
msgstr "Bilinmeyen sistem hatasý"
|
||||||
|
|
||||||
@@ -27,84 +27,86 @@ msgstr "Bilinmeyen sistem hatas
|
|||||||
msgid "warning: "
|
msgid "warning: "
|
||||||
msgstr "uyarý: "
|
msgstr "uyarý: "
|
||||||
|
|
||||||
#: src/complain.c:238 src/complain.c:279
|
#: src/complain.c:238
|
||||||
msgid "fatal error: "
|
msgid "fatal error: "
|
||||||
msgstr "ölümcül hata:"
|
msgstr "ölümcül hata:"
|
||||||
|
|
||||||
#: src/conflicts.c:45
|
#: src/conflicts.c:44
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%d durumu içinde %d kuralý ve %s andaçý arasýndaki çeliþki %s "
|
"%d durumu içinde %d kuralý ve %s andaçý arasýndaki çeliþki %s olarak\n"
|
||||||
"olarakçözümlendi.\n"
|
"çözümlendi.\n"
|
||||||
|
|
||||||
#: src/conflicts.c:111 src/conflicts.c:134
|
#: src/conflicts.c:94 src/conflicts.c:119
|
||||||
msgid "reduce"
|
msgid "reduce"
|
||||||
msgstr "indirgeme"
|
msgstr "indirgeme"
|
||||||
|
|
||||||
#: src/conflicts.c:117 src/conflicts.c:130
|
#: src/conflicts.c:101 src/conflicts.c:115
|
||||||
msgid "shift"
|
msgid "shift"
|
||||||
msgstr "öteleme"
|
msgstr "öteleme"
|
||||||
|
|
||||||
#: src/conflicts.c:138
|
#: src/conflicts.c:123
|
||||||
msgid "an error"
|
msgid "an error"
|
||||||
msgstr "bir hata"
|
msgstr "bir hata"
|
||||||
|
|
||||||
#: src/conflicts.c:389
|
#: src/conflicts.c:302
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "%d shift/reduce conflict"
|
msgid "%d shift/reduce conflict"
|
||||||
msgid_plural "%d shift/reduce conflicts"
|
msgid_plural "%d shift/reduce conflicts"
|
||||||
msgstr[0] " %d öteleme/indirgeme çeliþkisi"
|
msgstr[0] "%d öteleme/indirgeme çeliþkisi"
|
||||||
|
msgstr[1] "%d öteleme/indirgeme çeliþkisi"
|
||||||
|
|
||||||
#: src/conflicts.c:396
|
#: src/conflicts.c:309
|
||||||
#, fuzzy
|
|
||||||
msgid "and"
|
msgid "and"
|
||||||
msgstr " ve"
|
msgstr "ve"
|
||||||
|
|
||||||
#: src/conflicts.c:402
|
#: src/conflicts.c:315
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "%d reduce/reduce conflict"
|
msgid "%d reduce/reduce conflict"
|
||||||
msgid_plural "%d reduce/reduce conflicts"
|
msgid_plural "%d reduce/reduce conflicts"
|
||||||
msgstr[0] " %d indirgeme/indirgeme çeliþkisi"
|
msgstr[0] "%d indirgeme/indirgeme çeliþkisi"
|
||||||
|
msgstr[1] "%d indirgeme/indirgeme çeliþkisi"
|
||||||
|
|
||||||
#: src/conflicts.c:426
|
#: src/conflicts.c:340
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "State %d contains "
|
msgid "State %d contains "
|
||||||
msgstr "%d durumu içerir"
|
msgstr "%d durumu içerir"
|
||||||
|
|
||||||
#. If invoked with `--yacc', use the output format specified by
|
#. If invoked with `--yacc', use the output format specified by
|
||||||
#. POSIX.
|
#. POSIX.
|
||||||
#: src/conflicts.c:460
|
#: src/conflicts.c:387
|
||||||
msgid "conflicts: "
|
msgid "conflicts: "
|
||||||
msgstr "çeliþkiler: "
|
msgstr "çeliþkiler: "
|
||||||
|
|
||||||
#: src/conflicts.c:462
|
#: src/conflicts.c:389
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d shift/reduce"
|
msgid " %d shift/reduce"
|
||||||
msgstr " %d öteleme/indirgeme"
|
msgstr " %d shift/reduce"
|
||||||
|
|
||||||
#: src/conflicts.c:466
|
#: src/conflicts.c:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %d reduce/reduce"
|
msgid " %d reduce/reduce"
|
||||||
msgstr " %d indirgeme/indirgeme"
|
msgstr " %d indirgeme/indirgeme"
|
||||||
|
|
||||||
#: src/conflicts.c:471 src/reduce.c:493
|
#: src/conflicts.c:398 src/reduce.c:508
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s contains "
|
msgid "%s contains "
|
||||||
msgstr "%s içerir "
|
msgstr "%s içerir"
|
||||||
|
|
||||||
#: src/conflicts.c:480
|
#: src/conflicts.c:412
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "expected %d shift/reduce conflict\n"
|
msgid "expected %d shift/reduce conflict\n"
|
||||||
msgid_plural "expected %d shift/reduce conflicts\n"
|
msgid_plural "expected %d shift/reduce conflicts\n"
|
||||||
msgstr[0] " %d öteleme/indirgeme çeliþkisi"
|
msgstr[0] "beklenen %d öteleme/indirgeme çeliþkisi\n"
|
||||||
|
msgstr[1] "beklenen %d öteleme/indirgeme çeliþkisi\n"
|
||||||
|
|
||||||
#: src/conflicts.c:567 src/conflicts.c:688
|
#: src/conflicts.c:463 src/conflicts.c:540
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
msgid " %-4s\t[reduce using rule %d (%s)]\n"
|
||||||
msgstr " %-4s\t[indirgeme kural %d (%s)'i kullanýyor]\n"
|
msgstr " %-4s\t[indirgeme kural %d (%s)'i kullanýyor]\n"
|
||||||
|
|
||||||
#: src/conflicts.c:579 src/print.c:156
|
#: src/conflicts.c:467 src/print.c:154
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" $default\treduce using rule %d (%s)\n"
|
" $default\treduce using rule %d (%s)\n"
|
||||||
@@ -113,22 +115,22 @@ msgstr ""
|
|||||||
" $default\tindirgeme kural %d (%s)'i kullanýyor\n"
|
" $default\tindirgeme kural %d (%s)'i kullanýyor\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/conflicts.c:668 src/conflicts.c:682
|
#: src/conflicts.c:521 src/conflicts.c:534
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\treduce using rule %d (%s)\n"
|
msgid " %-4s\treduce using rule %d (%s)\n"
|
||||||
msgstr " %-4s\tindirgeme kural %d (%s)'i kullanýyor\n"
|
msgstr " %-4s\tindirgeme kural %d (%s)'i kullanýyor\n"
|
||||||
|
|
||||||
#: src/conflicts.c:708
|
#: src/conflicts.c:550
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $default\treduce using rule %d (%s)\n"
|
msgid " $default\treduce using rule %d (%s)\n"
|
||||||
msgstr " $default\tindirgeme kural %d (%s)'i kullanýyor\n"
|
msgstr " $default\tindirgeme kural %d (%s)'i kullanýyor\n"
|
||||||
|
|
||||||
#: src/files.c:143
|
#: src/files.c:150
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr "`%s' dosyasý açýlamadý"
|
msgstr "`%s' dosyasý açýlamadý"
|
||||||
|
|
||||||
#: src/files.c:162
|
#: src/files.c:169
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr "dosya kapatýlamýyor"
|
msgstr "dosya kapatýlamýyor"
|
||||||
|
|
||||||
@@ -148,10 +150,10 @@ msgid ""
|
|||||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Eðer bir uzun seçenek bir baðýmsýz deðiþkeni zorunlu gibi gösterilirse odenk "
|
"Eðer bir uzun seçenek bir argümaný gerektirirse, bu gereklilik, denk olan "
|
||||||
"kýsa\n"
|
"kýsa\n"
|
||||||
"seçenek için dahi zorunludur. Seçimli baðýmsýz deðiþkenler için "
|
"seçenek için de geçerlidir. Bu durum, seçimli argümanlar için de "
|
||||||
"benzerþekildedir.\n"
|
"geçerlidir.\n"
|
||||||
|
|
||||||
#: src/getargs.c:98
|
#: src/getargs.c:98
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -160,6 +162,7 @@ msgid ""
|
|||||||
" -V, --version output version information and exit\n"
|
" -V, --version output version information and exit\n"
|
||||||
" -y, --yacc emulate POSIX yacc\n"
|
" -y, --yacc emulate POSIX yacc\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Çalýþma kipleri:\n"
|
||||||
" -h, --help bu yardýmý göster ve çýk\n"
|
" -h, --help bu yardýmý göster ve çýk\n"
|
||||||
" -V, --version sürüm bilgisini ver ve çýk\n"
|
" -V, --version sürüm bilgisini ver ve çýk\n"
|
||||||
" -y, --yacc POSIX yacc öykünmesi\n"
|
" -y, --yacc POSIX yacc öykünmesi\n"
|
||||||
@@ -185,7 +188,6 @@ msgstr ""
|
|||||||
" -k, --token-table andaç isimlerinin bir tablosunu içer\n"
|
" -k, --token-table andaç isimlerinin bir tablosunu içer\n"
|
||||||
|
|
||||||
#: src/getargs.c:117
|
#: src/getargs.c:117
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Output:\n"
|
"Output:\n"
|
||||||
" -d, --defines also produce a header file\n"
|
" -d, --defines also produce a header file\n"
|
||||||
@@ -198,13 +200,15 @@ msgstr ""
|
|||||||
"Çýktý:\n"
|
"Çýktý:\n"
|
||||||
" -d, --defines bir baþlýk dosyasý da üretir\n"
|
" -d, --defines bir baþlýk dosyasý da üretir\n"
|
||||||
" -v, --verbose otomatýn bir açýklamasýný da üretir\n"
|
" -v, --verbose otomatýn bir açýklamasýný da üretir\n"
|
||||||
" -b, --file-prefix=ÖNEK çýktý dosyalarý için bir ÖNEK belirtir\n"
|
" -b, --file-prefix=PREFIX çýktý dosyalarý için bir ÖNEK belirtir\n"
|
||||||
" -o, --output-file=DOSYA çýktýyý DOSYAYA býrakýr\n"
|
" -o, --output=FILE çýktýyý DOSYAYA býrakýr\n"
|
||||||
" -g, --graph otomatýn bir VCG grafik açýklamasýný da üretir\n"
|
" -g, --graph otomatýn bir VCG grafik açýklamasýný da üretir\n"
|
||||||
|
|
||||||
#: src/getargs.c:127
|
#: src/getargs.c:127
|
||||||
msgid "Report bugs to <[email protected]>.\n"
|
msgid "Report bugs to <[email protected]>.\n"
|
||||||
msgstr "Hatalarý <[email protected]>'a bildir.\n"
|
msgstr ""
|
||||||
|
"Hatalarý <[email protected]>'a,\n"
|
||||||
|
"çeviri hatalarýný <[email protected]>'e bildir.\n"
|
||||||
|
|
||||||
#. Some efforts were made to ease the translators' task, please
|
#. Some efforts were made to ease the translators' task, please
|
||||||
#. continue.
|
#. continue.
|
||||||
@@ -229,27 +233,27 @@ msgstr ""
|
|||||||
"Hiçbir garantisi yoktur; hatta SATILABÝLÝRLÝÐÝ veya ÞAHSÝ KULLANIMINIZA\n"
|
"Hiçbir garantisi yoktur; hatta SATILABÝLÝRLÝÐÝ veya ÞAHSÝ KULLANIMINIZA\n"
|
||||||
"UYGUNLUÐU için bile garanti verilmez.\n"
|
"UYGUNLUÐU için bile garanti verilmez.\n"
|
||||||
|
|
||||||
#: src/getargs.c:215 src/lex.c:694
|
#: src/getargs.c:223 src/lex.c:694
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is no longer supported"
|
msgid "`%s' is no longer supported"
|
||||||
msgstr "`%s' artýk desteklenmeyecek"
|
msgstr "`%s' artýk desteklenmeyecek"
|
||||||
|
|
||||||
#: src/getargs.c:239
|
#: src/getargs.c:247
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Try `%s --help' for more information.\n"
|
msgid "Try `%s --help' for more information.\n"
|
||||||
msgstr "Daha fazla bilgi için `%s --help' yazýn.\n"
|
msgstr "Daha fazla bilgi için `%s --help' yazýn.\n"
|
||||||
|
|
||||||
#: src/getargs.c:246
|
#: src/getargs.c:254
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: no grammar file given\n"
|
msgid "%s: no grammar file given\n"
|
||||||
msgstr "%s: verilen gramer dosyasý yok\n"
|
msgstr "%s: gramer dosyasý verilmemiþ\n"
|
||||||
|
|
||||||
#: src/getargs.c:250
|
#: src/getargs.c:258
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: extra arguments ignored after `%s'\n"
|
msgid "%s: extra arguments ignored after `%s'\n"
|
||||||
msgstr "%s: '%s' den sonraki ek baðýmsýz deðiþkenler yoksayýldý\n"
|
msgstr "%s: '%s' den sonraki argümanlar yoksayýldý\n"
|
||||||
|
|
||||||
#: src/lalr.c:293
|
#: src/lalr.c:256
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many gotos (max %d)"
|
msgid "too many gotos (max %d)"
|
||||||
msgstr "gotos çok fazla (en fazla %d)"
|
msgstr "gotos çok fazla (en fazla %d)"
|
||||||
@@ -258,7 +262,7 @@ msgstr "gotos
|
|||||||
msgid "unexpected `/' found and ignored"
|
msgid "unexpected `/' found and ignored"
|
||||||
msgstr "beklenmeyen `/' bulundu ve yoksayýldý"
|
msgstr "beklenmeyen `/' bulundu ve yoksayýldý"
|
||||||
|
|
||||||
#: src/lex.c:105 src/reader.c:269
|
#: src/lex.c:105 src/reader.c:280
|
||||||
msgid "unterminated comment"
|
msgid "unterminated comment"
|
||||||
msgstr "sonlandýrýlmamýþ açýklama"
|
msgstr "sonlandýrýlmamýþ açýklama"
|
||||||
|
|
||||||
@@ -287,7 +291,7 @@ msgstr "bilinmeyen ka
|
|||||||
|
|
||||||
#: src/lex.c:342
|
#: src/lex.c:342
|
||||||
msgid "unterminated type name at end of file"
|
msgid "unterminated type name at end of file"
|
||||||
msgstr "dosyanýn sonunda sonlandýrýlmamýþ tip adý"
|
msgstr "dosya sonunda sonlandýrýlmamýþ tip adý"
|
||||||
|
|
||||||
#: src/lex.c:345
|
#: src/lex.c:345
|
||||||
msgid "unterminated type name"
|
msgid "unterminated type name"
|
||||||
@@ -295,82 +299,81 @@ msgstr "sonland
|
|||||||
|
|
||||||
#: src/lex.c:438
|
#: src/lex.c:438
|
||||||
msgid "use \"...\" for multi-character literal tokens"
|
msgid "use \"...\" for multi-character literal tokens"
|
||||||
msgstr "cok-karakterli yazýn andaçlarý için \"...\" kullan"
|
msgstr "çok-karakterli yazýn andaçlarý için \"...\" kullan"
|
||||||
|
|
||||||
#: src/lex.c:667
|
#: src/lex.c:667
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' supports no argument: %s"
|
msgid "`%s' supports no argument: %s"
|
||||||
msgstr ""
|
msgstr "`%s' argüman %s'i desteklemez"
|
||||||
|
|
||||||
#: src/lex.c:683
|
#: src/lex.c:683
|
||||||
#, fuzzy, c-format
|
|
||||||
msgid "`%s' requires an argument"
|
|
||||||
msgstr "%s: `%s' seçeneði bir argümanla kullanýlýr\n"
|
|
||||||
|
|
||||||
#: src/main.c:128
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: internal error: %s\n"
|
msgid "`%s' requires an argument"
|
||||||
msgstr "%s: iç hata: %s\n"
|
msgstr "`%s' bir argüman gerektirir"
|
||||||
|
|
||||||
#: src/output.c:979
|
#: src/output.c:951
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "maximum table size (%d) exceeded"
|
msgid "maximum table size (%d) exceeded"
|
||||||
msgstr "en büyük tablo uzunluðu (%d) aþýldý"
|
msgstr "en büyük tablo uzunluðu (%d) aþýldý"
|
||||||
|
|
||||||
#: src/print.c:38
|
#: src/print.c:39
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " type %d is %s\n"
|
msgid " type %d is %s\n"
|
||||||
msgstr " tip %d %s'dir\n"
|
msgstr " tip %d %s'dir\n"
|
||||||
|
|
||||||
#: src/print.c:78
|
#: src/print.c:88
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " (rule %d)"
|
msgid " (rule %d)"
|
||||||
msgstr " (kural %d)"
|
msgstr " (kural %d)"
|
||||||
|
|
||||||
#: src/print.c:98
|
#: src/print.c:108
|
||||||
msgid " $default\taccept\n"
|
msgid " $default\taccept\n"
|
||||||
msgstr " $default\tonayla\n"
|
msgstr " $default\tonayla\n"
|
||||||
|
|
||||||
#: src/print.c:100
|
#: src/print.c:110
|
||||||
msgid " NO ACTIONS\n"
|
msgid " NO ACTIONS\n"
|
||||||
msgstr " EYLEMLER YOK\n"
|
msgstr " EYLEM YOK\n"
|
||||||
|
|
||||||
#: src/print.c:120
|
#: src/print.c:124
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " $ \tgo to state %d\n"
|
msgid " $ \tgo to state %d\n"
|
||||||
msgstr " $ \tdurum %d'ye git\n"
|
msgstr " $ \tdurum %d'ye git\n"
|
||||||
|
|
||||||
#: src/print.c:123
|
#: src/print.c:127
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tshift, and go to state %d\n"
|
msgid " %-4s\tshift, and go to state %d\n"
|
||||||
msgstr " %-4s\tötele, ve durum %d'ye git\n"
|
msgstr " %-4s\tötele, ve durum %d'ye git\n"
|
||||||
|
|
||||||
#: src/print.c:144
|
#: src/print.c:142
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\terror (nonassociative)\n"
|
msgid " %-4s\terror (nonassociative)\n"
|
||||||
msgstr " %-4s\thata (birleþmeli deðil)\n"
|
msgstr " %-4s\thata (birleþmeli deðil)\n"
|
||||||
|
|
||||||
#: src/print.c:173
|
#: src/print.c:169
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " %-4s\tgo to state %d\n"
|
msgid " %-4s\tgo to state %d\n"
|
||||||
msgstr " %-4s\tdurum %d'ye git\n"
|
msgstr " %-4s\tdurum %d'ye git\n"
|
||||||
|
|
||||||
#: src/print.c:185
|
#: src/print.c:180
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "state %d"
|
msgid "state %d"
|
||||||
msgstr "durum %d"
|
msgstr "durum %d"
|
||||||
|
|
||||||
#. rule # : LHS -> RHS
|
#. rule # : LHS -> RHS
|
||||||
#: src/print.c:215
|
#: src/print.c:211
|
||||||
msgid "Grammar"
|
msgid "Grammar"
|
||||||
msgstr "Gramer"
|
msgstr "Gramer"
|
||||||
|
|
||||||
#: src/print.c:220
|
#: src/print.c:212
|
||||||
#, c-format
|
msgid "Number, Line, Rule"
|
||||||
msgid "rule %-4d %s ->"
|
msgstr "Sayý, Satýr, Kural"
|
||||||
msgstr "kural %-4d %s ->"
|
|
||||||
|
|
||||||
#: src/print.c:226
|
#: src/print.c:217
|
||||||
|
#, c-format
|
||||||
|
msgid " %3d %3d %s ->"
|
||||||
|
msgstr " %3d %3d %s ->"
|
||||||
|
|
||||||
|
#: src/print.c:224
|
||||||
msgid "empty"
|
msgid "empty"
|
||||||
msgstr "boþ"
|
msgstr "boþ"
|
||||||
|
|
||||||
@@ -379,15 +382,15 @@ msgstr "bo
|
|||||||
msgid "Terminals, with rules where they appear"
|
msgid "Terminals, with rules where they appear"
|
||||||
msgstr "Sabit simgeler, kurallarýnýn bulunduklarý yerde"
|
msgstr "Sabit simgeler, kurallarýnýn bulunduklarý yerde"
|
||||||
|
|
||||||
#: src/print.c:255
|
#: src/print.c:256
|
||||||
msgid "Nonterminals, with rules where they appear"
|
msgid "Nonterminals, with rules where they appear"
|
||||||
msgstr "Deðiþken simgeler, kurallarýnýn bulunduklarý yerde"
|
msgstr "Deðiþken simgeler, kurallarýnýn bulunduklarý yerde"
|
||||||
|
|
||||||
#: src/print.c:281
|
#: src/print.c:282
|
||||||
msgid " on left:"
|
msgid " on left:"
|
||||||
msgstr " solda:"
|
msgstr " solda:"
|
||||||
|
|
||||||
#: src/print.c:296
|
#: src/print.c:297
|
||||||
msgid " on right:"
|
msgid " on right:"
|
||||||
msgstr " saðda:"
|
msgstr " saðda:"
|
||||||
|
|
||||||
@@ -396,7 +399,7 @@ msgstr " sa
|
|||||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||||
#. obstack_sgrow (node_obstack, "\n");
|
#. obstack_sgrow (node_obstack, "\n");
|
||||||
#.
|
#.
|
||||||
#: src/print_graph.c:166
|
#: src/print_graph.c:146
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%-4s\terror (nonassociative)"
|
msgid "%-4s\terror (nonassociative)"
|
||||||
msgstr "%-4s\thata (birleþmeli deðil)"
|
msgstr "%-4s\thata (birleþmeli deðil)"
|
||||||
@@ -405,302 +408,273 @@ msgstr "%-4s\thata (birle
|
|||||||
#. if (obstack_object_size (node_obstack) > node_output_size)
|
#. if (obstack_object_size (node_obstack) > node_output_size)
|
||||||
#. obstack_sgrow (node_obstack, "\n");
|
#. obstack_sgrow (node_obstack, "\n");
|
||||||
#.
|
#.
|
||||||
#: src/print_graph.c:181
|
#: src/print_graph.c:161
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$default\treduce using rule %d (%s)"
|
msgid "$default\treduce using rule %d (%s)"
|
||||||
msgstr "$default\tindirgeme kural %d (%s)'i kullanýyor"
|
msgstr "$default\tindirgeme kural %d (%s)'i kullanýyor"
|
||||||
|
|
||||||
#: src/reader.c:78
|
#: src/reader.c:89
|
||||||
msgid " Skipping to next \\n"
|
msgid " Skipping to next \\n"
|
||||||
msgstr " Sonrakine atlanýyor \\n"
|
msgstr " Sonrakine atlanýyor \\n"
|
||||||
|
|
||||||
#: src/reader.c:80
|
#: src/reader.c:91
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " Skipping to next %c"
|
msgid " Skipping to next %c"
|
||||||
msgstr " Sonraki %c'ye atlanýyor"
|
msgstr " Sonraki %c'ye atlanýyor"
|
||||||
|
|
||||||
#: src/reader.c:131 src/reader.c:143
|
#: src/reader.c:142 src/reader.c:154
|
||||||
msgid "invalid $ value"
|
msgid "invalid $ value"
|
||||||
msgstr "geçersiz $ deðeri"
|
msgstr "geçersiz $ deðeri"
|
||||||
|
|
||||||
#: src/reader.c:169 src/reader.c:184
|
#: src/reader.c:180 src/reader.c:195
|
||||||
msgid "unterminated string at end of file"
|
msgid "unterminated string at end of file"
|
||||||
msgstr "dosyanýn sonunda sonlandýrýlmamýþ dizge"
|
msgstr "dosyanýn sonunda sonlandýrýlmamýþ dizge"
|
||||||
|
|
||||||
#: src/reader.c:172
|
#: src/reader.c:183
|
||||||
msgid "unterminated string"
|
msgid "unterminated string"
|
||||||
msgstr "sonlandýrýlmamýþ dizge"
|
msgstr "sonlandýrýlmamýþ dizge"
|
||||||
|
|
||||||
#: src/reader.c:325 src/reader.c:389
|
#: src/reader.c:336 src/reader.c:400
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "%s geçersizdir"
|
msgstr "%s geçersizdir"
|
||||||
|
|
||||||
#: src/reader.c:365
|
#: src/reader.c:376
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$$ of `%s' has no declared type"
|
msgid "$$ of `%s' has no declared type"
|
||||||
msgstr "`%s''in $$'ý bildirilmiþ tip deðil"
|
msgstr "`%s''in $$'ý bildirilmiþ tip deðil"
|
||||||
|
|
||||||
#: src/reader.c:382
|
#: src/reader.c:393
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "`%d''in $%s'i bildirilmiþ tip deðil"
|
msgstr "`%2$s''in %1$d'i bildirilmiþ tip deðil"
|
||||||
|
|
||||||
#: src/reader.c:436
|
#: src/reader.c:447
|
||||||
msgid "unterminated `%{' definition"
|
msgid "unterminated `%{' definition"
|
||||||
msgstr "`%{' tanýmlamasý sonlandýrýlmamýþ"
|
msgstr "`%{' tanýmlamasý sonlandýrýlmamýþ"
|
||||||
|
|
||||||
#: src/reader.c:481 src/reader.c:595 src/reader.c:645
|
#: src/reader.c:492 src/reader.c:607 src/reader.c:657
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Premature EOF after %s"
|
msgid "Premature EOF after %s"
|
||||||
msgstr "%s'den sonra erken EOF"
|
msgstr "%s'den sonra erken EOF"
|
||||||
|
|
||||||
#: src/reader.c:498
|
#: src/reader.c:509
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' used more than once as a literal string"
|
msgid "symbol `%s' used more than once as a literal string"
|
||||||
msgstr "simge `%s' bir harfiyen uyumlu dizgi gibi birden fazla kullanýldý"
|
msgstr "simge `%s' bir harfiyen uyumlu dizgi gibi birden fazla kullanýldý"
|
||||||
|
|
||||||
#: src/reader.c:501
|
#: src/reader.c:512
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol `%s' given more than one literal string"
|
msgid "symbol `%s' given more than one literal string"
|
||||||
msgstr "simge `%s' bir harfiyen uyumlu dizgi gibi birden fazla verilmiþ"
|
msgstr "simge `%s' bir harfiyen uyumlu dizgi gibi birden fazla verilmiþ"
|
||||||
|
|
||||||
#: src/reader.c:522 src/reader.c:664
|
#: src/reader.c:533 src/reader.c:676
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol %s redefined"
|
msgid "symbol %s redefined"
|
||||||
msgstr "%s simgesi yeniden tanýmlandý"
|
msgstr "%s simgesi yeniden tanýmlandý"
|
||||||
|
|
||||||
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1280
|
#: src/reader.c:543 src/reader.c:622 src/reader.c:683 src/reader.c:1298
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type redeclaration for %s"
|
msgid "type redeclaration for %s"
|
||||||
msgstr "%s için yeniden tip bildirimi"
|
msgstr "%s için yeniden tip bildirimi"
|
||||||
|
|
||||||
#: src/reader.c:541
|
#: src/reader.c:552
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`%s' is invalid in %s"
|
msgid "`%s' is invalid in %s"
|
||||||
msgstr "`%s' %s içinde geçersizdir"
|
msgstr "`%s' %s içinde geçersizdir"
|
||||||
|
|
||||||
#: src/reader.c:558 src/reader.c:723
|
#: src/reader.c:570 src/reader.c:735
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "çoklu %s bildirimleri"
|
msgstr "çoklu %s bildirimleri"
|
||||||
|
|
||||||
#: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1258
|
#: src/reader.c:572 src/reader.c:914 src/reader.c:939 src/reader.c:1276
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid %s declaration"
|
msgid "invalid %s declaration"
|
||||||
msgstr "geçersiz %s bildirimi"
|
msgstr "geçersiz %s bildirimi"
|
||||||
|
|
||||||
#: src/reader.c:580
|
#: src/reader.c:592
|
||||||
msgid "%type declaration has no <typename>"
|
msgid "%type declaration has no <typename>"
|
||||||
msgstr "%type bildirimi <tipadý>'na sahip deðil"
|
msgstr "%type bildirimi <tipadý>'na sahip deðil"
|
||||||
|
|
||||||
#: src/reader.c:615
|
#: src/reader.c:627
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid %%type declaration due to item: %s"
|
msgid "invalid %%type declaration due to item: %s"
|
||||||
msgstr "geçersiz %%type bildirimine neden olan öðe: `%s'"
|
msgstr "geçersiz %%type bildirimine neden olan öðe: `%s'"
|
||||||
|
|
||||||
#: src/reader.c:660
|
#: src/reader.c:672
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "redefining precedence of %s"
|
msgid "redefining precedence of %s"
|
||||||
msgstr "%s'in önceliði tekrar tanýmlandý"
|
msgstr "%s'in önceliði tekrar tanýmlandý"
|
||||||
|
|
||||||
#: src/reader.c:683
|
#: src/reader.c:695
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid text (%s) - number should be after identifier"
|
msgid "invalid text (%s) - number should be after identifier"
|
||||||
msgstr "geçersiz metin (%s) - sayý tanýtýcýdan sonra olmalýdýr"
|
msgstr "geçersiz metin (%s) - sayý tanýtýcýdan sonra olmalýdýr"
|
||||||
|
|
||||||
#: src/reader.c:693
|
#: src/reader.c:705
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unexpected item: %s"
|
msgid "unexpected item: %s"
|
||||||
msgstr "beklenmeyen öðe: %s"
|
msgstr "beklenmeyen öðe: %s"
|
||||||
|
|
||||||
#: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
|
#: src/reader.c:778 src/reader.c:1110 src/reader.c:1187
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unmatched %s"
|
msgid "unmatched %s"
|
||||||
msgstr "eþlenemeyen %s"
|
msgstr "eþlenemeyen %s"
|
||||||
|
|
||||||
#: src/reader.c:798
|
#: src/reader.c:810
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "argument of %%expect is not an integer"
|
msgid "argument of %%expect is not an integer"
|
||||||
msgstr "%%expect'in baðýmsýz deðiþkeni bir tamsayý deðildir"
|
msgstr "%%expect'in argümaný bir tamsayý deðildir"
|
||||||
|
|
||||||
#: src/reader.c:844
|
#: src/reader.c:856
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unrecognized item %s, expected an identifier"
|
msgid "unrecognized item %s, expected an identifier"
|
||||||
msgstr "%s öðesi tanýnmadý, beklenen bir tanýtýcýdýr"
|
msgstr "%s öðesi tanýnmadý, beklenen bir tanýtýcýdýr"
|
||||||
|
|
||||||
#: src/reader.c:866
|
#: src/reader.c:878
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "expected string constant instead of %s"
|
msgid "expected string constant instead of %s"
|
||||||
msgstr "%s'in yerine beklenen dizgi sabitidir"
|
msgstr "%s'in yerine sabit dizge beklendi"
|
||||||
|
|
||||||
#: src/reader.c:1014
|
#: src/reader.c:1026
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unrecognized: %s"
|
msgid "unrecognized: %s"
|
||||||
msgstr "tanýnmayan: %s"
|
msgstr "tanýnmayan: %s"
|
||||||
|
|
||||||
#: src/reader.c:1019
|
#: src/reader.c:1031
|
||||||
msgid "no input grammar"
|
msgid "no input grammar"
|
||||||
msgstr "girdi grameri yok"
|
msgstr "girdi grameri yok"
|
||||||
|
|
||||||
#: src/reader.c:1024
|
#: src/reader.c:1036
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unknown character: %s"
|
msgid "unknown character: %s"
|
||||||
msgstr "bilinmeyen karakter: %s"
|
msgstr "bilinmeyen karakter: %s"
|
||||||
|
|
||||||
#: src/reader.c:1192
|
#: src/reader.c:1210
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unterminated %guard clause"
|
msgid "unterminated %guard clause"
|
||||||
msgstr "sonlandýrýlmamýþ %guard yantümcesi"
|
msgstr "sonlandýrýlmamýþ %guard yantümcesi"
|
||||||
|
|
||||||
#: src/reader.c:1345
|
#: src/reader.c:1363
|
||||||
msgid "ill-formed rule: initial symbol not followed by colon"
|
msgid "ill-formed rule: initial symbol not followed by colon"
|
||||||
msgstr "kötü-biçimli kural: baþlangýç simgesini takip eden kolon(:) yok"
|
msgstr "kötü-biçemli kural: baþlangýç simgesini takip eden \":\" yok"
|
||||||
|
|
||||||
#: src/reader.c:1352
|
#: src/reader.c:1370
|
||||||
msgid "grammar starts with vertical bar"
|
msgid "grammar starts with vertical bar"
|
||||||
msgstr "gramer düþey çubuk ile baþlýyor"
|
msgstr "gramer düþey çubuk ile baþlýyor"
|
||||||
|
|
||||||
#: src/reader.c:1381
|
#: src/reader.c:1398
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule given for %s, which is a token"
|
msgid "rule given for %s, which is a token"
|
||||||
msgstr "bir andaç olan %s için verilen kural"
|
msgstr "bir andaç olan %s için verilen kural"
|
||||||
|
|
||||||
#: src/reader.c:1483
|
#: src/reader.c:1498
|
||||||
msgid "two @prec's in a row"
|
msgid "two @prec's in a row"
|
||||||
msgstr "bir satýrda iki @prec"
|
msgstr "bir satýrda iki @prec"
|
||||||
|
|
||||||
#: src/reader.c:1491
|
#: src/reader.c:1506
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%%guard present but %%semantic_parser not specified"
|
msgid "%%guard present but %%semantic_parser not specified"
|
||||||
msgstr "%%guard sunulmuþ fakat %%semantic_parser belirlenmemiþ"
|
msgstr "%%guard sunulmuþ fakat %%semantic_parser belirlenmemiþ"
|
||||||
|
|
||||||
#: src/reader.c:1500
|
#: src/reader.c:1515
|
||||||
msgid "two actions at end of one rule"
|
msgid "two actions at end of one rule"
|
||||||
msgstr "bir kuralýn sonunda iki eylem"
|
msgstr "bir kuralýn sonunda iki eylem"
|
||||||
|
|
||||||
#: src/reader.c:1514
|
#: src/reader.c:1529
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type clash (`%s' `%s') on default action"
|
msgid "type clash (`%s' `%s') on default action"
|
||||||
msgstr "öntanýmlý eylem üzerinde (`%s' `%s') tip çatýþmasý"
|
msgstr "öntanýmlý eylem üzerinde (`%s' `%s') tip çatýþmasý"
|
||||||
|
|
||||||
#: src/reader.c:1520
|
#: src/reader.c:1535
|
||||||
msgid "empty rule for typed nonterminal, and no action"
|
msgid "empty rule for typed nonterminal, and no action"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Tipli deðiþken simge için boþ kural tanýmlanmýþ, ve eylem belirtilmemiþ"
|
"Tipli deðiþken simge için boþ kural tanýmlanmýþ, ve eylem belirtilmemiþ"
|
||||||
|
|
||||||
#: src/reader.c:1564
|
#: src/reader.c:1579
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid input: %s"
|
msgid "invalid input: %s"
|
||||||
msgstr "geçersiz girdi: %s"
|
msgstr "geçersiz girdi: %s"
|
||||||
|
|
||||||
#: src/reader.c:1572
|
#: src/reader.c:1587
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "çok fazla simge var (andaçlar ve deðiþken simgeler); en fazla %d"
|
msgstr "çok fazla simge var (andaçlar ve deðiþken simgeler); en fazla %d"
|
||||||
|
|
||||||
#: src/reader.c:1575
|
#: src/reader.c:1590
|
||||||
msgid "no rules in the input grammar"
|
msgid "no rules in the input grammar"
|
||||||
msgstr "girdi grameri içinde kurallar yok"
|
msgstr "girdi grameri içinde kurallar yok"
|
||||||
|
|
||||||
#: src/reader.c:1599
|
#: src/reader.c:1614
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"simge %s kullanýldý, fakat bir andaç gibi tanýmlanmadý ve kurallara "
|
"simge %s kullanýldý, fakat bir andaç olarak tanýmlanmadý ve kurallarý yok"
|
||||||
"sahipdeðil"
|
|
||||||
|
|
||||||
#: src/reader.c:1734
|
#: src/reader.c:1749
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "tokens %s and %s both assigned number %d"
|
msgid "tokens %s and %s both assigned number %d"
|
||||||
msgstr "%s ve %s andaçlarýnýn her ikisi %d sayýsýna atandý"
|
msgstr "%s ve %s andaçlarýnýn her ikisi %d sayýsýna atandý"
|
||||||
|
|
||||||
#: src/reader.c:1787
|
#: src/reader.c:1802
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "conflicting precedences for %s and %s"
|
msgid "conflicting precedences for %s and %s"
|
||||||
msgstr "%s ve %s için çeliþen öncelikler"
|
msgstr "%s ve %s için çeliþen öncelikler"
|
||||||
|
|
||||||
#: src/reader.c:1799
|
#: src/reader.c:1814
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "conflicting assoc values for %s and %s"
|
msgid "conflicting assoc values for %s and %s"
|
||||||
msgstr "%s ve %s için çeliþen birleþmeli deðerler"
|
msgstr "%s ve %s için çeliþen birleþmeli deðerler"
|
||||||
|
|
||||||
#: src/reader.c:1838
|
#: src/reader.c:1853
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the start symbol %s is undefined"
|
msgid "the start symbol %s is undefined"
|
||||||
msgstr "baþlangýç simgesi %s tanýmlanmadý"
|
msgstr "baþlangýç simgesi %s tanýmlanmadý"
|
||||||
|
|
||||||
#: src/reader.c:1840
|
#: src/reader.c:1855
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the start symbol %s is a token"
|
msgid "the start symbol %s is a token"
|
||||||
msgstr "baþlangýç simgesi %s bir andaçtýr"
|
msgstr "baþlangýç simgesi %s bir andaçtýr"
|
||||||
|
|
||||||
#: src/reduce.c:400
|
#: src/reduce.c:409
|
||||||
msgid "Useless nonterminals:"
|
msgid "Useless nonterminals:"
|
||||||
msgstr "Yararsýz kurallar:"
|
msgstr "Yararsýz kurallar:"
|
||||||
|
|
||||||
#: src/reduce.c:414
|
#: src/reduce.c:422
|
||||||
msgid "Terminals which are not used:"
|
msgid "Terminals which are not used:"
|
||||||
msgstr "Kullanýlmayan sabit simgeler:"
|
msgstr "Kullanýlmayan sabit simgeler:"
|
||||||
|
|
||||||
#: src/reduce.c:425
|
#: src/reduce.c:433
|
||||||
msgid "Useless rules:"
|
msgid "Useless rules:"
|
||||||
msgstr "Yararsýz kurallar:"
|
msgstr "Yararsýz kurallar:"
|
||||||
|
|
||||||
#: src/reduce.c:451
|
#: src/reduce.c:503
|
||||||
msgid ""
|
|
||||||
"Variables\n"
|
|
||||||
"---------\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"Deðiþkenler\n"
|
|
||||||
"-----------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:452
|
|
||||||
msgid "Value Sprec Sassoc Tag\n"
|
|
||||||
msgstr "Deðer Söncel Sbirleþ Etiket\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:456
|
|
||||||
msgid ""
|
|
||||||
"Rules\n"
|
|
||||||
"-----\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"Kurallar\n"
|
|
||||||
"--------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:470
|
|
||||||
msgid ""
|
|
||||||
"Rules interpreted\n"
|
|
||||||
"-----------------\n"
|
|
||||||
"\n"
|
|
||||||
msgstr ""
|
|
||||||
"Kurallar yorumlandý\n"
|
|
||||||
"-------------------\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: src/reduce.c:491
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d rules never reduced\n"
|
msgid "%d rule never reduced\n"
|
||||||
msgstr "%d kural asla indirgenmedi\n"
|
msgid_plural "%d rules never reduced\n"
|
||||||
|
msgstr[0] "%d kural asla indirgenmedi\n"
|
||||||
|
msgstr[1] "%d kural asla indirgenmedi\n"
|
||||||
|
|
||||||
#: src/reduce.c:497
|
#: src/reduce.c:511
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless nonterminal%s"
|
msgid "%d useless nonterminal"
|
||||||
msgstr "%d yararsýz deðiþken simge%s"
|
msgid_plural "%d useless nonterminals"
|
||||||
|
msgstr[0] "%d yararsýz deðiþken simge"
|
||||||
|
msgstr[1] "%d yararsýz deðiþken simge%s"
|
||||||
|
|
||||||
#: src/reduce.c:502
|
#: src/reduce.c:517
|
||||||
msgid " and "
|
msgid " and "
|
||||||
msgstr " ve "
|
msgstr " ve "
|
||||||
|
|
||||||
#: src/reduce.c:506
|
#: src/reduce.c:520
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d useless rule%s"
|
msgid "%d useless rule"
|
||||||
msgstr "%d yararsýz kural%s"
|
msgid_plural "%d useless rules"
|
||||||
|
msgstr[0] "%d yararsýz kural"
|
||||||
|
msgstr[1] "%d yararsýz kural%s"
|
||||||
|
|
||||||
#: src/reduce.c:536
|
#: src/reduce.c:551
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "Baþlangýç simgesi %s herhangi bir cümleden türemez"
|
msgstr "Baþlangýç simgesi %s herhangi bir cümleden türemez"
|
||||||
@@ -784,34 +758,10 @@ msgstr "bellek t
|
|||||||
#. MARK). A British English Unicode locale should instead
|
#. MARK). A British English Unicode locale should instead
|
||||||
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
|
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
|
||||||
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
|
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
|
||||||
#: lib/quotearg.c:268
|
#: lib/quotearg.c:274
|
||||||
msgid "`"
|
msgid "`"
|
||||||
msgstr "`"
|
msgstr "`"
|
||||||
|
|
||||||
#: lib/quotearg.c:269
|
#: lib/quotearg.c:275
|
||||||
msgid "'"
|
msgid "'"
|
||||||
msgstr "'"
|
msgstr "'"
|
||||||
|
|
||||||
#~ msgid " 1 shift/reduce conflict"
|
|
||||||
#~ msgstr " 1 öteleme/indirgeme çeliþkisi"
|
|
||||||
|
|
||||||
#~ msgid " 1 reduce/reduce conflict"
|
|
||||||
#~ msgstr " 1 indirgeme/indirgeme çeliþkisi"
|
|
||||||
|
|
||||||
#~ msgid "%s contains"
|
|
||||||
#~ msgstr "%s içerir"
|
|
||||||
|
|
||||||
#~ msgid "DERIVES"
|
|
||||||
#~ msgstr "TÜRETÝLENLER"
|
|
||||||
|
|
||||||
#~ msgid "%s derives"
|
|
||||||
#~ msgstr "%s türetildi"
|
|
||||||
|
|
||||||
#~ msgid "Entering set_nullable"
|
|
||||||
#~ msgstr "set_nullable'a girildi"
|
|
||||||
|
|
||||||
#~ msgid ""
|
|
||||||
#~ "reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
|
|
||||||
#~ msgstr ""
|
|
||||||
#~ "indirgenen %s tanýmlanan %d sabit simge%s, %d deðiþken simge%s,ve %d "
|
|
||||||
#~ "üretilen%s.\n"
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
#include "complain.h"
|
#include "complain.h"
|
||||||
#include "closure.h"
|
#include "closure.h"
|
||||||
#include "LR0.h"
|
#include "LR0.h"
|
||||||
|
#include "reduce.h"
|
||||||
|
|
||||||
int nstates;
|
int nstates;
|
||||||
int final_state;
|
int final_state;
|
||||||
@@ -50,7 +50,7 @@ static short *redset = NULL;
|
|||||||
static short *shiftset = NULL;
|
static short *shiftset = NULL;
|
||||||
|
|
||||||
static short **kernel_base = NULL;
|
static short **kernel_base = NULL;
|
||||||
static size_t *kernel_size = NULL;
|
static int *kernel_size = NULL;
|
||||||
static short *kernel_items = NULL;
|
static short *kernel_items = NULL;
|
||||||
|
|
||||||
/* hash table for states, to recognize equivalent ones. */
|
/* hash table for states, to recognize equivalent ones. */
|
||||||
@@ -63,11 +63,13 @@ static void
|
|||||||
allocate_itemsets (void)
|
allocate_itemsets (void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int count;
|
|
||||||
short *symbol_count = NULL;
|
|
||||||
|
|
||||||
count = 0;
|
/* Count the number of occurrences of all the symbols in RITEMS.
|
||||||
symbol_count = XCALLOC (short, nsyms);
|
Note that useless productions (hence useless nonterminals) are
|
||||||
|
browsed too, hence we need to allocate room for _all_ the
|
||||||
|
symbols. */
|
||||||
|
int count = 0;
|
||||||
|
short *symbol_count = XCALLOC (short, nsyms + nuseless_nonterminals);
|
||||||
|
|
||||||
for (i = 0; ritem[i]; ++i)
|
for (i = 0; ritem[i]; ++i)
|
||||||
if (ritem[i] > 0)
|
if (ritem[i] > 0)
|
||||||
@@ -93,8 +95,8 @@ allocate_itemsets (void)
|
|||||||
count += symbol_count[i];
|
count += symbol_count[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
shift_symbol = symbol_count;
|
free (symbol_count);
|
||||||
kernel_size = XCALLOC (size_t, nsyms);
|
kernel_size = XCALLOC (int, nsyms);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -112,13 +114,13 @@ allocate_storage (void)
|
|||||||
static void
|
static void
|
||||||
free_storage (void)
|
free_storage (void)
|
||||||
{
|
{
|
||||||
XFREE (shift_symbol);
|
free (shift_symbol);
|
||||||
XFREE (redset);
|
free (redset);
|
||||||
XFREE (shiftset);
|
free (shiftset);
|
||||||
XFREE (kernel_base);
|
free (kernel_base);
|
||||||
XFREE (kernel_size);
|
free (kernel_size);
|
||||||
XFREE (kernel_items);
|
XFREE (kernel_items);
|
||||||
XFREE (state_table);
|
free (state_table);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -139,7 +141,6 @@ static void
|
|||||||
new_itemsets (void)
|
new_itemsets (void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int shiftcount;
|
|
||||||
|
|
||||||
if (trace_flag)
|
if (trace_flag)
|
||||||
fprintf (stderr, "Entering new_itemsets, state = %d\n",
|
fprintf (stderr, "Entering new_itemsets, state = %d\n",
|
||||||
@@ -148,25 +149,24 @@ new_itemsets (void)
|
|||||||
for (i = 0; i < nsyms; i++)
|
for (i = 0; i < nsyms; i++)
|
||||||
kernel_size[i] = 0;
|
kernel_size[i] = 0;
|
||||||
|
|
||||||
shiftcount = 0;
|
shift_symbol = XCALLOC (short, nsyms);
|
||||||
|
nshifts = 0;
|
||||||
|
|
||||||
for (i = 0; i < itemsetsize; ++i)
|
for (i = 0; i < nitemset; ++i)
|
||||||
{
|
{
|
||||||
int symbol = ritem[itemset[i]];
|
int symbol = ritem[itemset[i]];
|
||||||
if (symbol > 0)
|
if (symbol > 0)
|
||||||
{
|
{
|
||||||
if (!kernel_size[symbol])
|
if (!kernel_size[symbol])
|
||||||
{
|
{
|
||||||
shift_symbol[shiftcount] = symbol;
|
shift_symbol[nshifts] = symbol;
|
||||||
shiftcount++;
|
nshifts++;
|
||||||
}
|
}
|
||||||
|
|
||||||
kernel_base[symbol][kernel_size[symbol]] = itemset[i] + 1;
|
kernel_base[symbol][kernel_size[symbol]] = itemset[i] + 1;
|
||||||
kernel_size[symbol]++;
|
kernel_size[symbol]++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
nshifts = shiftcount;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -213,7 +213,6 @@ static int
|
|||||||
get_state (int symbol)
|
get_state (int symbol)
|
||||||
{
|
{
|
||||||
int key;
|
int key;
|
||||||
short *isp2;
|
|
||||||
int i;
|
int i;
|
||||||
core *sp;
|
core *sp;
|
||||||
|
|
||||||
@@ -236,7 +235,6 @@ get_state (int symbol)
|
|||||||
{
|
{
|
||||||
if (sp->nitems == kernel_size[symbol])
|
if (sp->nitems == kernel_size[symbol])
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
found = 1;
|
found = 1;
|
||||||
for (i = 0; i < kernel_size[symbol]; ++i)
|
for (i = 0; i < kernel_size[symbol]; ++i)
|
||||||
if (kernel_base[symbol][i] != sp->items[i])
|
if (kernel_base[symbol][i] != sp->items[i])
|
||||||
@@ -313,13 +311,16 @@ new_states (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*------------------------------------------------------------.
|
||||||
|
| Save the NSHIFTS of SHIFTSET into the current linked list. |
|
||||||
|
`------------------------------------------------------------*/
|
||||||
|
|
||||||
static void
|
static void
|
||||||
save_shifts (void)
|
save_shifts (void)
|
||||||
{
|
{
|
||||||
shifts *p = SHIFTS_ALLOC (nshifts);
|
shifts *p = shifts_new (nshifts);
|
||||||
|
|
||||||
p->number = this_state->number;
|
p->number = this_state->number;
|
||||||
p->nshifts = nshifts;
|
|
||||||
|
|
||||||
shortcpy (p->shifts, shiftset, nshifts);
|
shortcpy (p->shifts, shiftset, nshifts);
|
||||||
|
|
||||||
@@ -350,9 +351,8 @@ insert_start_shift (void)
|
|||||||
last_state = statep;
|
last_state = statep;
|
||||||
|
|
||||||
/* Make a shift from this state to (what will be) the final state. */
|
/* Make a shift from this state to (what will be) the final state. */
|
||||||
sp = SHIFTS_ALLOC (1);
|
sp = shifts_new (1);
|
||||||
sp->number = nstates++;
|
sp->number = nstates++;
|
||||||
sp->nshifts = 1;
|
|
||||||
sp->shifts[0] = nstates;
|
sp->shifts[0] = nstates;
|
||||||
|
|
||||||
last_shift->next = sp;
|
last_shift->next = sp;
|
||||||
@@ -371,131 +371,18 @@ insert_start_shift (void)
|
|||||||
static void
|
static void
|
||||||
augment_automaton (void)
|
augment_automaton (void)
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
int k;
|
|
||||||
core *statep;
|
core *statep;
|
||||||
shifts *sp;
|
shifts *sp;
|
||||||
shifts *sp2;
|
|
||||||
shifts *sp1 = NULL;
|
shifts *sp1 = NULL;
|
||||||
|
|
||||||
sp = first_shift;
|
sp = first_shift;
|
||||||
|
|
||||||
if (sp)
|
if (!sp->nshifts)
|
||||||
{
|
{
|
||||||
if (sp->number == 0)
|
/* There are no shifts for any state. Make one shift, from the
|
||||||
{
|
initial state to the next-to-final state. */
|
||||||
k = sp->nshifts;
|
|
||||||
statep = first_state->next;
|
|
||||||
|
|
||||||
/* The states reached by shifts from first_state are numbered 1...K.
|
sp = shifts_new (1);
|
||||||
Look for one reached by start_symbol. */
|
|
||||||
while (statep->accessing_symbol < start_symbol
|
|
||||||
&& statep->number < k)
|
|
||||||
statep = statep->next;
|
|
||||||
|
|
||||||
if (statep->accessing_symbol == start_symbol)
|
|
||||||
{
|
|
||||||
/* We already have a next-to-final state.
|
|
||||||
Make sure it has a shift to what will be the final state. */
|
|
||||||
k = statep->number;
|
|
||||||
|
|
||||||
while (sp && sp->number < k)
|
|
||||||
{
|
|
||||||
sp1 = sp;
|
|
||||||
sp = sp->next;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sp && sp->number == k)
|
|
||||||
{
|
|
||||||
sp2 = SHIFTS_ALLOC (sp->nshifts + 1);
|
|
||||||
sp2->number = k;
|
|
||||||
sp2->nshifts = sp->nshifts + 1;
|
|
||||||
sp2->shifts[0] = nstates;
|
|
||||||
for (i = sp->nshifts; i > 0; i--)
|
|
||||||
sp2->shifts[i] = sp->shifts[i - 1];
|
|
||||||
|
|
||||||
/* Patch sp2 into the chain of shifts in place of sp,
|
|
||||||
following sp1. */
|
|
||||||
sp2->next = sp->next;
|
|
||||||
sp1->next = sp2;
|
|
||||||
if (sp == last_shift)
|
|
||||||
last_shift = sp2;
|
|
||||||
XFREE (sp);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
sp2 = SHIFTS_ALLOC (1);
|
|
||||||
sp2->number = k;
|
|
||||||
sp2->nshifts = 1;
|
|
||||||
sp2->shifts[0] = nstates;
|
|
||||||
|
|
||||||
/* Patch sp2 into the chain of shifts between sp1 and sp. */
|
|
||||||
sp2->next = sp;
|
|
||||||
sp1->next = sp2;
|
|
||||||
if (sp == 0)
|
|
||||||
last_shift = sp2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* There is no next-to-final state as yet. */
|
|
||||||
/* Add one more shift in first_shift,
|
|
||||||
going to the next-to-final state (yet to be made). */
|
|
||||||
sp = first_shift;
|
|
||||||
|
|
||||||
sp2 = SHIFTS_ALLOC (sp->nshifts + 1);
|
|
||||||
sp2->nshifts = sp->nshifts + 1;
|
|
||||||
|
|
||||||
/* Stick this shift into the vector at the proper place. */
|
|
||||||
statep = first_state->next;
|
|
||||||
for (k = 0, i = 0; i < sp->nshifts; k++, i++)
|
|
||||||
{
|
|
||||||
if (statep->accessing_symbol > start_symbol && i == k)
|
|
||||||
sp2->shifts[k++] = nstates;
|
|
||||||
sp2->shifts[k] = sp->shifts[i];
|
|
||||||
statep = statep->next;
|
|
||||||
}
|
|
||||||
if (i == k)
|
|
||||||
sp2->shifts[k++] = nstates;
|
|
||||||
|
|
||||||
/* Patch sp2 into the chain of shifts
|
|
||||||
in place of sp, at the beginning. */
|
|
||||||
sp2->next = sp->next;
|
|
||||||
first_shift = sp2;
|
|
||||||
if (last_shift == sp)
|
|
||||||
last_shift = sp2;
|
|
||||||
|
|
||||||
XFREE (sp);
|
|
||||||
|
|
||||||
/* Create the next-to-final state, with shift to
|
|
||||||
what will be the final state. */
|
|
||||||
insert_start_shift ();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* The initial state didn't even have any shifts.
|
|
||||||
Give it one shift, to the next-to-final state. */
|
|
||||||
sp = SHIFTS_ALLOC (1);
|
|
||||||
sp->nshifts = 1;
|
|
||||||
sp->shifts[0] = nstates;
|
|
||||||
|
|
||||||
/* Patch sp into the chain of shifts at the beginning. */
|
|
||||||
sp->next = first_shift;
|
|
||||||
first_shift = sp;
|
|
||||||
|
|
||||||
/* Create the next-to-final state, with shift to
|
|
||||||
what will be the final state. */
|
|
||||||
insert_start_shift ();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* There are no shifts for any state.
|
|
||||||
Make one shift, from the initial state to the next-to-final state. */
|
|
||||||
|
|
||||||
sp = SHIFTS_ALLOC (1);
|
|
||||||
sp->nshifts = 1;
|
|
||||||
sp->shifts[0] = nstates;
|
sp->shifts[0] = nstates;
|
||||||
|
|
||||||
/* Initialize the chain of shifts with sp. */
|
/* Initialize the chain of shifts with sp. */
|
||||||
@@ -506,6 +393,109 @@ augment_automaton (void)
|
|||||||
what will be the final state. */
|
what will be the final state. */
|
||||||
insert_start_shift ();
|
insert_start_shift ();
|
||||||
}
|
}
|
||||||
|
else if (sp->number == 0)
|
||||||
|
{
|
||||||
|
statep = first_state->next;
|
||||||
|
|
||||||
|
/* The states reached by shifts from FIRST_STATE are numbered
|
||||||
|
1..(SP->NSHIFTS). Look for one reached by START_SYMBOL. */
|
||||||
|
while (statep->accessing_symbol < start_symbol
|
||||||
|
&& statep->number < sp->nshifts)
|
||||||
|
statep = statep->next;
|
||||||
|
|
||||||
|
if (statep->accessing_symbol == start_symbol)
|
||||||
|
{
|
||||||
|
/* We already have a next-to-final state.
|
||||||
|
Make sure it has a shift to what will be the final state. */
|
||||||
|
while (sp && sp->number < statep->number)
|
||||||
|
{
|
||||||
|
sp1 = sp;
|
||||||
|
sp = sp->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sp && sp->number == statep->number)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
shifts *sp2 = shifts_new (sp->nshifts + 1);
|
||||||
|
sp2->number = statep->number;
|
||||||
|
sp2->shifts[0] = nstates;
|
||||||
|
for (i = sp->nshifts; i > 0; i--)
|
||||||
|
sp2->shifts[i] = sp->shifts[i - 1];
|
||||||
|
|
||||||
|
/* Patch sp2 into the chain of shifts in place of sp,
|
||||||
|
following sp1. */
|
||||||
|
sp2->next = sp->next;
|
||||||
|
sp1->next = sp2;
|
||||||
|
if (sp == last_shift)
|
||||||
|
last_shift = sp2;
|
||||||
|
XFREE (sp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
shifts *sp2 = shifts_new (1);
|
||||||
|
sp2->number = statep->number;
|
||||||
|
sp2->shifts[0] = nstates;
|
||||||
|
|
||||||
|
/* Patch sp2 into the chain of shifts between sp1 and sp. */
|
||||||
|
sp2->next = sp;
|
||||||
|
sp1->next = sp2;
|
||||||
|
if (sp == 0)
|
||||||
|
last_shift = sp2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int i, k;
|
||||||
|
shifts *sp2;
|
||||||
|
|
||||||
|
/* There is no next-to-final state as yet. */
|
||||||
|
/* Add one more shift in first_shift,
|
||||||
|
going to the next-to-final state (yet to be made). */
|
||||||
|
sp = first_shift;
|
||||||
|
|
||||||
|
sp2 = shifts_new (sp->nshifts + 1);
|
||||||
|
|
||||||
|
/* Stick this shift into the vector at the proper place. */
|
||||||
|
statep = first_state->next;
|
||||||
|
for (k = 0, i = 0; i < sp->nshifts; k++, i++)
|
||||||
|
{
|
||||||
|
if (statep->accessing_symbol > start_symbol && i == k)
|
||||||
|
sp2->shifts[k++] = nstates;
|
||||||
|
sp2->shifts[k] = sp->shifts[i];
|
||||||
|
statep = statep->next;
|
||||||
|
}
|
||||||
|
if (i == k)
|
||||||
|
sp2->shifts[k++] = nstates;
|
||||||
|
|
||||||
|
/* Patch sp2 into the chain of shifts
|
||||||
|
in place of sp, at the beginning. */
|
||||||
|
sp2->next = sp->next;
|
||||||
|
first_shift = sp2;
|
||||||
|
if (last_shift == sp)
|
||||||
|
last_shift = sp2;
|
||||||
|
|
||||||
|
XFREE (sp);
|
||||||
|
|
||||||
|
/* Create the next-to-final state, with shift to
|
||||||
|
what will be the final state. */
|
||||||
|
insert_start_shift ();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* The initial state didn't even have any shifts.
|
||||||
|
Give it one shift, to the next-to-final state. */
|
||||||
|
sp = shifts_new (1);
|
||||||
|
sp->shifts[0] = nstates;
|
||||||
|
|
||||||
|
/* Patch sp into the chain of shifts at the beginning. */
|
||||||
|
sp->next = first_shift;
|
||||||
|
first_shift = sp;
|
||||||
|
|
||||||
|
/* Create the next-to-final state, with shift to
|
||||||
|
what will be the final state. */
|
||||||
|
insert_start_shift ();
|
||||||
|
}
|
||||||
|
|
||||||
/* Make the final state--the one that follows a shift from the
|
/* Make the final state--the one that follows a shift from the
|
||||||
next-to-final state.
|
next-to-final state.
|
||||||
@@ -516,9 +506,8 @@ augment_automaton (void)
|
|||||||
last_state = statep;
|
last_state = statep;
|
||||||
|
|
||||||
/* Make the shift from the final state to the termination state. */
|
/* Make the shift from the final state to the termination state. */
|
||||||
sp = SHIFTS_ALLOC (1);
|
sp = shifts_new (1);
|
||||||
sp->number = nstates++;
|
sp->number = nstates++;
|
||||||
sp->nshifts = 1;
|
|
||||||
sp->shifts[0] = nstates;
|
sp->shifts[0] = nstates;
|
||||||
last_shift->next = sp;
|
last_shift->next = sp;
|
||||||
last_shift = sp;
|
last_shift = sp;
|
||||||
@@ -550,7 +539,7 @@ save_reductions (void)
|
|||||||
/* Find and count the active items that represent ends of rules. */
|
/* Find and count the active items that represent ends of rules. */
|
||||||
|
|
||||||
count = 0;
|
count = 0;
|
||||||
for (i = 0; i < itemsetsize; ++i)
|
for (i = 0; i < nitemset; ++i)
|
||||||
{
|
{
|
||||||
int item = ritem[itemset[i]];
|
int item = ritem[itemset[i]];
|
||||||
if (item < 0)
|
if (item < 0)
|
||||||
@@ -591,6 +580,9 @@ generate_states (void)
|
|||||||
|
|
||||||
while (this_state)
|
while (this_state)
|
||||||
{
|
{
|
||||||
|
if (trace_flag)
|
||||||
|
fprintf (stderr, "Processing state %d (reached by %s)\n",
|
||||||
|
this_state->number, tags[this_state->accessing_symbol]);
|
||||||
/* Set up ruleset and itemset for the transitions out of this
|
/* Set up ruleset and itemset for the transitions out of this
|
||||||
state. ruleset gets a 1 bit for each rule that could reduce
|
state. ruleset gets a 1 bit for each rule that could reduce
|
||||||
now. itemset gets a vector of all the items that could be
|
now. itemset gets a vector of all the items that could be
|
||||||
@@ -605,8 +597,7 @@ generate_states (void)
|
|||||||
|
|
||||||
/* create the shifts structures for the shifts to those states,
|
/* create the shifts structures for the shifts to those states,
|
||||||
now that the state numbers transitioning to are known */
|
now that the state numbers transitioning to are known */
|
||||||
if (nshifts > 0)
|
save_shifts ();
|
||||||
save_shifts ();
|
|
||||||
|
|
||||||
/* states are queued when they are created; process them all */
|
/* states are queued when they are created; process them all */
|
||||||
this_state = this_state->next;
|
this_state = this_state->next;
|
||||||
|
|||||||
+31
-6
@@ -1,19 +1,45 @@
|
|||||||
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
## Copyright 2001, 2002 Free Software Foundation, Inc.
|
||||||
AUTOMAKE_OPTIONS = 1.4 ../lib/ansi2knr
|
|
||||||
|
## 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 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 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
|
||||||
|
|
||||||
|
AUTOMAKE_OPTIONS = ../lib/ansi2knr
|
||||||
|
|
||||||
DEFS = @DEFS@ \
|
DEFS = @DEFS@ \
|
||||||
-DBISON_SIMPLE=\"$(pkgdatadir)/bison.simple\" \
|
-DBISON_SIMPLE=\"$(pkgdatadir)/bison.simple\" \
|
||||||
-DBISON_HAIRY=\"$(pkgdatadir)/bison.hairy\" \
|
-DBISON_HAIRY=\"$(pkgdatadir)/bison.hairy\" \
|
||||||
-DLOCALEDIR=\"$(datadir)/locale\"
|
-DLOCALEDIR=\"$(datadir)/locale\"
|
||||||
|
|
||||||
INCLUDES = -I../intl -I$(top_srcdir)/lib -I..
|
CFLAGS = @CFLAGS@ $(WARNING_CFLAGS) $(WERROR_CFLAGS)
|
||||||
LDADD = @INTLLIBS@ ../lib/libbison.a
|
|
||||||
|
# libintl.h in is build/intl, intl/libgettext.h in src/,
|
||||||
|
# config.h in build/.
|
||||||
|
INCLUDES = -I$(top_builddir)/intl \
|
||||||
|
-I$(top_builddir) \
|
||||||
|
-I$(top_srcdir)/intl \
|
||||||
|
-I$(top_srcdir)/lib
|
||||||
|
|
||||||
|
LDADD = $(INTLLIBS) ../lib/libbison.a
|
||||||
|
|
||||||
bin_PROGRAMS = bison
|
bin_PROGRAMS = bison
|
||||||
|
|
||||||
bison_SOURCES = LR0.c closure.c complain.c conflicts.c \
|
bison_SOURCES = LR0.c closure.c complain.c conflicts.c \
|
||||||
derives.c \
|
derives.c \
|
||||||
files.c getargs.c gram.c lalr.c lex.c main.c nullable.c \
|
files.c getargs.c gram.c lalr.c lex.c main.c nullable.c \
|
||||||
output.c \
|
output.h output.c \
|
||||||
|
state.h state.c \
|
||||||
print.c reader.c reduce.c symtab.c warshall.c vcg.c print_graph.c
|
print.c reader.c reduce.c symtab.c warshall.c vcg.c print_graph.c
|
||||||
|
|
||||||
EXTRA_bison_SOURCES = vmsgetargs.c
|
EXTRA_bison_SOURCES = vmsgetargs.c
|
||||||
@@ -21,7 +47,6 @@ EXTRA_bison_SOURCES = vmsgetargs.c
|
|||||||
noinst_HEADERS = LR0.h closure.h complain.h conflicts.h \
|
noinst_HEADERS = LR0.h closure.h complain.h conflicts.h \
|
||||||
derives.h \
|
derives.h \
|
||||||
files.h getargs.h gram.h lalr.h lex.h nullable.h \
|
files.h getargs.h gram.h lalr.h lex.h nullable.h \
|
||||||
output.h state.h \
|
|
||||||
print.h reader.h reduce.h symtab.h warshall.h system.h types.h \
|
print.h reader.h reduce.h symtab.h warshall.h system.h types.h \
|
||||||
vcg.h vcg_defaults.h print_graph.h
|
vcg.h vcg_defaults.h print_graph.h
|
||||||
|
|
||||||
|
|||||||
+39
-24
@@ -1,4 +1,4 @@
|
|||||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
# Makefile.in generated by automake 1.5c from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||||
@@ -13,7 +13,6 @@
|
|||||||
# PARTICULAR PURPOSE.
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
|
||||||
SHELL = @SHELL@
|
SHELL = @SHELL@
|
||||||
|
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
@@ -48,6 +47,7 @@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
|||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
INSTALL_HEADER = $(INSTALL_DATA)
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
transform = @program_transform_name@
|
transform = @program_transform_name@
|
||||||
@@ -97,26 +97,38 @@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
|||||||
USE_NLS = @USE_NLS@
|
USE_NLS = @USE_NLS@
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
WARNING_CFLAGS = @WARNING_CFLAGS@
|
WARNING_CFLAGS = @WARNING_CFLAGS@
|
||||||
|
WERROR_CFLAGS = @WERROR_CFLAGS@
|
||||||
am__include = @am__include@
|
am__include = @am__include@
|
||||||
am__quote = @am__quote@
|
am__quote = @am__quote@
|
||||||
install_sh = @install_sh@
|
install_sh = @install_sh@
|
||||||
|
|
||||||
AUTOMAKE_OPTIONS = 1.4 ../lib/ansi2knr
|
AUTOMAKE_OPTIONS = ../lib/ansi2knr
|
||||||
|
|
||||||
DEFS = @DEFS@ \
|
DEFS = @DEFS@ \
|
||||||
-DBISON_SIMPLE=\"$(pkgdatadir)/bison.simple\" \
|
-DBISON_SIMPLE=\"$(pkgdatadir)/bison.simple\" \
|
||||||
-DBISON_HAIRY=\"$(pkgdatadir)/bison.hairy\" \
|
-DBISON_HAIRY=\"$(pkgdatadir)/bison.hairy\" \
|
||||||
-DLOCALEDIR=\"$(datadir)/locale\"
|
-DLOCALEDIR=\"$(datadir)/locale\"
|
||||||
|
|
||||||
|
|
||||||
INCLUDES = -I../intl -I$(top_srcdir)/lib -I..
|
CFLAGS = @CFLAGS@ $(WARNING_CFLAGS) $(WERROR_CFLAGS)
|
||||||
LDADD = @INTLLIBS@ ../lib/libbison.a
|
|
||||||
|
# libintl.h in is build/intl, intl/libgettext.h in src/,
|
||||||
|
# config.h in build/.
|
||||||
|
INCLUDES = -I$(top_builddir)/intl \
|
||||||
|
-I$(top_builddir) \
|
||||||
|
-I$(top_srcdir)/intl \
|
||||||
|
-I$(top_srcdir)/lib
|
||||||
|
|
||||||
|
|
||||||
|
LDADD = $(INTLLIBS) ../lib/libbison.a
|
||||||
|
|
||||||
bin_PROGRAMS = bison
|
bin_PROGRAMS = bison
|
||||||
|
|
||||||
bison_SOURCES = LR0.c closure.c complain.c conflicts.c \
|
bison_SOURCES = LR0.c closure.c complain.c conflicts.c \
|
||||||
derives.c \
|
derives.c \
|
||||||
files.c getargs.c gram.c lalr.c lex.c main.c nullable.c \
|
files.c getargs.c gram.c lalr.c lex.c main.c nullable.c \
|
||||||
output.c \
|
output.h output.c \
|
||||||
|
state.h state.c \
|
||||||
print.c reader.c reduce.c symtab.c warshall.c vcg.c print_graph.c
|
print.c reader.c reduce.c symtab.c warshall.c vcg.c print_graph.c
|
||||||
|
|
||||||
|
|
||||||
@@ -125,7 +137,6 @@ EXTRA_bison_SOURCES = vmsgetargs.c
|
|||||||
noinst_HEADERS = LR0.h closure.h complain.h conflicts.h \
|
noinst_HEADERS = LR0.h closure.h complain.h conflicts.h \
|
||||||
derives.h \
|
derives.h \
|
||||||
files.h getargs.h gram.h lalr.h lex.h nullable.h \
|
files.h getargs.h gram.h lalr.h lex.h nullable.h \
|
||||||
output.h state.h \
|
|
||||||
print.h reader.h reduce.h symtab.h warshall.h system.h types.h \
|
print.h reader.h reduce.h symtab.h warshall.h system.h types.h \
|
||||||
vcg.h vcg_defaults.h print_graph.h
|
vcg.h vcg_defaults.h print_graph.h
|
||||||
|
|
||||||
@@ -144,9 +155,10 @@ am_bison_OBJECTS = LR0$U.$(OBJEXT) closure$U.$(OBJEXT) \
|
|||||||
complain$U.$(OBJEXT) conflicts$U.$(OBJEXT) derives$U.$(OBJEXT) \
|
complain$U.$(OBJEXT) conflicts$U.$(OBJEXT) derives$U.$(OBJEXT) \
|
||||||
files$U.$(OBJEXT) getargs$U.$(OBJEXT) gram$U.$(OBJEXT) \
|
files$U.$(OBJEXT) getargs$U.$(OBJEXT) gram$U.$(OBJEXT) \
|
||||||
lalr$U.$(OBJEXT) lex$U.$(OBJEXT) main$U.$(OBJEXT) \
|
lalr$U.$(OBJEXT) lex$U.$(OBJEXT) main$U.$(OBJEXT) \
|
||||||
nullable$U.$(OBJEXT) output$U.$(OBJEXT) print$U.$(OBJEXT) \
|
nullable$U.$(OBJEXT) output$U.$(OBJEXT) state$U.$(OBJEXT) \
|
||||||
reader$U.$(OBJEXT) reduce$U.$(OBJEXT) symtab$U.$(OBJEXT) \
|
print$U.$(OBJEXT) reader$U.$(OBJEXT) reduce$U.$(OBJEXT) \
|
||||||
warshall$U.$(OBJEXT) vcg$U.$(OBJEXT) print_graph$U.$(OBJEXT)
|
symtab$U.$(OBJEXT) warshall$U.$(OBJEXT) vcg$U.$(OBJEXT) \
|
||||||
|
print_graph$U.$(OBJEXT)
|
||||||
bison_OBJECTS = $(am_bison_OBJECTS)
|
bison_OBJECTS = $(am_bison_OBJECTS)
|
||||||
bison_LDADD = $(LDADD)
|
bison_LDADD = $(LDADD)
|
||||||
bison_DEPENDENCIES = ../lib/libbison.a
|
bison_DEPENDENCIES = ../lib/libbison.a
|
||||||
@@ -164,14 +176,13 @@ depcomp = $(SHELL) $(top_srcdir)/config/depcomp
|
|||||||
@AMDEP_TRUE@ $(DEPDIR)/main$U.Po $(DEPDIR)/nullable$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)/output$U.Po $(DEPDIR)/print$U.Po \
|
||||||
@AMDEP_TRUE@ $(DEPDIR)/print_graph$U.Po $(DEPDIR)/reader$U.Po \
|
@AMDEP_TRUE@ $(DEPDIR)/print_graph$U.Po $(DEPDIR)/reader$U.Po \
|
||||||
@AMDEP_TRUE@ $(DEPDIR)/reduce$U.Po $(DEPDIR)/symtab$U.Po \
|
@AMDEP_TRUE@ $(DEPDIR)/reduce$U.Po $(DEPDIR)/state$U.Po \
|
||||||
@AMDEP_TRUE@ $(DEPDIR)/vcg$U.Po $(DEPDIR)/vmsgetargs$U.Po \
|
@AMDEP_TRUE@ $(DEPDIR)/symtab$U.Po $(DEPDIR)/vcg$U.Po \
|
||||||
@AMDEP_TRUE@ $(DEPDIR)/warshall$U.Po
|
@AMDEP_TRUE@ $(DEPDIR)/vmsgetargs$U.Po $(DEPDIR)/warshall$U.Po
|
||||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||||
CCLD = $(CC)
|
CCLD = $(CC)
|
||||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
CFLAGS = @CFLAGS@
|
|
||||||
DIST_SOURCES = $(bison_SOURCES) $(EXTRA_bison_SOURCES)
|
DIST_SOURCES = $(bison_SOURCES) $(EXTRA_bison_SOURCES)
|
||||||
DATA = $(pkgdata_DATA)
|
DATA = $(pkgdata_DATA)
|
||||||
|
|
||||||
@@ -246,6 +257,7 @@ mostlyclean-kr:
|
|||||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/print_graph$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)/reader$U.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/reduce$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)/symtab$U.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/vcg$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)/vmsgetargs$U.Po@am__quote@
|
||||||
@@ -300,6 +312,8 @@ reader_.c: reader.c $(ANSI2KNR)
|
|||||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/reader.c; then echo $(srcdir)/reader.c; else echo reader.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > reader_.c || rm -f reader_.c
|
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/reader.c; then echo $(srcdir)/reader.c; else echo reader.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > reader_.c || rm -f reader_.c
|
||||||
reduce_.c: reduce.c $(ANSI2KNR)
|
reduce_.c: reduce.c $(ANSI2KNR)
|
||||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/reduce.c; then echo $(srcdir)/reduce.c; else echo reduce.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > reduce_.c || rm -f reduce_.c
|
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/reduce.c; then echo $(srcdir)/reduce.c; else echo reduce.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > reduce_.c || rm -f reduce_.c
|
||||||
|
state_.c: state.c $(ANSI2KNR)
|
||||||
|
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/state.c; then echo $(srcdir)/state.c; else echo state.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > state_.c || rm -f state_.c
|
||||||
symtab_.c: symtab.c $(ANSI2KNR)
|
symtab_.c: symtab.c $(ANSI2KNR)
|
||||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/symtab.c; then echo $(srcdir)/symtab.c; else echo symtab.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > symtab_.c || rm -f symtab_.c
|
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/symtab.c; then echo $(srcdir)/symtab.c; else echo symtab.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > symtab_.c || rm -f symtab_.c
|
||||||
vcg_.c: vcg.c $(ANSI2KNR)
|
vcg_.c: vcg.c $(ANSI2KNR)
|
||||||
@@ -313,17 +327,18 @@ conflicts_.$(OBJEXT) derives_.$(OBJEXT) files_.$(OBJEXT) \
|
|||||||
getargs_.$(OBJEXT) gram_.$(OBJEXT) lalr_.$(OBJEXT) lex_.$(OBJEXT) \
|
getargs_.$(OBJEXT) gram_.$(OBJEXT) lalr_.$(OBJEXT) lex_.$(OBJEXT) \
|
||||||
main_.$(OBJEXT) nullable_.$(OBJEXT) output_.$(OBJEXT) print_.$(OBJEXT) \
|
main_.$(OBJEXT) nullable_.$(OBJEXT) output_.$(OBJEXT) print_.$(OBJEXT) \
|
||||||
print_graph_.$(OBJEXT) reader_.$(OBJEXT) reduce_.$(OBJEXT) \
|
print_graph_.$(OBJEXT) reader_.$(OBJEXT) reduce_.$(OBJEXT) \
|
||||||
symtab_.$(OBJEXT) vcg_.$(OBJEXT) vmsgetargs_.$(OBJEXT) \
|
state_.$(OBJEXT) symtab_.$(OBJEXT) vcg_.$(OBJEXT) vmsgetargs_.$(OBJEXT) \
|
||||||
warshall_.$(OBJEXT) : $(ANSI2KNR)
|
warshall_.$(OBJEXT) : $(ANSI2KNR)
|
||||||
uninstall-info-am:
|
uninstall-info-am:
|
||||||
|
pkgdataDATA_INSTALL = $(INSTALL_DATA)
|
||||||
install-pkgdataDATA: $(pkgdata_DATA)
|
install-pkgdataDATA: $(pkgdata_DATA)
|
||||||
@$(NORMAL_INSTALL)
|
@$(NORMAL_INSTALL)
|
||||||
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
|
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
|
||||||
@list='$(pkgdata_DATA)'; for p in $$list; do \
|
@list='$(pkgdata_DATA)'; for p in $$list; do \
|
||||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||||
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||||
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f"; \
|
echo " $(pkgdataDATA_INSTALL) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f"; \
|
||||||
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f; \
|
$(pkgdataDATA_INSTALL) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f; \
|
||||||
done
|
done
|
||||||
|
|
||||||
uninstall-pkgdataDATA:
|
uninstall-pkgdataDATA:
|
||||||
@@ -337,26 +352,26 @@ uninstall-pkgdataDATA:
|
|||||||
tags: TAGS
|
tags: TAGS
|
||||||
|
|
||||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||||
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) ' { files[$$0] = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { for (i in files) print i; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
mkid -fID $$unique $(LISP)
|
mkid -fID $$unique
|
||||||
|
|
||||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||||
$(TAGS_FILES) $(LISP)
|
$(TAGS_FILES) $(LISP)
|
||||||
tags=; \
|
tags=; \
|
||||||
here=`pwd`; \
|
here=`pwd`; \
|
||||||
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) ' { files[$$0] = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { for (i in files) print i; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|
||||||
|| etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
|
|| etags $(ETAGS_ARGS) $$tags $$unique
|
||||||
|
|
||||||
GTAGS:
|
GTAGS:
|
||||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||||
@@ -365,7 +380,6 @@ GTAGS:
|
|||||||
|
|
||||||
distclean-tags:
|
distclean-tags:
|
||||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
top_distdir = ..
|
top_distdir = ..
|
||||||
@@ -373,7 +387,7 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
|||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(DISTFILES)
|
||||||
@for file in $(DISTFILES); do \
|
@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,/[^/]*$$,,'`; \
|
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||||
@@ -405,6 +419,7 @@ install-am: all-am
|
|||||||
installcheck: installcheck-am
|
installcheck: installcheck-am
|
||||||
install-strip:
|
install-strip:
|
||||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
INSTALL_STRIP_FLAG=-s \
|
||||||
`test -z '$(STRIP)' || \
|
`test -z '$(STRIP)' || \
|
||||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||||
mostlyclean-generic:
|
mostlyclean-generic:
|
||||||
|
|||||||
+297
-185
@@ -1,7 +1,7 @@
|
|||||||
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
|
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
|
||||||
#line
|
#line
|
||||||
/* Skeleton output parser for bison,
|
/* Skeleton output parser for bison,
|
||||||
Copyright 1984, 1989, 1990, 2000, 2001 Free Software Foundation, Inc.
|
Copyright (C) 1984, 1989, 1990, 2000, 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -28,75 +28,120 @@
|
|||||||
It was written by Richard Stallman by simplifying the hairy parser
|
It was written by Richard Stallman by simplifying the hairy parser
|
||||||
used when %semantic_parser is specified. */
|
used when %semantic_parser is specified. */
|
||||||
|
|
||||||
#ifndef YYSTACK_USE_ALLOCA
|
/* All symbols defined below should begin with yy or YY, to avoid
|
||||||
# ifdef alloca
|
infringing on user name space. This should be done even for local
|
||||||
# define YYSTACK_USE_ALLOCA 1
|
variables, as they might otherwise be expanded by user macros.
|
||||||
# else /* alloca not defined */
|
There are some unavoidable exceptions within include files to
|
||||||
# ifdef __GNUC__
|
define necessary library symbols; they are noted "INFRINGES ON
|
||||||
# define YYSTACK_USE_ALLOCA 1
|
USER NAME SPACE" below. */
|
||||||
# define alloca __builtin_alloca
|
|
||||||
# else /* not GNU C. */
|
|
||||||
# if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
|
|
||||||
# define YYSTACK_USE_ALLOCA 1
|
|
||||||
# include <alloca.h>
|
|
||||||
# else /* not sparc */
|
|
||||||
/* We think this test detects Watcom and Microsoft C. */
|
|
||||||
/* This used to test MSDOS, but that is a bad idea since that
|
|
||||||
symbol is in the user namespace. */
|
|
||||||
# if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
|
|
||||||
# if 0
|
|
||||||
/* No need for malloc.h, which pollutes the namespace; instead,
|
|
||||||
just don't use alloca. */
|
|
||||||
# include <malloc.h>
|
|
||||||
# endif
|
|
||||||
# else /* not MSDOS, or __TURBOC__ */
|
|
||||||
# if defined(_AIX)
|
|
||||||
/* I don't know what this was needed for, but it pollutes the
|
|
||||||
namespace. So I turned it off. rms, 2 May 1997. */
|
|
||||||
/* #include <malloc.h> */
|
|
||||||
#pragma alloca
|
|
||||||
# define YYSTACK_USE_ALLOCA 1
|
|
||||||
# else /* not MSDOS, or __TURBOC__, or _AIX */
|
|
||||||
# if 0
|
|
||||||
/* [email protected] says this works for HPUX 9.05 and up, and on
|
|
||||||
HPUX 10. Eventually we can turn this on. */
|
|
||||||
# ifdef __hpux
|
|
||||||
# define YYSTACK_USE_ALLOCA 1
|
|
||||||
# define alloca __builtin_alloca
|
|
||||||
# endif /* __hpux */
|
|
||||||
# endif
|
|
||||||
# endif /* not _AIX */
|
|
||||||
# endif /* not MSDOS, or __TURBOC__ */
|
|
||||||
# endif /* not sparc */
|
|
||||||
# endif /* not GNU C */
|
|
||||||
# endif /* alloca not defined */
|
|
||||||
#endif /* YYSTACK_USE_ALLOCA not defined */
|
|
||||||
|
|
||||||
#ifndef YYSTACK_USE_ALLOCA
|
#ifdef __cplusplus
|
||||||
# define YYSTACK_USE_ALLOCA 0
|
# define YYSTD(x) std::x
|
||||||
|
#else
|
||||||
|
# define YYSTD(x) x
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Realloc WHAT from SIZE to YYSTACKSIZE elements of TYPE.
|
#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
|
||||||
If WHAT was malloc'ed (not the original automatic ARRAY), free it. */
|
|
||||||
#if YYSTACK_USE_ALLOCA
|
/* The parser invokes alloca or malloc; define the necessary symbols. */
|
||||||
# define YYSTACK_REALLOC(Type, What, Array) \
|
|
||||||
do { \
|
# if YYSTACK_USE_ALLOCA
|
||||||
Type *old = What; \
|
# define YYSTACK_ALLOC alloca
|
||||||
What = (Type *) malloc (yystacksize * sizeof (Type)); \
|
# define YYSIZE_T YYSTD (size_t)
|
||||||
__yy_memcpy ((char *) What, (char *) old, \
|
# else
|
||||||
(size) * (unsigned int) sizeof (Type)); \
|
# ifndef YYSTACK_USE_ALLOCA
|
||||||
yyfree_stacks = 1; \
|
# if defined (alloca) || defined (_ALLOCA_H)
|
||||||
if (old != Array) \
|
# define YYSTACK_ALLOC alloca
|
||||||
free (old); \
|
# define YYSIZE_T YYSTD (size_t)
|
||||||
} while (0)
|
# else
|
||||||
#else
|
# ifdef __GNUC__
|
||||||
# define YYSTACK_REALLOC(Type, What, Array) \
|
# define YYSTACK_ALLOC __builtin_alloca
|
||||||
do { \
|
# endif
|
||||||
Type *old = What; \
|
# endif
|
||||||
What = (Type *) alloca (yystacksize * sizeof (Type)); \
|
# endif
|
||||||
__yy_memcpy ((char *) What, (char *) old, \
|
# endif
|
||||||
(size) * (unsigned int) sizeof (Type)); \
|
|
||||||
} while (0)
|
# ifdef YYSTACK_ALLOC
|
||||||
|
/* 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
|
||||||
|
# else
|
||||||
|
# ifdef __STDC__
|
||||||
|
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
|
||||||
|
# define YYSIZE_T size_t
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# define YYSTACK_ALLOC YYSTD (malloc)
|
||||||
|
# define YYSTACK_FREE YYSTD (free)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* A type that is properly aligned for any stack member. */
|
||||||
|
union yyalloc
|
||||||
|
{
|
||||||
|
short yyss;
|
||||||
|
YYSTYPE yyvs;
|
||||||
|
# if YYLSP_NEEDED
|
||||||
|
YYLTYPE yyls;
|
||||||
|
# endif
|
||||||
|
};
|
||||||
|
|
||||||
|
/* The size of the maximum gap between one aligned stack and the next. */
|
||||||
|
# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
|
||||||
|
|
||||||
|
/* The size of an array large to enough to hold all stacks, each with
|
||||||
|
N elements. */
|
||||||
|
# if YYLSP_NEEDED
|
||||||
|
# define YYSTACK_BYTES(N) \
|
||||||
|
((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
|
||||||
|
+ 2 * YYSTACK_GAP_MAX)
|
||||||
|
# else
|
||||||
|
# define YYSTACK_BYTES(N) \
|
||||||
|
((N) * (sizeof (short) + sizeof (YYSTYPE)) \
|
||||||
|
+ YYSTACK_GAP_MAX)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* Relocate the TYPE STACK from its old location to the new one. The
|
||||||
|
local variables YYSIZE and YYSTACKSIZE give the old and new number of
|
||||||
|
elements in the stack, and YYPTR gives the new location of the
|
||||||
|
stack. Advance YYPTR to a properly aligned location for the next
|
||||||
|
stack. */
|
||||||
|
# define YYSTACK_RELOCATE(Type, Stack) \
|
||||||
|
do \
|
||||||
|
{ \
|
||||||
|
YYSIZE_T yynewbytes; \
|
||||||
|
yymemcpy ((char *) yyptr, (char *) (Stack), \
|
||||||
|
yysize * (YYSIZE_T) sizeof (Type)); \
|
||||||
|
Stack = &yyptr->Stack; \
|
||||||
|
yynewbytes = yystacksize * sizeof (Type) + YYSTACK_GAP_MAX; \
|
||||||
|
yyptr += yynewbytes / sizeof (*yyptr); \
|
||||||
|
} \
|
||||||
|
while (0)
|
||||||
|
|
||||||
|
#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
|
||||||
|
|
||||||
|
|
||||||
|
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
|
||||||
|
# define YYSIZE_T __SIZE_TYPE__
|
||||||
|
#endif
|
||||||
|
#if ! defined (YYSIZE_T) && defined (size_t)
|
||||||
|
# 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
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if ! defined (YYSIZE_T)
|
||||||
|
# define YYSIZE_T unsigned int
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define yyerrok (yyerrstatus = 0)
|
#define yyerrok (yyerrstatus = 0)
|
||||||
@@ -169,10 +214,20 @@ while (0)
|
|||||||
|
|
||||||
/* Enable debugging if requested. */
|
/* Enable debugging if requested. */
|
||||||
#if YYDEBUG
|
#if YYDEBUG
|
||||||
|
|
||||||
|
# ifndef YYFPRINTF
|
||||||
|
# ifdef __cplusplus
|
||||||
|
# include <cstdio> /* INFRINGES ON USER NAME SPACE */
|
||||||
|
# else
|
||||||
|
# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
|
||||||
|
# endif
|
||||||
|
# define YYFPRINTF YYSTD (fprintf)
|
||||||
|
# endif
|
||||||
|
|
||||||
# define YYDPRINTF(Args) \
|
# define YYDPRINTF(Args) \
|
||||||
do { \
|
do { \
|
||||||
if (yydebug) \
|
if (yydebug) \
|
||||||
fprintf Args; \
|
YYFPRINTF Args; \
|
||||||
} while (0)
|
} while (0)
|
||||||
/* Nonzero means print parse trace. [The following comment makes no
|
/* Nonzero means print parse trace. [The following comment makes no
|
||||||
sense to me. Could someone clarify it? --akim] Since this is
|
sense to me. Could someone clarify it? --akim] Since this is
|
||||||
@@ -189,7 +244,12 @@ int yydebug;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
|
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
|
||||||
if the built-in stack extension method is used). */
|
if the built-in stack extension method is used).
|
||||||
|
|
||||||
|
Do not make this value too large; the results are undefined if
|
||||||
|
SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
|
||||||
|
evaluated with infinite-precision integer arithmetic. */
|
||||||
|
|
||||||
#if YYMAXDEPTH == 0
|
#if YYMAXDEPTH == 0
|
||||||
# undef YYMAXDEPTH
|
# undef YYMAXDEPTH
|
||||||
#endif
|
#endif
|
||||||
@@ -198,35 +258,83 @@ int yydebug;
|
|||||||
# define YYMAXDEPTH 10000
|
# define YYMAXDEPTH 10000
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Define __yy_memcpy. Note that the size argument
|
#if ! defined (yyoverflow) && ! defined (yymemcpy)
|
||||||
should be passed with type unsigned int, because that is what the non-GCC
|
# if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
|
||||||
definitions require. With GCC, __builtin_memcpy takes an arg
|
# define yymemcpy __builtin_memcpy
|
||||||
of type size_t, but it can handle unsigned int. */
|
# else /* not GNU C or C++ */
|
||||||
|
|
||||||
#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
|
|
||||||
# define __yy_memcpy(To, From, Count) __builtin_memcpy (To, From, Count)
|
|
||||||
#else /* not GNU C or C++ */
|
|
||||||
|
|
||||||
/* This is the most reliable way to avoid incompatibilities
|
/* This is the most reliable way to avoid incompatibilities
|
||||||
in available built-in functions on various systems. */
|
in available built-in functions on various systems. */
|
||||||
static void
|
static void
|
||||||
# ifndef __cplusplus
|
# if defined (__STDC__) || defined (__cplusplus)
|
||||||
__yy_memcpy (to, from, count)
|
yymemcpy (char *yyto, const char *yyfrom, YYSIZE_T yycount)
|
||||||
char *to;
|
# else
|
||||||
const char *from;
|
yymemcpy (yyto, yyfrom, yycount)
|
||||||
unsigned int count;
|
char *yyto;
|
||||||
# else /* __cplusplus */
|
const char *yyfrom;
|
||||||
__yy_memcpy (char *to, const char *from, unsigned int count)
|
YYSIZE_T yycount;
|
||||||
# endif
|
# endif
|
||||||
{
|
{
|
||||||
register const char *f = from;
|
register const char *yyf = yyfrom;
|
||||||
register char *t = to;
|
register char *yyt = yyto;
|
||||||
register int i = count;
|
register YYSIZE_T yyi = yycount;
|
||||||
|
|
||||||
while (i-- > 0)
|
while (yyi-- != 0)
|
||||||
*t++ = *f++;
|
*yyt++ = *yyf++;
|
||||||
}
|
}
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef YYERROR_VERBOSE
|
||||||
|
|
||||||
|
# ifndef yystrlen
|
||||||
|
# if defined (__GLIBC__) && defined (_STRING_H)
|
||||||
|
# define yystrlen strlen
|
||||||
|
# else
|
||||||
|
/* Return the length of YYSTR. */
|
||||||
|
static YYSIZE_T
|
||||||
|
# if defined (__STDC__) || defined (__cplusplus)
|
||||||
|
yystrlen (const char *yystr)
|
||||||
|
# else
|
||||||
|
yystrlen (yystr)
|
||||||
|
const char *yystr;
|
||||||
|
# endif
|
||||||
|
{
|
||||||
|
register const char *yys = yystr;
|
||||||
|
|
||||||
|
while (*yys++ != '\0')
|
||||||
|
continue;
|
||||||
|
|
||||||
|
return yys - yystr - 1;
|
||||||
|
}
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# ifndef yystpcpy
|
||||||
|
# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
|
||||||
|
# define yystpcpy stpcpy
|
||||||
|
# else
|
||||||
|
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
|
||||||
|
YYDEST. */
|
||||||
|
static char *
|
||||||
|
# if defined (__STDC__) || defined (__cplusplus)
|
||||||
|
yystpcpy (char *yydest, const char *yysrc)
|
||||||
|
# else
|
||||||
|
yystpcpy (yydest, yysrc)
|
||||||
|
char *yydest;
|
||||||
|
const char *yysrc;
|
||||||
|
# endif
|
||||||
|
{
|
||||||
|
register char *yyd = yydest;
|
||||||
|
register const char *yys = yysrc;
|
||||||
|
|
||||||
|
while ((*yyd++ = *yys++) != '\0')
|
||||||
|
continue;
|
||||||
|
|
||||||
|
return yyd - 1;
|
||||||
|
}
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#line
|
#line
|
||||||
@@ -262,7 +370,7 @@ int yyparse (void);
|
|||||||
/* YY_DECL_VARIABLES -- depending whether we use a pure parser,
|
/* YY_DECL_VARIABLES -- depending whether we use a pure parser,
|
||||||
variables are global, or local to YYPARSE. */
|
variables are global, or local to YYPARSE. */
|
||||||
|
|
||||||
#define _YY_DECL_VARIABLES \
|
#define YY_DECL_NON_LSP_VARIABLES \
|
||||||
/* The lookahead symbol. */ \
|
/* The lookahead symbol. */ \
|
||||||
int yychar; \
|
int yychar; \
|
||||||
\
|
\
|
||||||
@@ -274,13 +382,13 @@ int yynerrs;
|
|||||||
|
|
||||||
#if YYLSP_NEEDED
|
#if YYLSP_NEEDED
|
||||||
# define YY_DECL_VARIABLES \
|
# define YY_DECL_VARIABLES \
|
||||||
_YY_DECL_VARIABLES \
|
YY_DECL_NON_LSP_VARIABLES \
|
||||||
\
|
\
|
||||||
/* Location data for the lookahead symbol. */ \
|
/* Location data for the lookahead symbol. */ \
|
||||||
YYLTYPE yylloc;
|
YYLTYPE yylloc;
|
||||||
#else
|
#else
|
||||||
# define YY_DECL_VARIABLES \
|
# define YY_DECL_VARIABLES \
|
||||||
_YY_DECL_VARIABLES
|
YY_DECL_NON_LSP_VARIABLES
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@@ -301,6 +409,7 @@ yyparse (YYPARSE_PARAM_ARG)
|
|||||||
|
|
||||||
register int yystate;
|
register int yystate;
|
||||||
register int yyn;
|
register int yyn;
|
||||||
|
int yyresult;
|
||||||
/* Number of tokens to shift before error messages enabled. */
|
/* Number of tokens to shift before error messages enabled. */
|
||||||
int yyerrstatus;
|
int yyerrstatus;
|
||||||
/* Lookahead token as an internal (translated) token number. */
|
/* Lookahead token as an internal (translated) token number. */
|
||||||
@@ -337,16 +446,15 @@ yyparse (YYPARSE_PARAM_ARG)
|
|||||||
# define YYPOPSTACK (yyvsp--, yyssp--)
|
# define YYPOPSTACK (yyvsp--, yyssp--)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int yystacksize = YYINITDEPTH;
|
YYSIZE_T yystacksize = YYINITDEPTH;
|
||||||
int yyfree_stacks = 0;
|
|
||||||
|
|
||||||
|
|
||||||
/* The variables used to return semantic value and location from the
|
/* The variables used to return semantic value and location from the
|
||||||
action routines. */
|
action routines. */
|
||||||
YYSTYPE yyval;
|
YYSTYPE yyval;
|
||||||
# if YYLSP_NEEDED
|
#if YYLSP_NEEDED
|
||||||
YYLTYPE yyloc;
|
YYLTYPE yyloc;
|
||||||
# endif
|
#endif
|
||||||
|
|
||||||
/* When reducing, the number of symbols on the RHS of the reduced
|
/* When reducing, the number of symbols on the RHS of the reduced
|
||||||
rule. */
|
rule. */
|
||||||
@@ -386,7 +494,7 @@ yyparse (YYPARSE_PARAM_ARG)
|
|||||||
if (yyssp >= yyss + yystacksize - 1)
|
if (yyssp >= yyss + yystacksize - 1)
|
||||||
{
|
{
|
||||||
/* Get the current used size of the three stacks, in elements. */
|
/* Get the current used size of the three stacks, in elements. */
|
||||||
int size = yyssp - yyss + 1;
|
YYSIZE_T yysize = yyssp - yyss + 1;
|
||||||
|
|
||||||
#ifdef yyoverflow
|
#ifdef yyoverflow
|
||||||
{
|
{
|
||||||
@@ -403,15 +511,15 @@ yyparse (YYPARSE_PARAM_ARG)
|
|||||||
/* This used to be a conditional around just the two extra args,
|
/* This used to be a conditional around just the two extra args,
|
||||||
but that might be undefined if yyoverflow is a macro. */
|
but that might be undefined if yyoverflow is a macro. */
|
||||||
yyoverflow ("parser stack overflow",
|
yyoverflow ("parser stack overflow",
|
||||||
&yyss1, size * sizeof (*yyssp),
|
&yyss1, yysize * sizeof (*yyssp),
|
||||||
&yyvs1, size * sizeof (*yyvsp),
|
&yyvs1, yysize * sizeof (*yyvsp),
|
||||||
&yyls1, size * sizeof (*yylsp),
|
&yyls1, yysize * sizeof (*yylsp),
|
||||||
&yystacksize);
|
&yystacksize);
|
||||||
yyls = yyls1;
|
yyls = yyls1;
|
||||||
# else
|
# else
|
||||||
yyoverflow ("parser stack overflow",
|
yyoverflow ("parser stack overflow",
|
||||||
&yyss1, size * sizeof (*yyssp),
|
&yyss1, yysize * sizeof (*yyssp),
|
||||||
&yyvs1, size * sizeof (*yyvsp),
|
&yyvs1, yysize * sizeof (*yyvsp),
|
||||||
&yystacksize);
|
&yystacksize);
|
||||||
# endif
|
# endif
|
||||||
yyss = yyss1;
|
yyss = yyss1;
|
||||||
@@ -420,36 +528,36 @@ yyparse (YYPARSE_PARAM_ARG)
|
|||||||
#else /* no yyoverflow */
|
#else /* no yyoverflow */
|
||||||
/* Extend the stack our own way. */
|
/* Extend the stack our own way. */
|
||||||
if (yystacksize >= YYMAXDEPTH)
|
if (yystacksize >= YYMAXDEPTH)
|
||||||
{
|
goto yyoverflowlab;
|
||||||
yyerror ("parser stack overflow");
|
|
||||||
if (yyfree_stacks)
|
|
||||||
{
|
|
||||||
free (yyss);
|
|
||||||
free (yyvs);
|
|
||||||
# if YYLSP_NEEDED
|
|
||||||
free (yyls);
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
yystacksize *= 2;
|
yystacksize *= 2;
|
||||||
if (yystacksize > YYMAXDEPTH)
|
if (yystacksize > YYMAXDEPTH)
|
||||||
yystacksize = YYMAXDEPTH;
|
yystacksize = YYMAXDEPTH;
|
||||||
|
|
||||||
YYSTACK_REALLOC (short, yyss, yyssa);
|
{
|
||||||
YYSTACK_REALLOC (YYSTYPE, yyvs, yyvsa);
|
short *yyss1 = yyss;
|
||||||
|
union yyalloc *yyptr =
|
||||||
|
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
|
||||||
|
if (! yyptr)
|
||||||
|
goto yyoverflowlab;
|
||||||
|
YYSTACK_RELOCATE (short, yyss);
|
||||||
|
YYSTACK_RELOCATE (YYSTYPE, yyvs);
|
||||||
# if YYLSP_NEEDED
|
# if YYLSP_NEEDED
|
||||||
YYSTACK_REALLOC (YYLTYPE, yyls, yylsa);
|
YYSTACK_RELOCATE (YYLTYPE, yyls);
|
||||||
# endif
|
# endif
|
||||||
|
# undef YYSTACK_RELOCATE
|
||||||
|
if (yyss1 != yyssa)
|
||||||
|
YYSTACK_FREE (yyss1);
|
||||||
|
}
|
||||||
#endif /* no yyoverflow */
|
#endif /* no yyoverflow */
|
||||||
|
|
||||||
yyssp = yyss + size - 1;
|
yyssp = yyss + yysize - 1;
|
||||||
yyvsp = yyvs + size - 1;
|
yyvsp = yyvs + yysize - 1;
|
||||||
#if YYLSP_NEEDED
|
#if YYLSP_NEEDED
|
||||||
yylsp = yyls + size - 1;
|
yylsp = yyls + yysize - 1;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
YYDPRINTF ((stderr, "Stack size increased to %d\n", yystacksize));
|
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
|
||||||
|
(unsigned long int) yystacksize));
|
||||||
|
|
||||||
if (yyssp >= yyss + yystacksize - 1)
|
if (yyssp >= yyss + yystacksize - 1)
|
||||||
YYABORT;
|
YYABORT;
|
||||||
@@ -504,13 +612,14 @@ yybackup:
|
|||||||
which are defined only if `YYDEBUG' is set. */
|
which are defined only if `YYDEBUG' is set. */
|
||||||
if (yydebug)
|
if (yydebug)
|
||||||
{
|
{
|
||||||
fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
|
YYFPRINTF (stderr, "Next token is %d (%s",
|
||||||
|
yychar, yytname[yychar1]);
|
||||||
/* Give the individual parser a way to print the precise
|
/* Give the individual parser a way to print the precise
|
||||||
meaning of a token, for further debugging info. */
|
meaning of a token, for further debugging info. */
|
||||||
# ifdef YYPRINT
|
# ifdef YYPRINT
|
||||||
YYPRINT (stderr, yychar, yylval);
|
YYPRINT (stderr, yychar, yylval);
|
||||||
# endif
|
# endif
|
||||||
fprintf (stderr, ")\n");
|
YYFPRINTF (stderr, ")\n");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -542,7 +651,8 @@ yybackup:
|
|||||||
YYACCEPT;
|
YYACCEPT;
|
||||||
|
|
||||||
/* Shift the lookahead token. */
|
/* Shift the lookahead token. */
|
||||||
YYDPRINTF ((stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]));
|
YYDPRINTF ((stderr, "Shifting token %d (%s), ",
|
||||||
|
yychar, yytname[yychar1]));
|
||||||
|
|
||||||
/* Discard the token being shifted unless it is eof. */
|
/* Discard the token being shifted unless it is eof. */
|
||||||
if (yychar != YYEOF)
|
if (yychar != YYEOF)
|
||||||
@@ -601,15 +711,15 @@ yyreduce:
|
|||||||
are defined only if `YYDEBUG' is set. */
|
are defined only if `YYDEBUG' is set. */
|
||||||
if (yydebug)
|
if (yydebug)
|
||||||
{
|
{
|
||||||
int i;
|
int yyi;
|
||||||
|
|
||||||
fprintf (stderr, "Reducing via rule %d (line %d), ",
|
YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
|
||||||
yyn, yyrline[yyn]);
|
yyn, yyrline[yyn]);
|
||||||
|
|
||||||
/* Print the symbols being reduced, and their result. */
|
/* Print the symbols being reduced, and their result. */
|
||||||
for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
|
for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
|
||||||
fprintf (stderr, "%s ", yytname[yyrhs[i]]);
|
YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
|
||||||
fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
|
YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
%% actions /* The action file replaces this line. */
|
%% actions /* The action file replaces this line. */
|
||||||
@@ -624,11 +734,11 @@ yyreduce:
|
|||||||
#if YYDEBUG
|
#if YYDEBUG
|
||||||
if (yydebug)
|
if (yydebug)
|
||||||
{
|
{
|
||||||
short *ssp1 = yyss - 1;
|
short *yyssp1 = yyss - 1;
|
||||||
fprintf (stderr, "state stack now");
|
YYFPRINTF (stderr, "state stack now");
|
||||||
while (ssp1 != yyssp)
|
while (yyssp1 != yyssp)
|
||||||
fprintf (stderr, " %d", *++ssp1);
|
YYFPRINTF (stderr, " %d", *++yyssp1);
|
||||||
fprintf (stderr, "\n");
|
YYFPRINTF (stderr, "\n");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -666,45 +776,47 @@ yyerrlab:
|
|||||||
|
|
||||||
if (yyn > YYFLAG && yyn < YYLAST)
|
if (yyn > YYFLAG && yyn < YYLAST)
|
||||||
{
|
{
|
||||||
int size = 0;
|
YYSIZE_T yysize = 0;
|
||||||
char *msg;
|
char *yymsg;
|
||||||
int x, count;
|
int yyx, yycount;
|
||||||
|
|
||||||
count = 0;
|
yycount = 0;
|
||||||
/* Start X at -YYN if negative to avoid negative indexes in
|
/* Start YYX at -YYN if negative to avoid negative indexes in
|
||||||
YYCHECK. */
|
YYCHECK. */
|
||||||
for (x = yyn < 0 ? -yyn : 0;
|
for (yyx = yyn < 0 ? -yyn : 0;
|
||||||
x < (int) (sizeof (yytname) / sizeof (char *)); x++)
|
yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
|
||||||
if (yycheck[x + yyn] == x)
|
if (yycheck[yyx + yyn] == yyx)
|
||||||
size += strlen (yytname[x]) + 15, count++;
|
yysize += yystrlen (yytname[yyx]) + 15, yycount++;
|
||||||
size += strlen ("parse error, unexpected ") + 1;
|
yysize += yystrlen ("parse error, unexpected ") + 1;
|
||||||
size += strlen (yytname[YYTRANSLATE (yychar)]);
|
yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
|
||||||
msg = (char *) malloc (size);
|
yymsg = (char *) YYSTACK_ALLOC (yysize);
|
||||||
if (msg != 0)
|
if (yymsg != 0)
|
||||||
{
|
{
|
||||||
strcpy (msg, "parse error, unexpected ");
|
char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
|
||||||
strcat (msg, yytname[YYTRANSLATE (yychar)]);
|
yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
|
||||||
|
|
||||||
if (count < 5)
|
if (yycount < 5)
|
||||||
{
|
{
|
||||||
count = 0;
|
yycount = 0;
|
||||||
for (x = yyn < 0 ? -yyn : 0;
|
for (yyx = yyn < 0 ? -yyn : 0;
|
||||||
x < (int) (sizeof (yytname) / sizeof (char *)); x++)
|
yyx < (int) (sizeof (yytname) / sizeof (char *));
|
||||||
if (yycheck[x + yyn] == x)
|
yyx++)
|
||||||
|
if (yycheck[yyx + yyn] == yyx)
|
||||||
{
|
{
|
||||||
strcat (msg, count == 0 ? ", expecting " : " or ");
|
const char *yyq = ! yycount ? ", expecting " : " or ";
|
||||||
strcat (msg, yytname[x]);
|
yyp = yystpcpy (yyp, yyq);
|
||||||
count++;
|
yyp = yystpcpy (yyp, yytname[yyx]);
|
||||||
|
yycount++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
yyerror (msg);
|
yyerror (yymsg);
|
||||||
free (msg);
|
YYSTACK_FREE (yymsg);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
yyerror ("parse error; also virtual memory exhausted");
|
yyerror ("parse error; also virtual memory exhausted");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif /* YYERROR_VERBOSE */
|
#endif /* defined (YYERROR_VERBOSE) */
|
||||||
yyerror ("parse error");
|
yyerror ("parse error");
|
||||||
}
|
}
|
||||||
goto yyerrlab1;
|
goto yyerrlab1;
|
||||||
@@ -767,11 +879,11 @@ yyerrpop:
|
|||||||
#if YYDEBUG
|
#if YYDEBUG
|
||||||
if (yydebug)
|
if (yydebug)
|
||||||
{
|
{
|
||||||
short *ssp1 = yyss - 1;
|
short *yyssp1 = yyss - 1;
|
||||||
fprintf (stderr, "Error: state stack now");
|
YYFPRINTF (stderr, "Error: state stack now");
|
||||||
while (ssp1 != yyssp)
|
while (yyssp1 != yyssp)
|
||||||
fprintf (stderr, " %d", *++ssp1);
|
YYFPRINTF (stderr, " %d", *++yyssp1);
|
||||||
fprintf (stderr, "\n");
|
YYFPRINTF (stderr, "\n");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -816,28 +928,28 @@ yyerrhandle:
|
|||||||
| yyacceptlab -- YYACCEPT comes here. |
|
| yyacceptlab -- YYACCEPT comes here. |
|
||||||
`-------------------------------------*/
|
`-------------------------------------*/
|
||||||
yyacceptlab:
|
yyacceptlab:
|
||||||
if (yyfree_stacks)
|
yyresult = 0;
|
||||||
{
|
goto yyreturn;
|
||||||
free (yyss);
|
|
||||||
free (yyvs);
|
|
||||||
#if YYLSP_NEEDED
|
|
||||||
free (yyls);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------.
|
/*-----------------------------------.
|
||||||
| yyabortlab -- YYABORT comes here. |
|
| yyabortlab -- YYABORT comes here. |
|
||||||
`-----------------------------------*/
|
`-----------------------------------*/
|
||||||
yyabortlab:
|
yyabortlab:
|
||||||
if (yyfree_stacks)
|
yyresult = 1;
|
||||||
{
|
goto yyreturn;
|
||||||
free (yyss);
|
|
||||||
free (yyvs);
|
/*---------------------------------------------.
|
||||||
#if YYLSP_NEEDED
|
| yyoverflowab -- parser overflow comes here. |
|
||||||
free (yyls);
|
`---------------------------------------------*/
|
||||||
|
yyoverflowlab:
|
||||||
|
yyerror ("parser stack overflow");
|
||||||
|
yyresult = 2;
|
||||||
|
/* Fall through. */
|
||||||
|
|
||||||
|
yyreturn:
|
||||||
|
#ifndef yyoverflow
|
||||||
|
if (yyss != yyssa)
|
||||||
|
YYSTACK_FREE (yyss);
|
||||||
#endif
|
#endif
|
||||||
}
|
return yyresult;
|
||||||
return 1;
|
|
||||||
}
|
}
|
||||||
|
|||||||
+74
-136
@@ -26,9 +26,9 @@
|
|||||||
#include "derives.h"
|
#include "derives.h"
|
||||||
#include "warshall.h"
|
#include "warshall.h"
|
||||||
|
|
||||||
/* ITEMSETSIZE is the size of the array ITEMSET. */
|
/* NITEMSET is the size of the array ITEMSET. */
|
||||||
short *itemset;
|
short *itemset;
|
||||||
size_t itemsetsize;
|
int nitemset;
|
||||||
|
|
||||||
static unsigned *ruleset;
|
static unsigned *ruleset;
|
||||||
|
|
||||||
@@ -36,8 +36,9 @@ static unsigned *ruleset;
|
|||||||
static unsigned *fderives;
|
static unsigned *fderives;
|
||||||
static unsigned *firsts;
|
static unsigned *firsts;
|
||||||
|
|
||||||
#define FDERIVES(Symbol) (fderives + (Symbol) * rulesetsize)
|
/* Retrieve the FDERIVES/FIRSTS sets of the nonterminals numbered Var. */
|
||||||
#define FIRSTS(Symbol) (firsts + (Symbol) * varsetsize)
|
#define FDERIVES(Var) (fderives + ((Var) - ntokens) * rulesetsize)
|
||||||
|
#define FIRSTS(Var) (firsts + ((Var) - ntokens) * varsetsize)
|
||||||
|
|
||||||
/* number of words required to hold a bit for each rule */
|
/* number of words required to hold a bit for each rule */
|
||||||
static int rulesetsize;
|
static int rulesetsize;
|
||||||
@@ -51,33 +52,33 @@ static int varsetsize;
|
|||||||
`-----------------*/
|
`-----------------*/
|
||||||
|
|
||||||
static void
|
static void
|
||||||
print_closure (int n)
|
print_closure (const char *title, short *array, size_t size)
|
||||||
{
|
{
|
||||||
int i;
|
size_t i;
|
||||||
fprintf (stderr, "n = %d\n", n);
|
fprintf (stderr, "Closure: %s\n", title);
|
||||||
for (i = 0; i < itemsetsize; ++i)
|
for (i = 0; i < size; ++i)
|
||||||
fprintf (stderr, " %d\n", itemset[i]);
|
{
|
||||||
fprintf (stderr, "\n\n");
|
short *rp;
|
||||||
|
fprintf (stderr, " %2d: .", array[i]);
|
||||||
|
for (rp = &ritem[array[i]]; *rp > 0; ++rp)
|
||||||
|
fprintf (stderr, " %s", tags[*rp]);
|
||||||
|
fprintf (stderr, " (rule %d)\n", -*rp);
|
||||||
|
}
|
||||||
|
fputs ("\n\n", stderr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
print_firsts (void)
|
print_firsts (void)
|
||||||
{
|
{
|
||||||
int i;
|
int i, j;
|
||||||
int j;
|
|
||||||
unsigned *rowp;
|
|
||||||
|
|
||||||
fprintf (stderr, "FIRSTS\n");
|
fprintf (stderr, "FIRSTS\n");
|
||||||
|
|
||||||
for (i = ntokens; i < nsyms; i++)
|
for (i = ntokens; i < nsyms; i++)
|
||||||
{
|
{
|
||||||
fprintf (stderr, "\t%s firsts\n", tags[i]);
|
fprintf (stderr, "\t%s firsts\n", tags[i]);
|
||||||
|
|
||||||
rowp = FIRSTS (i - ntokens);
|
|
||||||
|
|
||||||
for (j = 0; j < nvars; j++)
|
for (j = 0; j < nvars; j++)
|
||||||
if (BITISSET (rowp, j))
|
if (BITISSET (FIRSTS (i), j))
|
||||||
fprintf (stderr, "\t\t%d (%s)\n", j + ntokens, tags[j + ntokens]);
|
fprintf (stderr, "\t\t%d (%s)\n", j + ntokens, tags[j + ntokens]);
|
||||||
}
|
}
|
||||||
fprintf (stderr, "\n\n");
|
fprintf (stderr, "\n\n");
|
||||||
@@ -89,17 +90,14 @@ print_fderives (void)
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int j;
|
int j;
|
||||||
unsigned *rp;
|
|
||||||
|
|
||||||
fprintf (stderr, "FDERIVES\n");
|
fprintf (stderr, "FDERIVES\n");
|
||||||
|
|
||||||
for (i = ntokens; i < nsyms; i++)
|
for (i = ntokens; i < nsyms; i++)
|
||||||
{
|
{
|
||||||
fprintf (stderr, "\t%s derives\n", tags[i]);
|
fprintf (stderr, "\t%s derives\n", tags[i]);
|
||||||
rp = FDERIVES (i);
|
|
||||||
|
|
||||||
for (j = 0; j <= nrules; j++)
|
for (j = 0; j <= nrules; j++)
|
||||||
if (BITISSET (rp, j))
|
if (BITISSET (FDERIVES (i), j))
|
||||||
{
|
{
|
||||||
short *rhsp;
|
short *rhsp;
|
||||||
fprintf (stderr, "\t\t%d:", j);
|
fprintf (stderr, "\t\t%d:", j);
|
||||||
@@ -124,33 +122,19 @@ print_fderives (void)
|
|||||||
static void
|
static void
|
||||||
set_firsts (void)
|
set_firsts (void)
|
||||||
{
|
{
|
||||||
unsigned *row;
|
int i, j;
|
||||||
int symbol;
|
|
||||||
short *sp;
|
|
||||||
int rowsize;
|
|
||||||
|
|
||||||
int i;
|
varsetsize = WORDSIZE (nvars);
|
||||||
|
|
||||||
varsetsize = rowsize = WORDSIZE (nvars);
|
firsts = XCALLOC (unsigned, nvars * varsetsize);
|
||||||
|
|
||||||
firsts = XCALLOC (unsigned, nvars * rowsize);
|
|
||||||
|
|
||||||
row = firsts;
|
|
||||||
for (i = ntokens; i < nsyms; i++)
|
for (i = ntokens; i < nsyms; i++)
|
||||||
{
|
for (j = 0; derives[i][j] >= 0; ++j)
|
||||||
sp = derives[i];
|
{
|
||||||
while (*sp >= 0)
|
int symbol = ritem[rule_table[derives[i][j]].rhs];
|
||||||
{
|
if (ISVAR (symbol))
|
||||||
symbol = ritem[rule_table[*sp++].rhs];
|
SETBIT (FIRSTS (i), symbol - ntokens);
|
||||||
if (ISVAR (symbol))
|
}
|
||||||
{
|
|
||||||
symbol -= ntokens;
|
|
||||||
SETBIT (row, symbol);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
row += rowsize;
|
|
||||||
}
|
|
||||||
|
|
||||||
RTC (firsts, nvars);
|
RTC (firsts, nvars);
|
||||||
|
|
||||||
@@ -171,46 +155,17 @@ set_firsts (void)
|
|||||||
static void
|
static void
|
||||||
set_fderives (void)
|
set_fderives (void)
|
||||||
{
|
{
|
||||||
unsigned *rrow;
|
int i, j, k;
|
||||||
unsigned *vrow;
|
|
||||||
int j;
|
|
||||||
unsigned cword;
|
|
||||||
short *rp;
|
|
||||||
int b;
|
|
||||||
|
|
||||||
int ruleno;
|
fderives = XCALLOC (unsigned, nvars * rulesetsize);
|
||||||
int i;
|
|
||||||
|
|
||||||
fderives = XCALLOC (unsigned, nvars * rulesetsize) - ntokens * rulesetsize;
|
|
||||||
|
|
||||||
set_firsts ();
|
set_firsts ();
|
||||||
|
|
||||||
rrow = FDERIVES (ntokens);
|
for (i = ntokens; i < nsyms; ++i)
|
||||||
|
for (j = ntokens; j < nsyms; ++j)
|
||||||
for (i = ntokens; i < nsyms; i++)
|
if (BITISSET (FIRSTS (i), j - ntokens))
|
||||||
{
|
for (k = 0; derives[j][k] > 0; ++k)
|
||||||
vrow = FIRSTS (i - ntokens);
|
SETBIT (FDERIVES (i), derives[j][k]);
|
||||||
cword = *vrow++;
|
|
||||||
b = 0;
|
|
||||||
for (j = ntokens; j < nsyms; j++)
|
|
||||||
{
|
|
||||||
if (cword & (1 << b))
|
|
||||||
{
|
|
||||||
rp = derives[j];
|
|
||||||
while ((ruleno = *rp++) > 0)
|
|
||||||
SETBIT (rrow, ruleno);
|
|
||||||
}
|
|
||||||
|
|
||||||
b++;
|
|
||||||
if (b >= BITS_PER_WORD && j + 1 < nsyms)
|
|
||||||
{
|
|
||||||
cword = *vrow++;
|
|
||||||
b = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
rrow += rulesetsize;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (trace_flag)
|
if (trace_flag)
|
||||||
print_fderives ();
|
print_fderives ();
|
||||||
@@ -235,76 +190,59 @@ new_closure (int n)
|
|||||||
void
|
void
|
||||||
closure (short *core, int n)
|
closure (short *core, int n)
|
||||||
{
|
{
|
||||||
int ruleno;
|
/* Index over CORE. */
|
||||||
short *csp;
|
int c;
|
||||||
|
|
||||||
int itemno;
|
/* Index over RULESET. */
|
||||||
int i;
|
int r;
|
||||||
|
|
||||||
|
/* A bit index over RULESET. */
|
||||||
|
int ruleno;
|
||||||
|
|
||||||
if (trace_flag)
|
if (trace_flag)
|
||||||
{
|
print_closure ("input", core, n);
|
||||||
fprintf (stderr, "Entering closure (items = {");
|
|
||||||
for (i = 0; i < n; ++i)
|
|
||||||
fprintf (stderr, " %d ", core[i]);
|
|
||||||
fprintf (stderr, "}, nitems = %d)\n", n);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (n == 0)
|
if (n == 0)
|
||||||
{
|
{
|
||||||
for (i = 0; i < rulesetsize; ++i)
|
for (r = 0; r < rulesetsize; ++r)
|
||||||
ruleset[i] = FDERIVES (start_symbol)[i];
|
ruleset[r] = FDERIVES (start_symbol)[r];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for (i = 0; i < rulesetsize; ++i)
|
for (r = 0; r < rulesetsize; ++r)
|
||||||
ruleset[i] = 0;
|
ruleset[r] = 0;
|
||||||
|
|
||||||
for (i = 0; i < n; ++i)
|
for (c = 0; c < n; ++c)
|
||||||
{
|
if (ISVAR (ritem[core[c]]))
|
||||||
int symbol = ritem[core[i]];
|
for (r = 0; r < rulesetsize; ++r)
|
||||||
if (ISVAR (symbol))
|
ruleset[r] |= FDERIVES (ritem[core[c]])[r];
|
||||||
{
|
|
||||||
int j;
|
|
||||||
for (j = 0; j < rulesetsize; ++j)
|
|
||||||
ruleset[j] |= FDERIVES (symbol)[j];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ruleno = 0;
|
nitemset = 0;
|
||||||
itemsetsize = 0;
|
c = 0;
|
||||||
csp = core;
|
for (ruleno = 0; ruleno < rulesetsize * BITS_PER_WORD; ++ruleno)
|
||||||
for (i = 0; i < rulesetsize; ++i)
|
if (BITISSET (ruleset, ruleno))
|
||||||
|
{
|
||||||
|
int itemno = rule_table[ruleno].rhs;
|
||||||
|
while (c < n && core[c] < itemno)
|
||||||
|
{
|
||||||
|
itemset[nitemset] = core[c];
|
||||||
|
nitemset++;
|
||||||
|
c++;
|
||||||
|
}
|
||||||
|
itemset[nitemset] = itemno;
|
||||||
|
nitemset++;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (c < n)
|
||||||
{
|
{
|
||||||
int word = ruleset[i];
|
itemset[nitemset] = core[c];
|
||||||
if (word == 0)
|
nitemset++;
|
||||||
{
|
c++;
|
||||||
ruleno += BITS_PER_WORD;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
int b;
|
|
||||||
|
|
||||||
for (b = 0; b < BITS_PER_WORD; b++)
|
|
||||||
{
|
|
||||||
if (word & (1 << b))
|
|
||||||
{
|
|
||||||
itemno = rule_table[ruleno].rhs;
|
|
||||||
while (csp < (core + n) && *csp < itemno)
|
|
||||||
itemset[itemsetsize++] = *csp++;
|
|
||||||
itemset[itemsetsize++] = itemno;
|
|
||||||
}
|
|
||||||
|
|
||||||
ruleno++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
while (csp < (core + n))
|
|
||||||
itemset[itemsetsize++] = *csp++;
|
|
||||||
|
|
||||||
if (trace_flag)
|
if (trace_flag)
|
||||||
print_closure (n);
|
print_closure ("output", itemset, nitemset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -313,5 +251,5 @@ free_closure (void)
|
|||||||
{
|
{
|
||||||
XFREE (itemset);
|
XFREE (itemset);
|
||||||
XFREE (ruleset);
|
XFREE (ruleset);
|
||||||
XFREE (fderives + ntokens * rulesetsize);
|
XFREE (fderives);
|
||||||
}
|
}
|
||||||
|
|||||||
+9
-8
@@ -30,18 +30,19 @@
|
|||||||
void new_closure PARAMS ((int n));
|
void new_closure PARAMS ((int n));
|
||||||
|
|
||||||
|
|
||||||
/* Given a vector of item numbers ITEMS, of length N, set up ruleset
|
/* Given the kernel (aka core) of a state (a vector of item numbers
|
||||||
and itemset to indicate what rules could be run and which items
|
ITEMS, of length N), set up ruleset and itemset to indicate what
|
||||||
could be accepted when those items are the active ones.
|
rules could be run and which items could be accepted when those
|
||||||
|
items are the active ones.
|
||||||
|
|
||||||
ruleset contains a bit for each rule. closure sets the bits for
|
ruleset contains a bit for each rule. closure sets the bits for
|
||||||
all rules which could potentially describe the next input to be
|
all rules which could potentially describe the next input to be
|
||||||
read.
|
read.
|
||||||
|
|
||||||
itemset is a vector of item numbers; itemsetend points to just
|
ITEMSET is a vector of item numbers; NITEMSET is its size
|
||||||
beyond the end of the part of it that is significant. closure
|
9actually, points to just beyond the end of the part of it that is
|
||||||
places there the indices of all items which represent units of
|
significant). closure places there the indices of all items which
|
||||||
input that could arrive next. */
|
represent units of input that could arrive next. */
|
||||||
|
|
||||||
void closure PARAMS ((short *items, int n));
|
void closure PARAMS ((short *items, int n));
|
||||||
|
|
||||||
@@ -51,6 +52,6 @@ void closure PARAMS ((short *items, int n));
|
|||||||
void free_closure PARAMS ((void));
|
void free_closure PARAMS ((void));
|
||||||
|
|
||||||
extern short *itemset;
|
extern short *itemset;
|
||||||
extern size_t itemsetsize;
|
extern int nitemset;
|
||||||
|
|
||||||
#endif /* !CLOSURE_H_ */
|
#endif /* !CLOSURE_H_ */
|
||||||
|
|||||||
+4
-63
@@ -1,5 +1,5 @@
|
|||||||
/* Declaration for error-reporting function for Bison.
|
/* Declaration for error-reporting function for Bison.
|
||||||
Copyright 2000 Free Software Foundation, Inc.
|
Copyright 2000, 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify it
|
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
|
under the terms of the GNU General Public License as published by the
|
||||||
@@ -41,6 +41,9 @@
|
|||||||
void exit ();
|
void exit ();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* To get error_one_per_line. */
|
||||||
|
#include "error.h"
|
||||||
|
|
||||||
#include "complain.h"
|
#include "complain.h"
|
||||||
|
|
||||||
#ifndef HAVE_DECL_STRERROR_R
|
#ifndef HAVE_DECL_STRERROR_R
|
||||||
@@ -106,9 +109,6 @@ unsigned int warn_message_count;
|
|||||||
/* This variable is incremented each time `complain' is called. */
|
/* This variable is incremented each time `complain' is called. */
|
||||||
unsigned int complain_message_count;
|
unsigned int complain_message_count;
|
||||||
|
|
||||||
/* Sometimes we want to have at most one error per line. This
|
|
||||||
variable controls whether this mode is selected or not. */
|
|
||||||
int error_one_per_line;
|
|
||||||
|
|
||||||
/*--------------------------------.
|
/*--------------------------------.
|
||||||
| Report a warning, and proceed. |
|
| Report a warning, and proceed. |
|
||||||
@@ -248,62 +248,3 @@ fatal (message, va_alist)
|
|||||||
fflush (stderr);
|
fflush (stderr);
|
||||||
exit (1);
|
exit (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*------------------------------------------------------------------.
|
|
||||||
| A severe error has occurred, we cannot proceed. Exit with STATUS, |
|
|
||||||
| and report the error message of the errno ERRNUM. |
|
|
||||||
`------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
void
|
|
||||||
#if defined VA_START && defined __STDC__
|
|
||||||
error (int status, int errnum,
|
|
||||||
const char *message, ...)
|
|
||||||
#else
|
|
||||||
error (status, errnum, message, va_alist)
|
|
||||||
int status;
|
|
||||||
int errnum;
|
|
||||||
char *message;
|
|
||||||
va_dcl
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
#ifdef VA_START
|
|
||||||
va_list args;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
fflush (stdout);
|
|
||||||
if (infile != NULL)
|
|
||||||
fprintf (stderr, "%s:%d: ", infile, lineno);
|
|
||||||
else
|
|
||||||
fprintf (stderr, "%s:", program_name);
|
|
||||||
|
|
||||||
fputs (_("fatal error: "), stderr);
|
|
||||||
|
|
||||||
#ifdef VA_START
|
|
||||||
VA_START (args, message);
|
|
||||||
vfprintf (stderr, message, args);
|
|
||||||
va_end (args);
|
|
||||||
#else
|
|
||||||
fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (errnum)
|
|
||||||
{
|
|
||||||
#if defined HAVE_STRERROR_R || _LIBC
|
|
||||||
char errbuf[1024];
|
|
||||||
# if HAVE_WORKING_STRERROR_R || _LIBC
|
|
||||||
fprintf (stderr, ": %s", __strerror_r (errnum, errbuf, sizeof errbuf));
|
|
||||||
# else
|
|
||||||
/* Don't use __strerror_r's return value because on some systems
|
|
||||||
(at least DEC UNIX 4.0[A-D]) strerror_r returns `int'. */
|
|
||||||
__strerror_r (errnum, errbuf, sizeof errbuf);
|
|
||||||
fprintf (stderr, ": %s", errbuf);
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
fprintf (stderr, ": %s", strerror (errnum));
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
putc ('\n', stderr);
|
|
||||||
fflush (stderr);
|
|
||||||
if (status)
|
|
||||||
exit (status);
|
|
||||||
}
|
|
||||||
|
|||||||
+2
-14
@@ -1,5 +1,5 @@
|
|||||||
/* Declaration for error-reporting function for Bison.
|
/* Declaration for error-reporting function for Bison.
|
||||||
Copyright 2000 Free Software Foundation, Inc.
|
Copyright 2000, 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify it
|
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
|
under the terms of the GNU General Public License as published by the
|
||||||
@@ -40,18 +40,10 @@ extern void complain (const char *format, ...)
|
|||||||
extern void fatal (const char *format, ...)
|
extern void fatal (const char *format, ...)
|
||||||
__attribute__ ((__format__ (__printf__, 1, 2)));
|
__attribute__ ((__format__ (__printf__, 1, 2)));
|
||||||
|
|
||||||
/* Print a message with `fprintf (stderr, FORMAT, ...)';
|
|
||||||
if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
|
|
||||||
If STATUS is nonzero, terminate the program with `exit (STATUS)'. */
|
|
||||||
|
|
||||||
extern void error (int status, int errnum,
|
|
||||||
const char *format, ...)
|
|
||||||
__attribute__ ((__format__ (__printf__, 3, 4)));
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
void warn ();
|
void warn ();
|
||||||
void complain ();
|
void complain ();
|
||||||
void error ();
|
void fatal ();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Position in the current input file. */
|
/* Position in the current input file. */
|
||||||
@@ -64,10 +56,6 @@ extern unsigned int warn_message_count;
|
|||||||
/* This variable is incremented each time `complain' is called. */
|
/* This variable is incremented each time `complain' is called. */
|
||||||
extern unsigned int complain_message_count;
|
extern unsigned int complain_message_count;
|
||||||
|
|
||||||
/* Sometimes we want to have at most one error per line. This
|
|
||||||
variable controls whether this mode is selected or not. */
|
|
||||||
extern int error_one_per_line;
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+182
-340
@@ -29,7 +29,6 @@
|
|||||||
#include "reader.h"
|
#include "reader.h"
|
||||||
#include "LR0.h"
|
#include "LR0.h"
|
||||||
|
|
||||||
errs **err_table = NULL;
|
|
||||||
/* -1 stands for not specified. */
|
/* -1 stands for not specified. */
|
||||||
int expected_conflicts = -1;
|
int expected_conflicts = -1;
|
||||||
static char *conflicts = NULL;
|
static char *conflicts = NULL;
|
||||||
@@ -57,21 +56,12 @@ Conflict in state %d between rule %d and token %s resolved as %s.\n"),
|
|||||||
static void
|
static void
|
||||||
flush_shift (int state, int token)
|
flush_shift (int state, int token)
|
||||||
{
|
{
|
||||||
shifts *shiftp;
|
shifts *shiftp = state_table[state].shifts;
|
||||||
int k, i;
|
int i;
|
||||||
|
|
||||||
shiftp = state_table[state].shift_table;
|
for (i = 0; i < shiftp->nshifts; i++)
|
||||||
|
if (!SHIFT_IS_DISABLED (shiftp, i) && SHIFT_SYMBOL (shiftp, i) == token)
|
||||||
if (shiftp)
|
SHIFT_DISABLE (shiftp, i);
|
||||||
{
|
|
||||||
k = shiftp->nshifts;
|
|
||||||
for (i = 0; i < k; i++)
|
|
||||||
{
|
|
||||||
if (shiftp->shifts[i]
|
|
||||||
&& token == state_table[shiftp->shifts[i]].accessing_symbol)
|
|
||||||
(shiftp->shifts[i]) = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -86,95 +76,79 @@ static void
|
|||||||
resolve_sr_conflict (int state, int lookaheadnum)
|
resolve_sr_conflict (int state, int lookaheadnum)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int mask;
|
/* find the rule to reduce by to get precedence of reduction */
|
||||||
unsigned *fp1;
|
int redprec = rule_table[LAruleno[lookaheadnum]].prec;
|
||||||
unsigned *fp2;
|
|
||||||
int redprec;
|
|
||||||
errs *errp = ERRS_ALLOC (ntokens + 1);
|
errs *errp = ERRS_ALLOC (ntokens + 1);
|
||||||
short *errtokens = errp->errs;
|
short *errtokens = errp->errs;
|
||||||
|
|
||||||
/* find the rule to reduce by to get precedence of reduction */
|
|
||||||
redprec = rule_table[LAruleno[lookaheadnum]].prec;
|
|
||||||
|
|
||||||
mask = 1;
|
|
||||||
fp1 = LA (lookaheadnum);
|
|
||||||
fp2 = lookaheadset;
|
|
||||||
for (i = 0; i < ntokens; i++)
|
for (i = 0; i < ntokens; i++)
|
||||||
{
|
if (BITISSET (LA (lookaheadnum), i)
|
||||||
if ((mask & *fp2 & *fp1) && sprec[i])
|
&& BITISSET (lookaheadset, i)
|
||||||
/* Shift-reduce conflict occurs for token number i
|
&& sprec[i])
|
||||||
and it has a precedence.
|
/* Shift-reduce conflict occurs for token number i
|
||||||
The precedence of shifting is that of token i. */
|
and it has a precedence.
|
||||||
{
|
The precedence of shifting is that of token i. */
|
||||||
if (sprec[i] < redprec)
|
{
|
||||||
{
|
if (sprec[i] < redprec)
|
||||||
log_resolution (state, lookaheadnum, i, _("reduce"));
|
{
|
||||||
*fp2 &= ~mask; /* flush the shift for this token */
|
log_resolution (state, lookaheadnum, i, _("reduce"));
|
||||||
flush_shift (state, i);
|
/* flush the shift for this token */
|
||||||
}
|
RESETBIT (lookaheadset, i);
|
||||||
else if (sprec[i] > redprec)
|
flush_shift (state, i);
|
||||||
{
|
}
|
||||||
log_resolution (state, lookaheadnum, i, _("shift"));
|
else if (sprec[i] > redprec)
|
||||||
*fp1 &= ~mask; /* flush the reduce for this token */
|
{
|
||||||
}
|
log_resolution (state, lookaheadnum, i, _("shift"));
|
||||||
else
|
/* flush the reduce for this token */
|
||||||
{
|
RESETBIT (LA (lookaheadnum), i);
|
||||||
/* Matching precedence levels.
|
}
|
||||||
For left association, keep only the reduction.
|
else
|
||||||
For right association, keep only the shift.
|
{
|
||||||
For nonassociation, keep neither. */
|
/* Matching precedence levels.
|
||||||
|
For left association, keep only the reduction.
|
||||||
|
For right association, keep only the shift.
|
||||||
|
For nonassociation, keep neither. */
|
||||||
|
|
||||||
switch (sassoc[i])
|
switch (sassoc[i])
|
||||||
{
|
{
|
||||||
case right_assoc:
|
case right_assoc:
|
||||||
log_resolution (state, lookaheadnum, i, _("shift"));
|
log_resolution (state, lookaheadnum, i, _("shift"));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case left_assoc:
|
case left_assoc:
|
||||||
log_resolution (state, lookaheadnum, i, _("reduce"));
|
log_resolution (state, lookaheadnum, i, _("reduce"));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case non_assoc:
|
case non_assoc:
|
||||||
log_resolution (state, lookaheadnum, i, _("an error"));
|
log_resolution (state, lookaheadnum, i, _("an error"));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sassoc[i] != right_assoc)
|
if (sassoc[i] != right_assoc)
|
||||||
{
|
{
|
||||||
*fp2 &= ~mask; /* flush the shift for this token */
|
/* flush the shift for this token */
|
||||||
flush_shift (state, i);
|
RESETBIT (lookaheadset, i);
|
||||||
}
|
flush_shift (state, i);
|
||||||
if (sassoc[i] != left_assoc)
|
}
|
||||||
{
|
if (sassoc[i] != left_assoc)
|
||||||
*fp1 &= ~mask; /* flush the reduce for this token */
|
{
|
||||||
}
|
/* flush the reduce for this token */
|
||||||
if (sassoc[i] == non_assoc)
|
RESETBIT (LA (lookaheadnum), i);
|
||||||
{
|
}
|
||||||
/* Record an explicit error for this token. */
|
if (sassoc[i] == non_assoc)
|
||||||
*errtokens++ = i;
|
{
|
||||||
}
|
/* Record an explicit error for this token. */
|
||||||
}
|
*errtokens++ = i;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
mask <<= 1;
|
|
||||||
if (mask == 0)
|
|
||||||
{
|
|
||||||
mask = 1;
|
|
||||||
fp2++;
|
|
||||||
fp1++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
errp->nerrs = errtokens - errp->errs;
|
errp->nerrs = errtokens - errp->errs;
|
||||||
if (errp->nerrs)
|
/* Some tokens have been explicitly made errors. Allocate a
|
||||||
{
|
permanent errs structure for this state, to record them. */
|
||||||
/* Some tokens have been explicitly made errors. Allocate
|
i = (char *) errtokens - (char *) errp;
|
||||||
a permanent errs structure for this state, to record them. */
|
state_table[state].errs = ERRS_ALLOC (i + 1);
|
||||||
i = (char *) errtokens - (char *) errp;
|
memcpy (state_table[state].errs, errp, i);
|
||||||
err_table[state] = ERRS_ALLOC (i + 1);
|
|
||||||
bcopy (errp, err_table[state], i);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
err_table[state] = 0;
|
|
||||||
free (errp);
|
free (errp);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -184,7 +158,6 @@ set_conflicts (int state)
|
|||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
shifts *shiftp;
|
shifts *shiftp;
|
||||||
int symbol;
|
|
||||||
|
|
||||||
if (state_table[state].consistent)
|
if (state_table[state].consistent)
|
||||||
return;
|
return;
|
||||||
@@ -192,15 +165,10 @@ set_conflicts (int state)
|
|||||||
for (i = 0; i < tokensetsize; i++)
|
for (i = 0; i < tokensetsize; i++)
|
||||||
lookaheadset[i] = 0;
|
lookaheadset[i] = 0;
|
||||||
|
|
||||||
shiftp = state_table[state].shift_table;
|
shiftp = state_table[state].shifts;
|
||||||
if (shiftp)
|
for (i = 0; i < shiftp->nshifts && SHIFT_IS_SHIFT (shiftp, i); i++)
|
||||||
for (i = 0; i < shiftp->nshifts; i++)
|
if (!SHIFT_IS_DISABLED (shiftp, i))
|
||||||
{
|
SETBIT (lookaheadset, SHIFT_SYMBOL (shiftp, i));
|
||||||
symbol = state_table[shiftp->shifts[i]].accessing_symbol;
|
|
||||||
if (ISVAR (symbol))
|
|
||||||
break;
|
|
||||||
SETBIT (lookaheadset, symbol);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Loop over all rules which require lookahead in this state. First
|
/* Loop over all rules which require lookahead in this state. First
|
||||||
check for shift-reduce conflict, and try to resolve using
|
check for shift-reduce conflict, and try to resolve using
|
||||||
@@ -241,8 +209,6 @@ solve_conflicts (void)
|
|||||||
shiftset = XCALLOC (unsigned, tokensetsize);
|
shiftset = XCALLOC (unsigned, tokensetsize);
|
||||||
lookaheadset = XCALLOC (unsigned, tokensetsize);
|
lookaheadset = XCALLOC (unsigned, tokensetsize);
|
||||||
|
|
||||||
err_table = XCALLOC (errs *, nstates);
|
|
||||||
|
|
||||||
for (i = 0; i < nstates; i++)
|
for (i = 0; i < nstates; i++)
|
||||||
set_conflicts (i);
|
set_conflicts (i);
|
||||||
}
|
}
|
||||||
@@ -255,18 +221,10 @@ solve_conflicts (void)
|
|||||||
static int
|
static int
|
||||||
count_sr_conflicts (int state)
|
count_sr_conflicts (int state)
|
||||||
{
|
{
|
||||||
int i;
|
int i, k;
|
||||||
int k;
|
|
||||||
int mask;
|
|
||||||
shifts *shiftp;
|
|
||||||
unsigned *fp1;
|
|
||||||
unsigned *fp2;
|
|
||||||
unsigned *fp3;
|
|
||||||
int symbol;
|
|
||||||
|
|
||||||
int src_count = 0;
|
int src_count = 0;
|
||||||
|
shifts *shiftp = state_table[state].shifts;
|
||||||
|
|
||||||
shiftp = state_table[state].shift_table;
|
|
||||||
if (!shiftp)
|
if (!shiftp)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
@@ -276,49 +234,22 @@ count_sr_conflicts (int state)
|
|||||||
lookaheadset[i] = 0;
|
lookaheadset[i] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
k = shiftp->nshifts;
|
for (i = 0; i < shiftp->nshifts && SHIFT_IS_SHIFT (shiftp, i); i++)
|
||||||
for (i = 0; i < k; i++)
|
if (!SHIFT_IS_DISABLED (shiftp, i))
|
||||||
{
|
SETBIT (shiftset, SHIFT_SYMBOL (shiftp, i));
|
||||||
if (!shiftp->shifts[i])
|
|
||||||
continue;
|
|
||||||
symbol = state_table[shiftp->shifts[i]].accessing_symbol;
|
|
||||||
if (ISVAR (symbol))
|
|
||||||
break;
|
|
||||||
SETBIT (shiftset, symbol);
|
|
||||||
}
|
|
||||||
|
|
||||||
k = state_table[state + 1].lookaheads;
|
for (i = state_table[state].lookaheads;
|
||||||
fp3 = lookaheadset + tokensetsize;
|
i < state_table[state + 1].lookaheads;
|
||||||
|
++i)
|
||||||
|
for (k = 0; k < tokensetsize; ++k)
|
||||||
|
lookaheadset[k] |= LA (i)[k];
|
||||||
|
|
||||||
for (i = state_table[state].lookaheads; i < k; i++)
|
for (k = 0; k < tokensetsize; ++k)
|
||||||
{
|
lookaheadset[k] &= shiftset[k];
|
||||||
fp1 = LA (i);
|
|
||||||
fp2 = lookaheadset;
|
|
||||||
|
|
||||||
while (fp2 < fp3)
|
|
||||||
*fp2++ |= *fp1++;
|
|
||||||
}
|
|
||||||
|
|
||||||
fp1 = shiftset;
|
|
||||||
fp2 = lookaheadset;
|
|
||||||
|
|
||||||
while (fp2 < fp3)
|
|
||||||
*fp2++ &= *fp1++;
|
|
||||||
|
|
||||||
mask = 1;
|
|
||||||
fp2 = lookaheadset;
|
|
||||||
for (i = 0; i < ntokens; i++)
|
for (i = 0; i < ntokens; i++)
|
||||||
{
|
if (BITISSET (lookaheadset, i))
|
||||||
if (mask & *fp2)
|
src_count++;
|
||||||
src_count++;
|
|
||||||
|
|
||||||
mask <<= 1;
|
|
||||||
if (mask == 0)
|
|
||||||
{
|
|
||||||
mask = 1;
|
|
||||||
fp2++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return src_count;
|
return src_count;
|
||||||
}
|
}
|
||||||
@@ -332,9 +263,6 @@ static int
|
|||||||
count_rr_conflicts (int state)
|
count_rr_conflicts (int state)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
unsigned mask;
|
|
||||||
unsigned *baseword;
|
|
||||||
|
|
||||||
int rrc_count = 0;
|
int rrc_count = 0;
|
||||||
|
|
||||||
int m = state_table[state].lookaheads;
|
int m = state_table[state].lookaheads;
|
||||||
@@ -343,31 +271,16 @@ count_rr_conflicts (int state)
|
|||||||
if (n - m < 2)
|
if (n - m < 2)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
mask = 1;
|
|
||||||
baseword = LA (m);
|
|
||||||
for (i = 0; i < ntokens; i++)
|
for (i = 0; i < ntokens; i++)
|
||||||
{
|
{
|
||||||
unsigned *wordp = baseword;
|
|
||||||
|
|
||||||
int count = 0;
|
int count = 0;
|
||||||
int j;
|
int j;
|
||||||
for (j = m; j < n; j++)
|
for (j = m; j < n; j++)
|
||||||
{
|
if (BITISSET (LA (j), i))
|
||||||
if (mask & *wordp)
|
count++;
|
||||||
count++;
|
|
||||||
|
|
||||||
wordp += tokensetsize;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (count >= 2)
|
if (count >= 2)
|
||||||
rrc_count++;
|
rrc_count++;
|
||||||
|
|
||||||
mask <<= 1;
|
|
||||||
if (mask == 0)
|
|
||||||
{
|
|
||||||
mask = 1;
|
|
||||||
baseword++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return rrc_count;
|
return rrc_count;
|
||||||
@@ -419,6 +332,7 @@ conflict_report (int src_num, int rrc_num)
|
|||||||
void
|
void
|
||||||
conflicts_output (FILE *out)
|
conflicts_output (FILE *out)
|
||||||
{
|
{
|
||||||
|
bool printed_sth = FALSE;
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < nstates; i++)
|
for (i = 0; i < nstates; i++)
|
||||||
if (conflicts[i])
|
if (conflicts[i])
|
||||||
@@ -426,7 +340,10 @@ conflicts_output (FILE *out)
|
|||||||
fprintf (out, _("State %d contains "), i);
|
fprintf (out, _("State %d contains "), i);
|
||||||
fputs (conflict_report (count_sr_conflicts (i),
|
fputs (conflict_report (count_sr_conflicts (i),
|
||||||
count_rr_conflicts (i)), out);
|
count_rr_conflicts (i)), out);
|
||||||
|
printed_sth = TRUE;
|
||||||
}
|
}
|
||||||
|
if (printed_sth)
|
||||||
|
fputs ("\n\n", out);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -439,6 +356,11 @@ conflicts_print (void)
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
/* Is the number of SR conflicts OK? Either EXPECTED_CONFLICTS is
|
||||||
|
not set, and then we want 0 SR, or else it is specified, in which
|
||||||
|
case we want equality. */
|
||||||
|
int src_ok = 0;
|
||||||
|
|
||||||
int src_total = 0;
|
int src_total = 0;
|
||||||
int rrc_total = 0;
|
int rrc_total = 0;
|
||||||
|
|
||||||
@@ -450,33 +372,43 @@ conflicts_print (void)
|
|||||||
rrc_total += count_rr_conflicts (i);
|
rrc_total += count_rr_conflicts (i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
src_ok = src_total == (expected_conflicts == -1 ? 0 : expected_conflicts);
|
||||||
|
|
||||||
|
/* If there are no RR conflicts, and as many SR conflicts as
|
||||||
|
expected, then there is nothing to report. */
|
||||||
|
if (!rrc_total && src_ok)
|
||||||
|
return;
|
||||||
|
|
||||||
/* Report the total number of conflicts on STDERR. */
|
/* Report the total number of conflicts on STDERR. */
|
||||||
if (src_total || rrc_total)
|
if (yacc_flag)
|
||||||
{
|
{
|
||||||
if (yacc_flag)
|
/* If invoked with `--yacc', use the output format specified by
|
||||||
{
|
POSIX. */
|
||||||
/* If invoked with `--yacc', use the output format specified by
|
fprintf (stderr, _("conflicts: "));
|
||||||
POSIX. */
|
if (src_total > 0)
|
||||||
fprintf (stderr, _("conflicts: "));
|
fprintf (stderr, _(" %d shift/reduce"), src_total);
|
||||||
if (src_total > 0)
|
if (src_total > 0 && rrc_total > 0)
|
||||||
fprintf (stderr, _(" %d shift/reduce"), src_total);
|
fprintf (stderr, ",");
|
||||||
if (src_total > 0 && rrc_total > 0)
|
if (rrc_total > 0)
|
||||||
fprintf (stderr, ",");
|
fprintf (stderr, _(" %d reduce/reduce"), rrc_total);
|
||||||
if (rrc_total > 0)
|
putc ('\n', stderr);
|
||||||
fprintf (stderr, _(" %d reduce/reduce"), rrc_total);
|
}
|
||||||
putc ('\n', stderr);
|
else
|
||||||
}
|
{
|
||||||
else
|
fprintf (stderr, _("%s contains "), infile);
|
||||||
{
|
fputs (conflict_report (src_total, rrc_total), stderr);
|
||||||
fprintf (stderr, _("%s contains "), infile);
|
|
||||||
fputs (conflict_report (src_total, rrc_total), stderr);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (expected_conflicts != -1
|
if (expected_conflicts != -1 && !src_ok)
|
||||||
&& src_total != expected_conflicts)
|
|
||||||
{
|
{
|
||||||
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",
|
fprintf (stderr, ngettext ("expected %d shift/reduce conflict\n",
|
||||||
"expected %d shift/reduce conflicts\n",
|
"expected %d shift/reduce conflicts\n",
|
||||||
expected_conflicts),
|
expected_conflicts),
|
||||||
@@ -489,21 +421,8 @@ void
|
|||||||
print_reductions (FILE *out, int state)
|
print_reductions (FILE *out, int state)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int j;
|
|
||||||
int k;
|
|
||||||
unsigned *fp1;
|
|
||||||
unsigned *fp2;
|
|
||||||
unsigned *fp3;
|
|
||||||
unsigned *fp4;
|
|
||||||
int rule;
|
|
||||||
int symbol;
|
|
||||||
unsigned mask;
|
|
||||||
int m;
|
int m;
|
||||||
int n;
|
int n;
|
||||||
int default_LA;
|
|
||||||
int default_rule = 0;
|
|
||||||
int cmax;
|
|
||||||
int count;
|
|
||||||
shifts *shiftp;
|
shifts *shiftp;
|
||||||
errs *errp;
|
errs *errp;
|
||||||
int nodefault = 0;
|
int nodefault = 0;
|
||||||
@@ -511,105 +430,61 @@ print_reductions (FILE *out, int state)
|
|||||||
for (i = 0; i < tokensetsize; i++)
|
for (i = 0; i < tokensetsize; i++)
|
||||||
shiftset[i] = 0;
|
shiftset[i] = 0;
|
||||||
|
|
||||||
shiftp = state_table[state].shift_table;
|
shiftp = state_table[state].shifts;
|
||||||
if (shiftp)
|
for (i = 0; i < shiftp->nshifts && SHIFT_IS_SHIFT (shiftp, i); i++)
|
||||||
{
|
if (!SHIFT_IS_DISABLED (shiftp, i))
|
||||||
k = shiftp->nshifts;
|
{
|
||||||
for (i = 0; i < k; i++)
|
/* if this state has a shift for the error token, don't use a
|
||||||
{
|
default rule. */
|
||||||
if (!shiftp->shifts[i])
|
if (SHIFT_IS_ERROR (shiftp, i))
|
||||||
continue;
|
nodefault = 1;
|
||||||
symbol = state_table[shiftp->shifts[i]].accessing_symbol;
|
SETBIT (shiftset, SHIFT_SYMBOL (shiftp, i));
|
||||||
if (ISVAR (symbol))
|
}
|
||||||
break;
|
|
||||||
/* if this state has a shift for the error token,
|
|
||||||
don't use a default rule. */
|
|
||||||
if (symbol == error_token_number)
|
|
||||||
nodefault = 1;
|
|
||||||
SETBIT (shiftset, symbol);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
errp = err_table[state];
|
errp = state_table[state].errs;
|
||||||
if (errp)
|
if (errp)
|
||||||
{
|
for (i = 0; i < errp->nerrs; i++)
|
||||||
k = errp->nerrs;
|
if (errp->errs[i])
|
||||||
for (i = 0; i < k; i++)
|
SETBIT (shiftset, errp->errs[i]);
|
||||||
{
|
|
||||||
if (!errp->errs[i])
|
|
||||||
continue;
|
|
||||||
symbol = errp->errs[i];
|
|
||||||
SETBIT (shiftset, symbol);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
m = state_table[state].lookaheads;
|
m = state_table[state].lookaheads;
|
||||||
n = state_table[state + 1].lookaheads;
|
n = state_table[state + 1].lookaheads;
|
||||||
|
|
||||||
if (n - m == 1 && !nodefault)
|
if (n - m == 1 && !nodefault)
|
||||||
{
|
{
|
||||||
default_rule = LAruleno[m];
|
int k;
|
||||||
|
int default_rule = LAruleno[m];
|
||||||
|
|
||||||
fp1 = LA (m);
|
for (k = 0; k < tokensetsize; ++k)
|
||||||
fp2 = shiftset;
|
lookaheadset[k] = LA (m)[k] & shiftset[k];
|
||||||
fp3 = lookaheadset;
|
|
||||||
fp4 = lookaheadset + tokensetsize;
|
|
||||||
|
|
||||||
while (fp3 < fp4)
|
|
||||||
*fp3++ = *fp1++ & *fp2++;
|
|
||||||
|
|
||||||
mask = 1;
|
|
||||||
fp3 = lookaheadset;
|
|
||||||
|
|
||||||
for (i = 0; i < ntokens; i++)
|
for (i = 0; i < ntokens; i++)
|
||||||
{
|
if (BITISSET (lookaheadset, i))
|
||||||
if (mask & *fp3)
|
fprintf (out, _(" %-4s\t[reduce using rule %d (%s)]\n"),
|
||||||
fprintf (out, _(" %-4s\t[reduce using rule %d (%s)]\n"),
|
tags[i], default_rule,
|
||||||
tags[i], default_rule,
|
tags[rule_table[default_rule].lhs]);
|
||||||
tags[rule_table[default_rule].lhs]);
|
|
||||||
|
|
||||||
mask <<= 1;
|
|
||||||
if (mask == 0)
|
|
||||||
{
|
|
||||||
mask = 1;
|
|
||||||
fp3++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fprintf (out, _(" $default\treduce using rule %d (%s)\n\n"),
|
fprintf (out, _(" $default\treduce using rule %d (%s)\n\n"),
|
||||||
default_rule, tags[rule_table[default_rule].lhs]);
|
default_rule, tags[rule_table[default_rule].lhs]);
|
||||||
}
|
}
|
||||||
else if (n - m >= 1)
|
else if (n - m >= 1)
|
||||||
{
|
{
|
||||||
cmax = 0;
|
int cmax = 0;
|
||||||
default_LA = -1;
|
int default_LA = -1;
|
||||||
fp4 = lookaheadset + tokensetsize;
|
int default_rule = 0;
|
||||||
|
|
||||||
if (!nodefault)
|
if (!nodefault)
|
||||||
for (i = m; i < n; i++)
|
for (i = m; i < n; i++)
|
||||||
{
|
{
|
||||||
fp1 = LA (i);
|
int count = 0;
|
||||||
fp2 = shiftset;
|
int j, k;
|
||||||
fp3 = lookaheadset;
|
|
||||||
|
|
||||||
while (fp3 < fp4)
|
for (k = 0; k < tokensetsize; ++k)
|
||||||
*fp3++ = *fp1++ & (~(*fp2++));
|
lookaheadset[k] = LA (i)[k] & ~shiftset[k];
|
||||||
|
|
||||||
count = 0;
|
|
||||||
mask = 1;
|
|
||||||
fp3 = lookaheadset;
|
|
||||||
for (j = 0; j < ntokens; j++)
|
for (j = 0; j < ntokens; j++)
|
||||||
{
|
if (BITISSET (lookaheadset, j))
|
||||||
if (mask & *fp3)
|
count++;
|
||||||
count++;
|
|
||||||
|
|
||||||
mask <<= 1;
|
|
||||||
if (mask == 0)
|
|
||||||
{
|
|
||||||
mask = 1;
|
|
||||||
fp3++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (count > cmax)
|
if (count > cmax)
|
||||||
{
|
{
|
||||||
@@ -618,56 +493,35 @@ print_reductions (FILE *out, int state)
|
|||||||
default_rule = LAruleno[i];
|
default_rule = LAruleno[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
fp2 = shiftset;
|
for (k = 0; k < tokensetsize; ++k)
|
||||||
fp3 = lookaheadset;
|
shiftset[k] |= lookaheadset[k];
|
||||||
|
|
||||||
while (fp3 < fp4)
|
|
||||||
*fp2++ |= *fp3++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < tokensetsize; i++)
|
for (i = 0; i < tokensetsize; i++)
|
||||||
shiftset[i] = 0;
|
shiftset[i] = 0;
|
||||||
|
|
||||||
if (shiftp)
|
for (i = 0; i < shiftp->nshifts && SHIFT_IS_SHIFT (shiftp, i); i++)
|
||||||
{
|
if (!SHIFT_IS_DISABLED (shiftp, i))
|
||||||
k = shiftp->nshifts;
|
SETBIT (shiftset, SHIFT_SYMBOL (shiftp, i));
|
||||||
for (i = 0; i < k; i++)
|
|
||||||
{
|
|
||||||
if (!shiftp->shifts[i])
|
|
||||||
continue;
|
|
||||||
symbol = state_table[shiftp->shifts[i]].accessing_symbol;
|
|
||||||
if (ISVAR (symbol))
|
|
||||||
break;
|
|
||||||
SETBIT (shiftset, symbol);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
mask = 1;
|
|
||||||
fp1 = LA (m);
|
|
||||||
fp2 = shiftset;
|
|
||||||
for (i = 0; i < ntokens; i++)
|
for (i = 0; i < ntokens; i++)
|
||||||
{
|
{
|
||||||
|
int j;
|
||||||
int defaulted = 0;
|
int defaulted = 0;
|
||||||
|
int count = BITISSET (shiftset, i);
|
||||||
|
|
||||||
if (mask & *fp2)
|
|
||||||
count = 1;
|
|
||||||
else
|
|
||||||
count = 0;
|
|
||||||
|
|
||||||
fp3 = fp1;
|
|
||||||
for (j = m; j < n; j++)
|
for (j = m; j < n; j++)
|
||||||
{
|
{
|
||||||
if (mask & *fp3)
|
if (BITISSET (LA (j), i))
|
||||||
{
|
{
|
||||||
if (count == 0)
|
if (count == 0)
|
||||||
{
|
{
|
||||||
if (j != default_LA)
|
if (j != default_LA)
|
||||||
{
|
fprintf (out,
|
||||||
rule = LAruleno[j];
|
_(" %-4s\treduce using rule %d (%s)\n"),
|
||||||
fprintf (out,
|
tags[i],
|
||||||
_(" %-4s\treduce using rule %d (%s)\n"),
|
LAruleno[j],
|
||||||
tags[i], rule, tags[rule_table[rule].lhs]);
|
tags[rule_table[LAruleno[j]].lhs]);
|
||||||
}
|
|
||||||
else
|
else
|
||||||
defaulted = 1;
|
defaulted = 1;
|
||||||
|
|
||||||
@@ -676,31 +530,19 @@ print_reductions (FILE *out, int state)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (defaulted)
|
if (defaulted)
|
||||||
{
|
fprintf (out,
|
||||||
rule = LAruleno[default_LA];
|
_(" %-4s\treduce using rule %d (%s)\n"),
|
||||||
fprintf (out,
|
tags[i],
|
||||||
_(" %-4s\treduce using rule %d (%s)\n"),
|
LAruleno[default_LA],
|
||||||
tags[i], rule, tags[rule_table[rule].lhs]);
|
tags[rule_table[LAruleno[default_LA]].lhs]);
|
||||||
defaulted = 0;
|
defaulted = 0;
|
||||||
}
|
|
||||||
rule = LAruleno[j];
|
|
||||||
fprintf (out,
|
fprintf (out,
|
||||||
_(" %-4s\t[reduce using rule %d (%s)]\n"),
|
_(" %-4s\t[reduce using rule %d (%s)]\n"),
|
||||||
tags[i], rule, tags[rule_table[rule].lhs]);
|
tags[i],
|
||||||
|
LAruleno[j],
|
||||||
|
tags[rule_table[LAruleno[j]].lhs]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fp3 += tokensetsize;
|
|
||||||
}
|
|
||||||
|
|
||||||
mask <<= 1;
|
|
||||||
if (mask == 0)
|
|
||||||
{
|
|
||||||
mask = 1;
|
|
||||||
/* We tried incrementing just fp1, and just fp2; both seem wrong.
|
|
||||||
It seems necessary to increment both in sync. */
|
|
||||||
fp1++;
|
|
||||||
fp2++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-2
@@ -1,5 +1,5 @@
|
|||||||
/* Find and resolve or report look-ahead conflicts for bison,
|
/* Find and resolve or report look-ahead conflicts for bison,
|
||||||
Copyright 2000 Free Software Foundation, Inc.
|
Copyright 2000, 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
@@ -29,6 +29,5 @@ void print_reductions PARAMS ((FILE*out, int state));
|
|||||||
void free_conflicts PARAMS ((void));
|
void free_conflicts PARAMS ((void));
|
||||||
|
|
||||||
/* Were there conflicts? */
|
/* Were there conflicts? */
|
||||||
extern errs **err_table;
|
|
||||||
extern int expected_conflicts;
|
extern int expected_conflicts;
|
||||||
#endif /* !CONFLICTS_H_ */
|
#endif /* !CONFLICTS_H_ */
|
||||||
|
|||||||
+10
-19
@@ -19,11 +19,6 @@
|
|||||||
Boston, MA 02111-1307, USA. */
|
Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
|
|
||||||
/* set_derives finds, for each variable (nonterminal), which rules can
|
|
||||||
derive it. It sets up the value of derives so that derives[i -
|
|
||||||
ntokens] points to a vector of rule numbers, terminated with -1.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
#include "getargs.h"
|
#include "getargs.h"
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
@@ -31,8 +26,7 @@
|
|||||||
#include "gram.h"
|
#include "gram.h"
|
||||||
#include "derives.h"
|
#include "derives.h"
|
||||||
|
|
||||||
short **derives;
|
short **derives = NULL;
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
print_derives (void)
|
print_derives (void)
|
||||||
@@ -51,7 +45,7 @@ print_derives (void)
|
|||||||
fprintf (stderr, "\t\t%d:", *sp);
|
fprintf (stderr, "\t\t%d:", *sp);
|
||||||
for (rhsp = ritem + rule_table[*sp].rhs; *rhsp > 0; ++rhsp)
|
for (rhsp = ritem + rule_table[*sp].rhs; *rhsp > 0; ++rhsp)
|
||||||
fprintf (stderr, " %s", tags[*rhsp]);
|
fprintf (stderr, " %s", tags[*rhsp]);
|
||||||
fputc ('\n', stderr);
|
fprintf (stderr, " (rule %d)\n", -*rhsp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -63,7 +57,6 @@ void
|
|||||||
set_derives (void)
|
set_derives (void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int lhs;
|
|
||||||
shorts *p;
|
shorts *p;
|
||||||
short *q;
|
short *q;
|
||||||
shorts **dset;
|
shorts **dset;
|
||||||
@@ -74,16 +67,14 @@ set_derives (void)
|
|||||||
|
|
||||||
p = delts;
|
p = delts;
|
||||||
for (i = nrules; i > 0; i--)
|
for (i = nrules; i > 0; i--)
|
||||||
{
|
if (rule_table[i].useful)
|
||||||
lhs = rule_table[i].lhs;
|
{
|
||||||
if (lhs >= 0)
|
int lhs = rule_table[i].lhs;
|
||||||
{
|
p->next = dset[lhs];
|
||||||
p->next = dset[lhs];
|
p->value = i;
|
||||||
p->value = i;
|
dset[lhs] = p;
|
||||||
dset[lhs] = p;
|
p++;
|
||||||
p++;
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
derives = XCALLOC (short *, nvars) - ntokens;
|
derives = XCALLOC (short *, nvars) - ntokens;
|
||||||
q = XCALLOC (short, nvars + nrules);
|
q = XCALLOC (short, nvars + nrules);
|
||||||
|
|||||||
+4
-5
@@ -1,5 +1,5 @@
|
|||||||
/* Match rules with nonterminals for bison,
|
/* Match rules with nonterminals for bison,
|
||||||
Copyright 1984, 1989, 2000 Free Software Foundation, Inc.
|
Copyright 1984, 1989, 2000, 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
@@ -21,12 +21,11 @@
|
|||||||
#ifndef DERIVES_H_
|
#ifndef DERIVES_H_
|
||||||
# define DERIVES_H_
|
# define DERIVES_H_
|
||||||
|
|
||||||
|
/* DERIVES[SYMBOL - NTOKENS] points to a vector of the number of the
|
||||||
|
rules that SYMBOL derives, terminated with -1. */
|
||||||
extern short **derives;
|
extern short **derives;
|
||||||
|
|
||||||
/* set_derives finds, for each variable (nonterminal), which rules can
|
/* Compute DERIVES. */
|
||||||
derive it. It sets up the value of derives so that derives[i -
|
|
||||||
ntokens] points to a vector of rule numbers, terminated with -1.
|
|
||||||
*/
|
|
||||||
|
|
||||||
void set_derives PARAMS((void));
|
void set_derives PARAMS((void));
|
||||||
void free_derives PARAMS((void));
|
void free_derives PARAMS((void));
|
||||||
|
|||||||
+112
-109
@@ -1,5 +1,6 @@
|
|||||||
/* Open and close files for bison,
|
/* 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.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
@@ -23,8 +24,14 @@
|
|||||||
#include "getargs.h"
|
#include "getargs.h"
|
||||||
#include "files.h"
|
#include "files.h"
|
||||||
#include "gram.h"
|
#include "gram.h"
|
||||||
|
#include "error.h"
|
||||||
#include "complain.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;
|
FILE *finput = NULL;
|
||||||
|
|
||||||
struct obstack action_obstack;
|
struct obstack action_obstack;
|
||||||
@@ -44,7 +51,7 @@ char *spec_defines_file = NULL; /* for --defines. */
|
|||||||
char *infile = NULL;
|
char *infile = NULL;
|
||||||
char *attrsfile = NULL;
|
char *attrsfile = NULL;
|
||||||
|
|
||||||
static char *base_name = NULL;
|
static char *full_base_name = NULL;
|
||||||
static char *short_base_name = NULL;
|
static char *short_base_name = NULL;
|
||||||
|
|
||||||
/* C source file extension (the parser source). */
|
/* C source file extension (the parser source). */
|
||||||
@@ -57,7 +64,7 @@ const char *header_extension = NULL;
|
|||||||
| Is SUFFIX ending STRING? |
|
| Is SUFFIX ending STRING? |
|
||||||
`--------------------------*/
|
`--------------------------*/
|
||||||
|
|
||||||
static int
|
int
|
||||||
strsuffix (const char *string, const char *suffix)
|
strsuffix (const char *string, const char *suffix)
|
||||||
{
|
{
|
||||||
size_t string_len = strlen (string);
|
size_t string_len = strlen (string);
|
||||||
@@ -111,10 +118,10 @@ compute_header_macro (void)
|
|||||||
{
|
{
|
||||||
macro_name = XMALLOC (char,
|
macro_name = XMALLOC (char,
|
||||||
strlen (prefix) +
|
strlen (prefix) +
|
||||||
strlen (base_name) +
|
strlen (full_base_name) +
|
||||||
strlen (header_extension) + 1);
|
strlen (header_extension) + 1);
|
||||||
cp = stpcpy (macro_name, prefix);
|
cp = stpcpy (macro_name, prefix);
|
||||||
cp = stpcpy (cp, base_name);
|
cp = stpcpy (cp, full_base_name);
|
||||||
cp = stpcpy (cp, header_extension);
|
cp = stpcpy (cp, header_extension);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -211,9 +218,9 @@ skeleton_find (const char *envvar, const char *skeleton_name)
|
|||||||
if (!res)
|
if (!res)
|
||||||
{
|
{
|
||||||
/* Skeleton file name without path */
|
/* Skeleton file name without path */
|
||||||
const char *skel_name = strrchr(skeleton_name, '/');
|
const char *skel_name = strrchr (skeleton_name, '/');
|
||||||
if (!skel_name)
|
if (!skel_name)
|
||||||
skel_name = strrchr(skeleton_name, '\\');
|
skel_name = strrchr (skeleton_name, '\\');
|
||||||
if (!skel_name)
|
if (!skel_name)
|
||||||
skel_name = skeleton_name;
|
skel_name = skeleton_name;
|
||||||
else
|
else
|
||||||
@@ -273,27 +280,6 @@ tr (const char *in, char from, char to)
|
|||||||
return (temp);
|
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. */
|
/* Computes extensions from the grammar file extension. */
|
||||||
static void
|
static void
|
||||||
compute_exts_from_gf (const char *ext)
|
compute_exts_from_gf (const char *ext)
|
||||||
@@ -316,14 +302,61 @@ compute_exts_from_src (const char *ext)
|
|||||||
header_extension = tr (header_extension, 'C', 'H');
|
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. */
|
/* FIXME: Should use xstrndup. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
compute_base_names (void)
|
compute_base_names (void)
|
||||||
{
|
{
|
||||||
size_t base_length;
|
const char *base, *tab, *ext;
|
||||||
size_t short_base_length;
|
|
||||||
size_t ext_index;
|
|
||||||
|
|
||||||
/* If --output=foo.c was specified (SPEC_OUTFILE == foo.c),
|
/* If --output=foo.c was specified (SPEC_OUTFILE == foo.c),
|
||||||
BASE_NAME and SHORT_BASE_NAME are `foo'.
|
BASE_NAME and SHORT_BASE_NAME are `foo'.
|
||||||
@@ -335,94 +368,63 @@ compute_base_names (void)
|
|||||||
files, remove the ".c" or ".tab.c" suffix. */
|
files, remove the ".c" or ".tab.c" suffix. */
|
||||||
if (spec_outfile)
|
if (spec_outfile)
|
||||||
{
|
{
|
||||||
#ifdef MSDOS
|
filename_split (spec_outfile, &base, &tab, &ext);
|
||||||
strlwr (spec_outfile);
|
|
||||||
#endif /* MSDOS */
|
|
||||||
/* BASE_LENGTH includes ".tab" but not ".c". */
|
|
||||||
base_length = strlen (spec_outfile);
|
|
||||||
|
|
||||||
ext_index = get_extension_index (spec_outfile);
|
/* The full base name goes up the EXT, excluding it. */
|
||||||
/* If the initial segment of extension contains 'c' or a 'C', I assume
|
full_base_name =
|
||||||
that it is a C or C++ source file. */
|
xstrndup (spec_outfile,
|
||||||
if (ext_index)
|
(strlen (spec_outfile) - (ext ? strlen (ext) : 0)));
|
||||||
ext_index =
|
/* The short base name goes up to TAB, excluding it. */
|
||||||
(strspn (spec_outfile + ext_index + 1, "cC")) ? ext_index : 0;
|
short_base_name =
|
||||||
if (ext_index)
|
xstrndup (spec_outfile,
|
||||||
{
|
(strlen (spec_outfile)
|
||||||
base_length -= strlen (spec_outfile + ext_index);
|
- (tab ? strlen (tab) : (ext ? strlen (ext) : 0))));
|
||||||
compute_exts_from_src (spec_outfile + ext_index);
|
|
||||||
}
|
|
||||||
|
|
||||||
base_name = strndup (spec_outfile, base_length);
|
if (ext)
|
||||||
/* SHORT_BASE_LENGTH includes neither ".tab" nor ".c". */
|
compute_exts_from_src (ext);
|
||||||
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 --file-prefix=foo was specified, BASE_NAME and SHORT_BASE_NAME
|
/* If --file-prefix=foo was specified, FULL_BASE_NAME = `foo.tab'
|
||||||
are `foo'.
|
and SHORT_BASE_NAME = `foo'.
|
||||||
|
|
||||||
Construct names from it. */
|
Construct names from it. */
|
||||||
if (spec_file_prefix)
|
else
|
||||||
{
|
{
|
||||||
#ifdef MSDOS
|
if (spec_file_prefix)
|
||||||
strlwr (spec_file_prefix);
|
{
|
||||||
#endif /* MSDOS */
|
/* If --file-prefix=foo was specified, SHORT_BASE_NAME =
|
||||||
short_base_name = xstrdup (spec_file_prefix);
|
`foo'. */
|
||||||
base_name = XMALLOC (char,
|
short_base_name = xstrdup (spec_file_prefix);
|
||||||
strlen (short_base_name) + strlen (EXT_TAB) + 1);
|
}
|
||||||
stpcpy (stpcpy (base_name, short_base_name), EXT_TAB);
|
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. */
|
/* In these cases, always append `.tab'. */
|
||||||
ext_index = get_extension_index (infile);
|
full_base_name = XMALLOC (char,
|
||||||
/* If the initial segment of extension contains a 'y' or a 'Y', I assume
|
strlen (short_base_name)
|
||||||
that it is a yacc or bison grammar file. */
|
+ strlen (EXT_TAB) + 1);
|
||||||
if (ext_index)
|
stpcpy (stpcpy (full_base_name, short_base_name), EXT_TAB);
|
||||||
ext_index = (strspn (infile + ext_index + 1, "yY")) ? ext_index : 0;
|
|
||||||
if (ext_index)
|
|
||||||
compute_exts_from_gf (infile + ext_index);
|
|
||||||
|
|
||||||
return;
|
/* Computes the extensions from the grammar file name. */
|
||||||
|
filename_split (infile, &base, &tab, &ext);
|
||||||
|
if (ext)
|
||||||
|
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. |
|
| Close the open files, compute the output files names. |
|
||||||
`-------------------------------------------------------*/
|
`-------------------------------------------------------*/
|
||||||
@@ -440,7 +442,7 @@ compute_output_file_names (void)
|
|||||||
|
|
||||||
/* It the defines filename if not given, we create it. */
|
/* It the defines filename if not given, we create it. */
|
||||||
if (!spec_defines_file)
|
if (!spec_defines_file)
|
||||||
spec_defines_file = stringappend (base_name, header_extension);
|
spec_defines_file = stringappend (full_base_name, header_extension);
|
||||||
|
|
||||||
/* It the graph filename if not given, we create it. */
|
/* It the graph filename if not given, we create it. */
|
||||||
if (!spec_graph_file)
|
if (!spec_graph_file)
|
||||||
@@ -497,7 +499,8 @@ output_files (void)
|
|||||||
if (spec_outfile)
|
if (spec_outfile)
|
||||||
obstack_save (&table_obstack, spec_outfile);
|
obstack_save (&table_obstack, spec_outfile);
|
||||||
else
|
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);
|
obstack_free (&table_obstack, NULL);
|
||||||
|
|
||||||
/* Output the header file if wanted. */
|
/* Output the header file if wanted. */
|
||||||
|
|||||||
+7
-3
@@ -1,7 +1,5 @@
|
|||||||
#ifndef FILES_H_
|
|
||||||
# define FILES_H_
|
|
||||||
/* File names and variables for bison,
|
/* 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.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
@@ -20,6 +18,9 @@
|
|||||||
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02111-1307, USA. */
|
Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
|
#ifndef FILES_H_
|
||||||
|
# define FILES_H_
|
||||||
|
|
||||||
/* These two should be pathnames for opening the sample parser files.
|
/* These two should be pathnames for opening the sample parser files.
|
||||||
When bison is installed, they should be absolute pathnames.
|
When bison is installed, they should be absolute pathnames.
|
||||||
XPFILE1 and XPFILE2 normally come from config.h. */
|
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_find PARAMS ((const char *envvar,
|
||||||
const char *skeleton_name));
|
const char *skeleton_name));
|
||||||
|
|
||||||
|
int strsuffix PARAMS ((const char *string, const char *suffix));
|
||||||
|
|
||||||
#endif /* !FILES_H_ */
|
#endif /* !FILES_H_ */
|
||||||
|
|||||||
+13
-5
@@ -159,6 +159,14 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
|
|||||||
| Process the options. |
|
| Process the options. |
|
||||||
`----------------------*/
|
`----------------------*/
|
||||||
|
|
||||||
|
/* Under DOS, there is no difference on the case. This can be
|
||||||
|
troublesome when looking for `.tab' etc. */
|
||||||
|
#ifdef MSDOS
|
||||||
|
# define AS_FILE_NAME(File) (strlwr (File), (File))
|
||||||
|
#else
|
||||||
|
# define AS_FILE_NAME(File) (File)
|
||||||
|
#endif
|
||||||
|
|
||||||
void
|
void
|
||||||
getargs (int argc, char *argv[])
|
getargs (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
@@ -186,7 +194,7 @@ getargs (int argc, char *argv[])
|
|||||||
case 'g':
|
case 'g':
|
||||||
/* Here, the -g and --graph=FILE options are differentiated. */
|
/* Here, the -g and --graph=FILE options are differentiated. */
|
||||||
graph_flag = 1;
|
graph_flag = 1;
|
||||||
spec_graph_file = optarg;
|
spec_graph_file = AS_FILE_NAME (optarg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'v':
|
case 'v':
|
||||||
@@ -194,13 +202,13 @@ getargs (int argc, char *argv[])
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'S':
|
case 'S':
|
||||||
skeleton = optarg;
|
skeleton = AS_FILE_NAME (optarg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'd':
|
case 'd':
|
||||||
/* Here, the -d and --defines options are differentiated. */
|
/* Here, the -d and --defines options are differentiated. */
|
||||||
defines_flag = 1;
|
defines_flag = 1;
|
||||||
spec_defines_file = optarg;
|
spec_defines_file = AS_FILE_NAME (optarg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'l':
|
case 'l':
|
||||||
@@ -224,11 +232,11 @@ getargs (int argc, char *argv[])
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'o':
|
case 'o':
|
||||||
spec_outfile = optarg;
|
spec_outfile = AS_FILE_NAME (optarg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'b':
|
case 'b':
|
||||||
spec_file_prefix = optarg;
|
spec_file_prefix = AS_FILE_NAME (optarg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'p':
|
case 'p':
|
||||||
|
|||||||
+56
-19
@@ -1,28 +1,27 @@
|
|||||||
/* Allocate input grammar variables for bison,
|
/* Allocate input grammar variables for bison,
|
||||||
Copyright 1984, 1986, 1989, 2001 Free Software Foundation, Inc.
|
Copyright 1984, 1986, 1989, 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
Bison is free software; you can redistribute it and/or modify
|
Bison is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
the Free Software Foundation; either version 2, or (at your option)
|
the Free Software Foundation; either version 2, or (at your option)
|
||||||
any later version.
|
any later version.
|
||||||
|
|
||||||
Bison is distributed in the hope that it will be useful,
|
Bison is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with Bison; see the file COPYING. If not, write to
|
along with Bison; see the file COPYING. If not, write to
|
||||||
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02111-1307, USA. */
|
Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
|
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
#include "gram.h"
|
#include "gram.h"
|
||||||
|
#include "reader.h"
|
||||||
void dummy PARAMS((void));
|
|
||||||
|
|
||||||
/* comments for these variables are in gram.h */
|
/* comments for these variables are in gram.h */
|
||||||
|
|
||||||
@@ -40,7 +39,6 @@ short *sprec = NULL;
|
|||||||
short *rassoc = NULL;
|
short *rassoc = NULL;
|
||||||
short *sassoc = NULL;
|
short *sassoc = NULL;
|
||||||
short *token_translations = NULL;
|
short *token_translations = NULL;
|
||||||
short *rline = NULL;
|
|
||||||
|
|
||||||
int start_symbol;
|
int start_symbol;
|
||||||
|
|
||||||
@@ -52,10 +50,49 @@ int pure_parser;
|
|||||||
|
|
||||||
int error_token_number;
|
int error_token_number;
|
||||||
|
|
||||||
/* This is to avoid linker problems which occur on VMS when using GCC,
|
|
||||||
when the file in question contains data definitions only. */
|
/*------------------------.
|
||||||
|
| Dump RITEM for traces. |
|
||||||
|
`------------------------*/
|
||||||
|
|
||||||
void
|
void
|
||||||
dummy (void)
|
ritem_print (FILE *out)
|
||||||
{
|
{
|
||||||
|
int i;
|
||||||
|
fputs ("RITEM\n", out);
|
||||||
|
for (i = 0; ritem[i]; ++i)
|
||||||
|
if (ritem[i] > 0)
|
||||||
|
fprintf (out, " %s", tags[ritem[i]]);
|
||||||
|
else
|
||||||
|
fprintf (out, " (rule %d)\n", -ritem[i]);
|
||||||
|
fputs ("\n\n", out);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*------------------------------------------.
|
||||||
|
| Return the size of the longest rule RHS. |
|
||||||
|
`------------------------------------------*/
|
||||||
|
|
||||||
|
size_t
|
||||||
|
ritem_longest_rhs (void)
|
||||||
|
{
|
||||||
|
short *itemp;
|
||||||
|
int length;
|
||||||
|
int max;
|
||||||
|
|
||||||
|
length = 0;
|
||||||
|
max = 0;
|
||||||
|
for (itemp = ritem; *itemp; itemp++)
|
||||||
|
if (*itemp > 0)
|
||||||
|
{
|
||||||
|
length++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (length > max)
|
||||||
|
max = length;
|
||||||
|
length = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return max;
|
||||||
}
|
}
|
||||||
|
|||||||
+11
@@ -59,6 +59,8 @@
|
|||||||
|
|
||||||
RULE_TABLE[R].line -- the line where R was defined.
|
RULE_TABLE[R].line -- the line where R was defined.
|
||||||
|
|
||||||
|
RULE_TABLE[R].useful -- TRUE iff the rule is used.
|
||||||
|
|
||||||
The right hand side is stored as symbol numbers in a portion of
|
The right hand side is stored as symbol numbers in a portion of
|
||||||
RITEM.
|
RITEM.
|
||||||
|
|
||||||
@@ -119,6 +121,7 @@ typedef struct rule_s
|
|||||||
short precsym;
|
short precsym;
|
||||||
short assoc;
|
short assoc;
|
||||||
short line;
|
short line;
|
||||||
|
bool useful;
|
||||||
} rule_t;
|
} rule_t;
|
||||||
|
|
||||||
extern struct rule_s *rule_table;
|
extern struct rule_s *rule_table;
|
||||||
@@ -144,4 +147,12 @@ extern int pure_parser;
|
|||||||
/* ERROR_TOKEN_NUMBER is the token number of the error token. */
|
/* ERROR_TOKEN_NUMBER is the token number of the error token. */
|
||||||
|
|
||||||
extern int error_token_number;
|
extern int error_token_number;
|
||||||
|
|
||||||
|
|
||||||
|
/* Dump RITEM for traces. */
|
||||||
|
void ritem_print PARAMS ((FILE *out));
|
||||||
|
|
||||||
|
/* Return the size of the longest rule RHS. */
|
||||||
|
size_t ritem_longest_rhs PARAMS ((void));
|
||||||
|
|
||||||
#endif /* !GRAM_H_ */
|
#endif /* !GRAM_H_ */
|
||||||
|
|||||||
+185
-240
@@ -31,6 +31,7 @@
|
|||||||
#include "lalr.h"
|
#include "lalr.h"
|
||||||
#include "nullable.h"
|
#include "nullable.h"
|
||||||
#include "derives.h"
|
#include "derives.h"
|
||||||
|
#include "getargs.h"
|
||||||
|
|
||||||
/* All the decorated states, indexed by the state number. Warning:
|
/* All the decorated states, indexed by the state number. Warning:
|
||||||
there is a state_TABLE in LR0.c, but it is different and static.
|
there is a state_TABLE in LR0.c, but it is different and static.
|
||||||
@@ -41,82 +42,69 @@ int tokensetsize;
|
|||||||
short *LAruleno;
|
short *LAruleno;
|
||||||
unsigned *LA;
|
unsigned *LA;
|
||||||
|
|
||||||
|
static int ngotos;
|
||||||
short *goto_map;
|
short *goto_map;
|
||||||
short *from_state;
|
short *from_state;
|
||||||
short *to_state;
|
short *to_state;
|
||||||
|
|
||||||
extern void berror PARAMS ((const char *));
|
/* And for the famous F variable, which name is so descriptive that a
|
||||||
|
|
||||||
static int infinity;
|
|
||||||
static int ngotos;
|
|
||||||
|
|
||||||
/* And for the famous F variable, which named is so descriptive that a
|
|
||||||
comment is hardly needed. <grin>. */
|
comment is hardly needed. <grin>. */
|
||||||
static unsigned *F = NULL;
|
static unsigned *F = NULL;
|
||||||
#define F(Rule) (F + (Rule) * tokensetsize)
|
#define F(Rule) (F + (Rule) * tokensetsize)
|
||||||
|
|
||||||
static short **includes;
|
static short **includes;
|
||||||
static shorts **lookback;
|
static shorts **lookback;
|
||||||
|
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------.
|
||||||
|
| digraph & traverse. |
|
||||||
|
| |
|
||||||
|
| The following variables are used as common storage between the |
|
||||||
|
| two. |
|
||||||
|
`---------------------------------------------------------------*/
|
||||||
|
|
||||||
static short **R;
|
static short **R;
|
||||||
static short *INDEX;
|
static short *INDEX;
|
||||||
static short *VERTICES;
|
static short *VERTICES;
|
||||||
static int top;
|
static int top;
|
||||||
|
static int infinity;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
traverse (int i)
|
traverse (int i)
|
||||||
{
|
{
|
||||||
unsigned *fp1;
|
|
||||||
unsigned *fp2;
|
|
||||||
unsigned *fp3;
|
|
||||||
int j;
|
int j;
|
||||||
short *rp;
|
size_t k;
|
||||||
|
|
||||||
int height;
|
int height;
|
||||||
unsigned *base;
|
size_t size = F (i + 1) - F(i);
|
||||||
|
|
||||||
VERTICES[++top] = i;
|
VERTICES[++top] = i;
|
||||||
INDEX[i] = height = top;
|
INDEX[i] = height = top;
|
||||||
|
|
||||||
base = F (i);
|
if (R[i])
|
||||||
fp3 = F (i + 1);
|
for (j = 0; R[i][j] >= 0; ++j)
|
||||||
|
{
|
||||||
|
if (INDEX[R[i][j]] == 0)
|
||||||
|
traverse (R[i][j]);
|
||||||
|
|
||||||
rp = R[i];
|
if (INDEX[i] > INDEX[R[i][j]])
|
||||||
if (rp)
|
INDEX[i] = INDEX[R[i][j]];
|
||||||
{
|
|
||||||
while ((j = *rp++) >= 0)
|
|
||||||
{
|
|
||||||
if (INDEX[j] == 0)
|
|
||||||
traverse (j);
|
|
||||||
|
|
||||||
if (INDEX[i] > INDEX[j])
|
for (k = 0; k < size; ++k)
|
||||||
INDEX[i] = INDEX[j];
|
F (i)[k] |= F (R[i][j])[k];
|
||||||
|
}
|
||||||
fp1 = base;
|
|
||||||
fp2 = F (j);
|
|
||||||
|
|
||||||
while (fp1 < fp3)
|
|
||||||
*fp1++ |= *fp2++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (INDEX[i] == height)
|
if (INDEX[i] == height)
|
||||||
{
|
for (;;)
|
||||||
for (;;)
|
{
|
||||||
{
|
j = VERTICES[top--];
|
||||||
j = VERTICES[top--];
|
INDEX[j] = infinity;
|
||||||
INDEX[j] = infinity;
|
|
||||||
|
|
||||||
if (i == j)
|
if (i == j)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
fp1 = base;
|
for (k = 0; k < size; ++k)
|
||||||
fp2 = F (j);
|
F (j)[k] = F (i)[k];
|
||||||
|
}
|
||||||
while (fp1 < fp3)
|
|
||||||
*fp2++ = *fp1++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -168,13 +156,22 @@ set_state_table (void)
|
|||||||
{
|
{
|
||||||
shifts *sp;
|
shifts *sp;
|
||||||
for (sp = first_shift; sp; sp = sp->next)
|
for (sp = first_shift; sp; sp = sp->next)
|
||||||
state_table[sp->number].shift_table = sp;
|
state_table[sp->number].shifts = sp;
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
reductions *rp;
|
reductions *rp;
|
||||||
for (rp = first_reduction; rp; rp = rp->next)
|
for (rp = first_reduction; rp; rp = rp->next)
|
||||||
state_table[rp->number].reduction_table = rp;
|
state_table[rp->number].reductions = rp;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Pessimization, but simplification of the code: make sense all the
|
||||||
|
states have a shifts, even if reduced to 0 shifts. */
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < nstates; i++)
|
||||||
|
if (!state_table[i].shifts)
|
||||||
|
state_table[i].shifts = shifts_new (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Initializing the lookaheads members. Please note that it must be
|
/* Initializing the lookaheads members. Please note that it must be
|
||||||
@@ -186,60 +183,29 @@ set_state_table (void)
|
|||||||
for (i = 0; i < nstates; i++)
|
for (i = 0; i < nstates; i++)
|
||||||
{
|
{
|
||||||
int k;
|
int k;
|
||||||
reductions *rp = state_table[i].reduction_table;
|
reductions *rp = state_table[i].reductions;
|
||||||
shifts *sp = state_table[i].shift_table;
|
shifts *sp = state_table[i].shifts;
|
||||||
|
|
||||||
state_table[i].lookaheads = count;
|
state_table[i].lookaheads = count;
|
||||||
|
|
||||||
if (rp
|
if (rp
|
||||||
&& (rp->nreds > 1
|
&& (rp->nreds > 1 || (sp->nshifts && SHIFT_IS_SHIFT (sp, 0))))
|
||||||
|| (sp && !ISVAR (state_table[sp->shifts[0]].accessing_symbol))))
|
|
||||||
count += rp->nreds;
|
count += rp->nreds;
|
||||||
else
|
else
|
||||||
state_table[i].consistent = 1;
|
state_table[i].consistent = 1;
|
||||||
|
|
||||||
if (sp)
|
for (k = 0; k < sp->nshifts; k++)
|
||||||
for (k = 0; k < sp->nshifts; k++)
|
if (SHIFT_IS_ERROR (sp, k))
|
||||||
if (state_table[sp->shifts[k]].accessing_symbol
|
{
|
||||||
== error_token_number)
|
state_table[i].consistent = 0;
|
||||||
{
|
break;
|
||||||
state_table[i].consistent = 0;
|
}
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
state_table[nstates].lookaheads = count;
|
state_table[nstates].lookaheads = count;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Return the size of the longest ride hand side of the rules. */
|
|
||||||
static size_t
|
|
||||||
maxrhs (void)
|
|
||||||
{
|
|
||||||
short *itemp;
|
|
||||||
int length;
|
|
||||||
int max;
|
|
||||||
|
|
||||||
length = 0;
|
|
||||||
max = 0;
|
|
||||||
for (itemp = ritem; *itemp; itemp++)
|
|
||||||
{
|
|
||||||
if (*itemp > 0)
|
|
||||||
{
|
|
||||||
length++;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (length > max)
|
|
||||||
max = length;
|
|
||||||
length = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return max;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
initialize_LA (void)
|
initialize_LA (void)
|
||||||
{
|
{
|
||||||
@@ -259,7 +225,7 @@ initialize_LA (void)
|
|||||||
np = LAruleno;
|
np = LAruleno;
|
||||||
for (i = 0; i < nstates; i++)
|
for (i = 0; i < nstates; i++)
|
||||||
if (!state_table[i].consistent)
|
if (!state_table[i].consistent)
|
||||||
if ((rp = state_table[i].reduction_table))
|
if ((rp = state_table[i].reductions))
|
||||||
for (j = 0; j < rp->nreds; j++)
|
for (j = 0; j < rp->nreds; j++)
|
||||||
*np++ = rp->rules[j];
|
*np++ = rp->rules[j];
|
||||||
}
|
}
|
||||||
@@ -281,21 +247,17 @@ set_goto_map (void)
|
|||||||
|
|
||||||
ngotos = 0;
|
ngotos = 0;
|
||||||
for (sp = first_shift; sp; sp = sp->next)
|
for (sp = first_shift; sp; sp = sp->next)
|
||||||
{
|
if (sp->nshifts)
|
||||||
for (i = sp->nshifts - 1; i >= 0; i--)
|
for (i = sp->nshifts - 1; i >= 0 && SHIFT_IS_GOTO (sp, i); --i)
|
||||||
{
|
{
|
||||||
symbol = state_table[sp->shifts[i]].accessing_symbol;
|
symbol = state_table[sp->shifts[i]].accessing_symbol;
|
||||||
|
|
||||||
if (ISTOKEN (symbol))
|
|
||||||
break;
|
|
||||||
|
|
||||||
if (ngotos == MAXSHORT)
|
if (ngotos == MAXSHORT)
|
||||||
fatal (_("too many gotos (max %d)"), MAXSHORT);
|
fatal (_("too many gotos (max %d)"), MAXSHORT);
|
||||||
|
|
||||||
ngotos++;
|
ngotos++;
|
||||||
goto_map[symbol]++;
|
goto_map[symbol]++;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
k = 0;
|
k = 0;
|
||||||
for (i = ntokens; i < nsyms; i++)
|
for (i = ntokens; i < nsyms; i++)
|
||||||
@@ -316,18 +278,16 @@ set_goto_map (void)
|
|||||||
for (sp = first_shift; sp; sp = sp->next)
|
for (sp = first_shift; sp; sp = sp->next)
|
||||||
{
|
{
|
||||||
state1 = sp->number;
|
state1 = sp->number;
|
||||||
for (i = sp->nshifts - 1; i >= 0; i--)
|
if (sp->nshifts)
|
||||||
{
|
for (i = sp->nshifts - 1; i >= 0 && SHIFT_IS_GOTO (sp, i); --i)
|
||||||
state2 = sp->shifts[i];
|
{
|
||||||
symbol = state_table[state2].accessing_symbol;
|
state2 = sp->shifts[i];
|
||||||
|
symbol = state_table[state2].accessing_symbol;
|
||||||
|
|
||||||
if (ISTOKEN (symbol))
|
k = temp_map[symbol]++;
|
||||||
break;
|
from_state[k] = state1;
|
||||||
|
to_state[k] = state2;
|
||||||
k = temp_map[symbol]++;
|
}
|
||||||
from_state[k] = state1;
|
|
||||||
to_state[k] = state2;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
XFREE (temp_map + ntokens);
|
XFREE (temp_map + ntokens);
|
||||||
@@ -371,64 +331,40 @@ map_goto (int state, int symbol)
|
|||||||
static void
|
static void
|
||||||
initialize_F (void)
|
initialize_F (void)
|
||||||
{
|
{
|
||||||
|
short **reads = XCALLOC (short *, ngotos);
|
||||||
|
short *edge = XCALLOC (short, ngotos + 1);
|
||||||
|
int nedges = 0;
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
int j;
|
|
||||||
int k;
|
|
||||||
shifts *sp;
|
|
||||||
short *edge;
|
|
||||||
unsigned *rowp;
|
|
||||||
short *rp;
|
|
||||||
short **reads;
|
|
||||||
int nedges;
|
|
||||||
int stateno;
|
|
||||||
int symbol;
|
|
||||||
int nwords;
|
|
||||||
|
|
||||||
nwords = ngotos * tokensetsize;
|
F = XCALLOC (unsigned, ngotos * tokensetsize);
|
||||||
F = XCALLOC (unsigned, nwords);
|
|
||||||
|
|
||||||
reads = XCALLOC (short *, ngotos);
|
|
||||||
edge = XCALLOC (short, ngotos + 1);
|
|
||||||
nedges = 0;
|
|
||||||
|
|
||||||
rowp = F;
|
|
||||||
for (i = 0; i < ngotos; i++)
|
for (i = 0; i < ngotos; i++)
|
||||||
{
|
{
|
||||||
stateno = to_state[i];
|
int stateno = to_state[i];
|
||||||
sp = state_table[stateno].shift_table;
|
shifts *sp = state_table[stateno].shifts;
|
||||||
|
|
||||||
if (sp)
|
int j;
|
||||||
|
for (j = 0; j < sp->nshifts && SHIFT_IS_SHIFT (sp, j); j++)
|
||||||
{
|
{
|
||||||
k = sp->nshifts;
|
int symbol = state_table[sp->shifts[j]].accessing_symbol;
|
||||||
|
SETBIT (F (i), symbol);
|
||||||
for (j = 0; j < k; j++)
|
|
||||||
{
|
|
||||||
symbol = state_table[sp->shifts[j]].accessing_symbol;
|
|
||||||
if (ISVAR (symbol))
|
|
||||||
break;
|
|
||||||
SETBIT (rowp, symbol);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (; j < k; j++)
|
|
||||||
{
|
|
||||||
symbol = state_table[sp->shifts[j]].accessing_symbol;
|
|
||||||
if (nullable[symbol])
|
|
||||||
edge[nedges++] = map_goto (stateno, symbol);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (nedges)
|
|
||||||
{
|
|
||||||
reads[i] = rp = XCALLOC (short, nedges + 1);
|
|
||||||
|
|
||||||
for (j = 0; j < nedges; j++)
|
|
||||||
rp[j] = edge[j];
|
|
||||||
|
|
||||||
rp[nedges] = -1;
|
|
||||||
nedges = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rowp += tokensetsize;
|
for (; j < sp->nshifts; j++)
|
||||||
|
{
|
||||||
|
int symbol = state_table[sp->shifts[j]].accessing_symbol;
|
||||||
|
if (nullable[symbol])
|
||||||
|
edge[nedges++] = map_goto (stateno, symbol);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nedges)
|
||||||
|
{
|
||||||
|
reads[i] = XCALLOC (short, nedges + 1);
|
||||||
|
shortcpy (reads[i], edge, nedges);
|
||||||
|
reads[i][nedges] = -1;
|
||||||
|
nedges = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
digraph (reads);
|
digraph (reads);
|
||||||
@@ -469,56 +405,87 @@ add_lookback_edge (int stateno, int ruleno, int gotono)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
matrix_print (FILE *out, short **matrix, int n)
|
||||||
|
{
|
||||||
|
int i, j;
|
||||||
|
|
||||||
|
for (i = 0; i < n; ++i)
|
||||||
|
{
|
||||||
|
fprintf (out, "%3d: ", i);
|
||||||
|
if (matrix[i])
|
||||||
|
for (j = 0; matrix[i][j] != -1; ++j)
|
||||||
|
fprintf (out, "%3d ", matrix[i][j]);
|
||||||
|
fputc ('\n', out);
|
||||||
|
}
|
||||||
|
fputc ('\n', out);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*-------------------------------------------------------------------.
|
||||||
|
| Return the transpose of R_ARG, of size N. Destroy R_ARG, as it is |
|
||||||
|
| replaced with the result. |
|
||||||
|
| |
|
||||||
|
| R_ARG[I] is NULL or a -1 terminated list of numbers. |
|
||||||
|
| |
|
||||||
|
| RESULT[NUM] is NULL or the -1 terminated list of the I such as NUM |
|
||||||
|
| is in R_ARG[I]. |
|
||||||
|
`-------------------------------------------------------------------*/
|
||||||
|
|
||||||
static short **
|
static short **
|
||||||
transpose (short **R_arg, int n)
|
transpose (short **R_arg, int n)
|
||||||
{
|
{
|
||||||
short **new_R;
|
/* The result. */
|
||||||
short **temp_R;
|
short **new_R = XCALLOC (short *, n);
|
||||||
short *nedges;
|
/* END_R[I] -- next entry of NEW_R[I]. */
|
||||||
short *sp;
|
short **end_R = XCALLOC (short *, n);
|
||||||
int i;
|
/* NEDGES[I] -- total size of NEW_R[I]. */
|
||||||
int k;
|
short *nedges = XCALLOC (short, n);
|
||||||
|
int i, j;
|
||||||
|
|
||||||
nedges = XCALLOC (short, n);
|
if (trace_flag)
|
||||||
|
|
||||||
for (i = 0; i < n; i++)
|
|
||||||
{
|
{
|
||||||
sp = R_arg[i];
|
fputs ("transpose: input\n", stderr);
|
||||||
if (sp)
|
matrix_print (stderr, R_arg, n);
|
||||||
{
|
|
||||||
while (*sp >= 0)
|
|
||||||
nedges[*sp++]++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
new_R = XCALLOC (short *, n);
|
/* Count. */
|
||||||
temp_R = XCALLOC (short *, n);
|
|
||||||
|
|
||||||
for (i = 0; i < n; i++)
|
for (i = 0; i < n; i++)
|
||||||
{
|
if (R_arg[i])
|
||||||
k = nedges[i];
|
for (j = 0; R_arg[i][j] >= 0; ++j)
|
||||||
if (k > 0)
|
++nedges[R_arg[i][j]];
|
||||||
{
|
|
||||||
sp = XCALLOC (short, k + 1);
|
|
||||||
new_R[i] = sp;
|
|
||||||
temp_R[i] = sp;
|
|
||||||
sp[k] = -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
XFREE (nedges);
|
|
||||||
|
|
||||||
|
/* Allocate. */
|
||||||
for (i = 0; i < n; i++)
|
for (i = 0; i < n; i++)
|
||||||
{
|
if (nedges[i] > 0)
|
||||||
sp = R_arg[i];
|
{
|
||||||
if (sp)
|
short *sp = XCALLOC (short, nedges[i] + 1);
|
||||||
{
|
sp[nedges[i]] = -1;
|
||||||
while (*sp >= 0)
|
new_R[i] = sp;
|
||||||
*temp_R[*sp++]++ = i;
|
end_R[i] = sp;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
XFREE (temp_R);
|
/* Store. */
|
||||||
|
for (i = 0; i < n; i++)
|
||||||
|
if (R_arg[i])
|
||||||
|
for (j = 0; R_arg[i][j] >= 0; ++j)
|
||||||
|
{
|
||||||
|
*end_R[R_arg[i][j]] = i;
|
||||||
|
++end_R[R_arg[i][j]];
|
||||||
|
}
|
||||||
|
|
||||||
|
free (nedges);
|
||||||
|
free (end_R);
|
||||||
|
|
||||||
|
/* Free the input: it is replaced with the result. */
|
||||||
|
for (i = 0; i < n; i++)
|
||||||
|
XFREE (R_arg[i]);
|
||||||
|
free (R_arg);
|
||||||
|
|
||||||
|
if (trace_flag)
|
||||||
|
{
|
||||||
|
fputs ("transpose: output\n", stderr);
|
||||||
|
matrix_print (stderr, new_R, n);
|
||||||
|
}
|
||||||
|
|
||||||
return new_R;
|
return new_R;
|
||||||
}
|
}
|
||||||
@@ -527,50 +494,35 @@ transpose (short **R_arg, int n)
|
|||||||
static void
|
static void
|
||||||
build_relations (void)
|
build_relations (void)
|
||||||
{
|
{
|
||||||
|
short *edge = XCALLOC (short, ngotos + 1);
|
||||||
|
short *states = XCALLOC (short, ritem_longest_rhs () + 1);
|
||||||
int i;
|
int i;
|
||||||
int j;
|
|
||||||
int k;
|
|
||||||
short *rulep;
|
|
||||||
short *rp;
|
|
||||||
shifts *sp;
|
|
||||||
int length;
|
|
||||||
int nedges;
|
|
||||||
int done;
|
|
||||||
int state1;
|
|
||||||
int stateno;
|
|
||||||
int symbol1;
|
|
||||||
int symbol2;
|
|
||||||
short *shortp;
|
|
||||||
short *edge;
|
|
||||||
short *states;
|
|
||||||
short **new_includes;
|
|
||||||
|
|
||||||
includes = XCALLOC (short *, ngotos);
|
includes = XCALLOC (short *, ngotos);
|
||||||
edge = XCALLOC (short, ngotos + 1);
|
|
||||||
states = XCALLOC (short, maxrhs () + 1);
|
|
||||||
|
|
||||||
for (i = 0; i < ngotos; i++)
|
for (i = 0; i < ngotos; i++)
|
||||||
{
|
{
|
||||||
nedges = 0;
|
int nedges = 0;
|
||||||
state1 = from_state[i];
|
int state1 = from_state[i];
|
||||||
symbol1 = state_table[to_state[i]].accessing_symbol;
|
int symbol1 = state_table[to_state[i]].accessing_symbol;
|
||||||
|
short *rulep;
|
||||||
|
|
||||||
for (rulep = derives[symbol1]; *rulep > 0; rulep++)
|
for (rulep = derives[symbol1]; *rulep > 0; rulep++)
|
||||||
{
|
{
|
||||||
length = 1;
|
int done;
|
||||||
|
int length = 1;
|
||||||
|
int stateno = state1;
|
||||||
|
short *rp;
|
||||||
states[0] = state1;
|
states[0] = state1;
|
||||||
stateno = state1;
|
|
||||||
|
|
||||||
for (rp = ritem + rule_table[*rulep].rhs; *rp > 0; rp++)
|
for (rp = ritem + rule_table[*rulep].rhs; *rp > 0; rp++)
|
||||||
{
|
{
|
||||||
symbol2 = *rp;
|
shifts *sp = state_table[stateno].shifts;
|
||||||
sp = state_table[stateno].shift_table;
|
int j;
|
||||||
k = sp->nshifts;
|
for (j = 0; j < sp->nshifts; j++)
|
||||||
|
|
||||||
for (j = 0; j < k; j++)
|
|
||||||
{
|
{
|
||||||
stateno = sp->shifts[j];
|
stateno = sp->shifts[j];
|
||||||
if (state_table[stateno].accessing_symbol == symbol2)
|
if (state_table[stateno].accessing_symbol == *rp)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -599,25 +551,18 @@ build_relations (void)
|
|||||||
|
|
||||||
if (nedges)
|
if (nedges)
|
||||||
{
|
{
|
||||||
includes[i] = shortp = XCALLOC (short, nedges + 1);
|
int j;
|
||||||
|
includes[i] = XCALLOC (short, nedges + 1);
|
||||||
for (j = 0; j < nedges; j++)
|
for (j = 0; j < nedges; j++)
|
||||||
shortp[j] = edge[j];
|
includes[i][j] = edge[j];
|
||||||
shortp[nedges] = -1;
|
includes[i][nedges] = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
new_includes = transpose (includes, ngotos);
|
|
||||||
|
|
||||||
for (i = 0; i < ngotos; i++)
|
|
||||||
if (includes[i])
|
|
||||||
XFREE (includes[i]);
|
|
||||||
|
|
||||||
XFREE (includes);
|
|
||||||
|
|
||||||
includes = new_includes;
|
|
||||||
|
|
||||||
XFREE (edge);
|
XFREE (edge);
|
||||||
XFREE (states);
|
XFREE (states);
|
||||||
|
|
||||||
|
includes = transpose (includes, ngotos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -645,10 +590,10 @@ compute_lookaheads (void)
|
|||||||
for (i = 0; i < state_table[nstates].lookaheads; i++)
|
for (i = 0; i < state_table[nstates].lookaheads; i++)
|
||||||
for (sp = lookback[i]; sp; sp = sp->next)
|
for (sp = lookback[i]; sp; sp = sp->next)
|
||||||
{
|
{
|
||||||
unsigned *fp1 = LA (i);
|
int size = LA (i + 1) - LA (i);
|
||||||
unsigned *fp2 = F (sp->value);
|
int j;
|
||||||
while (fp1 < LA (i + 1))
|
for (j = 0; j < size; ++j)
|
||||||
*fp1++ |= *fp2++;
|
LA (i)[j] |= F (sp->value)[j];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Free LOOKBACK. */
|
/* Free LOOKBACK. */
|
||||||
|
|||||||
+3
-2
@@ -78,8 +78,9 @@ typedef struct state_s
|
|||||||
/* Its accessing symbol. */
|
/* Its accessing symbol. */
|
||||||
short accessing_symbol;
|
short accessing_symbol;
|
||||||
|
|
||||||
shifts *shift_table;
|
shifts *shifts;
|
||||||
reductions *reduction_table;
|
reductions *reductions;
|
||||||
|
errs *errs;
|
||||||
|
|
||||||
/* Nonzero if no lookahead is needed to decide what to do in state
|
/* Nonzero if no lookahead is needed to decide what to do in state
|
||||||
S. */
|
S. */
|
||||||
|
|||||||
+8
-13
@@ -1,5 +1,5 @@
|
|||||||
/* Top level entry point of bison,
|
/* Top level entry point of bison,
|
||||||
Copyright 1984, 1986, 1989, 1992, 1995, 2000
|
Copyright 1984, 1986, 1989, 1992, 1995, 2000, 2001
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
@@ -40,7 +40,6 @@
|
|||||||
/* The name this program was run with, for messages. */
|
/* The name this program was run with, for messages. */
|
||||||
char *program_name;
|
char *program_name;
|
||||||
|
|
||||||
extern void berror PARAMS((const char *));
|
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char *argv[])
|
main (int argc, char *argv[])
|
||||||
@@ -62,8 +61,7 @@ main (int argc, char *argv[])
|
|||||||
if (complain_message_count)
|
if (complain_message_count)
|
||||||
exit (1);
|
exit (1);
|
||||||
|
|
||||||
/* Find useless nonterminals and productions and reduce the grammar.
|
/* Find useless nonterminals and productions and reduce the grammar. */
|
||||||
In file reduce.c. */
|
|
||||||
reduce_grammar ();
|
reduce_grammar ();
|
||||||
|
|
||||||
/* Record other info about the grammar. In files derives and
|
/* Record other info about the grammar. In files derives and
|
||||||
@@ -117,14 +115,11 @@ main (int argc, char *argv[])
|
|||||||
|
|
||||||
output_files ();
|
output_files ();
|
||||||
|
|
||||||
|
/* If using alloca.c, flush the alloca'ed memory for the benefit of
|
||||||
|
people running Bison as a library in IDEs. */
|
||||||
|
#if C_ALLOCA
|
||||||
|
alloca (0);
|
||||||
|
#endif
|
||||||
|
|
||||||
return complain_message_count ? EXIT_FAILURE : EXIT_SUCCESS;
|
return complain_message_count ? EXIT_FAILURE : EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Abort for an internal error denoted by string S. */
|
|
||||||
|
|
||||||
void
|
|
||||||
berror (const char *s)
|
|
||||||
{
|
|
||||||
fprintf (stderr, _("%s: internal error: %s\n"), program_name, s);
|
|
||||||
abort ();
|
|
||||||
}
|
|
||||||
|
|||||||
+47
-58
@@ -28,6 +28,7 @@
|
|||||||
#include "reader.h"
|
#include "reader.h"
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
#include "gram.h"
|
#include "gram.h"
|
||||||
|
#include "reduce.h"
|
||||||
#include "nullable.h"
|
#include "nullable.h"
|
||||||
|
|
||||||
char *nullable = NULL;
|
char *nullable = NULL;
|
||||||
@@ -45,87 +46,75 @@ nullable_print (FILE *out)
|
|||||||
void
|
void
|
||||||
set_nullable (void)
|
set_nullable (void)
|
||||||
{
|
{
|
||||||
short *r;
|
int ruleno;
|
||||||
short *s1;
|
short *s1;
|
||||||
short *s2;
|
short *s2;
|
||||||
shorts *p;
|
shorts *p;
|
||||||
|
|
||||||
short *squeue;
|
short *squeue = XCALLOC (short, nvars);
|
||||||
short *rcount;
|
short *rcount = XCALLOC (short, nrules + 1);
|
||||||
shorts **rsets;
|
/* RITEM contains all the rules, including useless productions.
|
||||||
shorts *relts;
|
Hence we must allocate room for useless nonterminals too. */
|
||||||
|
shorts **rsets = XCALLOC (shorts *, nvars) - ntokens;
|
||||||
|
/* This is said to be more elements than we actually use.
|
||||||
|
Supposedly nitems - nrules is enough. But why take the risk? */
|
||||||
|
shorts *relts = XCALLOC (shorts, nitems + nvars + 1);
|
||||||
|
|
||||||
if (trace_flag)
|
if (trace_flag)
|
||||||
fprintf (stderr, "Entering set_nullable\n");
|
fprintf (stderr, "Entering set_nullable\n");
|
||||||
|
|
||||||
nullable = XCALLOC (char, nvars) - ntokens;
|
nullable = XCALLOC (char, nvars) - ntokens;
|
||||||
|
|
||||||
squeue = XCALLOC (short, nvars);
|
|
||||||
s1 = s2 = squeue;
|
s1 = s2 = squeue;
|
||||||
|
|
||||||
rcount = XCALLOC (short, nrules + 1);
|
|
||||||
rsets = XCALLOC (shorts *, nvars) - ntokens;
|
|
||||||
/* This is said to be more elements than we actually use.
|
|
||||||
Supposedly nitems - nrules is enough.
|
|
||||||
But why take the risk? */
|
|
||||||
relts = XCALLOC (shorts, nitems + nvars + 1);
|
|
||||||
p = relts;
|
p = relts;
|
||||||
|
|
||||||
r = ritem;
|
for (ruleno = 1; ruleno < nrules + 1; ++ruleno)
|
||||||
while (*r)
|
if (rule_table[ruleno].useful)
|
||||||
{
|
{
|
||||||
if (*r < 0)
|
if (ritem[rule_table[ruleno].rhs] > 0)
|
||||||
{
|
{
|
||||||
int symbol = rule_table[-(*r++)].lhs;
|
/* This rule has a non empty RHS. */
|
||||||
if (symbol >= 0 && !nullable[symbol])
|
short *r;
|
||||||
{
|
int any_tokens = 0;
|
||||||
nullable[symbol] = 1;
|
for (r = ritem + rule_table[ruleno].rhs; *r > 0; ++r)
|
||||||
*s2++ = symbol;
|
if (ISTOKEN (*r))
|
||||||
}
|
any_tokens = 1;
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
int any_tokens = 0;
|
|
||||||
int symbol;
|
|
||||||
short *r1 = r;
|
|
||||||
for (symbol = *r++; symbol > 0; symbol = *r++)
|
|
||||||
if (ISTOKEN (symbol))
|
|
||||||
any_tokens = 1;
|
|
||||||
|
|
||||||
if (!any_tokens)
|
/* This rule has only nonterminals: schedule it for the second
|
||||||
{
|
pass. */
|
||||||
int ruleno = -symbol;
|
if (!any_tokens)
|
||||||
r = r1;
|
for (r = ritem + rule_table[ruleno].rhs; *r > 0; ++r)
|
||||||
for (symbol = *r++; symbol > 0; symbol = *r++)
|
|
||||||
{
|
{
|
||||||
rcount[ruleno]++;
|
rcount[ruleno]++;
|
||||||
p->next = rsets[symbol];
|
p->next = rsets[*r];
|
||||||
p->value = ruleno;
|
p->value = ruleno;
|
||||||
rsets[symbol] = p;
|
rsets[*r] = p;
|
||||||
p++;
|
p++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
}
|
{
|
||||||
|
/* This rule has an empty RHS. */
|
||||||
|
assert (ritem[rule_table[ruleno].rhs] == -ruleno);
|
||||||
|
if (rule_table[ruleno].useful && !nullable[rule_table[ruleno].lhs])
|
||||||
|
{
|
||||||
|
nullable[rule_table[ruleno].lhs] = 1;
|
||||||
|
*s2++ = rule_table[ruleno].lhs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
while (s1 < s2)
|
while (s1 < s2)
|
||||||
{
|
for (p = rsets[*s1++]; p; p = p->next)
|
||||||
p = rsets[*s1++];
|
{
|
||||||
while (p)
|
ruleno = p->value;
|
||||||
{
|
if (--rcount[ruleno] == 0)
|
||||||
int ruleno = p->value;
|
if (rule_table[ruleno].useful && !nullable[rule_table[ruleno].lhs])
|
||||||
p = p->next;
|
|
||||||
if (--rcount[ruleno] == 0)
|
|
||||||
{
|
{
|
||||||
int symbol = rule_table[ruleno].lhs;
|
nullable[rule_table[ruleno].lhs] = 1;
|
||||||
if (symbol >= 0 && !nullable[symbol])
|
*s2++ = rule_table[ruleno].lhs;
|
||||||
{
|
|
||||||
nullable[symbol] = 1;
|
|
||||||
*s2++ = symbol;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
XFREE (squeue);
|
XFREE (squeue);
|
||||||
XFREE (rcount);
|
XFREE (rcount);
|
||||||
|
|||||||
+38
-70
@@ -1,5 +1,7 @@
|
|||||||
/* Output the generated parsing program for bison,
|
/* Output the generated parsing program for bison,
|
||||||
Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.
|
|
||||||
|
Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001 Free Software
|
||||||
|
Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
@@ -103,9 +105,6 @@
|
|||||||
#include "reader.h"
|
#include "reader.h"
|
||||||
#include "conflicts.h"
|
#include "conflicts.h"
|
||||||
|
|
||||||
extern void berror PARAMS((const char *));
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int nvectors;
|
static int nvectors;
|
||||||
static int nentries;
|
static int nentries;
|
||||||
@@ -132,7 +131,7 @@ output_short_or_char_table (struct obstack *oout,
|
|||||||
const char *table_name,
|
const char *table_name,
|
||||||
short *short_table,
|
short *short_table,
|
||||||
short first_value,
|
short first_value,
|
||||||
short begin, short end)
|
int begin, int end)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
@@ -170,7 +169,7 @@ output_short_table (struct obstack *oout,
|
|||||||
const char *table_name,
|
const char *table_name,
|
||||||
short *short_table,
|
short *short_table,
|
||||||
short first_value,
|
short first_value,
|
||||||
short begin, short end)
|
int begin, int end)
|
||||||
{
|
{
|
||||||
output_short_or_char_table (oout, comment, "short", table_name, short_table,
|
output_short_or_char_table (oout, comment, "short", table_name, short_table,
|
||||||
first_value, begin, end);
|
first_value, begin, end);
|
||||||
@@ -317,7 +316,7 @@ output_gram (void)
|
|||||||
yyprhs and yyrhs are needed only for yydebug. */
|
yyprhs and yyrhs are needed only for yydebug. */
|
||||||
/* With the no_parser option, all tables are generated */
|
/* With the no_parser option, all tables are generated */
|
||||||
if (!semantic_parser && !no_parser_flag)
|
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;
|
int i;
|
||||||
@@ -373,7 +372,7 @@ output_rule_data (void)
|
|||||||
short *short_tab = NULL;
|
short *short_tab = NULL;
|
||||||
|
|
||||||
obstack_sgrow (&table_obstack, "\n\
|
obstack_sgrow (&table_obstack, "\n\
|
||||||
#if YYDEBUG != 0\n");
|
#if YYDEBUG\n");
|
||||||
|
|
||||||
{
|
{
|
||||||
short *values = XCALLOC (short, nrules + 1);
|
short *values = XCALLOC (short, nrules + 1);
|
||||||
@@ -401,7 +400,7 @@ output_rule_data (void)
|
|||||||
/* Output the table of symbol names. */
|
/* Output the table of symbol names. */
|
||||||
if (!token_table_flag && !no_parser_flag)
|
if (!token_table_flag && !no_parser_flag)
|
||||||
obstack_sgrow (&table_obstack,
|
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, "\
|
obstack_sgrow (&table_obstack, "\
|
||||||
/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */\n");
|
/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */\n");
|
||||||
obstack_sgrow (&table_obstack,
|
obstack_sgrow (&table_obstack,
|
||||||
@@ -529,15 +528,11 @@ action_row (int state)
|
|||||||
int k;
|
int k;
|
||||||
int m = 0;
|
int m = 0;
|
||||||
int n = 0;
|
int n = 0;
|
||||||
int count;
|
|
||||||
int default_rule;
|
int default_rule;
|
||||||
int nreds;
|
int nreds;
|
||||||
int max;
|
|
||||||
int rule;
|
int rule;
|
||||||
int shift_state;
|
int shift_state;
|
||||||
int symbol;
|
int symbol;
|
||||||
unsigned mask;
|
|
||||||
unsigned *wordp;
|
|
||||||
reductions *redp;
|
reductions *redp;
|
||||||
shifts *shiftp;
|
shifts *shiftp;
|
||||||
errs *errp;
|
errs *errp;
|
||||||
@@ -548,7 +543,7 @@ action_row (int state)
|
|||||||
|
|
||||||
default_rule = 0;
|
default_rule = 0;
|
||||||
nreds = 0;
|
nreds = 0;
|
||||||
redp = state_table[state].reduction_table;
|
redp = state_table[state].reductions;
|
||||||
|
|
||||||
if (redp)
|
if (redp)
|
||||||
{
|
{
|
||||||
@@ -562,65 +557,42 @@ action_row (int state)
|
|||||||
n = state_table[state + 1].lookaheads;
|
n = state_table[state + 1].lookaheads;
|
||||||
|
|
||||||
for (i = n - 1; i >= m; i--)
|
for (i = n - 1; i >= m; i--)
|
||||||
{
|
/* and find each token which the rule finds acceptable
|
||||||
rule = -LAruleno[i];
|
to come next */
|
||||||
wordp = LA (i);
|
for (j = 0; j < ntokens; j++)
|
||||||
mask = 1;
|
/* and record this rule as the rule to use if that
|
||||||
|
token follows. */
|
||||||
/* and find each token which the rule finds acceptable
|
if (BITISSET (LA (i), j))
|
||||||
to come next */
|
actrow[j] = -LAruleno[i];
|
||||||
for (j = 0; j < ntokens; j++)
|
|
||||||
{
|
|
||||||
/* and record this rule as the rule to use if that
|
|
||||||
token follows. */
|
|
||||||
if (mask & *wordp)
|
|
||||||
actrow[j] = rule;
|
|
||||||
|
|
||||||
mask <<= 1;
|
|
||||||
if (mask == 0)
|
|
||||||
{
|
|
||||||
mask = 1;
|
|
||||||
wordp++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
shiftp = state_table[state].shift_table;
|
|
||||||
|
|
||||||
/* Now see which tokens are allowed for shifts in this state. For
|
/* Now see which tokens are allowed for shifts in this state. For
|
||||||
them, record the shift as the thing to do. So shift is preferred
|
them, record the shift as the thing to do. So shift is preferred
|
||||||
to reduce. */
|
to reduce. */
|
||||||
|
shiftp = state_table[state].shifts;
|
||||||
if (shiftp)
|
for (i = 0; i < shiftp->nshifts; i++)
|
||||||
{
|
{
|
||||||
k = shiftp->nshifts;
|
shift_state = shiftp->shifts[i];
|
||||||
|
if (!shift_state)
|
||||||
|
continue;
|
||||||
|
|
||||||
for (i = 0; i < k; i++)
|
symbol = state_table[shift_state].accessing_symbol;
|
||||||
{
|
|
||||||
shift_state = shiftp->shifts[i];
|
|
||||||
if (!shift_state)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
symbol = state_table[shift_state].accessing_symbol;
|
if (ISVAR (symbol))
|
||||||
|
break;
|
||||||
|
|
||||||
if (ISVAR (symbol))
|
actrow[symbol] = shift_state;
|
||||||
break;
|
|
||||||
|
|
||||||
actrow[symbol] = shift_state;
|
/* Do not use any default reduction if there is a shift for
|
||||||
|
error */
|
||||||
/* Do not use any default reduction if there is a shift for
|
if (symbol == error_token_number)
|
||||||
error */
|
nodefault = 1;
|
||||||
if (symbol == error_token_number)
|
|
||||||
nodefault = 1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
errp = err_table[state];
|
|
||||||
|
|
||||||
/* See which tokens are an explicit error in this state (due to
|
/* See which tokens are an explicit error in this state (due to
|
||||||
%nonassoc). For them, record MINSHORT as the action. */
|
%nonassoc). For them, record MINSHORT as the action. */
|
||||||
|
errp = state_table[state].errs;
|
||||||
|
|
||||||
if (errp)
|
if (errp)
|
||||||
{
|
{
|
||||||
@@ -642,10 +614,10 @@ action_row (int state)
|
|||||||
default_rule = redp->rules[0];
|
default_rule = redp->rules[0];
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
max = 0;
|
int max = 0;
|
||||||
for (i = m; i < n; i++)
|
for (i = m; i < n; i++)
|
||||||
{
|
{
|
||||||
count = 0;
|
int count = 0;
|
||||||
rule = -LAruleno[i];
|
rule = -LAruleno[i];
|
||||||
|
|
||||||
for (j = 0; j < ntokens; j++)
|
for (j = 0; j < ntokens; j++)
|
||||||
@@ -1006,9 +978,9 @@ pack_vector (int vector)
|
|||||||
return j;
|
return j;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#define pack_vector_succeeded 0
|
||||||
berror ("pack_vector");
|
assert (pack_vector_succeeded);
|
||||||
return 0; /* JF keep lint happy */
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1296,20 +1268,16 @@ output (void)
|
|||||||
obstack_grow (&table_obstack, obstack_finish (&attrs_obstack), size);
|
obstack_grow (&table_obstack, obstack_finish (&attrs_obstack), size);
|
||||||
}
|
}
|
||||||
reader_output_yylsp (&table_obstack);
|
reader_output_yylsp (&table_obstack);
|
||||||
if (debug_flag)
|
obstack_fgrow1 (&table_obstack, "\
|
||||||
obstack_sgrow (&table_obstack, "\
|
|
||||||
#ifndef YYDEBUG\n\
|
#ifndef YYDEBUG\n\
|
||||||
# define YYDEBUG 1\n\
|
# define YYDEBUG %d\n\
|
||||||
#endif\n\
|
#endif\n\
|
||||||
\n");
|
\n", debug_flag);
|
||||||
|
|
||||||
if (semantic_parser)
|
if (semantic_parser)
|
||||||
obstack_fgrow1 (&table_obstack, "#include %s\n",
|
obstack_fgrow1 (&table_obstack, "#include %s\n",
|
||||||
quotearg_style (c_quoting_style, attrsfile));
|
quotearg_style (c_quoting_style, attrsfile));
|
||||||
|
|
||||||
if (!no_parser_flag)
|
|
||||||
obstack_sgrow (&table_obstack, "#include <stdio.h>\n\n");
|
|
||||||
|
|
||||||
LIST_FREE (core, first_state);
|
LIST_FREE (core, first_state);
|
||||||
output_defines ();
|
output_defines ();
|
||||||
output_token_translations ();
|
output_token_translations ();
|
||||||
|
|||||||
+93
-82
@@ -30,6 +30,7 @@
|
|||||||
#include "reader.h"
|
#include "reader.h"
|
||||||
#include "print.h"
|
#include "print.h"
|
||||||
#include "reduce.h"
|
#include "reduce.h"
|
||||||
|
#include "closure.h"
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
static void
|
static void
|
||||||
@@ -48,51 +49,60 @@ static void
|
|||||||
print_core (FILE *out, int state)
|
print_core (FILE *out, int state)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
core *statep = state_table[state].state;
|
short *sitems = state_table[state].state->items;
|
||||||
|
int snitems = state_table[state].state->nitems;
|
||||||
|
|
||||||
if (!statep->nitems)
|
/* New experimental feature: if TRACE_FLAGS output all the items of
|
||||||
return;
|
a state, not only its kernel. */
|
||||||
|
if (trace_flag)
|
||||||
for (i = 0; i < statep->nitems; i++)
|
|
||||||
{
|
{
|
||||||
short *sp;
|
closure (sitems, snitems);
|
||||||
short *sp1;
|
sitems = itemset;
|
||||||
int rule;
|
snitems = nitemset;
|
||||||
|
|
||||||
sp1 = sp = ritem + statep->items[i];
|
|
||||||
|
|
||||||
while (*sp > 0)
|
|
||||||
sp++;
|
|
||||||
|
|
||||||
rule = -(*sp);
|
|
||||||
fprintf (out, " %s -> ", tags[rule_table[rule].lhs]);
|
|
||||||
|
|
||||||
for (sp = ritem + rule_table[rule].rhs; sp < sp1; sp++)
|
|
||||||
fprintf (out, "%s ", tags[*sp]);
|
|
||||||
|
|
||||||
fputc ('.', out);
|
|
||||||
|
|
||||||
for (/* Nothing */; *sp > 0; ++sp)
|
|
||||||
fprintf (out, " %s", tags[*sp]);
|
|
||||||
|
|
||||||
fprintf (out, _(" (rule %d)"), rule);
|
|
||||||
fputc ('\n', out);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fputc ('\n', out);
|
if (snitems)
|
||||||
|
{
|
||||||
|
for (i = 0; i < snitems; i++)
|
||||||
|
{
|
||||||
|
short *sp;
|
||||||
|
short *sp1;
|
||||||
|
int rule;
|
||||||
|
|
||||||
|
sp1 = sp = ritem + sitems[i];
|
||||||
|
|
||||||
|
while (*sp > 0)
|
||||||
|
sp++;
|
||||||
|
|
||||||
|
rule = -(*sp);
|
||||||
|
fprintf (out, " %s -> ", tags[rule_table[rule].lhs]);
|
||||||
|
|
||||||
|
for (sp = ritem + rule_table[rule].rhs; sp < sp1; sp++)
|
||||||
|
fprintf (out, "%s ", tags[*sp]);
|
||||||
|
|
||||||
|
fputc ('.', out);
|
||||||
|
|
||||||
|
for (/* Nothing */; *sp > 0; ++sp)
|
||||||
|
fprintf (out, " %s", tags[*sp]);
|
||||||
|
|
||||||
|
fprintf (out, _(" (rule %d)"), rule);
|
||||||
|
fputc ('\n', out);
|
||||||
|
}
|
||||||
|
|
||||||
|
fputc ('\n', out);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
print_actions (FILE *out, int state)
|
print_actions (FILE *out, int state)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int k;
|
|
||||||
|
|
||||||
shifts *shiftp = state_table[state].shift_table;
|
shifts *shiftp = state_table[state].shifts;
|
||||||
reductions *redp = state_table[state].reduction_table;
|
reductions *redp = state_table[state].reductions;
|
||||||
errs *errp = err_table[state];
|
errs *errp = state_table[state].errs;
|
||||||
|
|
||||||
if (!shiftp && !redp)
|
if (!shiftp->nshifts && !redp)
|
||||||
{
|
{
|
||||||
if (final_state == state)
|
if (final_state == state)
|
||||||
fprintf (out, _(" $default\taccept\n"));
|
fprintf (out, _(" $default\taccept\n"));
|
||||||
@@ -101,37 +111,25 @@ print_actions (FILE *out, int state)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shiftp)
|
for (i = 0; i < shiftp->nshifts; i++)
|
||||||
{
|
if (!SHIFT_IS_DISABLED (shiftp, i))
|
||||||
k = shiftp->nshifts;
|
{
|
||||||
|
int state1 = shiftp->shifts[i];
|
||||||
|
int symbol = state_table[state1].accessing_symbol;
|
||||||
|
/* The following line used to be turned off. */
|
||||||
|
if (ISVAR (symbol))
|
||||||
|
break;
|
||||||
|
if (symbol == 0) /* I.e. strcmp(tags[symbol],"$")==0 */
|
||||||
|
fprintf (out,
|
||||||
|
_(" $ \tgo to state %d\n"), state1);
|
||||||
|
else
|
||||||
|
fprintf (out,
|
||||||
|
_(" %-4s\tshift, and go to state %d\n"),
|
||||||
|
tags[symbol], state1);
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < k; i++)
|
if (i > 0)
|
||||||
{
|
fputc ('\n', out);
|
||||||
int symbol;
|
|
||||||
int state1 = shiftp->shifts[i];
|
|
||||||
if (!state1)
|
|
||||||
continue;
|
|
||||||
symbol = state_table[state1].accessing_symbol;
|
|
||||||
/* The following line used to be turned off. */
|
|
||||||
if (ISVAR (symbol))
|
|
||||||
break;
|
|
||||||
if (symbol == 0) /* I.e. strcmp(tags[symbol],"$")==0 */
|
|
||||||
fprintf (out,
|
|
||||||
_(" $ \tgo to state %d\n"), state1);
|
|
||||||
else
|
|
||||||
fprintf (out,
|
|
||||||
_(" %-4s\tshift, and go to state %d\n"),
|
|
||||||
tags[symbol], state1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (i > 0)
|
|
||||||
fputc ('\n', out);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
i = 0;
|
|
||||||
k = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (errp)
|
if (errp)
|
||||||
{
|
{
|
||||||
@@ -161,18 +159,16 @@ print_actions (FILE *out, int state)
|
|||||||
print_reductions (out, state);
|
print_reductions (out, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i < k)
|
if (i < shiftp->nshifts)
|
||||||
{
|
{
|
||||||
for (; i < k; i++)
|
for (; i < shiftp->nshifts; i++)
|
||||||
{
|
if (!SHIFT_IS_DISABLED (shiftp, i))
|
||||||
int symbol;
|
{
|
||||||
int state1 = shiftp->shifts[i];
|
int state1 = shiftp->shifts[i];
|
||||||
if (!state1)
|
int symbol = state_table[state1].accessing_symbol;
|
||||||
continue;
|
fprintf (out, _(" %-4s\tgo to state %d\n"),
|
||||||
symbol = state_table[state1].accessing_symbol;
|
tags[symbol], state1);
|
||||||
fprintf (out, _(" %-4s\tgo to state %d\n"),
|
}
|
||||||
tags[symbol], state1);
|
|
||||||
}
|
|
||||||
|
|
||||||
fputc ('\n', out);
|
fputc ('\n', out);
|
||||||
}
|
}
|
||||||
@@ -181,11 +177,11 @@ print_actions (FILE *out, int state)
|
|||||||
static void
|
static void
|
||||||
print_state (FILE *out, int state)
|
print_state (FILE *out, int state)
|
||||||
{
|
{
|
||||||
fputs ("\n\n", out);
|
|
||||||
fprintf (out, _("state %d"), state);
|
fprintf (out, _("state %d"), state);
|
||||||
fputs ("\n\n", out);
|
fputs ("\n\n", out);
|
||||||
print_core (out, state);
|
print_core (out, state);
|
||||||
print_actions (out, state);
|
print_actions (out, state);
|
||||||
|
fputs ("\n\n", out);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-----------------------------------------.
|
/*-----------------------------------------.
|
||||||
@@ -212,23 +208,27 @@ print_grammar (FILE *out)
|
|||||||
int column = 0;
|
int column = 0;
|
||||||
|
|
||||||
/* rule # : LHS -> RHS */
|
/* rule # : LHS -> RHS */
|
||||||
fprintf (out, "\n%s\n\n", _("Grammar"));
|
fprintf (out, "%s\n\n", _("Grammar"));
|
||||||
|
fprintf (out, " %s\n", _("Number, Line, Rule"));
|
||||||
for (i = 1; i <= nrules; i++)
|
for (i = 1; i <= nrules; i++)
|
||||||
/* Don't print rules disabled in reduce_grammar_tables. */
|
/* Don't print rules disabled in reduce_grammar_tables. */
|
||||||
if (rule_table[i].lhs >= 0)
|
if (rule_table[i].useful)
|
||||||
{
|
{
|
||||||
fprintf (out, _("rule %-4d %s ->"), i, tags[rule_table[i].lhs]);
|
fprintf (out, _(" %3d %3d %s ->"),
|
||||||
|
i, rule_table[i].line, tags[rule_table[i].lhs]);
|
||||||
rule = &ritem[rule_table[i].rhs];
|
rule = &ritem[rule_table[i].rhs];
|
||||||
if (*rule > 0)
|
if (*rule > 0)
|
||||||
while (*rule > 0)
|
while (*rule > 0)
|
||||||
fprintf (out, " %s", tags[*rule++]);
|
fprintf (out, " %s", tags[*rule++]);
|
||||||
else
|
else
|
||||||
fprintf (out, " /* %s */", _("empty"));
|
fprintf (out, " /* %s */", _("empty"));
|
||||||
fputc ('\n', out);
|
fputc ('\n', out);
|
||||||
}
|
}
|
||||||
|
fputs ("\n\n", out);
|
||||||
|
|
||||||
|
|
||||||
/* TERMINAL (type #) : rule #s terminal is on RHS */
|
/* TERMINAL (type #) : rule #s terminal is on RHS */
|
||||||
fprintf (out, "\n%s\n\n", _("Terminals, with rules where they appear"));
|
fprintf (out, "%s\n\n", _("Terminals, with rules where they appear"));
|
||||||
fprintf (out, "%s (-1)\n", tags[0]);
|
fprintf (out, "%s (-1)\n", tags[0]);
|
||||||
|
|
||||||
for (i = 0; i <= max_user_token_number; i++)
|
for (i = 0; i <= max_user_token_number; i++)
|
||||||
@@ -250,9 +250,10 @@ print_grammar (FILE *out)
|
|||||||
}
|
}
|
||||||
fprintf (out, "%s\n", buffer);
|
fprintf (out, "%s\n", buffer);
|
||||||
}
|
}
|
||||||
|
fputs ("\n\n", out);
|
||||||
|
|
||||||
fprintf (out, "\n%s\n\n",
|
|
||||||
_("Nonterminals, with rules where they appear"));
|
fprintf (out, "%s\n\n", _("Nonterminals, with rules where they appear"));
|
||||||
for (i = ntokens; i <= nsyms - 1; i++)
|
for (i = ntokens; i <= nsyms - 1; i++)
|
||||||
{
|
{
|
||||||
int left_count = 0, right_count = 0;
|
int left_count = 0, right_count = 0;
|
||||||
@@ -307,6 +308,7 @@ print_grammar (FILE *out)
|
|||||||
}
|
}
|
||||||
fprintf (out, "%s\n", buffer);
|
fprintf (out, "%s\n", buffer);
|
||||||
}
|
}
|
||||||
|
fputs ("\n\n", out);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -322,14 +324,23 @@ print_results (void)
|
|||||||
|
|
||||||
size_t size = obstack_object_size (&output_obstack);
|
size_t size = obstack_object_size (&output_obstack);
|
||||||
fwrite (obstack_finish (&output_obstack), 1, size, out);
|
fwrite (obstack_finish (&output_obstack), 1, size, out);
|
||||||
|
if (size)
|
||||||
|
fputs ("\n\n", out);
|
||||||
|
|
||||||
reduce_output (out);
|
reduce_output (out);
|
||||||
conflicts_output (out);
|
conflicts_output (out);
|
||||||
|
|
||||||
print_grammar (out);
|
print_grammar (out);
|
||||||
|
|
||||||
|
/* New experimental feature: output all the items of a state,
|
||||||
|
not only its kernel. Requires to run closure, which need
|
||||||
|
memory allocation/deallocation. */
|
||||||
|
if (trace_flag)
|
||||||
|
new_closure (nitems);
|
||||||
for (i = 0; i < nstates; i++)
|
for (i = 0; i < nstates; i++)
|
||||||
print_state (out, i);
|
print_state (out, i);
|
||||||
|
if (trace_flag)
|
||||||
|
free_closure ();
|
||||||
|
|
||||||
xfclose (out);
|
xfclose (out);
|
||||||
}
|
}
|
||||||
|
|||||||
+31
-54
@@ -84,21 +84,17 @@ static void
|
|||||||
print_actions (int state, const char *node_name)
|
print_actions (int state, const char *node_name)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int k;
|
|
||||||
int state1;
|
shifts *shiftp = state_table[state].shifts;
|
||||||
int symbol;
|
reductions *redp = state_table[state].reductions;
|
||||||
shifts *shiftp;
|
#if 0
|
||||||
errs *errp;
|
errs *errp = err_table[state];
|
||||||
reductions *redp;
|
#endif
|
||||||
int rule;
|
|
||||||
static char buff[10];
|
static char buff[10];
|
||||||
edge_t edge;
|
edge_t edge;
|
||||||
|
|
||||||
shiftp = state_table[state].shift_table;
|
if (!shiftp->nshifts && !redp)
|
||||||
redp = state_table[state].reduction_table;
|
|
||||||
errp = err_table[state];
|
|
||||||
|
|
||||||
if (!shiftp && !redp)
|
|
||||||
{
|
{
|
||||||
#if 0
|
#if 0
|
||||||
if (final_state == state)
|
if (final_state == state)
|
||||||
@@ -109,42 +105,26 @@ print_actions (int state, const char *node_name)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shiftp)
|
for (i = 0; i < shiftp->nshifts; i++)
|
||||||
{
|
if (!SHIFT_IS_DISABLED (shiftp, i))
|
||||||
k = shiftp->nshifts;
|
{
|
||||||
|
int state1 = shiftp->shifts[i];
|
||||||
|
int symbol = state_table[state1].accessing_symbol;
|
||||||
|
|
||||||
for (i = 0; i < k; i++)
|
new_edge (&edge);
|
||||||
{
|
|
||||||
if (!shiftp->shifts[i])
|
|
||||||
continue;
|
|
||||||
state1 = shiftp->shifts[i];
|
|
||||||
symbol = state_table[state1].accessing_symbol;
|
|
||||||
|
|
||||||
if (ISVAR (symbol))
|
if (state > state1)
|
||||||
break;
|
edge.type = back_edge;
|
||||||
|
open_edge (&edge, fgraph);
|
||||||
{
|
/* The edge source is the current node. */
|
||||||
new_edge (&edge);
|
edge.sourcename = node_name;
|
||||||
|
sprintf (buff, "%d", state1);
|
||||||
if (state > state1)
|
edge.targetname = buff;
|
||||||
edge.type = back_edge;
|
edge.color = (symbol == 0) ? red : blue;
|
||||||
open_edge (&edge, fgraph);
|
edge.label = tags[symbol];
|
||||||
/* The edge source is the current node. */
|
output_edge (&edge, fgraph);
|
||||||
edge.sourcename = node_name;
|
close_edge (fgraph);
|
||||||
sprintf (buff, "%d", state1);
|
}
|
||||||
edge.targetname = buff;
|
|
||||||
edge.color = (symbol == 0) ? red : blue;
|
|
||||||
edge.label = tags[symbol];
|
|
||||||
output_edge (&edge, fgraph);
|
|
||||||
close_edge (fgraph);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
i = 0;
|
|
||||||
k = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
if (errp)
|
if (errp)
|
||||||
@@ -183,14 +163,12 @@ print_actions (int state, const char *node_name)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (i < k)
|
if (i < shiftp->nshifts)
|
||||||
{
|
for (; i < shiftp->nshifts; i++)
|
||||||
for (; i < k; i++)
|
if (!SHIFT_IS_DISABLED (shiftp, i))
|
||||||
{
|
{
|
||||||
if (!shiftp->shifts[i])
|
int state1 = shiftp->shifts[i];
|
||||||
continue;
|
int symbol = state_table[state1].accessing_symbol;
|
||||||
state1 = shiftp->shifts[i];
|
|
||||||
symbol = state_table[state1].accessing_symbol;
|
|
||||||
|
|
||||||
new_edge (&edge);
|
new_edge (&edge);
|
||||||
open_edge (&edge, fgraph);
|
open_edge (&edge, fgraph);
|
||||||
@@ -202,7 +180,6 @@ print_actions (int state, const char *node_name)
|
|||||||
output_edge (&edge, fgraph);
|
output_edge (&edge, fgraph);
|
||||||
close_edge (fgraph);
|
close_edge (fgraph);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+44
-27
@@ -34,13 +34,11 @@
|
|||||||
#include "reader.h"
|
#include "reader.h"
|
||||||
#include "conflicts.h"
|
#include "conflicts.h"
|
||||||
|
|
||||||
/* Number of slots allocated (but not necessarily used yet) in `rline' */
|
|
||||||
static int rline_allocated;
|
|
||||||
|
|
||||||
typedef struct symbol_list
|
typedef struct symbol_list
|
||||||
{
|
{
|
||||||
struct symbol_list *next;
|
struct symbol_list *next;
|
||||||
bucket *sym;
|
bucket *sym;
|
||||||
|
int line;
|
||||||
bucket *ruleprec;
|
bucket *ruleprec;
|
||||||
}
|
}
|
||||||
symbol_list;
|
symbol_list;
|
||||||
@@ -64,6 +62,19 @@ static int lastprec;
|
|||||||
|
|
||||||
static bucket *errtoken;
|
static bucket *errtoken;
|
||||||
static bucket *undeftoken;
|
static bucket *undeftoken;
|
||||||
|
|
||||||
|
|
||||||
|
static symbol_list *
|
||||||
|
symbol_list_new (bucket *sym)
|
||||||
|
{
|
||||||
|
symbol_list *res = XMALLOC (symbol_list, 1);
|
||||||
|
res->next = NULL;
|
||||||
|
res->sym = sym;
|
||||||
|
res->line = lineno;
|
||||||
|
res->ruleprec = NULL;
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*===================\
|
/*===================\
|
||||||
@@ -121,7 +132,7 @@ read_signed_integer (FILE *stream)
|
|||||||
`--------------------------------------------------------------*/
|
`--------------------------------------------------------------*/
|
||||||
|
|
||||||
static char *
|
static char *
|
||||||
get_type_name (int n, symbol_list * rule)
|
get_type_name (int n, symbol_list *rule)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
symbol_list *rp;
|
symbol_list *rp;
|
||||||
@@ -539,7 +550,8 @@ parse_token_decl (symbol_class what_is, symbol_class what_is_not)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
complain (_("`%s' is invalid in %s"),
|
complain (_("`%s' is invalid in %s"),
|
||||||
token_buffer, (what_is == token_sym) ? "%token" : "%nterm");
|
token_buffer,
|
||||||
|
(what_is == token_sym) ? "%token" : "%nterm");
|
||||||
skip_to_char ('%');
|
skip_to_char ('%');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1006,10 +1018,10 @@ read_declarations (void)
|
|||||||
case tok_stropt:
|
case tok_stropt:
|
||||||
case tok_intopt:
|
case tok_intopt:
|
||||||
case tok_obsolete:
|
case tok_obsolete:
|
||||||
case tok_illegal:
|
|
||||||
abort ();
|
abort ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case tok_illegal:
|
||||||
default:
|
default:
|
||||||
complain (_("unrecognized: %s"), token_buffer);
|
complain (_("unrecognized: %s"), token_buffer);
|
||||||
skip_to_char ('%');
|
skip_to_char ('%');
|
||||||
@@ -1113,7 +1125,13 @@ copy_action (symbol_list *rule, int stack_offset)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
obstack_sgrow (&action_obstack, ";\n break;}");
|
/* As a Bison extension, add the ending semicolon. Since some Yacc
|
||||||
|
don't do that, help people using bison as a Yacc finding their
|
||||||
|
missing semicolons. */
|
||||||
|
if (yacc_flag)
|
||||||
|
obstack_sgrow (&action_obstack, "}\n break;");
|
||||||
|
else
|
||||||
|
obstack_sgrow (&action_obstack, ";\n break;}");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-------------------------------------------------------------------.
|
/*-------------------------------------------------------------------.
|
||||||
@@ -1357,8 +1375,7 @@ readgram (void)
|
|||||||
nrules++;
|
nrules++;
|
||||||
nitems++;
|
nitems++;
|
||||||
|
|
||||||
p = XCALLOC (symbol_list, 1);
|
p = symbol_list_new (lhs);
|
||||||
p->sym = lhs;
|
|
||||||
|
|
||||||
crule1 = p1;
|
crule1 = p1;
|
||||||
if (p1)
|
if (p1)
|
||||||
@@ -1420,27 +1437,27 @@ readgram (void)
|
|||||||
non-terminal. */
|
non-terminal. */
|
||||||
if (action_flag)
|
if (action_flag)
|
||||||
{
|
{
|
||||||
bucket *sdummy;
|
|
||||||
|
|
||||||
/* Since the action was written out with this rule's
|
/* Since the action was written out with this rule's
|
||||||
number, we must give the new rule this number by
|
number, we must give the new rule this number by
|
||||||
inserting the new rule before it. */
|
inserting the new rule before it. */
|
||||||
|
|
||||||
/* Make a dummy nonterminal, a gensym. */
|
/* Make a dummy nonterminal, a gensym. */
|
||||||
sdummy = gensym ();
|
bucket *sdummy = gensym ();
|
||||||
|
|
||||||
/* Make a new rule, whose body is empty,
|
/* Make a new rule, whose body is empty, before the
|
||||||
before the current one, so that the action
|
current one, so that the action just read can
|
||||||
just read can belong to it. */
|
belong to it. */
|
||||||
nrules++;
|
nrules++;
|
||||||
nitems++;
|
nitems++;
|
||||||
p = XCALLOC (symbol_list, 1);
|
p = symbol_list_new (sdummy);
|
||||||
|
/* Attach its lineno to that of the host rule. */
|
||||||
|
p->line = crule->line;
|
||||||
if (crule1)
|
if (crule1)
|
||||||
crule1->next = p;
|
crule1->next = p;
|
||||||
else
|
else
|
||||||
grammar = p;
|
grammar = p;
|
||||||
p->sym = sdummy;
|
/* End of the rule. */
|
||||||
crule1 = XCALLOC (symbol_list, 1);
|
crule1 = symbol_list_new (NULL);
|
||||||
crule1->next = crule;
|
crule1->next = crule;
|
||||||
|
|
||||||
p->next = crule1;
|
p->next = crule1;
|
||||||
@@ -1448,8 +1465,7 @@ readgram (void)
|
|||||||
/* Insert the dummy generated by that rule into this
|
/* Insert the dummy generated by that rule into this
|
||||||
rule. */
|
rule. */
|
||||||
nitems++;
|
nitems++;
|
||||||
p = XCALLOC (symbol_list, 1);
|
p = symbol_list_new (sdummy);
|
||||||
p->sym = sdummy;
|
|
||||||
p1->next = p;
|
p1->next = p;
|
||||||
p1 = p;
|
p1 = p;
|
||||||
|
|
||||||
@@ -1459,8 +1475,7 @@ readgram (void)
|
|||||||
if (t == tok_identifier)
|
if (t == tok_identifier)
|
||||||
{
|
{
|
||||||
nitems++;
|
nitems++;
|
||||||
p = XCALLOC (symbol_list, 1);
|
p = symbol_list_new (symval);
|
||||||
p->sym = symval;
|
|
||||||
p1->next = p;
|
p1->next = p;
|
||||||
p1 = p;
|
p1 = p;
|
||||||
}
|
}
|
||||||
@@ -1474,7 +1489,7 @@ readgram (void)
|
|||||||
} /* end of read rhs of rule */
|
} /* end of read rhs of rule */
|
||||||
|
|
||||||
/* Put an empty link in the list to mark the end of this rule */
|
/* Put an empty link in the list to mark the end of this rule */
|
||||||
p = XCALLOC (symbol_list, 1);
|
p = symbol_list_new (NULL);
|
||||||
p1->next = p;
|
p1->next = p;
|
||||||
p1 = p;
|
p1 = p;
|
||||||
|
|
||||||
@@ -1855,8 +1870,6 @@ packgram (void)
|
|||||||
int ruleno;
|
int ruleno;
|
||||||
symbol_list *p;
|
symbol_list *p;
|
||||||
|
|
||||||
bucket *ruleprec;
|
|
||||||
|
|
||||||
ritem = XCALLOC (short, nitems + 1);
|
ritem = XCALLOC (short, nitems + 1);
|
||||||
rule_table = XCALLOC (rule_t, nrules) - 1;
|
rule_table = XCALLOC (rule_t, nrules) - 1;
|
||||||
|
|
||||||
@@ -1866,10 +1879,11 @@ packgram (void)
|
|||||||
p = grammar;
|
p = grammar;
|
||||||
while (p)
|
while (p)
|
||||||
{
|
{
|
||||||
|
bucket *ruleprec = p->ruleprec;
|
||||||
rule_table[ruleno].lhs = p->sym->value;
|
rule_table[ruleno].lhs = p->sym->value;
|
||||||
rule_table[ruleno].rhs = itemno;
|
rule_table[ruleno].rhs = itemno;
|
||||||
rule_table[ruleno].line = p->sym->line;
|
rule_table[ruleno].line = p->line;
|
||||||
ruleprec = p->ruleprec;
|
rule_table[ruleno].useful = TRUE;
|
||||||
|
|
||||||
p = p->next;
|
p = p->next;
|
||||||
while (p && p->sym)
|
while (p && p->sym)
|
||||||
@@ -1903,6 +1917,9 @@ packgram (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ritem[itemno] = 0;
|
ritem[itemno] = 0;
|
||||||
|
|
||||||
|
if (trace_flag)
|
||||||
|
ritem_print (stderr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-------------------------------------------------------------------.
|
/*-------------------------------------------------------------------.
|
||||||
|
|||||||
+172
-155
@@ -38,16 +38,23 @@ typedef unsigned *BSet;
|
|||||||
typedef short *rule;
|
typedef short *rule;
|
||||||
|
|
||||||
|
|
||||||
/* N is set of all nonterminals which are not useless. P is set of
|
/* Set of all nonterminals which are not useless. */
|
||||||
all rules which have no useless nonterminals in their RHS. V is
|
static BSet N;
|
||||||
the set of all accessible symbols. */
|
|
||||||
|
|
||||||
static BSet N, P, V, V1;
|
/* Set of all rules which have no useless nonterminals in their RHS. */
|
||||||
|
static BSet P;
|
||||||
|
|
||||||
|
/* Set of all accessible symbols. */
|
||||||
|
static BSet V;
|
||||||
|
|
||||||
|
/* Set of symbols used to define rule precedence (so they are
|
||||||
|
`useless', but no warning should be issued). */
|
||||||
|
static BSet V1;
|
||||||
|
|
||||||
static int nuseful_productions;
|
static int nuseful_productions;
|
||||||
static int nuseless_productions;
|
static int nuseless_productions;
|
||||||
static int nuseful_nonterminals;
|
static int nuseful_nonterminals;
|
||||||
static int nuseless_nonterminals;
|
int nuseless_nonterminals;
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
bits_equal (BSet L, BSet R, int n)
|
bits_equal (BSet L, BSet R, int n)
|
||||||
@@ -257,28 +264,35 @@ inaccessable_symbols (void)
|
|||||||
static void
|
static void
|
||||||
reduce_grammar_tables (void)
|
reduce_grammar_tables (void)
|
||||||
{
|
{
|
||||||
/* This is turned off because we would need to change the numbers
|
/* This is turned off because we would need to change the numbers in
|
||||||
in the case statements in the actions file. */
|
the case statements in the actions file.
|
||||||
#if 0
|
|
||||||
/* remove useless productions */
|
|
||||||
if (nuseless_productions > 0)
|
|
||||||
{
|
|
||||||
short np, pn, ni, pi;
|
|
||||||
|
|
||||||
np = 0;
|
We don't disable it via CPP so that it is still checked with the
|
||||||
ni = 0;
|
rest of the code, to avoid its becoming completely obsolete.
|
||||||
for (pn = 1; pn <= nrules; pn++)
|
|
||||||
{
|
FIXME: I think the comment above demonstrates this code must be
|
||||||
|
turned off for *semantic* parser, not in the general case. Try
|
||||||
|
to understand this better --akim. */
|
||||||
|
|
||||||
|
if (0)
|
||||||
|
/* remove useless productions */
|
||||||
|
if (nuseless_productions > 0)
|
||||||
|
{
|
||||||
|
short np, pn, ni, pi;
|
||||||
|
|
||||||
|
np = 0;
|
||||||
|
ni = 0;
|
||||||
|
for (pn = 1; pn <= nrules; pn++)
|
||||||
if (BITISSET (P, pn))
|
if (BITISSET (P, pn))
|
||||||
{
|
{
|
||||||
np++;
|
np++;
|
||||||
if (pn != np)
|
if (pn != np)
|
||||||
{
|
{
|
||||||
rule_table[np].lhs = rule_table[pn].lhs;
|
rule_table[np].lhs = rule_table[pn].lhs;
|
||||||
rline[np] = rline[pn];
|
rule_table[np].line = rule_table[pn].line;
|
||||||
rule_table[np].prec = rule_table[pn].prec;
|
rule_table[np].prec = rule_table[pn].prec;
|
||||||
rule_table[np].assoc = rule_table[pn].assoc;
|
rule_table[np].assoc = rule_table[pn].assoc;
|
||||||
rule_table[np].rhs = rule_table[pn].rhs;
|
rule_table[np].rhs = rule_table[pn].rhs;
|
||||||
if (rule_table[np].rhs != ni)
|
if (rule_table[np].rhs != ni)
|
||||||
{
|
{
|
||||||
pi = rule_table[np].rhs;
|
pi = rule_table[np].rhs;
|
||||||
@@ -293,149 +307,142 @@ reduce_grammar_tables (void)
|
|||||||
while (ritem[ni++] >= 0);
|
while (ritem[ni++] >= 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
ritem[ni] = 0;
|
|
||||||
nrules -= nuseless_productions;
|
|
||||||
nitems = ni;
|
|
||||||
|
|
||||||
/* Is it worth it to reduce the amount of memory for the
|
ritem[ni] = 0;
|
||||||
grammar? Probably not. */
|
nrules -= nuseless_productions;
|
||||||
|
nitems = ni;
|
||||||
|
|
||||||
}
|
/* Is it worth it to reduce the amount of memory for the
|
||||||
#endif /* 0 */
|
grammar? Probably not. */
|
||||||
/* Disable useless productions,
|
}
|
||||||
since they may contain useless nonterms
|
|
||||||
that would get mapped below to -1 and confuse everyone. */
|
/* Disable useless productions. */
|
||||||
if (nuseless_productions > 0)
|
if (nuseless_productions > 0)
|
||||||
{
|
{
|
||||||
int pn;
|
int pn;
|
||||||
|
|
||||||
for (pn = 1; pn <= nrules; pn++)
|
for (pn = 1; pn <= nrules; pn++)
|
||||||
{
|
rule_table[pn].useful = BITISSET (P, pn);
|
||||||
if (!BITISSET (P, pn))
|
|
||||||
{
|
|
||||||
rule_table[pn].lhs = -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* remove useless symbols */
|
|
||||||
if (nuseless_nonterminals > 0)
|
|
||||||
{
|
|
||||||
|
|
||||||
int i, n;
|
|
||||||
/* short j; JF unused */
|
|
||||||
short *nontermmap;
|
|
||||||
rule r;
|
|
||||||
|
|
||||||
/* Create a map of nonterminal number to new nonterminal
|
|
||||||
number. -1 in the map means it was useless and is being
|
|
||||||
eliminated. */
|
|
||||||
|
|
||||||
nontermmap = XCALLOC (short, nvars) - ntokens;
|
|
||||||
for (i = ntokens; i < nsyms; i++)
|
|
||||||
nontermmap[i] = -1;
|
|
||||||
|
|
||||||
n = ntokens;
|
|
||||||
for (i = ntokens; i < nsyms; i++)
|
|
||||||
if (BITISSET (V, i))
|
|
||||||
nontermmap[i] = n++;
|
|
||||||
|
|
||||||
/* Shuffle elements of tables indexed by symbol number. */
|
|
||||||
|
|
||||||
for (i = ntokens; i < nsyms; i++)
|
|
||||||
{
|
|
||||||
n = nontermmap[i];
|
|
||||||
if (n >= 0)
|
|
||||||
{
|
|
||||||
sassoc[n] = sassoc[i];
|
|
||||||
sprec[n] = sprec[i];
|
|
||||||
tags[n] = tags[i];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
free (tags[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Replace all symbol numbers in valid data structures. */
|
|
||||||
|
|
||||||
for (i = 1; i <= nrules; i++)
|
|
||||||
{
|
|
||||||
/* Ignore the rules disabled above. */
|
|
||||||
if (rule_table[i].lhs >= 0)
|
|
||||||
rule_table[i].lhs = nontermmap[rule_table[i].lhs];
|
|
||||||
if (ISVAR (rule_table[i].precsym))
|
|
||||||
/* Can this happen? */
|
|
||||||
rule_table[i].precsym = nontermmap[rule_table[i].precsym];
|
|
||||||
}
|
|
||||||
|
|
||||||
for (r = ritem; *r; r++)
|
|
||||||
if (ISVAR (*r))
|
|
||||||
*r = nontermmap[*r];
|
|
||||||
|
|
||||||
start_symbol = nontermmap[start_symbol];
|
|
||||||
|
|
||||||
nsyms -= nuseless_nonterminals;
|
|
||||||
nvars -= nuseless_nonterminals;
|
|
||||||
|
|
||||||
free (&nontermmap[ntokens]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------------.
|
/*------------------------------.
|
||||||
| Ouput the detailed results of the reductions. For FILE.output. |
|
| Remove useless nonterminals. |
|
||||||
`-----------------------------------------------------------------*/
|
`------------------------------*/
|
||||||
|
|
||||||
|
static void
|
||||||
|
nonterminals_reduce (void)
|
||||||
|
{
|
||||||
|
int i, n;
|
||||||
|
rule r;
|
||||||
|
|
||||||
|
/* Map the nonterminals to their new index: useful first, useless
|
||||||
|
afterwards. Kept for later report. */
|
||||||
|
|
||||||
|
short *nontermmap = XCALLOC (short, nvars) - ntokens;
|
||||||
|
n = ntokens;
|
||||||
|
for (i = ntokens; i < nsyms; i++)
|
||||||
|
if (BITISSET (V, i))
|
||||||
|
nontermmap[i] = n++;
|
||||||
|
for (i = ntokens; i < nsyms; i++)
|
||||||
|
if (!BITISSET (V, i))
|
||||||
|
nontermmap[i] = n++;
|
||||||
|
|
||||||
|
|
||||||
|
/* Shuffle elements of tables indexed by symbol number. */
|
||||||
|
{
|
||||||
|
short *sassoc_sorted = XMALLOC (short, nvars) - ntokens;
|
||||||
|
short *sprec_sorted = XMALLOC (short, nvars) - ntokens;
|
||||||
|
char **tags_sorted = XMALLOC (char *, nvars) - ntokens;
|
||||||
|
|
||||||
|
for (i = ntokens; i < nsyms; i++)
|
||||||
|
{
|
||||||
|
n = nontermmap[i];
|
||||||
|
sassoc_sorted[n] = sassoc[i];
|
||||||
|
sprec_sorted[n] = sprec[i];
|
||||||
|
tags_sorted[n] = tags[i];
|
||||||
|
}
|
||||||
|
for (i = ntokens; i < nsyms; i++)
|
||||||
|
{
|
||||||
|
sassoc[i] = sassoc_sorted[i];
|
||||||
|
sprec[i] = sprec_sorted[i];
|
||||||
|
tags[i] = tags_sorted[i];
|
||||||
|
}
|
||||||
|
free (sassoc_sorted + ntokens);
|
||||||
|
free (sprec_sorted + ntokens);
|
||||||
|
free (tags_sorted + ntokens);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Replace all symbol numbers in valid data structures. */
|
||||||
|
|
||||||
|
for (i = 1; i <= nrules; i++)
|
||||||
|
{
|
||||||
|
rule_table[i].lhs = nontermmap[rule_table[i].lhs];
|
||||||
|
if (ISVAR (rule_table[i].precsym))
|
||||||
|
/* Can this happen? */
|
||||||
|
rule_table[i].precsym = nontermmap[rule_table[i].precsym];
|
||||||
|
}
|
||||||
|
|
||||||
|
for (r = ritem; *r; r++)
|
||||||
|
if (ISVAR (*r))
|
||||||
|
*r = nontermmap[*r];
|
||||||
|
|
||||||
|
start_symbol = nontermmap[start_symbol];
|
||||||
|
|
||||||
|
nsyms -= nuseless_nonterminals;
|
||||||
|
nvars -= nuseless_nonterminals;
|
||||||
|
|
||||||
|
free (nontermmap + ntokens);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*------------------------------------------------------------------.
|
||||||
|
| Output the detailed results of the reductions. For FILE.output. |
|
||||||
|
`------------------------------------------------------------------*/
|
||||||
|
|
||||||
void
|
void
|
||||||
reduce_output (FILE *out)
|
reduce_output (FILE *out)
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
rule r;
|
|
||||||
bool b;
|
|
||||||
|
|
||||||
if (nuseless_nonterminals > 0)
|
if (nuseless_nonterminals > 0)
|
||||||
{
|
{
|
||||||
fprintf (out, _("Useless nonterminals:"));
|
int i;
|
||||||
fprintf (out, "\n\n");
|
fprintf (out, "%s\n\n", _("Useless nonterminals:"));
|
||||||
for (i = ntokens; i < nsyms; i++)
|
for (i = 0; i < nuseless_nonterminals; ++i)
|
||||||
if (!BITISSET (V, i))
|
fprintf (out, " %s\n", tags[nsyms + i]);
|
||||||
fprintf (out, " %s\n", tags[i]);
|
fputs ("\n\n", out);
|
||||||
}
|
}
|
||||||
b = FALSE;
|
|
||||||
for (i = 0; i < ntokens; i++)
|
{
|
||||||
{
|
bool b = FALSE;
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < ntokens; i++)
|
||||||
if (!BITISSET (V, i) && !BITISSET (V1, i))
|
if (!BITISSET (V, i) && !BITISSET (V1, i))
|
||||||
{
|
{
|
||||||
if (!b)
|
if (!b)
|
||||||
{
|
fprintf (out, "%s\n\n", _("Terminals which are not used:"));
|
||||||
fprintf (out, "\n\n");
|
b = TRUE;
|
||||||
fprintf (out, _("Terminals which are not used:"));
|
|
||||||
fprintf (out, "\n\n");
|
|
||||||
b = TRUE;
|
|
||||||
}
|
|
||||||
fprintf (out, " %s\n", tags[i]);
|
fprintf (out, " %s\n", tags[i]);
|
||||||
}
|
}
|
||||||
}
|
if (b)
|
||||||
|
fputs ("\n\n", out);
|
||||||
|
}
|
||||||
|
|
||||||
if (nuseless_productions > 0)
|
if (nuseless_productions > 0)
|
||||||
{
|
{
|
||||||
fprintf (out, "\n\n");
|
int i;
|
||||||
fprintf (out, _("Useless rules:"));
|
fprintf (out, "%s\n\n", _("Useless rules:"));
|
||||||
fprintf (out, "\n\n");
|
|
||||||
for (i = 1; i <= nrules; i++)
|
for (i = 1; i <= nrules; i++)
|
||||||
if (!BITISSET (P, i))
|
if (!rule_table[i].useful)
|
||||||
{
|
{
|
||||||
|
rule r;
|
||||||
fprintf (out, "#%-4d ", i);
|
fprintf (out, "#%-4d ", i);
|
||||||
fprintf (out, "%s :\t", tags[rule_table[i].lhs]);
|
fprintf (out, "%s:", tags[rule_table[i].lhs]);
|
||||||
for (r = &ritem[rule_table[i].rhs]; *r >= 0; r++)
|
for (r = &ritem[rule_table[i].rhs]; *r >= 0; r++)
|
||||||
fprintf (out, " %s", tags[*r]);
|
fprintf (out, " %s", tags[*r]);
|
||||||
fprintf (out, ";\n");
|
fputs (";\n", out);
|
||||||
}
|
}
|
||||||
|
fputs ("\n\n", out);
|
||||||
}
|
}
|
||||||
if (nuseless_nonterminals > 0 || nuseless_productions > 0 || b)
|
|
||||||
fprintf (out, "\n\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -446,28 +453,33 @@ dump_grammar (FILE *out)
|
|||||||
|
|
||||||
fprintf (out, "REDUCED GRAMMAR\n\n");
|
fprintf (out, "REDUCED GRAMMAR\n\n");
|
||||||
fprintf (out,
|
fprintf (out,
|
||||||
"ntokens = %d, nvars = %d, nsyms = %d, nrules = %d, nitems = %d\n\n",
|
"ntokens = %d, nvars = %d, nsyms = %d, nrules = %d, nitems = %d\n\n",
|
||||||
ntokens, nvars, nsyms, nrules, nitems);
|
ntokens, nvars, nsyms, nrules, nitems);
|
||||||
fprintf (out, _("Variables\n---------\n\n"));
|
fprintf (out, "Variables\n---------\n\n");
|
||||||
fprintf (out, _("Value Sprec Sassoc Tag\n"));
|
fprintf (out, "Value Sprec Sassoc Tag\n");
|
||||||
for (i = ntokens; i < nsyms; i++)
|
for (i = ntokens; i < nsyms; i++)
|
||||||
fprintf (out, "%5d %5d %5d %s\n", i, sprec[i], sassoc[i], tags[i]);
|
fprintf (out, "%5d %5d %5d %s\n", i, sprec[i], sassoc[i], tags[i]);
|
||||||
fprintf (out, "\n\n");
|
fprintf (out, "\n\n");
|
||||||
fprintf (out, _("Rules\n-----\n\n"));
|
fprintf (out, "Rules\n-----\n\n");
|
||||||
|
fprintf (out, "Num (Prec, Assoc, Useful, Ritem Range) Lhs -> Rhs (Ritem range) [Num]\n");
|
||||||
for (i = 1; i <= nrules; i++)
|
for (i = 1; i <= nrules; i++)
|
||||||
{
|
{
|
||||||
fprintf (out, "%-5d(%5d%5d)%5d : (@%-5d)",
|
int rhs_count = 0;
|
||||||
|
/* Find the last RHS index in ritems. */
|
||||||
|
for (r = &ritem[rule_table[i].rhs]; *r > 0; ++r)
|
||||||
|
++rhs_count;
|
||||||
|
fprintf (out, "%3d (%2d, %2d, %2d, %2d-%2d) %2d ->",
|
||||||
i,
|
i,
|
||||||
rule_table[i].prec,
|
rule_table[i].prec, rule_table[i].assoc, rule_table[i].useful,
|
||||||
rule_table[i].assoc,
|
rule_table[i].rhs, rule_table[i].rhs + rhs_count - 1,
|
||||||
rule_table[i].lhs,
|
rule_table[i].lhs);
|
||||||
rule_table[i].rhs);
|
/* Dumped the RHS. */
|
||||||
for (r = &ritem[rule_table[i].rhs]; *r > 0; r++)
|
for (r = &ritem[rule_table[i].rhs]; *r > 0; r++)
|
||||||
fprintf (out, "%5d", *r);
|
fprintf (out, "%3d", *r);
|
||||||
fprintf (out, " [%d]\n", -(*r));
|
fprintf (out, " [%d]\n", -(*r));
|
||||||
}
|
}
|
||||||
fprintf (out, "\n\n");
|
fprintf (out, "\n\n");
|
||||||
fprintf (out, _("Rules interpreted\n-----------------\n\n"));
|
fprintf (out, "Rules interpreted\n-----------------\n\n");
|
||||||
for (i = 1; i <= nrules; i++)
|
for (i = 1; i <= nrules; i++)
|
||||||
{
|
{
|
||||||
fprintf (out, "%-5d %s :", i, tags[rule_table[i].lhs]);
|
fprintf (out, "%-5d %s :", i, tags[rule_table[i].lhs]);
|
||||||
@@ -488,24 +500,27 @@ static void
|
|||||||
reduce_print (void)
|
reduce_print (void)
|
||||||
{
|
{
|
||||||
if (yacc_flag && nuseless_productions)
|
if (yacc_flag && nuseless_productions)
|
||||||
fprintf (stderr, _("%d rules never reduced\n"), nuseless_productions);
|
fprintf (stderr, ngettext ("%d rule never reduced\n",
|
||||||
|
"%d rules never reduced\n",
|
||||||
|
nuseless_productions),
|
||||||
|
nuseless_productions);
|
||||||
|
|
||||||
fprintf (stderr, _("%s contains "), infile);
|
fprintf (stderr, _("%s contains "), infile);
|
||||||
|
|
||||||
if (nuseless_nonterminals > 0)
|
if (nuseless_nonterminals > 0)
|
||||||
{
|
fprintf (stderr, ngettext ("%d useless nonterminal",
|
||||||
fprintf (stderr, _("%d useless nonterminal%s"),
|
"%d useless nonterminals",
|
||||||
nuseless_nonterminals,
|
nuseless_nonterminals),
|
||||||
(nuseless_nonterminals == 1 ? "" : "s"));
|
nuseless_nonterminals);
|
||||||
}
|
|
||||||
if (nuseless_nonterminals > 0 && nuseless_productions > 0)
|
if (nuseless_nonterminals > 0 && nuseless_productions > 0)
|
||||||
fprintf (stderr, _(" and "));
|
fprintf (stderr, _(" and "));
|
||||||
|
|
||||||
if (nuseless_productions > 0)
|
if (nuseless_productions > 0)
|
||||||
{
|
fprintf (stderr, ngettext ("%d useless rule",
|
||||||
fprintf (stderr, _("%d useless rule%s"),
|
"%d useless rules",
|
||||||
nuseless_productions, (nuseless_productions == 1 ? "" : "s"));
|
nuseless_productions),
|
||||||
}
|
nuseless_productions);
|
||||||
fprintf (stderr, "\n");
|
fprintf (stderr, "\n");
|
||||||
fflush (stderr);
|
fflush (stderr);
|
||||||
}
|
}
|
||||||
@@ -537,6 +552,8 @@ reduce_grammar (void)
|
|||||||
tags[start_symbol]);
|
tags[start_symbol]);
|
||||||
|
|
||||||
reduce_grammar_tables ();
|
reduce_grammar_tables ();
|
||||||
|
if (nuseless_nonterminals > 0)
|
||||||
|
nonterminals_reduce ();
|
||||||
|
|
||||||
if (trace_flag)
|
if (trace_flag)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -24,4 +24,6 @@
|
|||||||
void reduce_grammar PARAMS ((void));
|
void reduce_grammar PARAMS ((void));
|
||||||
void reduce_output PARAMS ((FILE *out));
|
void reduce_output PARAMS ((FILE *out));
|
||||||
void reduce_free PARAMS ((void));
|
void reduce_free PARAMS ((void));
|
||||||
|
|
||||||
|
extern int nuseless_nonterminals;
|
||||||
#endif /* !REDUCE_H_ */
|
#endif /* !REDUCE_H_ */
|
||||||
|
|||||||
+35
@@ -0,0 +1,35 @@
|
|||||||
|
/* Type definitions for nondeterministic finite state machine for bison,
|
||||||
|
Copyright 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
Bison is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
Bison is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with Bison; see the file COPYING. If not, write to
|
||||||
|
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
|
|
||||||
|
#include "system.h"
|
||||||
|
#include "state.h"
|
||||||
|
|
||||||
|
/*---------------------------------.
|
||||||
|
| Create a new array of N shitfs. |
|
||||||
|
`---------------------------------*/
|
||||||
|
|
||||||
|
shifts *
|
||||||
|
shifts_new (int n)
|
||||||
|
{
|
||||||
|
shifts *res = SHIFTS_ALLOC (n);
|
||||||
|
res->nshifts = n;
|
||||||
|
return res;
|
||||||
|
}
|
||||||
+56
-9
@@ -1,5 +1,5 @@
|
|||||||
/* Type definitions for nondeterministic finite state machine for bison,
|
/* Type definitions for nondeterministic finite state machine for bison,
|
||||||
Copyright 1984, 1989, 2000 Free Software Foundation, Inc.
|
Copyright 1984, 1989, 2000, 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
@@ -88,6 +88,11 @@
|
|||||||
#ifndef STATE_H_
|
#ifndef STATE_H_
|
||||||
# define STATE_H_
|
# define STATE_H_
|
||||||
|
|
||||||
|
|
||||||
|
/*-------.
|
||||||
|
| Core. |
|
||||||
|
`-------*/
|
||||||
|
|
||||||
typedef struct core
|
typedef struct core
|
||||||
{
|
{
|
||||||
struct core *next;
|
struct core *next;
|
||||||
@@ -96,39 +101,82 @@ typedef struct core
|
|||||||
short accessing_symbol;
|
short accessing_symbol;
|
||||||
short nitems;
|
short nitems;
|
||||||
short items[1];
|
short items[1];
|
||||||
}
|
} core;
|
||||||
core;
|
|
||||||
|
|
||||||
#define CORE_ALLOC(Nitems) \
|
#define CORE_ALLOC(Nitems) \
|
||||||
(core *) xcalloc ((unsigned) (sizeof (core) \
|
(core *) xcalloc ((unsigned) (sizeof (core) \
|
||||||
+ (Nitems - 1) * sizeof (short)), 1)
|
+ (Nitems - 1) * sizeof (short)), 1)
|
||||||
|
|
||||||
|
/*---------.
|
||||||
|
| Shifts. |
|
||||||
|
`---------*/
|
||||||
|
|
||||||
typedef struct shifts
|
typedef struct shifts
|
||||||
{
|
{
|
||||||
struct shifts *next;
|
struct shifts *next;
|
||||||
short number;
|
short number;
|
||||||
short nshifts;
|
short nshifts;
|
||||||
short shifts[1];
|
short shifts[1];
|
||||||
}
|
} shifts;
|
||||||
shifts;
|
|
||||||
|
|
||||||
#define SHIFTS_ALLOC(Nshifts) \
|
#define SHIFTS_ALLOC(Nshifts) \
|
||||||
(shifts *) xcalloc ((unsigned) (sizeof (shifts) \
|
(shifts *) xcalloc ((unsigned) (sizeof (shifts) \
|
||||||
+ (Nshifts - 1) * sizeof (short)), 1)
|
+ (Nshifts - 1) * sizeof (short)), 1)
|
||||||
|
|
||||||
|
shifts * shifts_new PARAMS ((int n));
|
||||||
|
|
||||||
|
|
||||||
|
/* What is the symbol which is shifted by SHIFTS->shifts[Shift]? Can
|
||||||
|
be a token (amongst which the error token), or non terminals in
|
||||||
|
case of gotos. */
|
||||||
|
|
||||||
|
#define SHIFT_SYMBOL(Shifts, Shift) \
|
||||||
|
(state_table[Shifts->shifts[Shift]].accessing_symbol)
|
||||||
|
|
||||||
|
/* Is the SHIFTS->shifts[Shift] a real shift? (as opposed to gotos.) */
|
||||||
|
|
||||||
|
#define SHIFT_IS_SHIFT(Shifts, Shift) \
|
||||||
|
(ISTOKEN (SHIFT_SYMBOL (Shifts, Shift)))
|
||||||
|
|
||||||
|
/* Is the SHIFTS->shifts[Shift] a goto?. */
|
||||||
|
|
||||||
|
#define SHIFT_IS_GOTO(Shifts, Shift) \
|
||||||
|
(!SHIFT_IS_SHIFT (Shifts, Shift))
|
||||||
|
|
||||||
|
/* Is the SHIFTS->shifts[Shift] then handling of the error token?. */
|
||||||
|
|
||||||
|
#define SHIFT_IS_ERROR(Shifts, Shift) \
|
||||||
|
(SHIFT_SYMBOL (Shifts, Shift) == error_token_number)
|
||||||
|
|
||||||
|
/* When resolving a SR conflicts, if the reduction wins, the shift is
|
||||||
|
disabled. */
|
||||||
|
|
||||||
|
#define SHIFT_DISABLE(Shifts, Shift) \
|
||||||
|
(Shifts->shifts[Shift] = 0)
|
||||||
|
|
||||||
|
#define SHIFT_IS_DISABLED(Shifts, Shift) \
|
||||||
|
(Shifts->shifts[Shift] == 0)
|
||||||
|
|
||||||
|
|
||||||
|
/*-------.
|
||||||
|
| Errs. |
|
||||||
|
`-------*/
|
||||||
|
|
||||||
typedef struct errs
|
typedef struct errs
|
||||||
{
|
{
|
||||||
short nerrs;
|
short nerrs;
|
||||||
short errs[1];
|
short errs[1];
|
||||||
}
|
} errs;
|
||||||
errs;
|
|
||||||
|
|
||||||
#define ERRS_ALLOC(Nerrs) \
|
#define ERRS_ALLOC(Nerrs) \
|
||||||
(errs *) xcalloc ((unsigned) (sizeof (errs) \
|
(errs *) xcalloc ((unsigned) (sizeof (errs) \
|
||||||
+ (Nerrs - 1) * sizeof (short)), 1)
|
+ (Nerrs - 1) * sizeof (short)), 1)
|
||||||
|
|
||||||
|
|
||||||
|
/*-------------.
|
||||||
|
| Reductions. |
|
||||||
|
`-------------*/
|
||||||
|
|
||||||
typedef struct reductions
|
typedef struct reductions
|
||||||
{
|
{
|
||||||
@@ -136,8 +184,7 @@ typedef struct reductions
|
|||||||
short number;
|
short number;
|
||||||
short nreds;
|
short nreds;
|
||||||
short rules[1];
|
short rules[1];
|
||||||
}
|
} reductions;
|
||||||
reductions;
|
|
||||||
|
|
||||||
#define REDUCTIONS_ALLOC(Nreductions) \
|
#define REDUCTIONS_ALLOC(Nreductions) \
|
||||||
(reductions *) xcalloc ((unsigned) (sizeof (reductions) \
|
(reductions *) xcalloc ((unsigned) (sizeof (reductions) \
|
||||||
|
|||||||
@@ -49,9 +49,6 @@ hash (const char *key)
|
|||||||
static bucket *
|
static bucket *
|
||||||
bucket_new (const char *tag, int hashval)
|
bucket_new (const char *tag, int hashval)
|
||||||
{
|
{
|
||||||
/* Hack, until we have a Bison parser. */
|
|
||||||
extern int lineno;
|
|
||||||
|
|
||||||
bucket *res = XMALLOC (bucket, 1);
|
bucket *res = XMALLOC (bucket, 1);
|
||||||
|
|
||||||
res->link = symtab[hashval];
|
res->link = symtab[hashval];
|
||||||
@@ -64,7 +61,6 @@ bucket_new (const char *tag, int hashval)
|
|||||||
res->user_token_number = SUNDEF;
|
res->user_token_number = SUNDEF;
|
||||||
res->alias = NULL;
|
res->alias = NULL;
|
||||||
res->class = unknown_sym;
|
res->class = unknown_sym;
|
||||||
res->line = lineno;
|
|
||||||
|
|
||||||
nsyms++;
|
nsyms++;
|
||||||
|
|
||||||
|
|||||||
@@ -42,9 +42,6 @@ typedef struct bucket
|
|||||||
struct bucket *link;
|
struct bucket *link;
|
||||||
struct bucket *next;
|
struct bucket *next;
|
||||||
|
|
||||||
/* The line it was found in. */
|
|
||||||
short line;
|
|
||||||
|
|
||||||
/* The key, name of the symbol. */
|
/* The key, name of the symbol. */
|
||||||
char *tag;
|
char *tag;
|
||||||
/* Its type. */
|
/* Its type. */
|
||||||
|
|||||||
+32
-16
@@ -79,6 +79,21 @@
|
|||||||
extern int errno;
|
extern int errno;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* AIX requires this to be the first thing in the file. */
|
||||||
|
#ifndef __GNUC__
|
||||||
|
# if HAVE_ALLOCA_H
|
||||||
|
# include <alloca.h>
|
||||||
|
# else
|
||||||
|
# ifdef _AIX
|
||||||
|
#pragma alloca
|
||||||
|
# else
|
||||||
|
# ifndef alloca /* predefined by HP cc +Olibcalls */
|
||||||
|
char *alloca ();
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if PROTOTYPES
|
#if PROTOTYPES
|
||||||
# define PARAMS(p) p
|
# define PARAMS(p) p
|
||||||
#else
|
#else
|
||||||
@@ -95,14 +110,26 @@ extern int errno;
|
|||||||
char *stpcpy PARAMS ((char *dest, const char *src));
|
char *stpcpy PARAMS ((char *dest, const char *src));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !HAVE_DECL_STRNDUP
|
#if !HAVE_DECL_STRCHR
|
||||||
char *strndup PARAMS ((const char *s, size_t size));
|
char *strchr(const char *s, int c);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !HAVE_DECL_STRSPN
|
||||||
|
size_t strspn(const char *s, const char *accept);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !HAVE_DECL_STRNLEN
|
#if !HAVE_DECL_STRNLEN
|
||||||
size_t strnlen PARAMS ((const char *s, size_t maxlen));
|
size_t strnlen PARAMS ((const char *s, size_t maxlen));
|
||||||
#endif
|
#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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*-----------------.
|
/*-----------------.
|
||||||
@@ -134,20 +161,9 @@ size_t strnlen PARAMS ((const char *s, size_t maxlen));
|
|||||||
# define setlocale(Category, Locale)
|
# define setlocale(Category, Locale)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ENABLE_NLS
|
#include "libgettext.h"
|
||||||
# include <libintl.h>
|
#define _(Msgid) gettext (Msgid)
|
||||||
# define _(Text) gettext (Text)
|
#define N_(Msgid) (Msgid)
|
||||||
#else
|
|
||||||
# undef bindtextdomain
|
|
||||||
# define bindtextdomain(Domain, Directory)
|
|
||||||
# undef textdomain
|
|
||||||
# define textdomain(Domain)
|
|
||||||
# undef ngettext
|
|
||||||
# define ngettext(Singular, Plural, Number) \
|
|
||||||
((Number == 1) ? Singular : Plural)
|
|
||||||
# define _(Text) Text
|
|
||||||
#endif
|
|
||||||
#define N_(Text) Text
|
|
||||||
|
|
||||||
|
|
||||||
/*-------------------------------.
|
/*-------------------------------.
|
||||||
|
|||||||
@@ -242,7 +242,8 @@ get_color_str (enum color_e c)
|
|||||||
case orchid: return "orchid";
|
case orchid: return "orchid";
|
||||||
case black: return "black";
|
case black: return "black";
|
||||||
default:
|
default:
|
||||||
assert (!"Not a default color.");
|
#define A_known_default_color 0
|
||||||
|
assert (A_known_default_color);
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -256,7 +257,8 @@ get_textmode_str (enum textmode_e t)
|
|||||||
case left_justify: return "left_justify";
|
case left_justify: return "left_justify";
|
||||||
case right_justify: return "right_justify";
|
case right_justify: return "right_justify";
|
||||||
default:
|
default:
|
||||||
assert (!"Not a text mode.");
|
#define A_known_text_mode 0
|
||||||
|
assert (A_known_text_mode);
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -271,7 +273,8 @@ get_shape_str (enum shape_e s)
|
|||||||
case ellipse: return "ellipse";
|
case ellipse: return "ellipse";
|
||||||
case triangle: return "triangle";
|
case triangle: return "triangle";
|
||||||
default:
|
default:
|
||||||
assert (!"Not a shape.");
|
#define A_known_shape 0
|
||||||
|
assert (A_known_shape);
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -296,7 +299,8 @@ get_layoutalgorithm_str (enum layoutalgorithm_e l)
|
|||||||
case dfs: return "dfs";
|
case dfs: return "dfs";
|
||||||
case tree: return "tree";
|
case tree: return "tree";
|
||||||
default:
|
default:
|
||||||
assert (!"Not a layout algorithm.");
|
#define A_known_layout_algorithm 0
|
||||||
|
assert (A_known_layout_algorithm);
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -309,7 +313,8 @@ get_decision_str (enum decision_e d)
|
|||||||
case no: return "no";
|
case no: return "no";
|
||||||
case yes: return "yes";
|
case yes: return "yes";
|
||||||
default:
|
default:
|
||||||
assert (!"Either yes nor no.");
|
#define Either_yes_nor_no 0
|
||||||
|
assert (Either_yes_nor_no);
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -324,7 +329,8 @@ get_orientation_str (enum orientation_e o)
|
|||||||
case left_to_right: return "left_to_right";
|
case left_to_right: return "left_to_right";
|
||||||
case right_to_left: return "right_to_left";
|
case right_to_left: return "right_to_left";
|
||||||
default:
|
default:
|
||||||
assert (!"Not an orientation.");
|
#define A_knownn_orientation 0
|
||||||
|
assert (A_knownn_orientation);
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -338,7 +344,8 @@ get_node_alignement_str (enum alignement_e a)
|
|||||||
case top: return "top";
|
case top: return "top";
|
||||||
case bottom: return "bottom";
|
case bottom: return "bottom";
|
||||||
default:
|
default:
|
||||||
assert (!"Not an alignement.");
|
#define A_known_alignement 0
|
||||||
|
assert (A_known_alignement);
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -351,7 +358,8 @@ get_arrow_mode_str (enum arrow_mode_e a)
|
|||||||
case fixed: return "fixed";
|
case fixed: return "fixed";
|
||||||
case free_a: return "free";
|
case free_a: return "free";
|
||||||
default:
|
default:
|
||||||
assert (!"Not an arrow mode.");
|
#define A_known_arrow_mode 0
|
||||||
|
assert (A_known_arrow_mode);
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -366,7 +374,8 @@ get_crossing_type_str (enum crossing_type_e c)
|
|||||||
case barymedian: return "barymedian";
|
case barymedian: return "barymedian";
|
||||||
case medianbary: return "medianbary";
|
case medianbary: return "medianbary";
|
||||||
default:
|
default:
|
||||||
assert (!"Not a crossing type.");
|
#define A_known_crossing_type 0
|
||||||
|
assert (A_known_crossing_type);
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -382,7 +391,8 @@ get_view_str (enum view_e v)
|
|||||||
case fcfish: return "fcfish";
|
case fcfish: return "fcfish";
|
||||||
case fpfish: return "fpfish";
|
case fpfish: return "fpfish";
|
||||||
default:
|
default:
|
||||||
assert (!"Not a view.");
|
#define A_known_view 0
|
||||||
|
assert (A_known_view);
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -397,7 +407,8 @@ get_linestyle_str (enum linestyle_e l)
|
|||||||
case dotted: return "dotted";
|
case dotted: return "dotted";
|
||||||
case invisible: return "invisible";
|
case invisible: return "invisible";
|
||||||
default:
|
default:
|
||||||
assert (!"Not a line style.");
|
#define A_known_line_style 0
|
||||||
|
assert (A_known_line_style);
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -411,7 +422,8 @@ get_arrowstyle_str (enum arrowstyle_e a)
|
|||||||
case line: return "line";
|
case line: return "line";
|
||||||
case none: return "none";
|
case none: return "none";
|
||||||
default:
|
default:
|
||||||
assert (!"Not an arrow style.");
|
#define A_known_arrow_style 0
|
||||||
|
assert (A_known_arrow_style);
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
+76
-74
@@ -1,5 +1,5 @@
|
|||||||
/* Generate transitive closure of a matrix,
|
/* Generate transitive closure of a matrix,
|
||||||
Copyright 1984, 1989, 2000 Free Software Foundation, Inc.
|
Copyright 1984, 1989, 2000, 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
@@ -20,95 +20,97 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
|
#include "getargs.h"
|
||||||
#include "warshall.h"
|
#include "warshall.h"
|
||||||
|
|
||||||
/* Given n by n matrix of bits R, modify its contents to be the
|
/*-------------------------------------------------------------.
|
||||||
transive closure of what was given. */
|
| Given n by n matrix of bits R, modify its contents to be the |
|
||||||
|
| transive closure of what was given. |
|
||||||
|
`-------------------------------------------------------------*/
|
||||||
|
|
||||||
|
static void
|
||||||
|
bitmatrix_print (const char *title, unsigned *matrix, size_t size)
|
||||||
|
{
|
||||||
|
size_t i, j;
|
||||||
|
size_t rowsize = WORDSIZE (size) * sizeof (unsigned);
|
||||||
|
#define ROW(Num) ((unsigned *) ((char *) matrix + ((Num) * rowsize)))
|
||||||
|
|
||||||
|
/* Title. */
|
||||||
|
fprintf (stderr, "%s BEGIN\n", title);
|
||||||
|
|
||||||
|
/* Column numbers. */
|
||||||
|
fputs (" ", stderr);
|
||||||
|
for (i = 0; i < size; ++i)
|
||||||
|
putc (i / 10 ? '0' + i / 10 : ' ', stderr);
|
||||||
|
putc ('\n', stderr);
|
||||||
|
fputs (" ", stderr);
|
||||||
|
for (i = 0; i < size; ++i)
|
||||||
|
fprintf (stderr, "%d", i % 10);
|
||||||
|
putc ('\n', stderr);
|
||||||
|
|
||||||
|
/* Bar. */
|
||||||
|
fputs (" .", stderr);
|
||||||
|
for (i = 0; i < size; ++i)
|
||||||
|
putc ('-', stderr);
|
||||||
|
fputs (".\n", stderr);
|
||||||
|
|
||||||
|
/* Contents. */
|
||||||
|
for (i = 0; i < size; ++i)
|
||||||
|
{
|
||||||
|
fprintf (stderr, "%2d|", i);
|
||||||
|
for (j = 0; j < size; ++j)
|
||||||
|
fputs (BITISSET (ROW (i), j) ? "1" : " ", stderr);
|
||||||
|
fputs ("|\n", stderr);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Bar. */
|
||||||
|
fputs (" `", stderr);
|
||||||
|
for (i = 0; i < size; ++i)
|
||||||
|
putc ('-', stderr);
|
||||||
|
fputs ("'\n", stderr);
|
||||||
|
|
||||||
|
/* End title. */
|
||||||
|
fprintf (stderr, "%s END\n\n", title);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define R(Num) (unsigned *) ((char *) R + ((Num) * rowsize))
|
||||||
|
|
||||||
static void
|
static void
|
||||||
TC (unsigned *R, int n)
|
TC (unsigned *R, int n)
|
||||||
{
|
{
|
||||||
int rowsize;
|
int rowsize = WORDSIZE (n) * sizeof (unsigned);
|
||||||
unsigned mask;
|
int i, j, k;
|
||||||
unsigned *rowj;
|
|
||||||
unsigned *rp;
|
|
||||||
unsigned *rend;
|
|
||||||
unsigned *ccol;
|
|
||||||
|
|
||||||
unsigned *relend;
|
if (trace_flag)
|
||||||
unsigned *cword;
|
bitmatrix_print ("TC: Input", R, n);
|
||||||
unsigned *rowi;
|
|
||||||
|
|
||||||
rowsize = WORDSIZE(n) * sizeof(unsigned);
|
/* R (J, I) && R (I, K) => R (J, K).
|
||||||
relend = (unsigned *) ((char *) R + (n * rowsize));
|
I *must* be the outter loop. */
|
||||||
|
|
||||||
cword = R;
|
for (i = 0; i < n; ++i)
|
||||||
mask = 1;
|
for (j = 0; j < n; ++j)
|
||||||
rowi = R;
|
if (BITISSET (R (j), i))
|
||||||
while (rowi < relend)
|
for (k = 0; k < n; ++k)
|
||||||
{
|
if (BITISSET (R (i), k))
|
||||||
ccol = cword;
|
SETBIT (R (j), k);
|
||||||
rowj = R;
|
|
||||||
|
|
||||||
while (rowj < relend)
|
if (trace_flag)
|
||||||
{
|
bitmatrix_print ("TC: Output", R, n);
|
||||||
if (*ccol & mask)
|
|
||||||
{
|
|
||||||
rp = rowi;
|
|
||||||
rend = (unsigned *) ((char *) rowj + rowsize);
|
|
||||||
|
|
||||||
while (rowj < rend)
|
|
||||||
*rowj++ |= *rp++;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
rowj = (unsigned *) ((char *) rowj + rowsize);
|
|
||||||
}
|
|
||||||
|
|
||||||
ccol = (unsigned *) ((char *) ccol + rowsize);
|
|
||||||
}
|
|
||||||
|
|
||||||
mask <<= 1;
|
|
||||||
if (mask == 0)
|
|
||||||
{
|
|
||||||
mask = 1;
|
|
||||||
cword++;
|
|
||||||
}
|
|
||||||
|
|
||||||
rowi = (unsigned *) ((char *) rowi + rowsize);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Reflexive Transitive Closure. Same as TC
|
/*---------------------------------------------------------------.
|
||||||
and then set all the bits on the diagonal of R. */
|
| Reflexive Transitive Closure. Same as TC and then set all the |
|
||||||
|
| bits on the diagonal of R. |
|
||||||
|
`---------------------------------------------------------------*/
|
||||||
|
|
||||||
void
|
void
|
||||||
RTC (unsigned *R, int n)
|
RTC (unsigned *R, int n)
|
||||||
{
|
{
|
||||||
int rowsize;
|
int rowsize = WORDSIZE (n) * sizeof (unsigned);
|
||||||
unsigned mask;
|
int i;
|
||||||
unsigned *rp;
|
|
||||||
unsigned *relend;
|
|
||||||
|
|
||||||
TC(R, n);
|
TC (R, n);
|
||||||
|
for (i = 0; i < n; ++i)
|
||||||
rowsize = WORDSIZE(n) * sizeof(unsigned);
|
SETBIT (R (i), i);
|
||||||
relend = (unsigned *) ((char *) R + n*rowsize);
|
|
||||||
|
|
||||||
mask = 1;
|
|
||||||
rp = R;
|
|
||||||
while (rp < relend)
|
|
||||||
{
|
|
||||||
*rp |= mask;
|
|
||||||
|
|
||||||
mask <<= 1;
|
|
||||||
if (mask == 0)
|
|
||||||
{
|
|
||||||
mask = 1;
|
|
||||||
rp++;
|
|
||||||
}
|
|
||||||
|
|
||||||
rp = (unsigned *) ((char *) rp + rowsize);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-26
@@ -1,30 +1,5 @@
|
|||||||
/* Generate transitive closure of a matrix,
|
/* Generate transitive closure of a matrix,
|
||||||
Copyright 1984, 1989, 2000 Free Software Foundation, Inc.
|
Copyright 1984, 1989, 2000, 2001 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
|
||||||
|
|
||||||
Bison is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
Bison is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Bison; see the file COPYING. If not, write to
|
|
||||||
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA. */
|
|
||||||
|
|
||||||
#ifndef WARSHALL_H_
|
|
||||||
# define WARSHALL_H_
|
|
||||||
|
|
||||||
void RTC PARAMS ((unsigned *, int));
|
|
||||||
#endif /* !WARSHALL_H_ */
|
|
||||||
/* Generate transitive closure of a matrix,
|
|
||||||
Copyright 1984, 1989, 2000 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|||||||
+24
-4
@@ -1,7 +1,7 @@
|
|||||||
## Process this file with automake to create Makefile.in.
|
## Process this file with automake to create Makefile.in.
|
||||||
|
|
||||||
## Makefile for Bison testsuite.
|
## 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
|
## 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
|
## it under the terms of the GNU General Public License as published by
|
||||||
@@ -20,16 +20,36 @@
|
|||||||
|
|
||||||
EXTRA_DIST = $(TESTSUITE_AT) testsuite
|
EXTRA_DIST = $(TESTSUITE_AT) testsuite
|
||||||
|
|
||||||
DISTCLEANFILES = atconfig bison package.m4
|
DISTCLEANFILES = atconfig bison
|
||||||
MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE)
|
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 = \
|
||||||
testsuite.at \
|
testsuite.at \
|
||||||
output.at calc.at torture.at regression.at
|
output.at sets.at reduce.at calc.at torture.at regression.at
|
||||||
TESTSUITE = $(srcdir)/testsuite
|
TESTSUITE = $(srcdir)/testsuite
|
||||||
|
|
||||||
AUTOTEST = $(AUTOM4TE) --language=autotest
|
AUTOTEST = $(AUTOM4TE) --language=autotest
|
||||||
$(srcdir)/$(TESTSUITE): $(TESTSUITE_AT)
|
$(srcdir)/$(TESTSUITE): package.m4 $(TESTSUITE_AT)
|
||||||
$(AUTOTEST) -I $(srcdir) testsuite.at -o $@.tmp
|
$(AUTOTEST) -I $(srcdir) testsuite.at -o $@.tmp
|
||||||
mv $@.tmp $@
|
mv $@.tmp $@
|
||||||
|
|
||||||
|
|||||||
+19
-8
@@ -1,4 +1,4 @@
|
|||||||
# Makefile.in generated by automake 1.5a from Makefile.am.
|
# Makefile.in generated by automake 1.5c from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||||
@@ -13,7 +13,6 @@
|
|||||||
# PARTICULAR PURPOSE.
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
|
||||||
SHELL = @SHELL@
|
SHELL = @SHELL@
|
||||||
|
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
@@ -48,6 +47,7 @@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
|||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
INSTALL_HEADER = $(INSTALL_DATA)
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
transform = @program_transform_name@
|
transform = @program_transform_name@
|
||||||
@@ -97,18 +97,19 @@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
|||||||
USE_NLS = @USE_NLS@
|
USE_NLS = @USE_NLS@
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
WARNING_CFLAGS = @WARNING_CFLAGS@
|
WARNING_CFLAGS = @WARNING_CFLAGS@
|
||||||
|
WERROR_CFLAGS = @WERROR_CFLAGS@
|
||||||
am__include = @am__include@
|
am__include = @am__include@
|
||||||
am__quote = @am__quote@
|
am__quote = @am__quote@
|
||||||
install_sh = @install_sh@
|
install_sh = @install_sh@
|
||||||
|
|
||||||
EXTRA_DIST = $(TESTSUITE_AT) testsuite
|
EXTRA_DIST = $(TESTSUITE_AT) testsuite package.m4
|
||||||
|
|
||||||
DISTCLEANFILES = atconfig bison package.m4
|
DISTCLEANFILES = atconfig bison
|
||||||
MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE)
|
MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE)
|
||||||
|
|
||||||
TESTSUITE_AT = \
|
TESTSUITE_AT = \
|
||||||
testsuite.at \
|
testsuite.at \
|
||||||
output.at calc.at torture.at regression.at
|
output.at sets.at reduce.at calc.at torture.at regression.at
|
||||||
|
|
||||||
TESTSUITE = $(srcdir)/testsuite
|
TESTSUITE = $(srcdir)/testsuite
|
||||||
|
|
||||||
@@ -135,7 +136,6 @@ uninstall-info-am:
|
|||||||
tags: TAGS
|
tags: TAGS
|
||||||
TAGS:
|
TAGS:
|
||||||
|
|
||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
top_distdir = ..
|
top_distdir = ..
|
||||||
@@ -143,7 +143,7 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
|||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(DISTFILES)
|
||||||
@for file in $(DISTFILES); do \
|
@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,/[^/]*$$,,'`; \
|
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||||
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
$(mkinstalldirs) "$(distdir)/$$dir"; \
|
||||||
@@ -175,6 +175,7 @@ install-am: all-am
|
|||||||
installcheck: installcheck-am
|
installcheck: installcheck-am
|
||||||
install-strip:
|
install-strip:
|
||||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
INSTALL_STRIP_FLAG=-s \
|
||||||
`test -z '$(STRIP)' || \
|
`test -z '$(STRIP)' || \
|
||||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||||
mostlyclean-generic:
|
mostlyclean-generic:
|
||||||
@@ -234,7 +235,17 @@ uninstall-am: uninstall-info-am
|
|||||||
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||||
uninstall uninstall-am uninstall-info-am
|
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
|
$(AUTOTEST) -I $(srcdir) testsuite.at -o $@.tmp
|
||||||
mv $@.tmp $@
|
mv $@.tmp $@
|
||||||
|
|
||||||
|
|||||||
+3
-6
@@ -1,13 +1,10 @@
|
|||||||
# @configure_input@ -*- shell-script -*-
|
# @configure_input@ -*- shell-script -*-
|
||||||
# Configurable variable values for Bison test suite.
|
# 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.
|
# We need a C compiler.
|
||||||
CC='@CC@'
|
CC='@CC@'
|
||||||
CFLAGS='@CFLAGS@'
|
CFLAGS='@CFLAGS@ @WARNING_CFLAGS@ @WERROR_CFLAGS@'
|
||||||
|
|
||||||
# We need to know if the compiler is GCC.
|
|
||||||
GCC='@GCC@'
|
|
||||||
|
|
||||||
# We need `config.h'.
|
# We need `config.h'.
|
||||||
CPPFLAGS="-I $top_buildpath @CPPFLAGS@"
|
CPPFLAGS="-I$abs_top_builddir @CPPFLAGS@"
|
||||||
|
|||||||
+4
-4
@@ -1,11 +1,11 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# @configure_generated@
|
# @configure_input@
|
||||||
# Wrapper around a non installed bison to make it work as an installed one.
|
# Wrapper around a non installed bison to make it work as an installed one.
|
||||||
|
|
||||||
# We want to use the files shipped with Bison.
|
# 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
|
export BISON_SIMPLE
|
||||||
BISON_HAIRY='@top_srcpath@/src/bison.hairy'
|
BISON_HAIRY='@abs_top_srcdir@/src/bison.hairy'
|
||||||
export BISON_HAIRY
|
export BISON_HAIRY
|
||||||
|
|
||||||
exec '@top_buildpath@/src/bison' ${1+"$@"}
|
exec '@abs_top_builddir@/src/bison' ${1+"$@"}
|
||||||
|
|||||||
@@ -334,17 +334,6 @@ AT_DATA_CALC_Y([$1])
|
|||||||
AT_CHECK([bison calc.y -o calc.c m4_bpatsubst([$1], [--yyerror-verbose])],
|
AT_CHECK([bison calc.y -o calc.c m4_bpatsubst([$1], [--yyerror-verbose])],
|
||||||
[0], [], [])
|
[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])
|
AT_CHECK([$CC $CFLAGS $CPPFLAGS calc.c -o calc], 0, [], [ignore])
|
||||||
|
|
||||||
# Test the priorities.
|
# Test the priorities.
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user