Compare commits

..
127 Commits
Author SHA1 Message Date
Akim Demaille 1e883de90c Version 1.30c. 2001-11-14 15:25:51 +00:00
Akim Demaille efcff8cd5c * tests/calc.at, tests/output.at, tests/regression.at,
* tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
now the tests are run in private dirs, therefore AC_CLEANUP and
family can be simplified to 0-ary.
* tests/atlocal.in: Now that we run `elsewhere' than in tests/,
use abs. path to find config.h.
2001-11-14 15:16:40 +00:00
Akim Demaille 3e85a00236 * src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
defined only if yyoverflow is defined, to avoid `warning: unused
variable `yyvs1''.
Reported by The Test Suite.
2001-11-14 14:57:06 +00:00
Akim Demaille f85c981ac1 * src/print.c: Include reduce.h.
Reported by Hans Aberg.
2001-11-14 14:43:29 +00:00
Akim Demaille 5cb10dae3c * src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
Revert a previous patch:  these are really const.
* src/conflicts.c (conflict_report): Additional useless pair of
braces to pacify GCC's warnings for `if () if () {} else {}'.
* src/lex.c (parse_percent_token): Replace equal_offset with
arg_offset.
arg is const.
Be sure to strdup `arg' when used, since there is no reason for
token_buffer not to change.
2001-11-14 14:42:14 +00:00
Akim Demaille 26e1ca45ba * src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
definition.
* src/main.c (main): Use them.
Suggested by Hans Aberg.
2001-11-14 14:14:48 +00:00
Akim Demaille 8888e43b2c Bump to 1.30c. 2001-11-12 10:31:00 +00:00
Akim Demaille d9ca2df2aa . 2001-11-12 10:21:45 +00:00
Akim Demaille e8def3ff6e Version 1.30b. 2001-11-12 10:16:50 +00:00
Akim Demaille 76e734e5ed Adjust ngettext default. 2001-11-12 10:11:49 +00:00
Akim Demaille b8b4a730a0 Typo. 2001-11-12 09:58:30 +00:00
Akim Demaille b9d2d2a881 Version 1.30b.
* config/config.guess, config/config.sub, po/*.po: Update.
* src/system.h (ngettext): Now that we use ngettext, be sure to
provide a default definition when NLS are not used.
2001-11-12 09:56:20 +00:00
Akim Demaille 78986eff74 Version 1.30b.
* config/config.guess, config/config.sub, po/*.po: Update.
2001-11-12 09:42:14 +00:00
Akim Demaille 1393a78454 Typos. 2001-11-12 09:36:17 +00:00
Akim Demaille de11686376 * doc/bison.texinfo: Use $' as shell prompt, not %'.
Use @kbd to denote user input.
(Language and Grammar): ANSIfy the example.
Adjust its layout for info/notinfo.
(Location Tracking Calc): Output error messages to stderr.
Output locations in a more GNUtically correct way.
Fix a couple of Englishos.
Adjust @group/@end group pairs.
2001-11-12 09:20:35 +00:00
Akim Demaille badfc69c26 %expext was not functioning at all.
* src/conflicts.c (expected_conflicts): Set to -1.
(conflict_report): Use ngettext.
(conflicts_print): Check %expect and make its violation an error.
* doc/bison.texinfo (Expect Decl): Adjust.
* configure.in (AM_GNU_GETTEXT): Ask for ngettext.
* tests/regression.at (%expect not enough, %expect right)
(%expect too much): New.
2001-11-12 09:19:48 +00:00
Akim Demaille fb28699f95 * tests/regression.at (Conflicts): Rename as...
(Unresolved SR Conflicts): this.
(Solved SR Conflicts): New.
2001-11-12 09:16:10 +00:00
Akim Demaille 6b307af66c * src/reduce.c (print_results): Rename as...
(reduce_output): This.
Output to OUT, passed as argument, instead of output_obstack.
(dump_grammar): Likewise.
(reduce_free): New.
Also free V1.
(reduce_grammar): No longer call reduce_output, since...
* src/print.c (print_results): do it.
* src/main.c (main): Call reduce_free;
2001-11-12 09:15:57 +00:00
Akim Demaille dad56b10d3 * src/conflicts.c (print_reductions): Accept OUT as argument.
Output to it, not to output_obstack.
* src/print.c (print_actions): Adjust.
2001-11-12 09:15:43 +00:00
Akim Demaille 5f1ff7cd74 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
the result instead of using...
(src_total, rrc_total, src_count, rrc_count): Remove.
(any_conflicts): Remove.
(print_conflicts): Split into...
(conflicts_print, conflicts_output): New.
* src/conflicts.h: Adjust.
* src/main.c (main): Invoke both conflicts_output and conflicts_print.
* src/print.c (print_grammar): Issue `n' between to rule outputs.
* tests/regression.at (Conflicts): New.
Reported by Tom Lane.
2001-11-12 09:15:25 +00:00
Akim Demaille b6cac93afa * tests/regression.at (Invalid input): Remove, duplicate with
``Invalid input: 1''.
2001-11-12 09:15:03 +00:00
Akim Demaille 86d5a1ed5c * tests/torture.at (AT_DATA_STACK_TORTURE)
(Exploding the Stack Size with Alloca)
(Exploding the Stack Size with Malloc): New.
2001-11-12 09:14:50 +00:00
Akim Demaille 97e9ee3ad5 * src/bison.simple (YYSTACK_REALLOC): New.
(yyparse) [!yyoverflow]: Use it and free the old stack.
Reported by FIXME: Who.
2001-11-12 09:14:35 +00:00
Akim Demaille d81e5db73f Bump to 1.30b. 2001-11-05 15:15:47 +00:00
Akim Demaille 029806c785 . 2001-11-05 10:15:57 +00:00
Akim Demaille a2874a4e5d Regen. 2001-11-05 10:12:42 +00:00
Akim Demaille d54387b4bc Version 1.30a.
* src/lex.c (parse_percent_token): s/quotearg/quote/.
2001-11-05 10:06:27 +00:00
Akim Demaille a4c22fa4bf Version 1.30a. 2001-11-05 09:55:38 +00:00
Akim Demaille 0d214b93b0 Regen. 2001-11-05 09:29:10 +00:00
Akim Demaille 3c5d71ca8b * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
pattern.
2001-11-05 09:18:31 +00:00
Akim Demaille d61c57b70c * src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
with yyltype/YYLTYPE.  This allows inclusion of the generated
header within the parser if the compiler, such as GGC, accepts
multiple equivalent #defines.
2001-11-05 09:12:38 +00:00
Akim Demaille ea57e0a3c4 * src/getargs.c (longopts): Support `--output'. getopt is now
able to understand that `--out' is OK: the two racing long options
are aliases.
(usage): Adjust.
* src/lex.h (tok_setopt): Remove, replaced with...
(tok_intopt, tok_stropt): these new guys.
* src/lex.c (getopt.h): Not needed.
(token_buffer, unlexed_token_buffer): Not const.
(percent_table): Promote `-' over `_' in directive names.
Active `%name-prefix', `file-prefix', and `output'.
(parse_percent_token): Accept possible arguments to directives.
Promote `-' over `_' in directive names.
* doc/bison.texinfo (Decl Summary): Split the list into
`directives for grammars' and `directives for bison'.
Sort'em.
Add description of `%name-prefix', `file-prefix', and `output'.
Promote `-' over `_' in directive names.
(Bison Options): s/%locactions/%locations/.  Nice Freudian slip.
Simplify the description of `--name-prefix'.
Promote `-' over `_' in directive names.
Promote `--output' over `--output-file'.
Fix the description of `--defines'.
* tests/output.at: Exercise %file-prefix and %output.
2001-11-04 16:26:59 +00:00
Akim Demaille 57c429f305 * doc/refcard.tex: Update. 2001-11-02 17:18:52 +00:00
Akim Demaille 239e5c1a9a * src/symtab.h (SUNDEF): New.
* src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
stand for `uninitialized', instead of 0.
* src/reader.c (packsymbols, parse_thong_decl): Adjust.
* src/lex.c (lex): Adjust.
* tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
Number it 0.
Let yylex return it instead of a plain 0.
Reported by Dick Streefland.
2001-11-02 15:26:33 +00:00
Akim Demaille ae9b5e5a4f * tests/regression.at (Mixing %token styles): New test. 2001-11-02 14:12:42 +00:00
Akim Demaille 7ae1c5929e * src/reader.c (parse_thong_decl): Formatting changes.
(token_translations_init): New, extracted from...
(packsymbols): Here.
Adjust.
2001-11-02 14:02:31 +00:00
Akim Demaille 1d708336d4 * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
Check that `9foo.y' produces correct cpp guards.
* src/files.c (compute_header_macro): Prepend `BISON_' to CPP
guards.
Reported by Wwp.
2001-11-01 18:29:36 +00:00
Akim Demaille 705131d1de * tests/regression.at (Invalid input: 2): New.
* src/lex.c (unlexed_token_buffer): New.
(lex, unlex): Adjust: when unlexing, be sure to save token_buffer
too.
Reported by Wwp.
2001-11-01 18:03:46 +00:00
Akim Demaille 5c2a5a8970 Update. 2001-11-01 14:35:28 +00:00
Akim Demaille 6b784f8552 * configure.in: Bump to 1.30a.
Adjust to newer Autotest.
2001-11-01 14:27:42 +00:00
Akim Demaille 32a1edfccd . 2001-10-29 09:01:49 +00:00
Akim Demaille 63cf44e7ac Update and Regen. 2001-10-29 08:51:57 +00:00
Akim Demaille 9507085cf3 Regen. 2001-10-26 14:33:02 +00:00
Akim Demaille 8d3c8c3643 Version 1.30. 2001-10-26 13:43:20 +00:00
Akim Demaille 16c9da79ef Update. 2001-10-26 13:29:29 +00:00
Akim Demaille d0132d6bec Regen. 2001-10-26 13:10:17 +00:00
Paul Eggert 1306676ce3 Sync with fileutils 4.1.1. 2001-10-26 07:04:29 +00:00
Akim Demaille e18cda8b5e . 2001-10-18 16:21:33 +00:00
Akim Demaille ddf896eb8e Version 1.29f.
* tests/calc.at (_AT_CHECK_CALC_ERROR): Don't use `foo && bar', to
avoid spurious failures.
2001-10-18 16:18:54 +00:00
Akim Demaille 9aadbdf371 . 2001-10-18 15:29:38 +00:00
Akim Demaille f1b769ff28 Version 1.29e. 2001-10-18 15:26:36 +00:00
Akim Demaille 94ff2b9475 * tests/atlocal.in (GCC): Add.
* tests/calc.at: s/m4_match/m4_bmatch/.
s/m4_patsubst/m4_bpatsubst/.
(AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
* configure.in: AC_SUBST(GCC).
2001-10-18 15:24:53 +00:00
Akim Demaille 470d206b2e * m4/m4.m4: Remove.
* configure.in: M4 is no longer needed, but autom4te is.
* tests/Makefile.am (AUTOTEST): Don't define AUTOM4TE, let
AC_SUBST do it.
2001-10-10 15:24:02 +00:00
Akim Demaille 08f0a4e409 Bump to 1.29e. 2001-10-10 15:19:58 +00:00
Akim Demaille 00fda01856 . 2001-10-10 15:09:16 +00:00
Akim Demaille bf31619762 * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
Use `#if , not `#ifndef'.
Reported by Airy Andre.
2001-10-10 14:59:46 +00:00
Akim Demaille 31a743b2bb * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
Use `#if YYSTACK_USE_ALLOCA', not `#ifdef'.
Reported by Airy Andre.
2001-10-10 14:52:20 +00:00
Akim Demaille 48b43d9d83 Remove. 2001-10-10 14:43:44 +00:00
Akim Demaille 4b9e71f993 Version 1.29d. 2001-10-10 14:39:31 +00:00
Akim Demaille 16cd214585 * INSTALL, config/config.guess, config/config.sub, config/mdate-sh
* config/mkinstalldirs, lib/ansi2knr.c: Update.
2001-10-10 14:39:11 +00:00
Paul Eggert f2c7ab2c1f Explain better why the output file no longer defines 'const', and
explain what to do about it if this still matters to you.
2001-10-02 18:09:13 +00:00
Akim Demaille 2c377512c2 Bump 1.29d. 2001-10-02 16:52:33 +00:00
Akim Demaille 74c3b26d85 . 2001-10-02 16:28:21 +00:00
Akim Demaille 72ab1d45d2 Version 1.29c. 2001-10-02 16:23:59 +00:00
Akim Demaille d9302e4b73 * tests/regression.at (Invalid CPP headers): New.
From Alexander Belopolsky.
* src/files.c (compute_header_macro): Map non alnum chars to `_'.
2001-10-02 16:17:41 +00:00
Akim Demaille f1394282f0 * tests/regression.at (Invalid input): New.
* src/lex.c (lex): Be sure to set `token_buffer' in any case.
Reported by Shura.
2001-10-02 15:52:24 +00:00
Akim Demaille d8b1af2801 * tests/calc.at: Now that --debug works, the tests must be adjusted. 2001-10-02 15:36:11 +00:00
Akim Demaille 445cb4e989 * src/output.c (output_parser): Assert `skeleton'.
* src/files.c (skeleton_find): Look harder for skeletons on DOSish
systems.
From Shura.
2001-10-02 14:48:53 +00:00
Marc Autret f40703a29a Adjust 2001-10-01 19:59:56 +00:00
Marc Autret e348b12ae0 * src/lex.h: Echo modifications.
* src/lex.c (unlex): Parameter is now token_t.
2001-10-01 19:47:09 +00:00
Marc Autret ba6f6bf90f * src/main.c: Include lex.h. 2001-10-01 19:37:31 +00:00
Akim Demaille d9af6cc62f * src/getargs.c (longopts): --debug' is -t', not `-d'. 2001-09-29 15:32:36 +00:00
Akim Demaille ab30845981 * tests/testsuite.at: Update to newer Autotest.
* tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
2001-09-28 11:56:12 +00:00
Akim Demaille 0b3870c112 Make bzip2 dists. 2001-09-27 15:24:45 +00:00
Akim Demaille e92a5d5bae Add. 2001-09-27 15:07:44 +00:00
Akim Demaille 02cbcfc577 Position independent wrapper.
* tests/bison: Remove.
* tests/bison.in: New.
* configure.in: Adjust.
2001-09-27 15:06:14 +00:00
Akim Demaille 8c67836b58 Position independent wrapper.
* tests/bison: Remove.
* tests/bison.in: New.
* configure.in: Adjust.
2001-09-27 15:00:02 +00:00
Akim Demaille cae30a7df4 Port quotearg fixes from tar 1.13.24.
* lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
tm to be declared.
(HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
(mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
* m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
* m4/mbrtowc.m4: New file.
* m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
2001-09-27 14:25:57 +00:00
Akim Demaille 9fb2ad6738 Gettext 0.10.40. 2001-09-27 14:06:39 +00:00
Akim Demaille 8bce355d7c Bump to 1.29c. 2001-09-27 09:19:45 +00:00
Akim Demaille ae7c7ada67 . 2001-09-27 09:02:40 +00:00
Akim Demaille 9e42f7b625 Version 1.29b. 2001-09-27 08:54:51 +00:00
Akim Demaille f87fc33f87 Regen. 2001-09-27 08:54:11 +00:00
Akim Demaille 7ba81a101f * src/system.h: Include `xalloc.h'.
Remove it from the C files.
* src/files.c (output_files): Free the obstacks.
* src/lex.c (init_lex): Rename as...
(lex_init): this.
(lex_free): New.
* src/main.c (main): Use it.
2001-09-25 18:35:04 +00:00
Marc Autret 9190f3e726 * src/vcg.c (open_edge, close_edge, open_node, close_node): Change
to output informations in fout (FILE*).
(open_graph, close_graph): Likewise.
(output_graph, output_edge, output_node): Likewise.
* src/vcg.h: Update function prototypes.
* src/print_graph.c (print_graph): Open output graph file.
(print_actions): Adjust.
* src/files.h: Remove extern declaration.
* src/files.c: Remove graph_obstack declaration.
(open_files): Remove graph_obstack initialization.
(output_files): Remove graph_obstack saving.
2001-09-24 15:54:18 +00:00
Marc Autret 330de47708 * src/files.c (compute_output_file_names): Fix. 2001-09-24 14:14:58 +00:00
Akim Demaille bb84601097 * src/reader.c (reader): Remove call to free_symtab ().
* src/main.c (main): Call it here.
Include symtab.h.
* src/conflicts.c (initialize_conflicts): Rename as...
(solve_conflicts): this.
* src/print.c (print_core, print_actions, print_state)
(print_grammar): Dump to a file instead a `output_obstack'.
(print_results): Dump `output_obstack', and then proceed with the
FILE *.
* src/files.c (compute_output_file_names, close_files): New.
(output_files): Adjust.
* src/main.c (main): Adjust.
2001-09-24 08:15:53 +00:00
Marc Autret 9a96ccfa20 * src/files.c (compute_header_macro): Computes header macro name
from spec_defines_file when given.
2001-09-23 14:49:30 +00:00
Marc Autret 6051d37287 * src/files.c (output_files): Add default extensions. 2001-09-23 14:09:59 +00:00
Akim Demaille 2aec1bc1de * src/conflicts.c (finalize_conflicts): Rename as...
(free_conflicts): this.
2001-09-22 18:13:24 +00:00
Akim Demaille c6e1f6235a * src/gram.c (gram_free): Rename back as...
(dummy): this.
(output_token_translations): Free `token_translations'.
* src/symtab.c (free_symtab): Free the tag field.
2001-09-22 17:57:59 +00:00
Akim Demaille ab6fbb02ad Remove `translations' as it is always set to true.
* src/gram.h: Adjust.
* src/reader.c (packsymbols, parse_token_decl): Adjust
* src/print.c (print_grammar): Adjust.
* src/output.c (output_token_translations): Adjust.
* src/lex.c (lex): Adjust.
* src/gram.c: Be sure the set pointers to NULL.
(dummy): Rename as...
(gram_free): this.
2001-09-22 17:43:26 +00:00
Akim Demaille f2632e420f * configure.in: Invoke AM_LIB_DMALLOC.
* src/system.h: Use dmalloc.
* src/LR0.c: Be sure to have pointers initialized to NULL.
(allocate_itemsets): Allocate kernel_items only if needed.
2001-09-22 17:19:03 +00:00
Akim Demaille 19f01e885f * configure.in: Bump to 1.29b.
* tests/Makefile.am (DISTCLEANFILES): Add package.m4.
* tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
need xmalloc.c in calc.y.
From Pascal Bart.
2001-09-22 16:56:37 +00:00
Akim Demaille 6792619fa8 . 2001-09-22 16:23:53 +00:00
Akim Demaille 645ff8cdee Regen. 2001-09-22 16:13:59 +00:00
Akim Demaille a726df0b44 * configure.in (ALL_LINGUAS): Add "tr".
* po/.cvsignore: Ignore GMO files.
2001-09-21 16:52:42 +00:00
Akim Demaille ce209526ed * tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend upon package.m4. 2001-09-21 16:41:46 +00:00
Akim Demaille b94bf14aac More ignores. 2001-09-21 16:35:45 +00:00
Akim Demaille 2a4426474d Version 1.29a.
* Makefile.maint, config/config.guess, config/config.sub,
* config/missing: Update from masters.
2001-09-21 16:28:06 +00:00
Marc Autret 9022c575cc Update. 2001-09-21 15:45:54 +00:00
Akim Demaille dae9263b7b Adjust. 2001-09-21 14:45:03 +00:00
Akim Demaille cdd11a9322 * tests/Makefile.am (package.m4): Move to...
($(srcdir)/$(TESTSUITE)): here.
2001-09-21 14:44:22 +00:00
Akim Demaille da7ab9b7b0 * src/complain.c: No longer try to be standalone: use system.h.
Don't assume __STDC__ is defined to 1. Just test if it is defined.
* src/complain.h: Likewise.
* src/reduce.c (useless_nonterminals, inaccessable_symbols):
Remove the unused variable `n'.
From Albert Chin-A-Young.
2001-09-20 17:08:42 +00:00
Akim Demaille 0899b02570 Regen. 2001-09-20 17:08:06 +00:00
Marc Autret 0f23d6d25b * doc/bison.1: Update.
* doc/bison.texinfo (Bison Options): Update --defines and --graph
descriptions.
(Option Cross Key): Update.
Add --graph.
2001-09-19 13:09:32 +00:00
Marc Autret 47cef7a2ff * tests/regression.at: New test (comment in %union). 2001-09-18 15:18:26 +00:00
Marc Autret 7972022dac * src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
do that.
Reported by Keith Browne.
2001-09-18 11:37:11 +00:00
Marc Autret ea4f4c4c1b * tests/output.at: Add tests for --defines and --graph. 2001-09-18 11:14:21 +00:00
Marc Autret d97207ad77 * tests/output.at: Removes tests of %{header,src}_extension features. 2001-09-18 11:04:29 +00:00
Akim Demaille 3068221b53 * tests/Makefile.am (package.m4): New.
* tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
(_AT_CHECK_CALC_ERROR): Likewise.
Factor the `, ' part of verbose error messages.
2001-09-18 10:51:36 +00:00
Akim Demaille 6f0d1fd89d Regen. 2001-09-18 10:44:11 +00:00
Marc Autret 6526f6dbf7 * src/getargs.c (longopts): Declare --defines and --graph as options
with optional arguments.
* src/files.h: Add extern declarations.
* src/files.c (spec_graph_file, spec_defines_file): New.
(output_files): Update.
Remove CPP-outed code.
2001-09-17 23:00:01 +00:00
Marc Autret 817e461c23 Update. 2001-09-17 22:21:16 +00:00
Marc Autret c4e3dae3ac Turn off %{source,header}_extension feature.
* src/files.c (compute_exts_from_gf): Update.
(compute_exts_from_src): Update.
(output_files): CPP-out useless code.
* src/files.h: Remove {header,source}_extension extern declarations.
* src/reader.c (parse_dquoted_param): CPP-out.
(parse_header_extension_decl): Remove.
(parse_source_extension_decl): Remove.
(read_declarations): Remove cases tok_{hdrext,srcext}.
* src/lex.c (percent_table): Remove {header,source}_extension entries.
* src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
2001-09-17 22:20:08 +00:00
Akim Demaille 8cedc168fa * tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
(AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
(AT_CHECK_OUTPUT): this.
Merely check ls' exit status, its output is useless.
2001-09-10 09:59:39 +00:00
Akim Demaille 3b14996787 * tests/calc.at: Use m4_match.
(_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
2001-09-10 09:31:50 +00:00
Akim Demaille 041cad1677 * src/vcg.h (graph_s): color, textcolor, bordercolor are now
enum color_e.
* src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
to `normal'.
* src/reader.c (parse_token_decl): Initialize token with tok_eof.
* src/lex.h: Adjust prototype.
(token_t): Add `tok_undef'.
* src/lex.c (struct percent_table_struct): Retval is now a token_t.
(parse_percent_token): Now returns token_t.
Add default statement in switch.
(lex): Separate `c' as an input variable, from the token_t result
part.
(unlexed): Is a token_t.
2001-09-10 08:33:25 +00:00
Akim Demaille 31478b7ab7 * configure.in: Bump to 1.29a. 2001-09-10 08:23:56 +00:00
Akim Demaille e957bbb7d4 . 2001-09-07 12:56:52 +00:00
Akim Demaille b5f513ef2c In config/ now. 2001-09-07 12:34:16 +00:00
Akim Demaille 3afa674b1d Version 1.29. 2001-09-07 12:12:30 +00:00
Akim Demaille ac481f3b08 Newer translations. 2001-08-31 14:11:48 +00:00
Marc Autret 010c94a243 Update 2001-08-31 00:08:57 +00:00
Akim Demaille d37a7c45b3 Regen. and fix typo in configure.in. 2001-08-30 15:41:41 +00:00
Akim Demaille d63e24071f * tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
* m4/atconfig.m4: Remove.
* tests/testsuite.at, tests/atlocal.in, tests/output.at,
* tests/bison: New.
* tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
m4_if, m4_patsubst, and m4_regexp.
* tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
`input' file instead of echo.
2001-08-30 15:36:37 +00:00
Akim Demaille afd36419df Bump to 1.28e. 2001-08-29 12:54:26 +00:00
150 changed files with 9609 additions and 6913 deletions
+125 -120
View File
@@ -164,124 +164,128 @@ Available Packages
================== ==================
Languages are not equally supported in all packages. The following Languages are not equally supported in all packages. The following
matrix shows the current state of internationalization, as of July matrix shows the current state of internationalization, as of September
2001. The matrix shows, in regard of each package, for which languages 2001. The matrix shows, in regard of each package, for which languages
PO files have been submitted to translation coordination, with a PO files have been submitted to translation coordination, with a
translation percentage of at least 50%. translation percentage of at least 50%.
Ready PO files bg cs da de el en eo es et fi fr gl he hr id it Ready PO files bg cs da de el en eo es et fi fr gl he hr id it ja
+-------------------------------------------------+ +----------------------------------------------------+
a2ps | [] [] | a2ps | [] [] [] |
bash | [] [] [] [] | bash | [] [] [] [] |
bfd | | bfd | |
binutils | | binutils | [] |
bison | [] [] [] [] | bison | [] [] [] [] [] |
clisp | [] [] [] [] | clisp | [] [] [] [] |
cpio | [] [] [] [] [] | cpio | [] [] [] [] [] |
diffutils | [] [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] [] |
enscript | [] [] | enscript | [] [] |
error | [] [] | error | [] [] |
fetchmail | | fetchmail | |
fileutils | [] [] [] [] [] [] [] | fileutils | [] [] [] [] [] [] [] [] |
findutils | [] [] [] [] [] [] [] [] | findutils | [] [] [] [] [] [] [] [] |
flex | [] [] [] | flex | [] [] [] |
freetype | | freetype | |
gas | | gas | |
gawk | [] | gawk | [] [] |
gcal | | gcal | |
gcc | | gcc | |
gettext | [] [] [] [] [] [] [] [] [] | gettext | [] [] [] [] [] [] [] [] [] [] |
gnupg | [] [] [] [] [] [] | gnupg | [] [] [] [] [] [] [] |
gprof | | gprof | |
grep | [] [] [] [] [] [] [] | grep | [] [] [] [] [] [] [] [] |
hello | [] [] [] [] [] [] [] [] [] [] | hello | [] [] [] [] [] [] [] [] [] [] [] |
id-utils | [] [] [] | id-utils | [] [] [] |
indent | [] [] [] [] [] | indent | [] [] [] [] [] |
jpilot | [] | jpilot | [] |
kbd | | kbd | |
ld | | ld | [] |
libc | [] [] [] [] [] [] [] [] | libc | [] [] [] [] [] [] [] [] |
lilypond | | lilypond | [] |
lynx | [] [] [] | lynx | [] [] [] [] |
m4 | [] [] [] [] [] [] [] | m4 | [] [] [] [] [] [] [] [] |
make | [] [] [] [] [] | make | [] [] [] [] [] [] |
nano | [] [] | mysecretdiary | [] |
opcodes | | nano | [] [] [] |
parted | [] [] | opcodes | |
ptx | [] [] [] [] [] [] [] | parted | [] [] [] |
python | | ptx | [] [] [] [] [] [] [] |
recode | [] [] [] [] [] [] [] [] [] | python | |
sed | [] [] [] [] [] [] [] [] [] [] | recode | [] [] [] [] [] [] [] [] [] |
sh-utils | [] [] [] [] [] [] [] [] [] | sed | [] [] [] [] [] [] [] [] [] [] [] [] |
sharutils | [] [] [] [] [] [] [] | sh-utils | [] [] [] [] [] [] [] [] [] [] |
soundtracker | [] | sharutils | [] [] [] [] [] [] [] [] |
sp | | sketch | |
tar | [] [] [] [] [] [] [] [] | soundtracker | [] [] [] |
texinfo | [] [] [] [] [] | sp | |
textutils | [] [] [] [] [] [] [] | tar | [] [] [] [] [] [] [] [] |
util-linux | [] [] | texinfo | [] [] [] [] [] [] |
wdiff | [] [] | textutils | [] [] [] [] [] [] [] [] |
wget | [] [] [] [] [] [] [] [] [] | util-linux | [] [] |
+-------------------------------------------------+ wdiff | [] [] [] |
bg cs da de el en eo es et fi fr gl he hr id it wget | [] [] [] [] [] [] [] [] [] [] |
0 13 23 30 11 1 8 21 13 1 29 22 3 0 8 10 +----------------------------------------------------+
bg cs da de el en eo es et fi fr gl he hr id it ja
0 14 24 32 11 1 8 23 13 1 33 22 4 0 7 9 18
ja ko lv nl no pl pt pt_BR ru sk sl sv tr uk zh ko lv nb nl nn no pl pt pt_BR ru sk sl sv tr uk zh
+-------------------------------------------------+ +----------------------------------------------------+
a2ps | [] [] [] | 5 a2ps | [] [] [] | 6
bash | | 4 bash | | 4
bfd | | 0 bfd | | 0
binutils | | 0 binutils | | 1
bison | [] [] [] | 7 bison | [] | 6
clisp | [] | 5 clisp | [] | 5
cpio | [] [] [] [] [] | 10 cpio | [] [] [] [] [] | 10
diffutils | [] [] [] | 10 diffutils | [] [] [] [] | 11
enscript | [] [] [] | 5 enscript | [] [] [] | 5
error | [] | 3 error | [] [] | 4
fetchmail | | 0 fetchmail | | 0
fileutils | [] [] [] [] [] [] [] [] [] [] | 17 fileutils | [] [] [] [] [] [] [] [] [] | 17
findutils | [] [] [] [] [] [] [] [] | 16 findutils | [] [] [] [] [] [] [] [] | 16
flex | [] [] [] | 6 flex | [] [] [] | 6
freetype | | 0 freetype | | 0
gas | | 0 gas | | 0
gawk | [] | 2 gawk | [] | 3
gcal | | 0 gcal | | 0
gcc | | 0 gcc | | 0
gettext | [] [] [] [] [] [] [] [] [] | 18 gettext | [] [] [] [] [] [] [] [] | 18
gnupg | [] [] [] [] | 10 gnupg | [] [] [] | 10
gprof | | 0 gprof | | 0
grep | [] [] [] | 10 grep | [] [] [] [] | 12
hello | [] [] [] [] [] [] [] [] [] [] [] | 21 hello | [] [] [] [] [] [] [] [] [] [] [] | 22
id-utils | [] [] [] | 6 id-utils | [] [] [] | 6
indent | [] [] [] [] [] [] [] | 12 indent | [] [] [] [] [] [] [] | 12
jpilot | | 1 jpilot | | 1
kbd | [] | 1 kbd | [] | 1
ld | | 0 ld | | 1
libc | [] [] [] [] [] [] [] [] [] | 17 libc | [] [] [] [] [] [] [] [] | 16
lilypond | [] [] | 2 lilypond | [] [] | 3
lynx | [] [] [] [] [] | 8 lynx | [] [] [] [] | 8
m4 | [] [] [] [] [] | 12 m4 | [] [] [] [] | 12
make | [] [] [] [] [] [] [] | 12 make | [] [] [] [] [] [] | 12
nano | [] | 3 mysecretdiary | | 1
opcodes | | 0 nano | [] | 4
parted | [] [] [] | 5 opcodes | [] | 1
ptx | [] [] [] [] [] [] [] | 14 parted | [] [] | 5
python | | 0 ptx | [] [] [] [] [] [] [] [] | 15
recode | [] [] [] [] | 13 python | | 0
sed | [] [] [] [] [] [] [] [] | 18 recode | [] [] [] [] | 13
sh-utils | [] [] [] [] [] [] [] [] [] [] [] | 20 sed | [] [] [] [] [] [] [] | 19
sharutils | [] [] [] [] | 11 sh-utils | [] [] [] [] [] [] [] [] [] [] [] | 21
soundtracker | | 1 sharutils | [] [] [] | 11
sp | | 0 sketch | | 0
tar | [] [] [] [] [] [] [] [] [] | 17 soundtracker | | 3
texinfo | [] [] | 7 sp | | 0
textutils | [] [] [] [] [] [] [] [] | 15 tar | [] [] [] [] [] [] [] | 15
util-linux | [] [] | 4 texinfo | [] | 7
wdiff | [] [] [] | 5 textutils | [] [] [] [] [] [] [] [] | 16
wget | [] [] [] [] [] [] [] | 16 util-linux | [] [] | 4
+-------------------------------------------------+ wdiff | [] [] [] [] | 7
31 teams ja ko lv nl no pl pt pt_BR ru sk sl sv tr uk zh wget | [] [] [] [] [] [] [] | 17
51 domains 17 9 1 23 6 17 1 13 26 9 11 20 19 2 2 369 +----------------------------------------------------+
33 teams ko lv nb nl nn no pl pt pt_BR ru sk sl sv tr uk zh
53 domains 9 1 6 20 0 6 17 1 13 25 10 11 23 21 2 2 387
Some counters in the preceding matrix are higher than the number of Some counters in the preceding matrix are higher than the number of
visible blocks let us expect. This is because a few extra PO files are visible blocks let us expect. This is because a few extra PO files are
@@ -294,9 +298,9 @@ distributed as such by its maintainer. There might be an observable
lag between the mere existence a PO file and its wide availability in a lag between the mere existence a PO file and its wide availability in a
distribution. distribution.
If July 2001 seems to be old, you may fetch a more recent copy of If September 2001 seems to be old, you may fetch a more recent copy
this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date of this `ABOUT-NLS' file on most GNU archive sites. The most
matrix with full percentage details can be found at up-to-date matrix with full percentage details can be found at
`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. `http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
Using `gettext' in new packages Using `gettext' in new packages
@@ -304,10 +308,11 @@ Using `gettext' in new packages
If you are writing a freely available program and want to If you are writing a freely available program and want to
internationalize it you are welcome to use GNU `gettext' in your internationalize it you are welcome to use GNU `gettext' in your
package. Of course the GNU General Public License applies to your package. Of course you have to respect the GNU Library General Public
sources from then on if you include `gettext' directly in your License which covers the use of the GNU `gettext' library. This means
distribution but since you are writing free software anyway this is no in particular that even non-free programs can use `libintl' as a shared
restriction. library, whereas only free software can use `libintl' as a static
library or use modified versions of `libintl'.
Once the sources are changed appropriately and the setup can handle Once the sources are changed appropriately and the setup can handle
to use of `gettext' the only thing missing are the translations. The to use of `gettext' the only thing missing are the translations. The
+587
View File
@@ -1,3 +1,590 @@
2001-11-14 Akim Demaille <[email protected]>
Version 1.30c.
2001-11-14 Akim Demaille <[email protected]>
* tests/calc.at, tests/output.at, tests/regression.at,
* tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
now the tests are run in private dirs, therefore AC_CLEANUP and
family can be simplified to 0-ary.
* tests/atlocal.in: Now that we run `elsewhere' than in tests/,
use abs. path to find config.h.
2001-11-14 Akim Demaille <[email protected]>
* tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
stderr, there can be way too much random noise.
Instead pass -Werror to GCC and rely on the exit status.
Reported by Wolfram Wagner.
2001-11-14 Akim Demaille <[email protected]>
* src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
defined only if yyoverflow is defined, to avoid `warning: unused
variable `yyvs1''.
Reported by The Test Suite.
2001-11-14 Akim Demaille <[email protected]>
* src/print.c: Include reduce.h.
Reported by Hans Aberg.
2001-11-14 Akim Demaille <[email protected]>
* src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
Revert a previous patch: these are really const.
* src/conflicts.c (conflict_report): Additional useless pair of
braces to pacify GCC's warnings for `if () if () {} else {}'.
* src/lex.c (parse_percent_token): Replace equal_offset with
arg_offset.
arg is const.
Be sure to strdup `arg' when used, since there is no reason for
token_buffer not to change.
2001-11-14 Akim Demaille <[email protected]>
* src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
definition.
* src/main.c (main): Use them.
Suggested by Hans Aberg.
2001-11-12 Akim Demaille <[email protected]>
Version 1.30b.
* src/system.h (ngettext): Now that we use ngettext, be sure to
provide a default definition when NLS are not used that takes care
of the cardinality.
2001-11-12 Akim Demaille <[email protected]>
* doc/bison.texinfo: Use `$' as shell prompt, not `%'.
Use @kbd to denote user input.
(Language and Grammar): ANSIfy the example.
Adjust its layout for info/notinfo.
(Location Tracking Calc): Output error messages to stderr.
Output locations in a more GNUtically correct way.
Fix a couple of Englishos.
Adjust @group/@end group pairs.
2001-11-12 Akim Demaille <[email protected]>
%expext was not functioning at all.
* src/conflicts.c (expected_conflicts): Set to -1.
(conflict_report): Use ngettext.
(conflicts_print): Check %expect and make its violation an error.
* doc/bison.texinfo (Expect Decl): Adjust.
* configure.in (AM_GNU_GETTEXT): Ask for ngettext.
* tests/regression.at (%expect not enough, %expect right)
(%expect too much): New.
2001-11-12 Akim Demaille <[email protected]>
* tests/regression.at (Conflicts): Rename as...
(Unresolved SR Conflicts): this.
(Solved SR Conflicts): New.
2001-11-12 Akim Demaille <[email protected]>
* src/reduce.c (print_results): Rename as...
(reduce_output): This.
Output to OUT, passed as argument, instead of output_obstack.
(dump_grammar): Likewise.
(reduce_free): New.
Also free V1.
(reduce_grammar): No longer call reduce_output, since...
* src/print.c (print_results): do it.
* src/main.c (main): Call reduce_free;
2001-11-12 Akim Demaille <[email protected]>
* src/conflicts.c (print_reductions): Accept OUT as argument.
Output to it, not to output_obstack.
* src/print.c (print_actions): Adjust.
2001-11-12 Akim Demaille <[email protected]>
* src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
the result instead of using...
(src_total, rrc_total, src_count, rrc_count): Remove.
(any_conflicts): Remove.
(print_conflicts): Split into...
(conflicts_print, conflicts_output): New.
* src/conflicts.h: Adjust.
* src/main.c (main): Invoke both conflicts_output and conflicts_print.
* src/print.c (print_grammar): Issue `\n' between to rule outputs.
* tests/regression.at (Conflicts): New.
Reported by Tom Lane.
2001-11-12 Akim Demaille <[email protected]>
* tests/regression.at (Invalid input): Remove, duplicate with
``Invalid input: 1''.
2001-11-12 Akim Demaille <[email protected]>
* tests/torture.at (AT_DATA_STACK_TORTURE)
(Exploding the Stack Size with Alloca)
(Exploding the Stack Size with Malloc): New.
2001-11-12 Akim Demaille <[email protected]>
* src/bison.simple (YYSTACK_REALLOC): New.
(yyparse) [!yyoverflow]: Use it and free the old stack.
Reported by Per Allansson.
2001-11-05 Akim Demaille <[email protected]>
Version 1.30a.
* src/lex.c (parse_percent_token): s/quotearg/quote/.
2001-11-05 Akim Demaille <[email protected]>
* tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
pattern.
2001-11-05 Akim Demaille <[email protected]>
* src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
with yyltype/YYLTYPE. This allows inclusion of the generated
header within the parser if the compiler, such as GGC, accepts
multiple equivalent #defines.
2001-11-04 Akim Demaille <[email protected]>
* src/getargs.c (longopts): Support `--output'. getopt is now
able to understand that `--out' is OK: the two racing long options
are aliases.
(usage): Adjust.
* src/lex.h (tok_setopt): Remove, replaced with...
(tok_intopt, tok_stropt): these new guys.
* src/lex.c (getopt.h): Not needed.
(token_buffer, unlexed_token_buffer): Not const.
(percent_table): Promote `-' over `_' in directive names.
Active `%name-prefix', `file-prefix', and `output'.
(parse_percent_token): Accept possible arguments to directives.
Promote `-' over `_' in directive names.
* doc/bison.texinfo (Decl Summary): Split the list into
`directives for grammars' and `directives for bison'.
Sort'em.
Add description of `%name-prefix', `file-prefix', and `output'.
Promote `-' over `_' in directive names.
(Bison Options): s/%locactions/%locations/. Nice Freudian slip.
Simplify the description of `--name-prefix'.
Promote `-' over `_' in directive names.
Promote `--output' over `--output-file'.
Fix the description of `--defines'.
* tests/output.at: Exercise %file-prefix and %output.
2001-11-02 Akim Demaille <[email protected]>
* doc/refcard.tex: Update.
2001-11-02 Akim Demaille <[email protected]>
* src/symtab.h (SUNDEF): New.
* src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
stand for `uninitialized', instead of 0.
* src/reader.c (packsymbols, parse_thong_decl): Adjust.
* src/lex.c (lex): Adjust.
* tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
Number it 0.
Let yylex return it instead of a plain 0.
Reported by Dick Streefland.
2001-11-02 Akim Demaille <[email protected]>
* tests/regression.at (Mixing %token styles): New test.
2001-11-02 Akim Demaille <[email protected]>
* src/reader.c (parse_thong_decl): Formatting changes.
(token_translations_init): New, extracted from...
(packsymbols): Here.
Adjust.
2001-11-01 Akim Demaille <[email protected]>
* tests/regression.at (AT_TEST_CPP_GUARD_H): New.
Check that `9foo.y' produces correct cpp guards.
* src/files.c (compute_header_macro): Prepend `BISON_' to CPP
guards.
Reported by Wwp.
2001-11-01 Akim Demaille <[email protected]>
* tests/regression.at (Invalid input: 2): New.
* src/lex.c (unlexed_token_buffer): New.
(lex, unlex): Adjust: when unlexing, be sure to save token_buffer
too.
Reported by Wwp.
2001-11-01 Akim Demaille <[email protected]>
* configure.in: Bump to 1.30a.
Adjust to newer Autotest.
2001-10-26 Akim Demaille <[email protected]>
Version 1.30.
2001-10-26 Paul Eggert <[email protected]>
* lib/error.c, lib/error.h, lib/getopt.c, lib/getopt.h,
lib/getopt1.c, lib/obstack.c, lib/obstack.h, lib/quote.c,
lib/strnlen.c, lib/xmalloc.c, m4/c-bs-a.m4, m4/error.m4,
m4/gettext.m4, m4/lcmessage.m4, m4/malloc.m4, m4/mbstate_t.m4,
m4/progtest.m4, m4/realloc.m4, m4/strerror_r.m4:
Sync with fileutils 4.1.1.
2001-10-18 Akim Demaille <[email protected]>
Version 1.29f.
* tests/calc.at (_AT_CHECK_CALC_ERROR): Don't use `foo && bar', to
avoid spurious failures.
2001-10-18 Akim Demaille <[email protected]>
Version 1.29e.
2001-10-18 Akim Demaille <[email protected]>
* tests/atlocal.in (GCC): Add.
* tests/calc.at: s/m4_match/m4_bmatch/.
s/m4_patsubst/m4_bpatsubst/.
(AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
* configure.in: AC_SUBST(GCC).
2001-10-10 Akim Demaille <[email protected]>
* m4/m4.m4: Remove.
* configure.in: M4 is no longer needed, but autom4te is.
* tests/Makefile.am (AUTOTEST): Don't define AUTOM4TE, let
AC_SUBST do it.
2001-10-10 Akim Demaille <[email protected]>
Bump to 1.29e.
2001-10-10 Akim Demaille <[email protected]>
Version 1.29d.
* src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
Use `#if !YYSTACK_USE_ALLOCA', not `#ifndef'.
Reported by Airy Andre.
2001-10-10 Akim Demaille <[email protected]>
* INSTALL, config/config.guess, config/config.sub, config/mdate-sh
* config/mkinstalldirs, lib/ansi2knr.c: Update.
2001-10-02 Akim Demaille <[email protected]>
Bump 1.29d.
2001-10-02 Akim Demaille <[email protected]>
Version 1.29c.
2001-10-02 Akim Demaille <[email protected]>
* tests/regression.at (Invalid CPP headers): New.
From Alexander Belopolsky.
* src/files.c (compute_header_macro): Map non alnum chars to `_'.
2001-10-02 Akim Demaille <[email protected]>
* tests/regression.at (Invalid input): New.
* src/lex.c (lex): Be sure to set `token_buffer' in any case.
Reported by Shura.
2001-10-02 Akim Demaille <[email protected]>
* tests/calc.at: Now that --debug works, the tests must be adjusted.
2001-10-02 Akim Demaille <[email protected]>
* src/output.c (output_parser): Assert `skeleton'.
* src/files.c (skeleton_find): Look harder for skeletons on DOSish
systems.
From Shura.
2001-10-01 Marc Autret <[email protected]>
* src/lex.h: Echo modifications.
* src/lex.c (unlex): Parameter is now token_t.
From Hans Aberg.
2001-10-01 Marc Autret <[email protected]>
* src/main.c: Include lex.h.
From Hans Aberg.
2001-09-29 Akim Demaille <[email protected]>
* src/getargs.c (longopts): `--debug' is `-t', not `-d'.
2001-09-28 Akim Demaille <[email protected]>
* tests/testsuite.at: Update to newer Autotest.
* tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
2001-09-27 Akim Demaille <[email protected]>
Position independent wrapper.
* tests/bison: Remove.
* tests/bison.in: New.
* configure.in: Adjust.
2001-09-27 Paul Eggert <[email protected]>
Port quotearg fixes from tar 1.13.24.
* lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
tm to be declared.
(HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
(mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
* m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
* m4/mbrtowc.m4: New file.
* m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
2001-09-27 Akim Demaille <[email protected]>
Bump to 1.29c.
2001-09-27 Akim Demaille <[email protected]>
Version 1.29b.
2001-09-25 Akim Demaille <[email protected]>
* src/system.h: Include `xalloc.h'.
Remove it from the C files.
* src/files.c (output_files): Free the obstacks.
* src/lex.c (init_lex): Rename as...
(lex_init): this.
(lex_free): New.
* src/main.c (main): Use it.
2001-09-24 Marc Autret <[email protected]>
* src/vcg.c (open_edge, close_edge, open_node, close_node): Change
to output informations in fout (FILE*).
(open_graph, close_graph): Likewise.
(output_graph, output_edge, output_node): Likewise.
* src/vcg.h: Update function prototypes.
* src/print_graph.c (print_graph): Open output graph file.
(print_actions): Adjust.
* src/files.h: Remove extern declaration.
* src/files.c: Remove graph_obstack declaration.
(open_files): Remove graph_obstack initialization.
(output_files): Remove graph_obstack saving.
2001-09-24 Marc Autret <[email protected]>
* src/files.c (compute_output_file_names): Fix.
2001-09-24 Marc Autret <[email protected]>, Akim Demaille <[email protected]>
* src/reader.c (reader): Remove call to free_symtab ().
* src/main.c (main): Call it here.
Include symtab.h.
* src/conflicts.c (initialize_conflicts): Rename as...
(solve_conflicts): this.
* src/print.c (print_core, print_actions, print_state)
(print_grammar): Dump to a file instead a `output_obstack'.
(print_results): Dump `output_obstack', and then proceed with the
FILE *.
* src/files.c (compute_output_file_names, close_files): New.
(output_files): Adjust.
* src/main.c (main): Adjust.
2001-09-23 Marc Autret <[email protected]>
* src/files.c (compute_header_macro): Computes header macro name
from spec_defines_file when given.
2001-09-23 Marc Autret <[email protected]>
* src/files.c (output_files): Add default extensions.
2001-09-22 Akim Demaille <[email protected]>
* src/conflicts.c (finalize_conflicts): Rename as...
(free_conflicts): this.
2001-09-22 Akim Demaille <[email protected]>
* src/gram.c (gram_free): Rename back as...
(dummy): this.
(output_token_translations): Free `token_translations'.
* src/symtab.c (free_symtab): Free the tag field.
2001-09-22 Akim Demaille <[email protected]>
Remove `translations' as it is always set to true.
* src/gram.h: Adjust.
* src/reader.c (packsymbols, parse_token_decl): Adjust
* src/print.c (print_grammar): Adjust.
* src/output.c (output_token_translations): Adjust.
* src/lex.c (lex): Adjust.
* src/gram.c: Be sure the set pointers to NULL.
(dummy): Rename as...
(gram_free): this.
2001-09-22 Akim Demaille <[email protected]>
* configure.in: Invoke AM_LIB_DMALLOC.
* src/system.h: Use dmalloc.
* src/LR0.c: Be sure to have pointers initialized to NULL.
(allocate_itemsets): Allocate kernel_items only if needed.
2001-09-22 Akim Demaille <[email protected]>
* configure.in: Bump to 1.29b.
* tests/Makefile.am (DISTCLEANFILES): Add package.m4.
* tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
need xmalloc.c in calc.y.
From Pascal Bart.
2001-09-21 Akim Demaille <[email protected]>
Version 1.29a.
* Makefile.maint, config/config.guess, config/config.sub,
* config/missing: Update from masters.
* tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend
upon package.m4.
* configure.in (ALL_LINGUAS): Add `tr'.
2001-09-21 Akim Demaille <[email protected]>
* tests/Makefile.am (package.m4): Move to...
($(srcdir)/$(TESTSUITE)): here.
2001-09-20 Akim Demaille <[email protected]>
* src/complain.c: No longer try to be standalone: use system.h.
Don't assume __STDC__ is defined to 1. Just test if it is defined.
* src/complain.h: Likewise.
* src/reduce.c (useless_nonterminals, inaccessable_symbols):
Remove the unused variable `n'.
From Albert Chin-A-Young.
2001-09-18 Marc Autret <[email protected]>
* doc/bison.1: Update.
* doc/bison.texinfo (Bison Options): Update --defines and --graph
descriptions.
(Option Cross Key): Update.
Add --graph.
2001-09-18 Marc Autret <[email protected]>
* tests/regression.at: New test (comment in %union).
2001-09-18 Marc Autret <[email protected]>
* src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
do that.
Reported by Keith Browne.
2001-09-18 Marc Autret <[email protected]>
* tests/output.at: Add tests for --defines and --graph.
2001-09-18 Marc Autret <[email protected]>
* tests/output.at: Removes tests of %{header,src}_extension features.
2001-09-18 Akim Demaille <[email protected]>
* tests/Makefile.am (package.m4): New.
* tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
(_AT_CHECK_CALC_ERROR): Likewise.
Factor the `, ' part of verbose error messages.
2001-09-18 Marc Autret <[email protected]>
* src/getargs.c (longopts): Declare --defines and --graph as options
with optional arguments.
* src/files.h: Add extern declarations.
* src/files.c (spec_graph_file, spec_defines_file): New.
(output_files): Update.
Remove CPP-outed code.
2001-09-18 Marc Autret <[email protected]>
Turn off %{source,header}_extension feature.
* src/files.c (compute_exts_from_gf): Update.
(compute_exts_from_src): Update.
(output_files): CPP-out useless code.
* src/files.h: Remove {header,source}_extension extern declarations.
* src/reader.c (parse_dquoted_param): CPP-out.
(parse_header_extension_decl): Remove.
(parse_source_extension_decl): Remove.
(read_declarations): Remove cases tok_{hdrext,srcext}.
* src/lex.c (percent_table): Remove {header,source}_extension entries.
* src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
2001-09-10 Akim Demaille <[email protected]>
* tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
(AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
(AT_CHECK_OUTPUT): this.
Merely check ls' exit status, its output is useless.
2001-09-10 Akim Demaille <[email protected]>
* tests/calc.at: Use m4_match.
(_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
2001-09-10 Marc Autret <[email protected]>, Akim Demaille <[email protected]>
* src/vcg.h (graph_s): color, textcolor, bordercolor are now
enum color_e.
* src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
to `normal'.
* src/reader.c (parse_token_decl): Initialize token with tok_eof.
* src/lex.h: Adjust prototype.
(token_t): Add `tok_undef'.
* src/lex.c (struct percent_table_struct): Retval is now a token_t.
(parse_percent_token): Now returns token_t.
Add default statement in switch.
(lex): Separate `c' as an input variable, from the token_t result
part.
(unlexed): Is a token_t.
2001-09-10 Akim Demaille <[email protected]>
* configure.in: Bump to 1.29a.
2001-09-07 Akim Demaille <[email protected]>
Version 1.29.
2001-08-30 Akim Demaille <[email protected]>
* tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
* m4/atconfig.m4: Remove.
* tests/testsuite.at, tests/atlocal.in, tests/output.at,
* tests/bison: New.
* tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
m4_if, m4_patsubst, and m4_regexp.
* tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
`input' file instead of echo.
2001-08-29 Akim Demaille <[email protected]>
Bump to 1.28e.
2001-08-29 Akim Demaille <[email protected]> 2001-08-29 Akim Demaille <[email protected]>
Version 1.28d. Version 1.28d.
+88 -39
View File
@@ -1,3 +1,9 @@
Copyright 1994, 1995, 1996, 1999, 2000, 2001 Free Software Foundation,
Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
Basic Installation Basic Installation
================== ==================
@@ -8,20 +14,27 @@ various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package. those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, a file you can run in the future to recreate the current configuration, and a
`config.cache' that saves the results of its tests to speed up file `config.log' containing compiler output (useful mainly for
reconfiguring, and a file `config.log' containing compiler output debugging `configure').
(useful mainly for debugging `configure').
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring. (Caching is
disabled by default to prevent problems with accidental use of stale
cache files.)
If you need to do unusual things to compile the package, please try If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can diffs or instructions to the address given in the `README' so they can
be considered for the next release. If at some point `config.cache' be considered for the next release. If you are using the cache, and at
contains results you don't want to keep, you may remove or edit it. some point `config.cache' contains results you don't want to keep, you
may remove or edit it.
The file `configure.in' is used to create `configure' by a program The file `configure.ac' (or `configure.in') is used to create
called `autoconf'. You only need `configure.in' if you want to change `configure' by a program called `autoconf'. You only need
it or regenerate `configure' using a newer version of `autoconf'. `configure.ac' if you want to change it or regenerate `configure' using
a newer version of `autoconf'.
The simplest way to compile this package is: The simplest way to compile this package is:
@@ -55,14 +68,15 @@ Compilers and Options
===================== =====================
Some systems require unusual options for compilation or linking that Some systems require unusual options for compilation or linking that
the `configure' script does not know about. You can give `configure' the `configure' script does not know about. Run `./configure --help'
initial values for variables by setting them in the environment. Using for details on some of the pertinent environment variables.
a Bourne-compatible shell, you can do that on the command line like
this:
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
Or on systems that have the `env' program, you can do it like this: You can give `configure' initial values for variables by setting
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure them in the environment. You can do that on the command line like this:
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
*Note Defining Variables::, for more details.
Compiling For Multiple Architectures Compiling For Multiple Architectures
==================================== ====================================
@@ -75,11 +89,11 @@ directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'. source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not supports the `VPATH' If you have to use a `make' that does not support the `VPATH'
variable, you have to compile the package for one architecture at a time variable, you have to compile the package for one architecture at a
in the source code directory. After you have installed the package for time in the source code directory. After you have installed the
one architecture, use `make distclean' before reconfiguring for another package for one architecture, use `make distclean' before reconfiguring
architecture. for another architecture.
Installation Names Installation Names
================== ==================
@@ -122,22 +136,35 @@ you can use the `configure' options `--x-includes=DIR' and
Specifying the System Type Specifying the System Type
========================== ==========================
There may be some features `configure' can not figure out There may be some features `configure' cannot figure out
automatically, but needs to determine by the type of host the package automatically, but needs to determine by the type of host the package
will run on. Usually `configure' can figure that out, but if it prints will run on. Usually `configure' can figure that out, but if it prints
a message saying it can not guess the host type, give it the a message saying it cannot guess the host type, give it the
`--host=TYPE' option. TYPE can either be a short name for the system `--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name with three fields: type, such as `sun4', or a canonical name which has the form:
CPU-COMPANY-SYSTEM CPU-COMPANY-SYSTEM
See the file `config.sub' for the possible values of each field. If where SYSTEM can have one of these forms:
OS KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't `config.sub' isn't included in this package, then this package doesn't
need to know the host type. need to know the host type.
If you are building compiler tools for cross-compiling, you can also If you are _building_ compiler tools for cross-compiling, you should
use the `--target=TYPE' option to select the type of system they will use the `--target=TYPE' option to select the type of system they will
produce code for and the `--build=TYPE' option to select the type of produce code for.
system on which you are compiling the package.
If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the host
platform (i.e., that on which the generated programs will eventually be
run) with `--host=TYPE'. In this case, you should also specify the
build platform with `--build=TYPE', because, in this case, it may not
be possible to guess the build platform (it sometimes involves
compiling and running simple test programs, and this can't be done if
the compiler is a cross compiler).
Sharing Defaults Sharing Defaults
================ ================
@@ -150,20 +177,44 @@ default values for variables like `CC', `cache_file', and `prefix'.
`CONFIG_SITE' environment variable to the location of the site script. `CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script. A warning: not all `configure' scripts look for a site script.
Operation Controls Defining Variables
================== ==================
Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
will cause the specified gcc to be used as the C compiler (unless it is
overridden in the site shell script).
`configure' Invocation
======================
`configure' recognizes the following options to control how it `configure' recognizes the following options to control how it
operates. operates.
`--cache-file=FILE'
Use and save the results of the tests in FILE instead of
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
debugging `configure'.
`--help' `--help'
`-h'
Print a summary of the options to `configure', and exit. Print a summary of the options to `configure', and exit.
`--version'
`-V'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE,
traditionally `config.cache'. FILE defaults to `/dev/null' to
disable caching.
`--config-cache'
`-C'
Alias for `--cache-file=config.cache'.
`--quiet' `--quiet'
`--silent' `--silent'
`-q' `-q'
@@ -175,8 +226,6 @@ operates.
Look for the package's source code in directory DIR. Usually Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically. `configure' can determine that directory automatically.
`--version' `configure' also accepts some other, not widely useful, options. Run
Print the version of Autoconf used to generate the `configure' `configure --help' for more details.
script, and exit.
`configure' also accepts some other, not widely useful, options.
+1 -1
View File
@@ -1,5 +1,5 @@
## 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 AUTOMAKE_OPTIONS = 1.5 check-news readme-alpha dist-bzip2
ACLOCAL_AMFLAGS = -I m4 ACLOCAL_AMFLAGS = -I m4
+61 -62
View File
@@ -1,4 +1,5 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am. # Makefile.in generated by automake 1.5a from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
@@ -43,6 +44,7 @@ AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
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@
@@ -57,8 +59,12 @@ PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
host_alias = @host_alias@ host_alias = @host_alias@
host_triplet = @host@ host_triplet = @host@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AT_TESTPATH = @AT_TESTPATH@ AUTOM4TE = @AUTOM4TE@
AWK = @AWK@ AWK = @AWK@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
@@ -67,10 +73,7 @@ CC = @CC@
CPP = @CPP@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@ GCC = @GCC@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@ GLIBC21 = @GLIBC21@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
@@ -81,12 +84,10 @@ INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@ INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LIB = @LIB@
LIBICONV = @LIBICONV@ LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
M4 = @M4@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
POFILES = @POFILES@ POFILES = @POFILES@
POSUB = @POSUB@ POSUB = @POSUB@
@@ -100,7 +101,7 @@ am__include = @am__include@
am__quote = @am__quote@ am__quote = @am__quote@
install_sh = @install_sh@ install_sh = @install_sh@
AUTOMAKE_OPTIONS = 1.5 check-news readme-alpha AUTOMAKE_OPTIONS = 1.5 check-news readme-alpha dist-bzip2
ACLOCAL_AMFLAGS = -I m4 ACLOCAL_AMFLAGS = -I m4
@@ -136,10 +137,9 @@ RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
uninstall-info-recursive all-recursive install-data-recursive \ uninstall-info-recursive all-recursive install-data-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 ./stamp-h.in ABOUT-NLS AUTHORS COPYING ChangeLog \ DIST_COMMON = README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL \
INSTALL Makefile.am Makefile.in NEWS README-alpha THANKS \ Makefile.am Makefile.in NEWS README-alpha THANKS aclocal.m4 \
aclocal.m4 config.hin configure configure.in missing \ config.hin configure configure.in
mkinstalldirs
DIST_SUBDIRS = $(SUBDIRS) DIST_SUBDIRS = $(SUBDIRS)
all: config.h all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive $(MAKE) $(AM_MAKEFLAGS) all-recursive
@@ -149,44 +149,34 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile $(AUTOMAKE) --gnu Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \ cd $(top_builddir) && $(SHELL) ./config.status $@
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$@ $(SHELL) ./config.status
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck $(SHELL) ./config.status --recheck
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) $(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF) cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): configure.in m4/atconfig.m4 m4/c-bs-a.m4 m4/codeset.m4 m4/error.m4 m4/gettext.m4 m4/glibc21.m4 m4/iconv.m4 m4/isc-posix.m4 m4/lcmessage.m4 m4/m4.m4 m4/malloc.m4 m4/mbstate_t.m4 m4/prereq.m4 m4/progtest.m4 m4/realloc.m4 m4/strerror_r.m4 m4/warning.m4 $(ACLOCAL_M4): configure.in m4/c-bs-a.m4 m4/codeset.m4 m4/dmalloc.m4 m4/error.m4 m4/gettext.m4 m4/glibc21.m4 m4/iconv.m4 m4/isc-posix.m4 m4/lcmessage.m4 m4/malloc.m4 m4/mbrtowc.m4 m4/mbstate_t.m4 m4/prereq.m4 m4/progtest.m4 m4/realloc.m4 m4/strerror_r.m4 m4/warning.m4
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h
config.h: stamp-h1
@if test ! -f $@; then \ @if test ! -f $@; then \
rm -f stamp-h; \ rm -f stamp-h1; \
$(MAKE) stamp-h; \ $(MAKE) stamp-h1; \
else :; fi else :; fi
stamp-h: $(srcdir)/config.hin $(top_builddir)/config.status
@rm -f stamp-h stamp-hT stamp-h1: $(srcdir)/config.hin $(top_builddir)/config.status
@echo timestamp > stamp-hT 2> /dev/null @rm -f stamp-h1
cd $(top_builddir) \ cd $(top_builddir) && $(SHELL) ./config.status config.h
&& CONFIG_FILES= CONFIG_HEADERS=config.h:config.hin \
$(SHELL) ./config.status $(srcdir)/config.hin: $(top_srcdir)/configure.in $(ACLOCAL_M4)
@mv stamp-hT stamp-h
$(srcdir)/config.hin: $(srcdir)/./stamp-h.in
@if test ! -f $@; then \
rm -f $(srcdir)/./stamp-h.in; \
$(MAKE) $(srcdir)/./stamp-h.in; \
else :; fi
$(srcdir)/./stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4)
@rm -f $(srcdir)/./stamp-h.in $(srcdir)/./stamp-h.inT
@echo timestamp > $(srcdir)/./stamp-h.inT 2> /dev/null
cd $(top_srcdir) && $(AUTOHEADER) cd $(top_srcdir) && $(AUTOHEADER)
@mv $(srcdir)/./stamp-h.inT $(srcdir)/./stamp-h.in touch $(srcdir)/config.hin
distclean-hdr: distclean-hdr:
-rm -f config.h -rm -f config.h
intl/Makefile: $(top_builddir)/config.status $(top_srcdir)/intl/Makefile.in intl/Makefile: $(top_builddir)/config.status $(top_srcdir)/intl/Makefile.in
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status cd $(top_builddir) && $(SHELL) ./config.status $@
uninstall-info-am: uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd # This directory's subdirectories are mostly independent; you can cd
@@ -274,7 +264,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
|| etags $(ETAGS_ARGS) $$tags config.hin $$unique $(LISP) || etags $(ETAGS_ARGS) $$tags config.hin $$unique $(LISP)
GTAGS: GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \ here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \ && cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here && gtags -i $(GTAGS_ARGS) $$here
@@ -331,10 +321,19 @@ distdir: $(DISTFILES)
! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir) || chmod -R a+r $(distdir)
dist: 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) -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
dist-bzip2: distdir
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
dist dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
# 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.
@@ -345,7 +344,7 @@ distcheck: dist
mkdir $(distdir)/=build mkdir $(distdir)/=build
mkdir $(distdir)/=inst mkdir $(distdir)/=inst
chmod a-w $(distdir) chmod a-w $(distdir)
dc_install_base=`CDPATH=: && cd $(distdir)/=inst && pwd` \ dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \
&& cd $(distdir)/=build \ && cd $(distdir)/=build \
&& ../configure --srcdir=.. --prefix=$$dc_install_base \ && ../configure --srcdir=.. --prefix=$$dc_install_base \
--with-included-gettext \ --with-included-gettext \
@@ -356,14 +355,16 @@ distcheck: dist
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& (test `find $$dc_install_base -type f -print | wc -l` -le 1 \ && (test `find $$dc_install_base -type f -print | wc -l` -le 1 \
|| (echo "Error: files left after uninstall" 1>&2; \ || { echo "ERROR: files left after uninstall:" ; \
exit 1) ) \ find $$dc_install_base -type f -print ; \
&& $(MAKE) $(AM_MAKEFLAGS) dist \ exit 1; } >&2 ) \
&& $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
&& $(MAKE) $(AM_MAKEFLAGS) distclean \ && $(MAKE) $(AM_MAKEFLAGS) distclean \
&& rm -f $(distdir).tar.gz \ && rm -f $(distdir).tar.gz \
&& (test `find . -type f -print | wc -l` -eq 0 \ && (test `find . -type f -print | wc -l` -eq 0 \
|| (echo "Error: files left after distclean" 1>&2; \ || { echo "ERROR: files left after distclean:" ; \
exit 1) ) find . -type f -print ; \
exit 1; } >&2 )
-chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir) -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'
@@ -401,9 +402,6 @@ clean: clean-recursive
clean-am: clean-generic mostlyclean-am clean-am: clean-generic mostlyclean-am
dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
distclean: distclean-recursive distclean: distclean-recursive
-rm -f config.status config.cache config.log -rm -f config.status config.cache config.log
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
@@ -439,19 +437,20 @@ uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive 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 distcheck distclean \ clean-generic clean-recursive dist dist-all dist-bzip2 \
distclean-generic distclean-hdr distclean-recursive \ dist-gzip distcheck distclean distclean-generic distclean-hdr \
distclean-tags distdir dvi dvi-am dvi-recursive info info-am \ distclean-recursive distclean-tags distdir dvi dvi-am \
info-recursive install install-am install-data install-data-am \ dvi-recursive info info-am info-recursive install install-am \
install-data-recursive install-exec install-exec-am \ install-data install-data-am install-data-recursive \
install-exec-recursive install-info install-info-am \ install-exec install-exec-am install-exec-recursive \
install-info-recursive install-man install-recursive \ install-info install-info-am install-info-recursive install-man \
install-strip installcheck installcheck-am installdirs \ install-recursive install-strip installcheck installcheck-am \
installdirs-am installdirs-recursive maintainer-clean \ installdirs installdirs-am installdirs-recursive \
maintainer-clean-generic maintainer-clean-recursive mostlyclean \ maintainer-clean maintainer-clean-generic \
mostlyclean-generic mostlyclean-recursive tags tags-recursive \ maintainer-clean-recursive mostlyclean mostlyclean-generic \
uninstall uninstall-am uninstall-info-am \ mostlyclean-recursive tags tags-recursive uninstall \
uninstall-info-recursive uninstall-recursive uninstall-am uninstall-info-am uninstall-info-recursive \
uninstall-recursive
# Tell versions [3.59,3.63) of GNU make to not export all variables. # 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. # Otherwise a system limit (for SysV at least) may be exceeded.
+3 -3
View File
@@ -135,9 +135,8 @@ update: wget-update cvs-update po-update
## Sanity checks. ## ## Sanity checks. ##
## --------------- ## ## --------------- ##
# Checks that don't require cvs. # Checks that don't require cvs. Run `changelog-check' last as
# Run `changelog-check' as previous test may reveal problems requiring # previous test may reveal problems requiring new ChangeLog entries.
# new ChangeLog entries.
local-check: po-check copyright-check writable-files changelog-check local-check: po-check copyright-check writable-files changelog-check
changelog-check: changelog-check:
@@ -223,6 +222,7 @@ cvs-dist: local-check cvs-check maintainer-distcheck
null_AM_MAKEFLAGS = \ null_AM_MAKEFLAGS = \
ACLOCAL=false \ ACLOCAL=false \
AUTOCONF=false \ AUTOCONF=false \
AUTOM4TE=false \
AUTOMAKE=false \ AUTOMAKE=false \
AUTOHEADER=false \ AUTOHEADER=false \
MAKEINFO=false MAKEINFO=false
+65 -4
View File
@@ -1,9 +1,63 @@
Bison News Bison News
---------- ----------
Changes in version 1.28d: Changes in version 1.30c:
* Output file does not redefine const; that is now config.h's job. * Fixed a few warnings.
* Some portability issues.
Changes in version 1.30b:
* Fixed parser memory leaks.
When the generated parser was using malloc to extend its stacks, the
previous allocations were not freed.
* Fixed verbose output file.
Some newlines were missing.
Some conflicts in state descriptions were missing.
* Fixed conflict report.
Option -v was needed to get the result.
* %expect
Was not used.
Mismatches are errors, not warnings.
* Fixed incorrect processing of some invalid input.
* Fixed CPP guards: 9foo.h uses BISON_9FOO_H instead of 9FOO_H.
* Fixed some typos in the documentation.
* %token MY_EOF 0 is supported.
Before, MY_EOF was silently renumbered as 257.
* doc/refcard.tex is updated.
* %output, %file-prefix, %name-prefix.
New.
* --output
New, aliasing `--output-file'.
Changes in version 1.30, 2001-10-26:
* `--defines' and `--graph' have now an optionnal argument which is the
output file name. `-d' and `-g' do not change, they do not take any
argument.
* `%source_extension' and `%header_extension' are removed, failed
experiment.
* Portability fixes.
Changes in version 1.29, 2001-09-07:
* The output file does not define const, as this caused problems when used
with common autoconfiguration schemes. If you still use ancient compilers
that lack const, compile with the equivalent of the C compiler option
`-Dconst='. autoconf's AC_C_CONST macro provides one way to do this.
* Added `-g' and `--graph'. * Added `-g' and `--graph'.
@@ -29,8 +83,11 @@ Changes in version 1.28d:
* New directives. * New directives.
`%yacc', `%fixed_output_files', `%defines', `%no_parser', `%verbose', `%yacc', `%fixed_output_files', `%defines', `%no_parser', `%verbose',
`%debug', `%source_extension' and `%header_extension'. `%debug', `%source_extension' and `%header_extension'.
* @$
Automatic location tracking.
Changes in version 1.28: Changes in version 1.28, 1999-07-06:
* Should compile better now with K&R compilers. * Should compile better now with K&R compilers.
@@ -62,7 +119,7 @@ Changes in version 1.26:
* Generated parsers should now work even on operating systems which do * Generated parsers should now work even on operating systems which do
not provide alloca(). not provide alloca().
Changes in version 1.25: Changes in version 1.25, 1995-10-16:
* Errors in the input grammar are not fatal; Bison keeps reading * Errors in the input grammar are not fatal; Bison keeps reading
the grammar file, and reports all the errors found in it. the grammar file, and reports all the errors found in it.
@@ -103,3 +160,7 @@ Changes in version 1.22:
Changes in version 1.20: Changes in version 1.20:
Output file does not redefine const for C++. Output file does not redefine const for C++.
Local Variables:
mode: outline
End:
+24 -14
View File
@@ -1,23 +1,33 @@
Bison was originally written by Robert Corbett. It would not be what Bison was originally written by Robert Corbett. It would not be what
it is today without the invaluable help of these people: it is today without the invaluable help of these people:
Akim Demaille akim@epita.fr Airy Andre Airy.Andre@edf.fr
Daniel Hagerty hag@gnu.org Akim Demaille akim@freefriends.org
David J. MacKenzie [email protected] Albert Chin-A-Young [email protected]
Fabrice Bauzac noon@cote-dazur.com Alexander Belopolsky alexb@rentec.com
Hans Aberg [email protected] Daniel Hagerty [email protected]
Jesse Thilo jthilo@gnu.org David J. MacKenzie djm@gnu.org
Jim Meyering [email protected] Dick Streefland [email protected]
Juan Manuel Guerrero [email protected] Fabrice Bauzac [email protected]
Laurent Mascherpa [email protected] Hans Aberg [email protected]
Jesse Thilo [email protected]
Jim Meyering [email protected]
Juan Manuel Guerrero [email protected]
Keith Browne [email protected]
Laurent Mascherpa [email protected]
Marc Autret [email protected] Marc Autret [email protected]
Neil Booth [email protected] Neil Booth [email protected]
Noah Friedman [email protected] Noah Friedman [email protected]
Pascal Bart [email protected] Pascal Bart [email protected]
Paul Eggert [email protected] Paul Eggert [email protected]
Piotr Gackiewicz gacek@intertel.com.pl Per Allansson per@appgate.com
Richard Stallman [email protected] Piotr Gackiewicz [email protected]
Richard Stallman [email protected]
Robert Anisko [email protected] Robert Anisko [email protected]
Shura [email protected]
Tom Lane [email protected]
Wolfram Wagner [email protected]
Wwp [email protected]
Many people are not named here because we lost track of them. We Many people are not named here because we lost track of them. We
thank them! Please, help us keeping this list up to date. thank them! Please, help us keeping this list up to date.
Vendored
+445 -247
View File
@@ -1,4 +1,4 @@
# aclocal.m4 generated automatically by aclocal 1.5 # aclocal.m4 generated automatically by aclocal 1.5a -*- Autoconf -*-
# Copyright 1996, 1997, 1998, 1999, 2000, 2001 # Copyright 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
@@ -11,11 +11,29 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
# Do all the work for Automake. This macro actually does too much -- # Do all the work for Automake. -*- Autoconf -*-
# some checks are only needed if your package does certain things.
# But this isn't really a big deal.
# serial 5 # This macro actually does too much some checks are only needed if
# your package does certain things. But this isn't really a big deal.
# Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 6
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # 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,
@@ -24,55 +42,29 @@
# CC etc. in the Makefile, will ask for an AC_PROG_CC use... # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
# We require 2.13 because we rely on SHELL being computed by configure. AC_PREREQ([2.52])
AC_PREREQ([2.13])
# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
# -----------------------------------------------------------
# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED.
# The purpose of this macro is to provide the user with a means to
# check macros which are provided without letting her know how the
# information is coded.
# If this macro is not defined by Autoconf, define it here.
ifdef([AC_PROVIDE_IFELSE],
[],
[define([AC_PROVIDE_IFELSE],
[ifdef([AC_PROVIDE_$1],
[$2], [$3])])])
# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
# the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE])
# ---------------------------------------------- # ----------------------------------------------
AC_DEFUN([AM_INIT_AUTOMAKE], AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_REQUIRE([AC_PROG_INSTALL])dnl [AC_REQUIRE([AC_PROG_INSTALL])dnl
# test to see if srcdir already configured # test to see if srcdir already configured
if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" && if test "`cd $srcdir && pwd`" != "`pwd`" &&
test -f $srcdir/config.status; then 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.
PACKAGE=$1 AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST(PACKAGE)dnl AC_SUBST([VERSION], [$2])dnl
VERSION=$2
AC_SUBST(VERSION)dnl
ifelse([$3],, ifelse([$3],,
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
# the ones we care about.
ifdef([m4_pattern_allow],
[m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl
# Autoconf 2.50 always computes EXEEXT. However we need to be
# compatible with 2.13, for now. So we always define EXEEXT, but we
# don't compute it.
AC_SUBST(EXEEXT)
# Similar for OBJEXT -- only we only use OBJEXT if the user actually
# requests that it be used. This is a bit dumb.
: ${OBJEXT=o}
AC_SUBST(OBJEXT)
# Some tools Automake needs. # Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AM_SANITY_CHECK])dnl
@@ -105,6 +97,23 @@ AC_PROVIDE_IFELSE([AC_PROG_][CXX],
# Check to make sure that the build environment is sane. # Check to make sure that the build environment is sane.
# #
# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 3 # serial 3
# AM_SANITY_CHECK # AM_SANITY_CHECK
@@ -148,6 +157,25 @@ Check your system clock])
fi fi
AC_MSG_RESULT(yes)]) AC_MSG_RESULT(yes)])
# -*- Autoconf -*-
# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 2 # serial 2
@@ -178,6 +206,23 @@ fi
# AM_AUX_DIR_EXPAND # AM_AUX_DIR_EXPAND
# Copyright 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
# `$srcdir', `$srcdir/..', or `$srcdir/../..'. # `$srcdir', `$srcdir/..', or `$srcdir/../..'.
@@ -216,19 +261,59 @@ fi
# absolute PATH. The drawback is that using absolute paths prevent a # absolute PATH. The drawback is that using absolute paths prevent a
# configured tree to be moved without reconfiguration. # configured tree to be moved without reconfiguration.
# Rely on autoconf to set up CDPATH properly.
AC_PREREQ([2.50])
AC_DEFUN([AM_AUX_DIR_EXPAND], [ AC_DEFUN([AM_AUX_DIR_EXPAND], [
# expand $ac_aux_dir to an absolute path # expand $ac_aux_dir to an absolute path
am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd` am_aux_dir=`cd $ac_aux_dir && pwd`
]) ])
# AM_PROG_INSTALL_SH # AM_PROG_INSTALL_SH
# ------------------ # ------------------
# Define $install_sh. # Define $install_sh.
# Copyright 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
AC_DEFUN([AM_PROG_INSTALL_SH], AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
install_sh=${install_sh-"$am_aux_dir/install-sh"} install_sh=${install_sh-"$am_aux_dir/install-sh"}
AC_SUBST(install_sh)]) AC_SUBST(install_sh)])
# AM_PROG_INSTALL_STRIP
# Copyright 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# One issue with vendor `install' (even GNU) is that you can't # One issue with vendor `install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially # specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip # annoying in cross-compiling environments, where the build's strip
@@ -243,6 +328,22 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
# serial 4 -*- Autoconf -*- # serial 4 -*- Autoconf -*-
# Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
@@ -254,7 +355,7 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
# _AM_DEPENDENCIES(NAME) # _AM_DEPENDENCIES(NAME)
# --------------------- # ----------------------
# See how the compiler implements dependency checking. # See how the compiler implements dependency checking.
# NAME is "CC", "CXX" or "OBJC". # NAME is "CC", "CXX" or "OBJC".
# We try a few techniques and use that to set a single cache variable. # We try a few techniques and use that to set a single cache variable.
@@ -333,8 +434,7 @@ else
am_cv_$1_dependencies_compiler_type=none am_cv_$1_dependencies_compiler_type=none
fi fi
]) ])
$1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type" AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
AC_SUBST([$1DEPMODE])
]) ])
@@ -352,7 +452,7 @@ else
DEPDIR=_deps DEPDIR=_deps
fi fi
rmdir .deps 2>/dev/null rmdir .deps 2>/dev/null
AC_SUBST(DEPDIR) AC_SUBST([DEPDIR])
]) ])
@@ -367,30 +467,40 @@ if test "x$enable_dependency_tracking" != xno; then
AMDEPBACKSLASH='\' AMDEPBACKSLASH='\'
fi fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
pushdef([subst], defn([AC_SUBST])) AC_SUBST([AMDEPBACKSLASH])
subst(AMDEPBACKSLASH)
popdef([subst])
]) ])
# Generate code to set up dependency tracking. # Generate code to set up dependency tracking. -*- Autoconf -*-
# This macro should only be invoked once -- use via AC_REQUIRE.
# Usage:
# AM_OUTPUT_DEPENDENCY_COMMANDS
# # Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
# This code is only required when automatic dependency tracking
# is enabled. FIXME. This creates each `.P' file that we will # This program is free software; you can redistribute it and/or modify
# need in order to bootstrap the dependency handling code. # it under the terms of the GNU General Public License as published by
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[ # the Free Software Foundation; either version 2, or (at your option)
AC_OUTPUT_COMMANDS([ # any later version.
test x"$AMDEP_TRUE" != x"" ||
for mf in $CONFIG_FILES; do # This program is distributed in the hope that it will be useful,
case "$mf" in # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
#serial 2
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
[for mf in $CONFIG_FILES; do
case $mf in
Makefile) dirpart=.;; Makefile) dirpart=.;;
*/Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;; */Makefile) dirpart=`AS_DIRNAME("$mf")`;;
*) continue;; *) continue;;
esac esac
grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
# Extract the definition of DEP_FILES from the Makefile without # Extract the definition of DEP_FILES from the Makefile without
# running `make'. # running `make'.
DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
@@ -414,18 +524,49 @@ for mf in $CONFIG_FILES; do
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists. # Make sure the directory exists.
test -f "$dirpart/$file" && continue test -f "$dirpart/$file" && continue
fdir=`echo "$file" | sed -e 's|/[^/]*$||'` fdir=`AS_DIRNAME(["$file"])`
$ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1 AS_MKDIR_P([$dirpart/$fdir])
# echo "creating $dirpart/$file" # echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file" echo '# dummy' > "$dirpart/$file"
done done
done done
], [AMDEP_TRUE="$AMDEP_TRUE" ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
ac_aux_dir="$ac_aux_dir"])])
# AM_OUTPUT_DEPENDENCY_COMMANDS
# -----------------------------
# This macro should only be invoked once -- use via AC_REQUIRE.
#
# This code is only required when automatic dependency tracking
# is enabled. FIXME. This creates each `.P' file that we will
# need in order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AC_CONFIG_COMMANDS([depfiles],
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
# AM_MAKE_INCLUDE() # AM_MAKE_INCLUDE()
# ----------------- # -----------------
# Check to see how make treats includes. # Check to see how make treats includes.
# Copyright 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
AC_DEFUN([AM_MAKE_INCLUDE], AC_DEFUN([AM_MAKE_INCLUDE],
[am_make=${MAKE-make} [am_make=${MAKE-make}
cat > confinc << 'END' cat > confinc << 'END'
@@ -464,23 +605,35 @@ AC_MSG_RESULT($_am_result)
rm -f confinc confmf rm -f confinc confmf
]) ])
# serial 3 # AM_CONDITIONAL -*- Autoconf -*-
# Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 5
AC_PREREQ(2.52)
# AM_CONDITIONAL(NAME, SHELL-CONDITION) # AM_CONDITIONAL(NAME, SHELL-CONDITION)
# ------------------------------------- # -------------------------------------
# Define a conditional. # Define a conditional.
#
# FIXME: Once using 2.50, use this:
# m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_DEFUN([AM_CONDITIONAL], AC_DEFUN([AM_CONDITIONAL],
[ifelse([$1], [TRUE], [ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
[errprint(__file__:__line__: [$0: invalid condition: $1 [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
])dnl
m4exit(1)])dnl
ifelse([$1], [FALSE],
[errprint(__file__:__line__: [$0: invalid condition: $1
])dnl
m4exit(1)])dnl
AC_SUBST([$1_TRUE]) AC_SUBST([$1_TRUE])
AC_SUBST([$1_FALSE]) AC_SUBST([$1_FALSE])
if $2; then if $2; then
@@ -491,92 +644,83 @@ else
$1_FALSE= $1_FALSE=
fi]) fi])
# Like AC_CONFIG_HEADER, but automatically create stamp file. # Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*-
# serial 3 # Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
AC_PREREQ([2.52])
# serial 6
# When config.status generates a header, we must update the stamp-h file. # When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header # This file resides in the same directory as the config header
# that is generated. We must strip everything past the first ":", # that is generated. We must strip everything past the first ":",
# and everything past the last "/". # and everything past the last "/".
AC_PREREQ([2.12])
AC_DEFUN([AM_CONFIG_HEADER],
[ifdef([AC_FOREACH],dnl
[dnl init our file count if it isn't already
m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0]))
dnl prepare to store our destination file list for use in config.status
AC_FOREACH([_AM_File], [$1],
[m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*]))
m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index))
dnl and add it to the list of files AC keeps track of, along
dnl with our hook
AC_CONFIG_HEADERS(_AM_File,
dnl COMMANDS, [, INIT-CMDS]
[# update the timestamp
echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index["
][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS
m4_popdef([_AM_Dest])])],dnl
[AC_CONFIG_HEADER([$1])
AC_OUTPUT_COMMANDS(
ifelse(patsubst([$1], [[^ ]], []),
[],
[test -z "$CONFIG_HEADERS" || echo timestamp >dnl
patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl
[am_indx=1
for am_file in $1; do
case " \$CONFIG_HEADERS " in
*" \$am_file "*)
am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\`
if test -n "\$am_dir"; then
am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\`
for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do
am_tmpdir=\$am_tmpdir\$am_subdir/
if test ! -d \$am_tmpdir; then
mkdir \$am_tmpdir
fi
done
fi
echo timestamp > "\$am_dir"stamp-h\$am_indx
;;
esac
am_indx=\`expr \$am_indx + 1\`
done])
])]) # AM_CONFIG_HEADER
# _AM_DIRNAME(PATH) # _AM_DIRNAME(PATH)
# ----------------- # -----------------
# Like AS_DIRNAME, only do it during macro expansion # Like AS_DIRNAME, only do it during macro expansion
AC_DEFUN([_AM_DIRNAME], AC_DEFUN([_AM_DIRNAME],
[m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1, [m4_if(regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1, m4_if(regexp([$1], [^//\([^/]\|$\)]), -1,
m4_if(m4_regexp([$1], [^/.*]), -1, m4_if(regexp([$1], [^/.*]), -1,
[.], [.],
m4_patsubst([$1], [^\(/\).*], [\1])), patsubst([$1], [^\(/\).*], [\1])),
m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])), patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
]) # _AM_DIRNAME ])# _AM_DIRNAME
# serial 2 # The stamp files are numbered to have different names.
# We could number them on a directory basis, but that's additional
# complications, let's have a unique counter.
m4_define([_AM_STAMP_Count], [0])
# Single argument says where are built sources to test, relative to the
# built test directory. Maybe omitted if the same (flat distribution).
AC_DEFUN([AT_CONFIG], # _AM_STAMP(HEADER)
[AT_TESTPATH=ifelse([$1], [], [.], [$1]) # -----------------
AC_SUBST([AT_TESTPATH]) # The name of the stamp file for HEADER.
# Try to be compatible with both Autoconf 2.13 and 2.50. AC_DEFUN([_AM_STAMP],
if test -z "$ECHO_C$ECHO_N$ECHO_T"; then [m4_define([_AM_STAMP_Count], m4_incr(_AM_STAMP_Count))dnl
ECHO_C="$ac_c" AS_ESCAPE(_AM_DIRNAME(patsubst([$1],
ECHO_N="$ac_n" [:.*])))/stamp-h[]_AM_STAMP_Count])
ECHO_T="$ac_t"
AC_SUBST([ECHO_C])
AC_SUBST([ECHO_N]) # _AM_CONFIG_HEADER(HEADER[:SOURCES], COMMANDS, INIT-COMMANDS)
AC_SUBST([ECHO_T]) # ------------------------------------------------------------
fi # We used to try to get a real timestamp in stamp-h. But the fear is that
]) # that will cause unnecessary cvs conflicts.
AC_DEFUN([_AM_CONFIG_HEADER],
[# Add the stamp file to the list of files AC keeps track of,
# along with our hook.
AC_CONFIG_HEADERS([$1],
[# update the timestamp
echo 'timestamp for $1' >"_AM_STAMP([$1])"
$2],
[$3])
])# _AM_CONFIG_HEADER
# AM_CONFIG_HEADER(HEADER[:SOURCES]..., COMMANDS, INIT-COMMANDS)
# --------------------------------------------------------------
AC_DEFUN([AM_CONFIG_HEADER],
[AC_FOREACH([_AM_File], [$1], [_AM_CONFIG_HEADER(_AM_File, [$2], [$3])])
])# AM_CONFIG_HEADER
#serial 1 #serial 1
# This test replaces the one in autoconf. # This test replaces the one in autoconf.
@@ -597,6 +741,23 @@ AC_DEFUN([AC_ISC_POSIX],
) )
# Copyright 1996, 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 1 # serial 1
# @defmac AC_PROG_CC_STDC # @defmac AC_PROG_CC_STDC
@@ -685,23 +846,6 @@ case "x$am_cv_prog_cc_stdc" in
esac esac
]) ])
# serial 1 -*- Autoconf -*-
# BISON_AC_PROG_GNU_M4
# --------------------
# Check for GNU m4, at least 1.3 (supports frozen files).
AC_DEFUN([BISON_AC_PROG_GNU_M4],
[AC_PATH_PROGS(M4, gm4 gnum4 m4, m4)
AC_CACHE_CHECK([whether m4 supports frozen files],
[ac_cv_prog_gnu_m4],
[ac_cv_prog_gnu_m4=no
if test x"$M4" != x; then
case `$M4 --help < /dev/null 2>&1` in
*reload-state*) ac_cv_prog_gnu_m4=yes ;;
esac
fi])
])# BISON_AC_PROG_GNU_M4
AC_DEFUN(BISON_WARNING, AC_DEFUN(BISON_WARNING,
[AC_MSG_CHECKING(whether compiler accepts $1) [AC_MSG_CHECKING(whether compiler accepts $1)
AC_SUBST(WARNING_CFLAGS) AC_SUBST(WARNING_CFLAGS)
@@ -715,6 +859,23 @@ AC_MSG_RESULT(no))
CFLAGS="$ac_save_CFLAGS"]) CFLAGS="$ac_save_CFLAGS"])
# Copyright 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 1 # serial 1
AC_DEFUN([AM_C_PROTOTYPES], AC_DEFUN([AM_C_PROTOTYPES],
@@ -736,19 +897,19 @@ AC_SUBST(U)dnl
AC_SUBST(ANSI2KNR)dnl AC_SUBST(ANSI2KNR)dnl
]) ])
#serial 3 #serial 5
dnl From Jim Meyering. dnl From Jim Meyering.
dnl Determine whether malloc accepts 0 as its argument. dnl Determine whether malloc accepts 0 as its argument.
dnl If it doesn't, arrange to use the replacement function. dnl If it doesn't, arrange to use the replacement function.
dnl dnl
AC_DEFUN(jm_FUNC_MALLOC, AC_DEFUN([jm_FUNC_MALLOC],
[ [
dnl xmalloc.c requires that this symbol be defined so it doesn't dnl xmalloc.c requires that this symbol be defined so it doesn't
dnl mistakenly use a broken malloc -- as it might if this test were omitted. dnl mistakenly use a broken malloc -- as it might if this test were omitted.
AC_DEFINE_UNQUOTED(HAVE_DONE_WORKING_MALLOC_CHECK, 1, AC_DEFINE(HAVE_DONE_WORKING_MALLOC_CHECK, 1,
[Define if the malloc check has been performed. ]) [Define if the malloc check has been performed. ])
AC_CACHE_CHECK([for working malloc], jm_cv_func_working_malloc, AC_CACHE_CHECK([for working malloc], jm_cv_func_working_malloc,
[AC_TRY_RUN([ [AC_TRY_RUN([
@@ -765,26 +926,25 @@ AC_DEFUN(jm_FUNC_MALLOC,
jm_cv_func_working_malloc=no) jm_cv_func_working_malloc=no)
]) ])
if test $jm_cv_func_working_malloc = no; then if test $jm_cv_func_working_malloc = no; then
AC_SUBST(LIBOBJS) AC_LIBOBJ(malloc)
LIBOBJS="$LIBOBJS malloc.$ac_objext" AC_DEFINE(malloc, rpl_malloc,
AC_DEFINE_UNQUOTED(malloc, rpl_malloc,
[Define to rpl_malloc if the replacement function should be used.]) [Define to rpl_malloc if the replacement function should be used.])
fi fi
]) ])
#serial 3 #serial 5
dnl From Jim Meyering. dnl From Jim Meyering.
dnl Determine whether realloc works when both arguments are 0. dnl Determine whether realloc works when both arguments are 0.
dnl If it doesn't, arrange to use the replacement function. dnl If it doesn't, arrange to use the replacement function.
dnl dnl
AC_DEFUN(jm_FUNC_REALLOC, AC_DEFUN([jm_FUNC_REALLOC],
[ [
dnl xmalloc.c requires that this symbol be defined so it doesn't dnl xmalloc.c requires that this symbol be defined so it doesn't
dnl mistakenly use a broken realloc -- as it might if this test were omitted. dnl mistakenly use a broken realloc -- as it might if this test were omitted.
AC_DEFINE_UNQUOTED(HAVE_DONE_WORKING_REALLOC_CHECK, 1, AC_DEFINE(HAVE_DONE_WORKING_REALLOC_CHECK, 1,
[Define if the realloc check has been performed. ]) [Define if the realloc check has been performed. ])
AC_CACHE_CHECK([for working realloc], jm_cv_func_working_realloc, AC_CACHE_CHECK([for working realloc], jm_cv_func_working_realloc,
[AC_TRY_RUN([ [AC_TRY_RUN([
@@ -801,33 +961,52 @@ AC_DEFUN(jm_FUNC_REALLOC,
jm_cv_func_working_realloc=no) jm_cv_func_working_realloc=no)
]) ])
if test $jm_cv_func_working_realloc = no; then if test $jm_cv_func_working_realloc = no; then
AC_SUBST(LIBOBJS) AC_LIBOBJ(realloc)
LIBOBJS="$LIBOBJS realloc.$ac_objext" AC_DEFINE(realloc, rpl_realloc,
AC_DEFINE_UNQUOTED(realloc, rpl_realloc,
[Define to rpl_realloc if the replacement function should be used.]) [Define to rpl_realloc if the replacement function should be used.])
fi fi
]) ])
#serial 1 #serial 2
dnl These are the prerequisite macros for files in the lib/ dnl These are the prerequisite macros for files in the lib/
dnl directories of Bison. dnl directories of Bison.
AC_DEFUN([jm_PREREQ_QUOTEARG], AC_DEFUN([jm_PREREQ_QUOTEARG],
[ [
AC_CHECK_FUNCS(isascii iswprint mbrtowc) AC_CHECK_FUNCS(isascii iswprint mbsinit)
AC_CHECK_HEADERS(limits.h stdlib.h string.h wchar.h wctype.h) jm_FUNC_MBRTOWC
AC_CHECK_HEADERS(limits.h stddef.h stdlib.h string.h wchar.h wctype.h)
AC_HEADER_STDC AC_HEADER_STDC
AC_C_BACKSLASH_A AC_C_BACKSLASH_A
AC_MBSTATE_T AC_MBSTATE_T
AM_C_PROTOTYPES AM_C_PROTOTYPES
]) ])
#serial 3 #serial 4
dnl From Paul Eggert
AC_DEFUN([jm_FUNC_MBRTOWC],
[
AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared],
jm_cv_func_mbrtowc,
[AC_TRY_LINK(
[#include <wchar.h>],
[mbstate_t state; return ! (sizeof state && mbrtowc);],
jm_cv_func_mbrtowc=yes,
jm_cv_func_mbrtowc=no)])
if test $jm_cv_func_mbrtowc = yes; then
AC_DEFINE(HAVE_MBRTOWC, 1,
[Define to 1 if mbrtowc and mbstate_t are properly declared.])
fi
])
#serial 4
dnl From Paul Eggert. dnl From Paul Eggert.
AC_DEFUN(AC_C_BACKSLASH_A, AC_DEFUN([AC_C_BACKSLASH_A],
[ [
AC_CACHE_CHECK([whether backslash-a works in strings], ac_cv_c_backslash_a, AC_CACHE_CHECK([whether backslash-a works in strings], ac_cv_c_backslash_a,
[AC_TRY_COMPILE([], [AC_TRY_COMPILE([],
@@ -847,7 +1026,7 @@ AC_DEFUN(AC_C_BACKSLASH_A,
fi fi
]) ])
# serial 8 # serial 9
# From Paul Eggert. # From Paul Eggert.
@@ -859,7 +1038,7 @@ AC_DEFUN(AC_C_BACKSLASH_A,
# (at least glibc-2.1.3) because the "_XOPEN_SOURCE 500" definition elicits # (at least glibc-2.1.3) because the "_XOPEN_SOURCE 500" definition elicits
# a syntax error in wchar.h due to the use of undefined __int32_t. # a syntax error in wchar.h due to the use of undefined __int32_t.
AC_DEFUN(AC_MBSTATE_T, AC_DEFUN([AC_MBSTATE_T],
[ [
AC_CHECK_HEADERS(stdlib.h) AC_CHECK_HEADERS(stdlib.h)
@@ -877,25 +1056,40 @@ AC_DEFUN(AC_MBSTATE_T,
[Define to a type if <wchar.h> does not define.]) [Define to a type if <wchar.h> does not define.])
fi]) fi])
#serial 1 #serial 4
dnl FIXME: put these prerequisite-only *.m4 files in a separate dnl FIXME: put these prerequisite-only *.m4 files in a separate
dnl directory -- otherwise, they'll conflict with existing files. dnl directory -- otherwise, they'll conflict with existing files.
dnl These are the prerequisite macros for GNU's error.c file. dnl These are the prerequisite macros for GNU's error.c file.
AC_DEFUN(jm_PREREQ_ERROR, AC_DEFUN([jm_PREREQ_ERROR],
[ [
AC_CHECK_FUNCS(strerror strerror_r vprintf doprnt) AC_CHECK_FUNCS(strerror vprintf doprnt)
AC_HEADER_STDC AC_CHECK_DECLS([strerror])
AC_FUNC_STRERROR_R AC_FUNC_STRERROR_R
AC_HEADER_STDC
]) ])
#serial 1002 #serial 1003
# Experimental replacement for the function in the latest CVS autoconf. # Experimental replacement for the function in the latest CVS autoconf.
# If the compile-test says strerror_r doesn't work, then resort to a
# `run'-test that works on BeOS and segfaults on DEC Unix.
# Use with the error.c file in ../lib. # Use with the error.c file in ../lib.
# Copyright 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
undefine([AC_FUNC_STRERROR_R]) undefine([AC_FUNC_STRERROR_R])
# AC_FUNC_STRERROR_R # AC_FUNC_STRERROR_R
@@ -903,69 +1097,69 @@ undefine([AC_FUNC_STRERROR_R])
AC_DEFUN([AC_FUNC_STRERROR_R], AC_DEFUN([AC_FUNC_STRERROR_R],
[AC_CHECK_DECLS([strerror_r]) [AC_CHECK_DECLS([strerror_r])
AC_CHECK_FUNCS([strerror_r]) AC_CHECK_FUNCS([strerror_r])
if test $ac_cv_func_strerror_r = yes; then AC_CACHE_CHECK([whether strerror_r returns char *],
AC_CHECK_HEADERS(string.h) ac_cv_func_strerror_r_char_p,
AC_CACHE_CHECK([for working strerror_r],
ac_cv_func_strerror_r_works,
[ [
AC_TRY_COMPILE( ac_cv_func_strerror_r_char_p=no
[ if test $ac_cv_have_decl_strerror_r = yes; then
# include <stdio.h> AC_COMPILE_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
# if HAVE_STRING_H [[
# include <string.h> char buf[100];
# endif char x = *strerror_r (0, buf, sizeof buf);
], char *p = strerror_r (0, buf, sizeof buf);
[ ]])],
char buf[100]; ac_cv_func_strerror_r_char_p=yes)
char x = *strerror_r (0, buf, sizeof buf); else
], # strerror_r is not declared. Choose between
ac_cv_func_strerror_r_works=yes,
ac_cv_func_strerror_r_works=no
)
if test $ac_cv_func_strerror_r_works = no; then
# strerror_r seems not to work, but now we have to choose between
# systems that have relatively inaccessible declarations for the # systems that have relatively inaccessible declarations for the
# function. BeOS and DEC UNIX 4.0 fall in this category, but the # function. BeOS and DEC UNIX 4.0 fall in this category, but the
# former has a strerror_r that returns char*, while the latter # former has a strerror_r that returns char*, while the latter
# has a strerror_r that returns `int'. # has a strerror_r that returns `int'.
# This test should segfault on the DEC system. # This test should segfault on the DEC system.
AC_TRY_RUN( AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT
[ extern char *strerror_r ();],
# include <stdio.h> [[char buf[100];
# include <string.h>
# include <ctype.h>
extern char *strerror_r ();
int
main ()
{
char buf[100];
char x = *strerror_r (0, buf, sizeof buf); char x = *strerror_r (0, buf, sizeof buf);
exit (!isalpha (x)); exit (!isalpha (x));]])],
} ac_cv_func_strerror_r_char_p=yes, , :)
],
ac_cv_func_strerror_r_works=yes,
ac_cv_func_strerror_r_works=no,
ac_cv_func_strerror_r_works=no)
fi fi
]) ])
if test $ac_cv_func_strerror_r_works = yes; then if test $ac_cv_func_strerror_r_char_p = yes; then
AC_DEFINE_UNQUOTED(HAVE_WORKING_STRERROR_R, 1, AC_DEFINE([STRERROR_R_CHAR_P], 1,
[Define to 1 if `strerror_r' returns a string.]) [Define to 1 if strerror_r returns char *.])
fi
fi fi
])# AC_FUNC_STRERROR_R ])# AC_FUNC_STRERROR_R
# serial 1
AC_DEFUN([AM_WITH_DMALLOC],
[AC_MSG_CHECKING([if malloc debugging is wanted])
AC_ARG_WITH(dmalloc,
[ --with-dmalloc use dmalloc, as in
http://www.dmalloc.com/dmalloc.tar.gz],
[if test "$withval" = yes; then
AC_MSG_RESULT(yes)
AC_DEFINE(WITH_DMALLOC,1,
[Define if using the dmalloc debugging malloc package])
LIBS="$LIBS -ldmalloc"
LDFLAGS="$LDFLAGS -g"
else
AC_MSG_RESULT(no)
fi], [AC_MSG_RESULT(no)])
])
# Macro to add for using GNU gettext. # Macro to add for using GNU gettext.
# Ulrich Drepper <[email protected]>, 1995. # Ulrich Drepper <[email protected]>, 1995.
# #
# This file can be copied and used freely without restrictions. It can # This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU General Public # be used in projects which are not available under the GNU General Public
# License but which still want to provide support for the GNU gettext # License or the GNU Library General Public License but which still want
# functionality. # to provide support for the GNU gettext functionality.
# Please note that the actual code of GNU gettext is covered by the GNU # Please note that the actual code of the GNU gettext library is covered
# General Public License and is *not* in the public domain. # by the GNU Library General Public License, and the rest of the GNU
# gettext package package is covered by the GNU General Public License.
# They are *not* in the public domain.
# serial 10 # serial 10
@@ -1200,7 +1394,7 @@ return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", ""
dnl Found it, now check the version. dnl Found it, now check the version.
AC_MSG_CHECKING([version of bison]) AC_MSG_CHECKING([version of bison])
changequote(<<,>>)dnl changequote(<<,>>)dnl
ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison .* \([0-9]*\.[0-9.]*\).*$/\1/p'` ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
case $ac_prog_version in case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
@@ -1331,10 +1525,12 @@ strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
# #
# This file can be copied and used freely without restrictions. It can # This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU General Public # be used in projects which are not available under the GNU General Public
# License but which still want to provide support for the GNU gettext # License or the GNU Library General Public License but which still want
# functionality. # to provide support for the GNU gettext functionality.
# Please note that the actual code of GNU gettext is covered by the GNU # Please note that the actual code of the GNU gettext library is covered
# General Public License and is *not* in the public domain. # by the GNU Library General Public License, and the rest of the GNU
# gettext package package is covered by the GNU General Public License.
# They are *not* in the public domain.
# serial 2 # serial 2
@@ -1496,10 +1692,12 @@ AC_DEFUN([AM_LANGINFO_CODESET],
# #
# This file can be copied and used freely without restrictions. It can # This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU General Public # be used in projects which are not available under the GNU General Public
# License but which still want to provide support for the GNU gettext # License or the GNU Library General Public License but which still want
# functionality. # to provide support for the GNU gettext functionality.
# Please note that the actual code of GNU gettext is covered by the GNU # Please note that the actual code of the GNU gettext library is covered
# General Public License and is *not* in the public domain. # by the GNU Library General Public License, and the rest of the GNU
# gettext package package is covered by the GNU General Public License.
# They are *not* in the public domain.
# serial 2 # serial 2
+15 -5
View File
@@ -1,4 +1,4 @@
/* config.hin. Generated automatically from configure.in by autoheader. */ /* config.hin. Generated from configure.in by autoheader. */
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems. systems. This function is required for `alloca.c' support on those systems.
@@ -38,6 +38,10 @@
*/ */
#undef HAVE_DECL_STPCPY #undef HAVE_DECL_STPCPY
/* Define to 1 if you have the declaration of `strerror', and to 0 if you
don't. */
#undef HAVE_DECL_STRERROR
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */ don't. */
#undef HAVE_DECL_STRERROR_R #undef HAVE_DECL_STRERROR_R
@@ -113,9 +117,12 @@
/* Define if you have the <malloc.h> header file. */ /* Define if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H #undef HAVE_MALLOC_H
/* Define if you have the `mbrtowc' function. */ /* Define to 1 if mbrtowc and mbstate_t are properly declared. */
#undef HAVE_MBRTOWC #undef HAVE_MBRTOWC
/* Define if you have the `mbsinit' function. */
#undef HAVE_MBSINIT
/* Define if you have the `memchr' function. */ /* Define if you have the `memchr' function. */
#undef HAVE_MEMCHR #undef HAVE_MEMCHR
@@ -215,9 +222,6 @@
/* Define if you have the <wctype.h> header file. */ /* Define if you have the <wctype.h> header file. */
#undef HAVE_WCTYPE_H #undef HAVE_WCTYPE_H
/* Define to 1 if `strerror_r' returns a string. */
#undef HAVE_WORKING_STRERROR_R
/* Define if you have the `__argz_count' function. */ /* Define if you have the `__argz_count' function. */
#undef HAVE___ARGZ_COUNT #undef HAVE___ARGZ_COUNT
@@ -247,9 +251,15 @@
/* Define if you have the ANSI C header files. */ /* Define if you have the ANSI C header files. */
#undef STDC_HEADERS #undef STDC_HEADERS
/* Define to 1 if strerror_r returns char *. */
#undef STRERROR_R_CHAR_P
/* Version number of package */ /* Version number of package */
#undef VERSION #undef VERSION
/* Define if using the dmalloc debugging malloc package */
#undef WITH_DMALLOC
/* Define to 1 for GNU C library extensions. */ /* Define to 1 for GNU C library extensions. */
#undef _GNU_SOURCE #undef _GNU_SOURCE
+11 -12
View File
@@ -1,4 +1,5 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am. # Makefile.in generated by automake 1.5a from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
@@ -43,6 +44,7 @@ AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
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@
@@ -57,8 +59,12 @@ PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
host_alias = @host_alias@ host_alias = @host_alias@
host_triplet = @host@ host_triplet = @host@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AT_TESTPATH = @AT_TESTPATH@ AUTOM4TE = @AUTOM4TE@
AWK = @AWK@ AWK = @AWK@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
@@ -67,10 +73,7 @@ CC = @CC@
CPP = @CPP@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@ GCC = @GCC@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@ GLIBC21 = @GLIBC21@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
@@ -81,12 +84,10 @@ INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@ INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LIB = @LIB@
LIBICONV = @LIBICONV@ LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
M4 = @M4@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
POFILES = @POFILES@ POFILES = @POFILES@
POSUB = @POSUB@ POSUB = @POSUB@
@@ -115,9 +116,7 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnu config/Makefile $(AUTOMAKE) --gnu config/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
uninstall-info-am: uninstall-info-am:
tags: TAGS tags: TAGS
TAGS: TAGS:
+62 -71
View File
@@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
timestamp='2001-08-23' timestamp='2001-11-08'
# This file is free software; you can redistribute it and/or modify it # This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by # under the terms of the GNU General Public License as published by
@@ -24,8 +24,9 @@ timestamp='2001-08-23'
# configuration script generated by Autoconf, you may include it under # configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program. # the same distribution terms that you use for the rest of that program.
# Written by Per Bothner <[email protected]>. # Originally written by Per Bothner <[email protected]>.
# Please send patches to <[email protected]>. # Please send patches to <[email protected]>. Submit a context
# diff and a properly formatted ChangeLog entry.
# #
# This script attempts to guess a canonical system name similar to # This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and # config.sub. If it succeeds, it prints the system name on stdout, and
@@ -127,7 +128,7 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:NetBSD:*:*) *:NetBSD:*:*)
# Netbsd (nbsd) targets should (where applicable) match one or # NetBSD (nbsd) targets should (where applicable) match one or
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
# switched to ELF, *-*-netbsd* would select the old # switched to ELF, *-*-netbsd* would select the old
@@ -144,6 +145,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
macppc) machine=powerpc-apple ;; macppc) machine=powerpc-apple ;;
hp3[0-9][05]) machine=m68k-hp ;; hp3[0-9][05]) machine=m68k-hp ;;
ibmrt|romp-ibm) machine=romp-ibm ;; ibmrt|romp-ibm) machine=romp-ibm ;;
sparc*) machine=`uname -p`-unknown ;;
*) machine=${UNAME_MACHINE}-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
@@ -172,6 +174,45 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}" echo "${machine}-${os}${release}"
exit 0 ;; exit 0 ;;
amiga:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
arc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
hp300:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mac68k:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
macppc:OpenBSD:*:*)
echo powerpc-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvme68k:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvme88k:OpenBSD:*:*)
echo m88k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvmeppc:OpenBSD:*:*)
echo powerpc-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
pmax:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sgi:OpenBSD:*:*)
echo mipseb-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sun3:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
wgrisc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
*:OpenBSD:*:*)
echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
alpha:OSF1:*:*) alpha:OSF1:*:*)
if test $UNAME_RELEASE = "V4.0"; then if test $UNAME_RELEASE = "V4.0"; then
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
@@ -247,30 +288,9 @@ EOF
Amiga*:UNIX_System_V:4.0:*) Amiga*:UNIX_System_V:4.0:*)
echo m68k-unknown-sysv4 echo m68k-unknown-sysv4
exit 0;; exit 0;;
amiga:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
*:[Aa]miga[Oo][Ss]:*:*) *:[Aa]miga[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-amigaos echo ${UNAME_MACHINE}-unknown-amigaos
exit 0 ;; exit 0 ;;
arc64:OpenBSD:*:*)
echo mips64el-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
arc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
hkmips:OpenBSD:*:*)
echo mips-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
pmax:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sgi:OpenBSD:*:*)
echo mips-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
wgrisc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
*:OS/390:*:*) *:OS/390:*:*)
echo i370-ibm-openedition echo i370-ibm-openedition
exit 0 ;; exit 0 ;;
@@ -333,12 +353,6 @@ EOF
aushp:SunOS:*:*) aushp:SunOS:*:*)
echo sparc-auspex-sunos${UNAME_RELEASE} echo sparc-auspex-sunos${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
sparc*:NetBSD:*)
echo `uname -p`-unknown-netbsd${UNAME_RELEASE}
exit 0 ;;
atari*:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
# The situation for MiNT is a little confusing. The machine name # The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not # can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor # "atarist" or "atariste" at least should have a processor
@@ -365,18 +379,6 @@ EOF
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
echo m68k-unknown-mint${UNAME_RELEASE} echo m68k-unknown-mint${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
sun3*:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mac68k:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvme68k:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvme88k:OpenBSD:*:*)
echo m88k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
powerpc:machten:*:*) powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE} echo powerpc-apple-machten${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
@@ -393,6 +395,7 @@ EOF
echo clipper-intergraph-clix${UNAME_RELEASE} echo clipper-intergraph-clix${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
mips:*:*:UMIPS | mips:*:*:RISCos) mips:*:*:UMIPS | mips:*:*:RISCos)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c sed 's/^ //' << EOF >$dummy.c
#ifdef __cplusplus #ifdef __cplusplus
#include <stdio.h> /* for printf() prototype */ #include <stdio.h> /* for printf() prototype */
@@ -414,7 +417,6 @@ EOF
exit (-1); exit (-1);
} }
EOF EOF
eval $set_cc_for_build
$CC_FOR_BUILD $dummy.c -o $dummy \ $CC_FOR_BUILD $dummy.c -o $dummy \
&& ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
&& rm -f $dummy.c $dummy && exit 0 && rm -f $dummy.c $dummy && exit 0
@@ -484,6 +486,7 @@ EOF
exit 0 ;; exit 0 ;;
*:AIX:2:3) *:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c sed 's/^ //' << EOF >$dummy.c
#include <sys/systemcfg.h> #include <sys/systemcfg.h>
@@ -495,7 +498,6 @@ EOF
exit(0); exit(0);
} }
EOF EOF
eval $set_cc_for_build
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy rm -f $dummy.c $dummy
echo rs6000-ibm-aix3.2.5 echo rs6000-ibm-aix3.2.5
@@ -546,10 +548,8 @@ EOF
9000/31? ) HP_ARCH=m68000 ;; 9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;; 9000/[34]?? ) HP_ARCH=m68k ;;
9000/[678][0-9][0-9]) 9000/[678][0-9][0-9])
case "${HPUX_REV}" in if [ -x /usr/bin/getconf ]; then
11.[0-9][0-9]) sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
if [ -x /usr/bin/getconf ]; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
case "${sc_cpu_version}" in case "${sc_cpu_version}" in
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
@@ -558,12 +558,13 @@ EOF
case "${sc_kernel_bits}" in case "${sc_kernel_bits}" in
32) HP_ARCH="hppa2.0n" ;; 32) HP_ARCH="hppa2.0n" ;;
64) HP_ARCH="hppa2.0w" ;; 64) HP_ARCH="hppa2.0w" ;;
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
esac ;; esac ;;
esac esac
fi ;; fi
esac if [ "${HP_ARCH}" = "" ]; then
if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c sed 's/^ //' << EOF >$dummy.c
#define _HPUX_SOURCE #define _HPUX_SOURCE
#include <stdlib.h> #include <stdlib.h>
@@ -596,11 +597,10 @@ EOF
exit (0); exit (0);
} }
EOF EOF
eval $set_cc_for_build (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy`
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi rm -f $dummy.c $dummy
rm -f $dummy.c $dummy fi ;;
fi ;;
esac esac
echo ${HP_ARCH}-hp-hpux${HPUX_REV} echo ${HP_ARCH}-hp-hpux${HPUX_REV}
exit 0 ;; exit 0 ;;
@@ -609,6 +609,7 @@ EOF
echo ia64-hp-hpux${HPUX_REV} echo ia64-hp-hpux${HPUX_REV}
exit 0 ;; exit 0 ;;
3050*:HI-UX:*:*) 3050*:HI-UX:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c sed 's/^ //' << EOF >$dummy.c
#include <unistd.h> #include <unistd.h>
int int
@@ -634,7 +635,6 @@ EOF
exit (0); exit (0);
} }
EOF EOF
eval $set_cc_for_build
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy rm -f $dummy.c $dummy
echo unknown-hitachi-hiuxwe2 echo unknown-hitachi-hiuxwe2
@@ -664,9 +664,6 @@ EOF
parisc*:Lites*:*:*) parisc*:Lites*:*:*)
echo hppa1.1-hp-lites echo hppa1.1-hp-lites
exit 0 ;; exit 0 ;;
hppa*:OpenBSD:*:*)
echo hppa-unknown-openbsd
exit 0 ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd echo c1-convex-bsd
exit 0 ;; exit 0 ;;
@@ -718,9 +715,6 @@ EOF
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;; exit 0 ;;
hp300:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
@@ -733,9 +727,6 @@ EOF
*:FreeBSD:*:*) *:FreeBSD:*:*)
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit 0 ;; exit 0 ;;
*:OpenBSD:*:*)
echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
exit 0 ;;
i*:CYGWIN*:*) i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin echo ${UNAME_MACHINE}-pc-cygwin
exit 0 ;; exit 0 ;;
@@ -851,6 +842,7 @@ EOF
exit 0 ;; exit 0 ;;
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
cat >$dummy.c <<EOF cat >$dummy.c <<EOF
#include <features.h> #include <features.h>
#ifdef __cplusplus #ifdef __cplusplus
@@ -875,7 +867,6 @@ EOF
return 0; return 0;
} }
EOF EOF
eval $set_cc_for_build
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy rm -f $dummy.c $dummy
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
@@ -956,7 +947,7 @@ EOF
exit 0 ;; exit 0 ;;
M68*:*:R3V[567]*:*) M68*:*:R3V[567]*:*)
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
OS_REL='' OS_REL=''
test -r /etc/.relid \ test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
@@ -1122,6 +1113,7 @@ esac
#echo '(No uname command or uname output not recognized.)' 1>&2 #echo '(No uname command or uname output not recognized.)' 1>&2
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
eval $set_cc_for_build
cat >$dummy.c <<EOF cat >$dummy.c <<EOF
#ifdef _SEQUENT_ #ifdef _SEQUENT_
# include <sys/types.h> # include <sys/types.h>
@@ -1236,7 +1228,6 @@ main ()
} }
EOF EOF
eval $set_cc_for_build
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy rm -f $dummy.c $dummy
+22 -15
View File
@@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
timestamp='2001-08-23' timestamp='2001-11-08'
# This file is (in principle) common to ALL GNU software. # This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software # The presence of a machine in this file suggests that SOME GNU software
@@ -29,7 +29,8 @@ timestamp='2001-08-23'
# configuration script generated by Autoconf, you may include it under # configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program. # the same distribution terms that you use for the rest of that program.
# Please send patches to <[email protected]>. # Please send patches to <[email protected]>. Submit a context
# diff and a properly formatted ChangeLog entry.
# #
# Configuration subroutine to validate and canonicalize a configuration type. # Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument. # Supply the specified configuration type as an argument.
@@ -236,21 +237,21 @@ case $basic_machine in
| mips16 | mips64 | mips64el | mips64orion | mips64orionel \ | mips16 | mips64 | mips64el | mips64orion | mips64orionel \
| mips64vr4100 | mips64vr4100el | mips64vr4300 \ | mips64vr4100 | mips64vr4100el | mips64vr4300 \
| mips64vr4300el | mips64vr5000 | mips64vr5000el \ | mips64vr4300el | mips64vr5000 | mips64vr5000el \
| mipsbe | mipsel | mipsle | mipstx39 | mipstx39el \ | mipsbe | mipseb | mipsel | mipsle | mipstx39 | mipstx39el \
| mipsisa32 \
| mn10200 | mn10300 \ | mn10200 | mn10300 \
| ns16k | ns32k \ | ns16k | ns32k \
| openrisc \ | openrisc \
| pdp10 | pdp11 | pj | pjl \ | pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \ | pyramid \
| s390 | s390x \
| sh | sh[34] | sh[34]eb | shbe | shle \ | sh | sh[34] | sh[34]eb | shbe | shle \
| sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \ | sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \
| stormy16 | strongarm \ | strongarm \
| tahoe | thumb | tic80 | tron \ | tahoe | thumb | tic80 | tron \
| v850 \ | v850 \
| we32k \ | we32k \
| x86 | xscale \ | x86 | xscale | xstormy16 \
| z8k) | z8k)
basic_machine=$basic_machine-unknown basic_machine=$basic_machine-unknown
;; ;;
@@ -279,6 +280,7 @@ case $basic_machine in
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alphapca5[67]-* | arc-* \ | alphapca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armv*-* \ | arm-* | armbe-* | armle-* | armv*-* \
| avr-* \
| bs2000-* \ | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c54x-* \ | c[123]* | c30-* | [cjt]90-* | c54x-* \
| clipper-* | cray2-* | cydra-* \ | clipper-* | cray2-* | cydra-* \
@@ -293,22 +295,21 @@ case $basic_machine in
| m88110-* | m88k-* | mcore-* \ | m88110-* | m88k-* | mcore-* \
| mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \ | mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \
| mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \ | mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipsel-* \ | mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipseb-* \
| mipsle-* | mipstx39-* | mipstx39el-* \ | mipsle-* | mipsel-* | mipstx39-* | mipstx39el-* \
| none-* | np1-* | ns16k-* | ns32k-* \ | none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \ | orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \ | pyramid-* \
| romp-* | rs6000-* \ | romp-* | rs6000-* \
| s390-* | s390x-* \
| sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \ | sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \
| sparc-* | sparc64-* | sparc86x-* | sparclite-* \ | sparc-* | sparc64-* | sparc86x-* | sparclite-* \
| sparcv9-* | sparcv9b-* | stormy16-* | strongarm-* | sv1-* \ | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* \
| t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \ | t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
| v850-* | vax-* \ | v850-* | vax-* \
| we32k-* \ | we32k-* \
| x86-* | x86_64-* | xmp-* | xps100-* | xscale-* \ | x86-* | x86_64-* | xmp-* | xps100-* | xscale-* | xstormy16-* \
| ymp-* \ | ymp-* \
| z8k-*) | z8k-*)
;; ;;
@@ -723,7 +724,7 @@ case $basic_machine in
pc532 | pc532-*) pc532 | pc532-*)
basic_machine=ns32k-pc532 basic_machine=ns32k-pc532
;; ;;
pentium | p5 | k5 | k6 | nexgen) pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc basic_machine=i586-pc
;; ;;
pentiumpro | p6 | 6x86 | athlon) pentiumpro | p6 | 6x86 | athlon)
@@ -732,7 +733,7 @@ case $basic_machine in
pentiumii | pentium2) pentiumii | pentium2)
basic_machine=i686-pc basic_machine=i686-pc
;; ;;
pentium-* | p5-* | k5-* | k6-* | nexgen-*) pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
pentiumpro-* | p6-* | 6x86-* | athlon-*) pentiumpro-* | p6-* | 6x86-* | athlon-*)
@@ -783,6 +784,12 @@ case $basic_machine in
rtpc | rtpc-*) rtpc | rtpc-*)
basic_machine=romp-ibm basic_machine=romp-ibm
;; ;;
s390 | s390-*)
basic_machine=s390-ibm
;;
s390x | s390x-*)
basic_machine=s390x-ibm
;;
sa29200) sa29200)
basic_machine=a29k-amd basic_machine=a29k-amd
os=-udi os=-udi
@@ -794,7 +801,7 @@ case $basic_machine in
basic_machine=sh-hitachi basic_machine=sh-hitachi
os=-hms os=-hms
;; ;;
sparclite-wrs) sparclite-wrs | simso-wrs)
basic_machine=sparclite-wrs basic_machine=sparclite-wrs
os=-vxworks os=-vxworks
;; ;;
@@ -1067,7 +1074,7 @@ case $os in
| -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos*) | -os2* | -vos* | -palmos* | -uclinux*)
# Remember, each alternative MUST END IN *, to match a version number. # Remember, each alternative MUST END IN *, to match a version number.
;; ;;
-qnx*) -qnx*)
+6 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
# Get modification time of a file or directory and pretty-print it. # Get modification time of a file or directory and pretty-print it.
# Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. # Copyright 1995, 1996, 1997 Free Software Foundation, Inc.
# written by Ulrich Drepper <[email protected]>, June 1995 # written by Ulrich Drepper <[email protected]>, June 1995
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@@ -17,6 +17,11 @@
# 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.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Prevent date giving response in another language. # Prevent date giving response in another language.
LANG=C LANG=C
export LANG export LANG
+54 -1
View File
@@ -78,7 +78,7 @@ Supported PROGRAM values:
;; ;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version) -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing 0.3 - GNU automake" echo "missing 0.4 - GNU automake"
;; ;;
-*) -*)
@@ -88,6 +88,11 @@ Supported PROGRAM values:
;; ;;
aclocal) aclocal)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is missing on your system. You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'. You might want you modified \`acinclude.m4' or \`${configure_ac}'. You might want
@@ -97,6 +102,11 @@ WARNING: \`$1' is missing on your system. You should only need it if
;; ;;
autoconf) autoconf)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is missing on your system. You should only need it if
you modified \`${configure_ac}'. You might want to install the you modified \`${configure_ac}'. You might want to install the
@@ -106,6 +116,11 @@ WARNING: \`$1' is missing on your system. You should only need it if
;; ;;
autoheader) autoheader)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is missing on your system. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want you modified \`acconfig.h' or \`${configure_ac}'. You might want
@@ -125,6 +140,11 @@ WARNING: \`$1' is missing on your system. You should only need it if
;; ;;
automake) automake)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is missing on your system. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
@@ -135,6 +155,34 @@ WARNING: \`$1' is missing on your system. You should only need it if
while read f; do touch "$f"; done while read f; do touch "$f"; done
;; ;;
autom4te)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your
system. You might have modified some files without having the
proper tools for further handling them.
You can get \`$1Help2man' as part of \`Autoconf' from any GNU
archive site."
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
echo "#! /bin/sh"
echo "# Created by GNU Automake missing as a replacement of"
echo "# $ $@"
echo "exit 0"
chmod +x $file
exit 1
fi
;;
bison|yacc) bison|yacc)
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is missing on your system. You should only need it if
@@ -189,6 +237,11 @@ WARNING: \`$1' is missing on your system. You should only need it if
;; ;;
help2man) help2man)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is missing on your system. You should only need it if
you modified a dependency of a manual page. You may need the you modified a dependency of a manual page. You may need the
+66 -5
View File
@@ -7,6 +7,52 @@
# $Id$ # $Id$
errstatus=0 errstatus=0
dirmode=""
usage="\
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
# process command line arguments
while test $# -gt 0 ; do
case "${1}" in
-h | --help | --h* ) # -h for help
echo "${usage}" 1>&2; exit 0 ;;
-m ) # -m PERM arg
shift
test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
dirmode="${1}"
shift ;;
-- ) shift; break ;; # stop option processing
-* ) echo "${usage}" 1>&2; exit 1 ;; # unknown option
* ) break ;; # first non-opt arg
esac
done
for file
do
if test -d "$file"; then
shift
else
break
fi
done
case $# in
0) exit 0 ;;
esac
case $dirmode in
'')
if mkdir -p -- . 2>/dev/null; then
echo "mkdir -p -- $*"
exec mkdir -p -- "$@"
fi ;;
*)
if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
echo "mkdir -m $dirmode -p -- $*"
exec mkdir -m "$dirmode" -p -- "$@"
fi ;;
esac
for file for file
do do
@@ -22,13 +68,24 @@ do
esac esac
if test ! -d "$pathcomp"; then if test ! -d "$pathcomp"; then
echo "mkdir $pathcomp" echo "mkdir $pathcomp"
mkdir "$pathcomp" || lasterr=$? mkdir "$pathcomp" || lasterr=$?
if test ! -d "$pathcomp"; then if test ! -d "$pathcomp"; then
errstatus=$lasterr errstatus=$lasterr
fi else
if test ! -z "$dirmode"; then
echo "chmod $dirmode $pathcomp"
lasterr=""
chmod "$dirmode" "$pathcomp" || lasterr=$?
if test ! -z "$lasterr"; then
errstatus=$lasterr
fi
fi
fi
fi fi
pathcomp="$pathcomp/" pathcomp="$pathcomp/"
@@ -37,4 +94,8 @@ done
exit $errstatus exit $errstatus
# Local Variables:
# mode: shell-script
# sh-indentation: 3
# End:
# mkinstalldirs ends here # mkinstalldirs ends here
+1 -1
View File
@@ -1 +1 @@
1.28c 1.30b
Vendored
+2116 -1477
View File
File diff suppressed because it is too large Load Diff
+35 -17
View File
@@ -1,12 +1,35 @@
# Process this file with autoconf to produce a configure script. # Configure template for GNU Bison. -*-Autoconf-*-
AC_PREREQ(2.52) #
AC_INIT(bison, 1.28d, [email protected]) # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 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
# We need a recent Autoconf to run a recent Autotest.
AC_PREREQ(2.52e)
AC_INIT([GNU Bison], [1.30c], [[email protected]])
AC_CONFIG_AUX_DIR(config) AC_CONFIG_AUX_DIR(config)
AM_INIT_AUTOMAKE(bison, 1.28d)
AM_INIT_AUTOMAKE([bison], [1.30c])
AM_CONFIG_HEADER(config.h:config.hin) AM_CONFIG_HEADER(config.h:config.hin)
# Initialize the test suite. # Initialize the test suite.
AT_CONFIG(../src) AC_CONFIG_TESTDIR(tests)
AC_CONFIG_FILES([tests/bison], [chmod +x tests/bison])
AC_CONFIG_FILES([tests/Makefile tests/atlocal])
# Needed by tests/atlocal.in.
AC_SUBST([GCC])
# Checks for programs. # Checks for programs.
AC_PROG_CC AC_PROG_CC
@@ -14,12 +37,7 @@ AC_MINIX
AC_ISC_POSIX AC_ISC_POSIX
AM_PROG_CC_STDC AM_PROG_CC_STDC
AC_PROG_RANLIB AC_PROG_RANLIB
# GNU M4 is needed to build the testsuite. AM_MISSING_PROG([AUTOM4TE], [autom4te])
BISON_AC_PROG_GNU_M4
if test "$ac_cv_prog_gnu_m4" != yes; then
missing_dir=`cd $ac_aux_dir && pwd`
M4="$missing_dir/missing m4"
fi
AC_ARG_ENABLE(gcc-warnings, AC_ARG_ENABLE(gcc-warnings,
[ --enable-gcc-warnings turn on lots of GCC warnings (not recommended)], [ --enable-gcc-warnings turn on lots of GCC warnings (not recommended)],
@@ -69,18 +87,18 @@ jm_FUNC_MALLOC
jm_FUNC_REALLOC jm_FUNC_REALLOC
jm_PREREQ_QUOTEARG jm_PREREQ_QUOTEARG
jm_PREREQ_ERROR jm_PREREQ_ERROR
AM_WITH_DMALLOC
ALL_LINGUAS="de es et fr ja nl ru" ALL_LINGUAS="de es et fr ja nl tr ru"
AM_GNU_GETTEXT AM_GNU_GETTEXT(, need-ngettext)
# This is necessary so that .o files in LIBOBJS are also built via # This is necessary so that .o files in LIBOBJS are also built via
# the ANSI2KNR-filtering rules. # the ANSI2KNR-filtering rules.
LIBOBJS=`echo $LIBOBJS|sed 's/\.o /\$U.o /g;s/\.o$/\$U.o/'` LIB@&t@OBJS=`echo $LIB@&t@OBJS|sed 's/\.o /\$U.o /g;s/\.o$/\$U.o/'`
AC_SUBST(LIBOBJS) AC_SUBST(LIB@&t@OBJS)
AC_OUTPUT([Makefile AC_OUTPUT([Makefile
config/Makefile config/Makefile
intl/Makefile po/Makefile.in intl/Makefile po/Makefile.in
lib/Makefile src/Makefile doc/Makefile lib/Makefile src/Makefile doc/Makefile
m4/Makefile m4/Makefile])
tests/Makefile tests/atconfig])
+21 -20
View File
@@ -1,4 +1,5 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am. # Makefile.in generated by automake 1.5a from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
@@ -43,6 +44,7 @@ AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
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@
@@ -57,8 +59,12 @@ PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
host_alias = @host_alias@ host_alias = @host_alias@
host_triplet = @host@ host_triplet = @host@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AT_TESTPATH = @AT_TESTPATH@ AUTOM4TE = @AUTOM4TE@
AWK = @AWK@ AWK = @AWK@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
@@ -67,10 +73,7 @@ CC = @CC@
CPP = @CPP@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@ GCC = @GCC@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@ GLIBC21 = @GLIBC21@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
@@ -81,12 +84,10 @@ INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@ INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LIB = @LIB@
LIBICONV = @LIBICONV@ LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
M4 = @M4@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
POFILES = @POFILES@ POFILES = @POFILES@
POSUB = @POSUB@ POSUB = @POSUB@
@@ -131,9 +132,7 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnu doc/Makefile $(AUTOMAKE) --gnu doc/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
$(srcdir)/version.texi: $(srcdir)/stamp-vti $(srcdir)/version.texi: $(srcdir)/stamp-vti
@: @:
@@ -165,7 +164,7 @@ bison.dvi: bison.texinfo $(srcdir)/version.texi $(bison_TEXINFOS)
`echo $< | sed 's,.*/,,'` `echo $< | sed 's,.*/,,'`
.texinfo.dvi: .texinfo.dvi:
TEXINPUTS=$(top_srcdir)/config:$$TEXINPUTS \ TEXINPUTS="$(top_srcdir)/config$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
$(TEXI2DVI) $< $(TEXI2DVI) $<
@@ -204,9 +203,10 @@ dist-info: $(INFO_DEPS)
list='$(INFO_DEPS)'; \ list='$(INFO_DEPS)'; \
for base in $$list; do \ for base in $$list; do \
d=$(srcdir); \ d=$(srcdir); \
for file in `CDPATH=: && cd $$d && eval echo $$base*`; do \ for file in $$d/$$base*; do \
test -f $(distdir)/$$file \ relfile=`expr "$$file" : "$$d/\(.*\)"`; \
|| cp -p $$d/$$file $(distdir)/$$file; \ test -f $(distdir)/$$relfile || \
cp -p $$file $(distdir)/$$relfile; \
done; \ done; \
done done
@@ -348,10 +348,11 @@ install-info-am: $(INFO_DEPS)
@list='$(INFO_DEPS)'; \ @list='$(INFO_DEPS)'; \
for file in $$list; do \ for file in $$list; do \
d=$(srcdir); \ d=$(srcdir); \
for ifile in `CDPATH=: && cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \ for ifile in echo $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9]; do \
if test -f $$d/$$ifile; then \ if test -f $$ifile; then \
echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; \ relfile=`expr "$$ifile" : "$$d/\(.*\)"`; \
$(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; \ echo " $(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile"; \
$(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile; \
else : ; fi; \ else : ; fi; \
done; \ done; \
done done
+19 -6
View File
@@ -10,11 +10,11 @@ bison \- GNU Project parser generator (yacc replacement)
] [ ] [
.B \-d .B \-d
] [ ] [
.B \-\-defines .BI \-\-defines= defines-file
] [ ] [
.B \-g .B \-g
] [ ] [
.B \-\-graph .BI \-\-graph= graph-file
] [ ] [
.B \-k .B \-k
] [ ] [
@@ -127,8 +127,6 @@ chosen as if the input file were named
.B \-d .B \-d
.br .br
.ns .ns
.TP
.B \-\-defines
Write an extra output file containing macro definitions for the token Write an extra output file containing macro definitions for the token
type names defined in the grammar and the semantic value type type names defined in the grammar and the semantic value type
.BR YYSTYPE , .BR YYSTYPE ,
@@ -149,17 +147,32 @@ in a separate source file, because
needs to be able to refer to token type codes and the variable needs to be able to refer to token type codes and the variable
.BR yylval . .BR yylval .
.TP .TP
.BI \-\-defines= defines-file
The behaviour of
.BI \-\-defines
is the same than
.BI \-d
option.
The only difference is that it has an optionnal argument which is
the name of the output filename.
.TP
.BI \-g .BI \-g
.br .br
.ns .ns
.TP
.BI \-\-graph
Output a VCG definition of the LALR(1) grammar automaton computed by Output a VCG definition of the LALR(1) grammar automaton computed by
Bison. If the grammar file is Bison. If the grammar file is
.BR foo.y .BR foo.y
, the VCG output file will be , the VCG output file will be
.BR foo.vcg . .BR foo.vcg .
.TP .TP
.BI \-\-graph= graph-file
The behaviour of
.BI \-\-graph
is the same than
.BI \-g
option. The only difference is that it has an optionnal argument which
is the name of the output graph filename.
.TP
.B \-k .B \-k
.br .br
.ns .ns
+106 -106
View File
@@ -31,115 +31,115 @@ instead of in the original English.
 
Indirect: Indirect:
bison.info-1: 1313 bison.info-1: 1313
bison.info-2: 50688 bison.info-2: 50632
bison.info-3: 100578 bison.info-3: 100395
bison.info-4: 150128 bison.info-4: 147417
bison.info-5: 197515 bison.info-5: 197287
 
Tag Table: Tag Table:
(Indirect) (Indirect)
Node: Top1313 Node: Top1313
Node: Introduction8966 Node: Introduction8968
Node: Conditions10241 Node: Conditions10243
Node: Copying11705 Node: Copying11707
Node: Concepts30908 Node: Concepts30910
Node: Language and Grammar31987 Node: Language and Grammar31989
Node: Grammar in Bison37003 Node: Grammar in Bison36947
Node: Semantic Values38927 Node: Semantic Values38871
Node: Semantic Actions41028 Node: Semantic Actions40972
Node: Locations Overview42217 Node: Locations Overview42161
Node: Bison Parser43664 Node: Bison Parser43608
Node: Stages45976 Node: Stages45920
Node: Grammar Layout47259 Node: Grammar Layout47203
Node: Examples48516 Node: Examples48460
Node: RPN Calc49714 Node: RPN Calc49658
Node: Rpcalc Decls50688 Node: Rpcalc Decls50632
Node: Rpcalc Rules52275 Node: Rpcalc Rules52219
Node: Rpcalc Input54075 Node: Rpcalc Input54019
Node: Rpcalc Line55536 Node: Rpcalc Line55480
Node: Rpcalc Expr56651 Node: Rpcalc Expr56595
Node: Rpcalc Lexer58596 Node: Rpcalc Lexer58540
Node: Rpcalc Main61168 Node: Rpcalc Main61112
Node: Rpcalc Error61566 Node: Rpcalc Error61510
Node: Rpcalc Gen62574 Node: Rpcalc Gen62518
Node: Rpcalc Compile63723 Node: Rpcalc Compile63667
Node: Infix Calc64598 Node: Infix Calc64542
Node: Simple Error Recovery67305 Node: Simple Error Recovery67249
Node: Location Tracking Calc69194 Node: Location Tracking Calc69138
Node: Ltcalc Decls69924 Node: Ltcalc Decls69820
Node: Ltcalc Rules70833 Node: Ltcalc Rules70713
Node: Ltcalc Lexer72894 Node: Ltcalc Lexer72723
Node: Multi-function Calc75232 Node: Multi-function Calc75049
Node: Mfcalc Decl76799 Node: Mfcalc Decl76616
Node: Mfcalc Rules78822 Node: Mfcalc Rules78639
Node: Mfcalc Symtab80202 Node: Mfcalc Symtab80019
Node: Exercises86575 Node: Exercises86392
Node: Grammar File87081 Node: Grammar File86898
Node: Grammar Outline87929 Node: Grammar Outline87746
Node: C Declarations88663 Node: C Declarations88480
Node: Bison Declarations89243 Node: Bison Declarations89060
Node: Grammar Rules89655 Node: Grammar Rules89472
Node: C Code90115 Node: C Code89932
Node: Symbols91045 Node: Symbols90862
Node: Rules96126 Node: Rules95943
Node: Recursion97765 Node: Recursion97582
Node: Semantics99484 Node: Semantics99301
Node: Value Type100578 Node: Value Type100395
Node: Multiple Types101250 Node: Multiple Types101067
Node: Actions102267 Node: Actions102084
Node: Action Types105052 Node: Action Types104869
Node: Mid-Rule Actions106355 Node: Mid-Rule Actions106172
Node: Locations111925 Node: Locations111742
Node: Location Type112573 Node: Location Type112390
Node: Actions and Locations113131 Node: Actions and Locations112948
Node: Location Default Action115287 Node: Location Default Action115104
Node: Declarations116750 Node: Declarations116567
Node: Token Decl118069 Node: Token Decl117886
Node: Precedence Decl120082 Node: Precedence Decl119899
Node: Union Decl121633 Node: Union Decl121450
Node: Type Decl122477 Node: Type Decl122294
Node: Expect Decl123383 Node: Expect Decl123200
Node: Start Decl124929 Node: Start Decl124768
Node: Pure Decl125307 Node: Pure Decl125146
Node: Decl Summary126984 Node: Decl Summary126823
Node: Multiple Parsers132367 Node: Multiple Parsers132951
Node: Interface133861 Node: Interface134445
Node: Parser Function134733 Node: Parser Function135317
Node: Lexical135568 Node: Lexical136152
Node: Calling Convention136974 Node: Calling Convention137558
Node: Token Values139745 Node: Token Values140329
Node: Token Positions140894 Node: Token Positions141478
Node: Pure Calling141779 Node: Pure Calling142363
Node: Error Reporting144711 Node: Error Reporting145295
Node: Action Features146833 Node: Action Features147417
Node: Algorithm150128 Node: Algorithm150712
Node: Look-Ahead152421 Node: Look-Ahead153005
Node: Shift/Reduce154553 Node: Shift/Reduce155137
Node: Precedence157465 Node: Precedence158049
Node: Why Precedence158116 Node: Why Precedence158700
Node: Using Precedence159981 Node: Using Precedence160565
Node: Precedence Examples160949 Node: Precedence Examples161533
Node: How Precedence161650 Node: How Precedence162234
Node: Contextual Precedence162799 Node: Contextual Precedence163383
Node: Parser States164590 Node: Parser States165174
Node: Reduce/Reduce165833 Node: Reduce/Reduce166417
Node: Mystery Conflicts169394 Node: Mystery Conflicts169978
Node: Stack Overflow172780 Node: Stack Overflow173364
Node: Error Recovery174153 Node: Error Recovery174737
Node: Context Dependency179289 Node: Context Dependency179873
Node: Semantic Tokens180137 Node: Semantic Tokens180721
Node: Lexical Tie-ins183154 Node: Lexical Tie-ins183738
Node: Tie-in Recovery184702 Node: Tie-in Recovery185286
Node: Debugging186874 Node: Debugging187458
Node: Invocation190175 Node: Invocation190759
Node: Bison Options191427 Node: Bison Options192011
Node: Environment Variables195039 Node: Environment Variables195561
Node: Option Cross Key195887 Node: Option Cross Key196409
Node: VMS Invocation196731 Node: VMS Invocation197287
Node: Table of Symbols197515 Node: Table of Symbols198071
Node: Glossary205154 Node: Glossary206039
Node: Copying This Manual211458 Node: Copying This Manual212343
Node: GNU Free Documentation License211667 Node: GNU Free Documentation License212552
Node: Index231532 Node: Index232417
 
End Tag Table End Tag Table
+7 -7
View File
@@ -34,7 +34,8 @@ File: bison.info, Node: Top, Next: Introduction, Up: (dir)
Bison Bison
***** *****
This manual documents version 1.28d of Bison, updated 29 August 2001. This manual documents version 1.30c of Bison, updated 12 November
2001.
* Menu: * Menu:
@@ -237,7 +238,7 @@ Bison in detail.
it Yacc-compatible. Wilfred Hansen of Carnegie Mellon University added it Yacc-compatible. Wilfred Hansen of Carnegie Mellon University added
multi-character string literals and other features. multi-character string literals and other features.
This edition corresponds to version 1.28d of Bison. This edition corresponds to version 1.30c of Bison.
 
File: bison.info, Node: Conditions, Next: Copying, Prev: Introduction, Up: Top File: bison.info, Node: Conditions, Next: Copying, Prev: Introduction, Up: Top
@@ -708,12 +709,11 @@ matter of lexicography, not grammar.)
Here is a simple C function subdivided into tokens: Here is a simple C function subdivided into tokens:
int /* keyword `int' */ int /* keyword `int' */
square (x) /* identifier, open-paren, */ square (int x) /* identifier, open-paren, identifier,
/* identifier, close-paren */ identifier, close-paren */
int x; /* keyword `int', identifier, semicolon */
{ /* open-brace */ { /* open-brace */
return x * x; /* keyword `return', identifier, */ return x * x; /* keyword `return', identifier, asterisk,
/* asterisk, identifier, semicolon */ identifier, semicolon */
} /* close-brace */ } /* close-brace */
The syntactic groupings of C include the expression, the statement, The syntactic groupings of C include the expression, the statement,
+43 -47
View File
@@ -385,21 +385,21 @@ Compiling the Parser File
Here is how to compile and run the parser file: Here is how to compile and run the parser file:
# List files in current directory. # List files in current directory.
% ls $ ls
rpcalc.tab.c rpcalc.y rpcalc.tab.c rpcalc.y
# Compile the Bison parser. # Compile the Bison parser.
# `-lm' tells compiler to search math library for `pow'. # `-lm' tells compiler to search math library for `pow'.
% cc rpcalc.tab.c -lm -o rpcalc $ cc rpcalc.tab.c -lm -o rpcalc
# List files again. # List files again.
% ls $ ls
rpcalc rpcalc.tab.c rpcalc.y rpcalc rpcalc.tab.c rpcalc.y
The file `rpcalc' now contains the executable code. Here is an The file `rpcalc' now contains the executable code. Here is an
example session using `rpcalc'. example session using `rpcalc'.
% rpcalc $ rpcalc
4 9 + 4 9 +
13 13
3 7 + 3 4 5 *+- 3 7 + 3 4 5 *+-
@@ -411,7 +411,7 @@ example session using `rpcalc'.
3 4 ^ Exponentiation 3 4 ^ Exponentiation
81 81
^D End-of-file indicator ^D End-of-file indicator
% $
 
File: bison.info, Node: Infix Calc, Next: Simple Error Recovery, Prev: RPN Calc, Up: Examples File: bison.info, Node: Infix Calc, Next: Simple Error Recovery, Prev: RPN Calc, Up: Examples
@@ -485,7 +485,7 @@ Precedence.
Here is a sample run of `calc.y': Here is a sample run of `calc.y':
% calc $ calc
4 + 4.5 - (34/(8*3+-3)) 4 + 4.5 - (34/(8*3+-3))
6.880952381 6.880952381
-56 + 2 -56 + 2
@@ -539,12 +539,10 @@ Location Tracking Calculator: `ltcalc'
====================================== ======================================
This example extends the infix notation calculator with location This example extends the infix notation calculator with location
tracking. This feature will be used to improve error reporting, and tracking. This feature will be used to improve the error messages. For
provide better error messages. the sake of clarity, this example is a simple integer calculator, since
most of the work needed to use locations will be done in the lexical
For the sake of clarity, we will switch for this example to an analyser.
integer calculator, since most of the work needed to use locations will
be done in the lexical analyser.
* Menu: * Menu:
@@ -558,8 +556,8 @@ File: bison.info, Node: Ltcalc Decls, Next: Ltcalc Rules, Up: Location Tracki
Declarations for `ltcalc' Declarations for `ltcalc'
------------------------- -------------------------
The C and Bison declarations for the location tracking calculator The C and Bison declarations for the location tracking calculator are
are the same as the declarations for the infix notation calculator. the same as the declarations for the infix notation calculator.
/* Location tracking calculator. */ /* Location tracking calculator. */
@@ -578,11 +576,11 @@ are the same as the declarations for the infix notation calculator.
%% /* Grammar follows */ %% /* Grammar follows */
In the code above, there are no declarations specific to locations. Note there are no declarations specific to locations. Defining a data
Defining a data type for storing locations is not needed: we will use type for storing locations is not needed: we will use the type provided
the type provided by default (*note Data Types of Locations: Location by default (*note Data Types of Locations: Location Type.), which is a
Type.), which is a four member structure with the following integer four member structure with the following integer fields: `first_line',
fields: `first_line', `first_column', `last_line' and `last_column'. `first_column', `last_line' and `last_column'.
 
File: bison.info, Node: Ltcalc Rules, Next: Ltcalc Lexer, Prev: Ltcalc Decls, Up: Location Tracking Calc File: bison.info, Node: Ltcalc Rules, Next: Ltcalc Lexer, Prev: Ltcalc Decls, Up: Location Tracking Calc
@@ -590,10 +588,10 @@ File: bison.info, Node: Ltcalc Rules, Next: Ltcalc Lexer, Prev: Ltcalc Decls,
Grammar Rules for `ltcalc' Grammar Rules for `ltcalc'
-------------------------- --------------------------
Whether you choose to handle locations or not has no effect on the Whether handling locations or not has no effect on the syntax of your
syntax of your language. Therefore, grammar rules for this example language. Therefore, grammar rules for this example will be very close
will be very close to those of the previous example: we will only to those of the previous example: we will only modify them to benefit
modify them to benefit from the new informations we will have. from the new information.
Here, we will use locations to report divisions by zero, and locate Here, we will use locations to report divisions by zero, and locate
the wrong expressions or subexpressions. the wrong expressions or subexpressions.
@@ -617,9 +615,9 @@ the wrong expressions or subexpressions.
else else
{ {
$$ = 1; $$ = 1;
printf("Division by zero, l%d,c%d-l%d,c%d", fprintf (stderr, "%d.%d-%d.%d: division by zero",
@3.first_line, @3.first_column, @3.first_line, @3.first_column,
@3.last_line, @3.last_column); @3.last_line, @3.last_column);
} }
} }
| '-' exp %preg NEG { $$ = -$2; } | '-' exp %preg NEG { $$ = -$2; }
@@ -630,14 +628,12 @@ the wrong expressions or subexpressions.
using the pseudo-variables `@N' for rule components, and the using the pseudo-variables `@N' for rule components, and the
pseudo-variable `@$' for groupings. pseudo-variable `@$' for groupings.
In this example, we never assign a value to `@$', because the output We don't need to assign a value to `@$': the output parser does it
parser can do this automatically. By default, before executing the C automatically. By default, before executing the C code of each action,
code of each action, `@$' is set to range from the beginning of `@1' to `@$' is set to range from the beginning of `@1' to the end of `@N', for
the end of `@N', for a rule with N components. a rule with N components. This behavior can be redefined (*note
Default Action for Locations: Location Default Action.), and for very
Of course, this behavior can be redefined (*note Default Action for specific rules, `@$' can be computed by hand.
Locations: Location Default Action.), and for very specific rules, `@$'
can be computed by hand.
 
File: bison.info, Node: Ltcalc Lexer, Prev: Ltcalc Rules, Up: Location Tracking Calc File: bison.info, Node: Ltcalc Lexer, Prev: Ltcalc Rules, Up: Location Tracking Calc
@@ -647,10 +643,10 @@ The `ltcalc' Lexical Analyzer.
Until now, we relied on Bison's defaults to enable location Until now, we relied on Bison's defaults to enable location
tracking. The next step is to rewrite the lexical analyser, and make it tracking. The next step is to rewrite the lexical analyser, and make it
able to feed the parser with locations of tokens, as he already does able to feed the parser with the token locations, as it already does for
for semantic values. semantic values.
To do so, we must take into account every single character of the To this end, we must take into account every single character of the
input text, to avoid the computed locations of being fuzzy or wrong: input text, to avoid the computed locations of being fuzzy or wrong:
int int
@@ -695,14 +691,14 @@ input text, to avoid the computed locations of being fuzzy or wrong:
return c; return c;
} }
Basically, the lexical analyzer does the same processing as before: Basically, the lexical analyzer performs the same processing as
it skips blanks and tabs, and reads numbers or single-character tokens. before: it skips blanks and tabs, and reads numbers or single-character
In addition to this, it updates the `yylloc' global variable (of type tokens. In addition, it updates `yylloc', the global variable (of type
`YYLTYPE'), where the location of tokens is stored. `YYLTYPE') containing the token's location.
Now, each time this function returns a token, the parser has it's Now, each time this function returns a token, the parser has its
number as well as it's semantic value, and it's position in the text. number as well as its semantic value, and its location in the text. The
The last needed change is to initialize `yylloc', for example in the last needed change is to initialize `yylloc', for example in the
controlling function: controlling function:
int int
@@ -715,7 +711,7 @@ controlling function:
Remember that computing locations is not a matter of syntax. Every Remember that computing locations is not a matter of syntax. Every
character must be associated to a location update, whether it is in character must be associated to a location update, whether it is in
valid input, in comments, in literal strings, and so on... valid input, in comments, in literal strings, and so on.
 
File: bison.info, Node: Multi-function Calc, Next: Exercises, Prev: Location Tracking Calc, Up: Examples File: bison.info, Node: Multi-function Calc, Next: Exercises, Prev: Location Tracking Calc, Up: Examples
@@ -741,7 +737,7 @@ At the same time, we will add memory to the calculator, by allowing you
to create named variables, store values in them, and use them later. to create named variables, store values in them, and use them later.
Here is a sample session with the multi-function calculator: Here is a sample session with the multi-function calculator:
% mfcalc $ mfcalc
pi = 3.141592653589 pi = 3.141592653589
3.1415926536 3.1415926536
sin(pi) sin(pi)
@@ -754,7 +750,7 @@ Here is a sample session with the multi-function calculator:
0.8329091229 0.8329091229
exp(ln(beta1)) exp(ln(beta1))
2.3000000000 2.3000000000
% $
Note that multiple assignment and nested function calls are Note that multiple assignment and nested function calls are
permitted. permitted.
+71 -140
View File
@@ -623,19 +623,20 @@ Suppressing Conflict Warnings
Bison normally warns if there are any conflicts in the grammar Bison normally warns if there are any conflicts in the grammar
(*note Shift/Reduce Conflicts: Shift/Reduce.), but most real grammars (*note Shift/Reduce Conflicts: Shift/Reduce.), but most real grammars
have harmless shift/reduce conflicts which are resolved in a have harmless shift/reduce conflicts which are resolved in a predictable
predictable way and would be difficult to eliminate. It is desirable way and would be difficult to eliminate. It is desirable to suppress
to suppress the warning about these conflicts unless the number of the warning about these conflicts unless the number of conflicts
conflicts changes. You can do this with the `%expect' declaration. changes. You can do this with the `%expect' declaration.
The declaration looks like this: The declaration looks like this:
%expect N %expect N
Here N is a decimal integer. The declaration says there should be no Here N is a decimal integer. The declaration says there should be
warning if there are N shift/reduce conflicts and no reduce/reduce no warning if there are N shift/reduce conflicts and no reduce/reduce
conflicts. The usual warning is given if there are either more or fewer conflicts. An error, instead of the usual warning, is given if there
conflicts, or if there are any reduce/reduce conflicts. are either more or fewer conflicts, or if there are any reduce/reduce
conflicts.
In general, using `%expect' involves these steps: In general, using `%expect' involves these steps:
@@ -710,7 +711,7 @@ File: bison.info, Node: Decl Summary, Prev: Pure Decl, Up: Declarations
Bison Declaration Summary Bison Declaration Summary
------------------------- -------------------------
Here is a summary of all Bison declarations: Here is a summary of the declarations used to define a grammar:
`%union' `%union'
Declare the collection of data types that semantic values may have Declare the collection of data types that semantic values may have
@@ -745,38 +746,9 @@ Bison Declaration Summary
Declare the expected number of shift-reduce conflicts (*note Declare the expected number of shift-reduce conflicts (*note
Suppressing Conflict Warnings: Expect Decl.). Suppressing Conflict Warnings: Expect Decl.).
`%yacc'
`%fixed_output_files'
Pretend the option `--yacc' was given, i.e., imitate Yacc,
including its naming conventions. *Note Bison Options::, for more.
`%locations' In order to change the behavior of `bison', use the following
Generate the code processing the locations (*note Special Features directives:
for Use in Actions: Action Features.). This mode is enabled as
soon as the grammar uses the special `@N' tokens, but if your
grammar does not use it, using `%locations' allows for more
accurate parse error messages.
`%pure_parser'
Request a pure (reentrant) parser program (*note A Pure
(Reentrant) Parser: Pure Decl.).
`%no_parser'
Do not include any C code in the parser file; generate tables
only. The parser file contains just `#define' directives and
static variable declarations.
This option also tells Bison to write the C code for the grammar
actions into a file named `FILENAME.act', in the form of a
brace-surrounded body fit for a `switch' statement.
`%no_lines'
Don't generate any `#line' preprocessor commands in the parser
file. Ordinarily Bison writes these commands in the parser file
so that the C compiler and debuggers will associate errors and
object code with your source file (the grammar file). This
directive causes them to associate errors with the parser file,
treating it an independent source file in its own right.
`%debug' `%debug'
Output a definition of the macro `YYDEBUG' into the parser file, so Output a definition of the macro `YYDEBUG' into the parser file, so
@@ -796,20 +768,48 @@ Bison Declaration Summary
able to refer to token type codes and the variable `yylval'. able to refer to token type codes and the variable `yylval'.
*Note Semantic Values of Tokens: Token Values. *Note Semantic Values of Tokens: Token Values.
`%verbose' `%file-prefix="PREFIX"'
Write an extra output file containing verbose descriptions of the Specify a prefix to use for all Bison output file names. The
parser states and what is done for each type of look-ahead token in names are chosen as if the input file were named `PREFIX.y'.
that state.
This file also describes all the conflicts, both those resolved by `%locations'
operator precedence and the unresolved ones. Generate the code processing the locations (*note Special Features
for Use in Actions: Action Features.). This mode is enabled as
soon as the grammar uses the special `@N' tokens, but if your
grammar does not use it, using `%locations' allows for more
accurate parse error messages.
The file's name is made by removing `.tab.c' or `.c' from the `%name-prefix="PREFIX"'
parser output file name, and adding `.output' instead. Rename the external symbols used in the parser so that they start
with PREFIX instead of `yy'. The precise list of symbols renamed
is `yyparse', `yylex', `yyerror', `yynerrs', `yylval', `yychar'
and `yydebug'. For example, if you use `%name-prefix="c_"', the
names become `c_parse', `c_lex', and so on. *Note Multiple
Parsers in the Same Program: Multiple Parsers.
Therefore, if the input file is `foo.y', then the parser file is `%no-parser'
called `foo.tab.c' by default. As a consequence, the verbose Do not include any C code in the parser file; generate tables
output file is called `foo.output'. only. The parser file contains just `#define' directives and
static variable declarations.
This option also tells Bison to write the C code for the grammar
actions into a file named `FILENAME.act', in the form of a
brace-surrounded body fit for a `switch' statement.
`%no-lines'
Don't generate any `#line' preprocessor commands in the parser
file. Ordinarily Bison writes these commands in the parser file
so that the C compiler and debuggers will associate errors and
object code with your source file (the grammar file). This
directive causes them to associate errors with the parser file,
treating it an independent source file in its own right.
`%output="FILENAME"'
Specify the FILENAME for the parser file.
`%pure-parser'
Request a pure (reentrant) parser program (*note A Pure
(Reentrant) Parser: Pure Decl.).
`%token_table' `%token_table'
Generate an array of token names in the parser file. The name of Generate an array of token names in the parser file. The name of
@@ -845,6 +845,26 @@ Bison Declaration Summary
`YYNSTATES' `YYNSTATES'
The number of parser states (*note Parser States::). The number of parser states (*note Parser States::).
`%verbose'
Write an extra output file containing verbose descriptions of the
parser states and what is done for each type of look-ahead token in
that state.
This file also describes all the conflicts, both those resolved by
operator precedence and the unresolved ones.
The file's name is made by removing `.tab.c' or `.c' from the
parser output file name, and adding `.output' instead.
Therefore, if the input file is `foo.y', then the parser file is
called `foo.tab.c' by default. As a consequence, the verbose
output file is called `foo.output'.
`%yacc'
`%fixed-output-files'
Pretend the option `--yacc' was given, i.e., imitate Yacc,
including its naming conventions. *Note Bison Options::, for more.
 
File: bison.info, Node: Multiple Parsers, Prev: Declarations, Up: Grammar File File: bison.info, Node: Multiple Parsers, Prev: Declarations, Up: Grammar File
@@ -1226,92 +1246,3 @@ encountered so far. Normally this variable is global; but if you
request a pure parser (*note A Pure (Reentrant) Parser: Pure Decl.) request a pure parser (*note A Pure (Reentrant) Parser: Pure Decl.)
then it is a local variable which only the actions can access. then it is a local variable which only the actions can access.

File: bison.info, Node: Action Features, Prev: Error Reporting, Up: Interface
Special Features for Use in Actions
===================================
Here is a table of Bison constructs, variables and macros that are
useful in actions.
`$$'
Acts like a variable that contains the semantic value for the
grouping made by the current rule. *Note Actions::.
`$N'
Acts like a variable that contains the semantic value for the Nth
component of the current rule. *Note Actions::.
`$<TYPEALT>$'
Like `$$' but specifies alternative TYPEALT in the union specified
by the `%union' declaration. *Note Data Types of Values in
Actions: Action Types.
`$<TYPEALT>N'
Like `$N' but specifies alternative TYPEALT in the union specified
by the `%union' declaration. *Note Data Types of Values in
Actions: Action Types.
`YYABORT;'
Return immediately from `yyparse', indicating failure. *Note The
Parser Function `yyparse': Parser Function.
`YYACCEPT;'
Return immediately from `yyparse', indicating success. *Note The
Parser Function `yyparse': Parser Function.
`YYBACKUP (TOKEN, VALUE);'
Unshift a token. This macro is allowed only for rules that reduce
a single value, and only when there is no look-ahead token. It
installs a look-ahead token with token type TOKEN and semantic
value VALUE; then it discards the value that was going to be
reduced by this rule.
If the macro is used when it is not valid, such as when there is a
look-ahead token already, then it reports a syntax error with a
message `cannot back up' and performs ordinary error recovery.
In either case, the rest of the action is not executed.
`YYEMPTY'
Value stored in `yychar' when there is no look-ahead token.
`YYERROR;'
Cause an immediate syntax error. This statement initiates error
recovery just as if the parser itself had detected an error;
however, it does not call `yyerror', and does not print any
message. If you want to print an error message, call `yyerror'
explicitly before the `YYERROR;' statement. *Note Error
Recovery::.
`YYRECOVERING'
This macro stands for an expression that has the value 1 when the
parser is recovering from a syntax error, and 0 the rest of the
time. *Note Error Recovery::.
`yychar'
Variable containing the current look-ahead token. (In a pure
parser, this is actually a local variable within `yyparse'.) When
there is no look-ahead token, the value `YYEMPTY' is stored in the
variable. *Note Look-Ahead Tokens: Look-Ahead.
`yyclearin;'
Discard the current look-ahead token. This is useful primarily in
error rules. *Note Error Recovery::.
`yyerrok;'
Resume generating error messages immediately for subsequent syntax
errors. This is useful primarily in error rules. *Note Error
Recovery::.
`@$'
Acts like a structure variable containing information on the
textual position of the grouping made by the current rule. *Note
Tracking Locations: Locations.
`@N'
Acts like a structure variable containing information on the
textual position of the Nth component of the current rule. *Note
Tracking Locations: Locations.
+113 -47
View File
@@ -28,6 +28,95 @@ License", "Conditions for Using Bison" and this permission notice may be
included in translations approved by the Free Software Foundation included in translations approved by the Free Software Foundation
instead of in the original English. instead of in the original English.

File: bison.info, Node: Action Features, Prev: Error Reporting, Up: Interface
Special Features for Use in Actions
===================================
Here is a table of Bison constructs, variables and macros that are
useful in actions.
`$$'
Acts like a variable that contains the semantic value for the
grouping made by the current rule. *Note Actions::.
`$N'
Acts like a variable that contains the semantic value for the Nth
component of the current rule. *Note Actions::.
`$<TYPEALT>$'
Like `$$' but specifies alternative TYPEALT in the union specified
by the `%union' declaration. *Note Data Types of Values in
Actions: Action Types.
`$<TYPEALT>N'
Like `$N' but specifies alternative TYPEALT in the union specified
by the `%union' declaration. *Note Data Types of Values in
Actions: Action Types.
`YYABORT;'
Return immediately from `yyparse', indicating failure. *Note The
Parser Function `yyparse': Parser Function.
`YYACCEPT;'
Return immediately from `yyparse', indicating success. *Note The
Parser Function `yyparse': Parser Function.
`YYBACKUP (TOKEN, VALUE);'
Unshift a token. This macro is allowed only for rules that reduce
a single value, and only when there is no look-ahead token. It
installs a look-ahead token with token type TOKEN and semantic
value VALUE; then it discards the value that was going to be
reduced by this rule.
If the macro is used when it is not valid, such as when there is a
look-ahead token already, then it reports a syntax error with a
message `cannot back up' and performs ordinary error recovery.
In either case, the rest of the action is not executed.
`YYEMPTY'
Value stored in `yychar' when there is no look-ahead token.
`YYERROR;'
Cause an immediate syntax error. This statement initiates error
recovery just as if the parser itself had detected an error;
however, it does not call `yyerror', and does not print any
message. If you want to print an error message, call `yyerror'
explicitly before the `YYERROR;' statement. *Note Error
Recovery::.
`YYRECOVERING'
This macro stands for an expression that has the value 1 when the
parser is recovering from a syntax error, and 0 the rest of the
time. *Note Error Recovery::.
`yychar'
Variable containing the current look-ahead token. (In a pure
parser, this is actually a local variable within `yyparse'.) When
there is no look-ahead token, the value `YYEMPTY' is stored in the
variable. *Note Look-Ahead Tokens: Look-Ahead.
`yyclearin;'
Discard the current look-ahead token. This is useful primarily in
error rules. *Note Error Recovery::.
`yyerrok;'
Resume generating error messages immediately for subsequent syntax
errors. This is useful primarily in error rules. *Note Error
Recovery::.
`@$'
Acts like a structure variable containing information on the
textual position of the grouping made by the current rule. *Note
Tracking Locations: Locations.
`@N'
Acts like a structure variable containing information on the
textual position of the Nth component of the current rule. *Note
Tracking Locations: Locations.
 
File: bison.info, Node: Algorithm, Next: Error Recovery, Prev: Interface, Up: Top File: bison.info, Node: Algorithm, Next: Error Recovery, Prev: Interface, Up: Top
@@ -1118,19 +1207,12 @@ Tuning the parser:
Parser: Debugging. Parser: Debugging.
`--locations' `--locations'
Pretend that `%locactions' was specified. *Note Decl Summary::. Pretend that `%locations' was specified. *Note Decl Summary::.
`-p PREFIX' `-p PREFIX'
`--name-prefix=PREFIX' `--name-prefix=PREFIX'
Rename the external symbols used in the parser so that they start Pretend that `%name-prefix="PREFIX"' was specified. *Note Decl
with PREFIX instead of `yy'. The precise list of symbols renamed Summary::.
is `yyparse', `yylex', `yyerror', `yynerrs', `yylval', `yychar'
and `yydebug'.
For example, if you use `-p c', the names become `cparse', `clex',
and so on.
*Note Multiple Parsers in the Same Program: Multiple Parsers.
`-l' `-l'
`--no-lines' `--no-lines'
@@ -1143,45 +1225,52 @@ Tuning the parser:
`-n' `-n'
`--no-parser' `--no-parser'
Pretend that `%no_parser' was specified. *Note Decl Summary::. Pretend that `%no-parser' was specified. *Note Decl Summary::.
`-k' `-k'
`--token-table' `--token-table'
Pretend that `%token_table' was specified. *Note Decl Summary::. Pretend that `%token-table' was specified. *Note Decl Summary::.
Adjust the output: Adjust the output:
`-d' `-d'
`--defines' `--defines'
Pretend that `%verbose' was specified, i.e., write an extra output Pretend that `%defines' was specified, i.e., write an extra output
file containing macro definitions for the token type names defined file containing macro definitions for the token type names defined
in the grammar and the semantic value type `YYSTYPE', as well as a in the grammar and the semantic value type `YYSTYPE', as well as a
few `extern' variable declarations. *Note Decl Summary::. few `extern' variable declarations. *Note Decl Summary::.
`--defines=DEFINES-FILE'
Same as above, but save in the file DEFINES-FILE.
`-b FILE-PREFIX' `-b FILE-PREFIX'
`--file-prefix=PREFIX' `--file-prefix=PREFIX'
Specify a prefix to use for all Bison output file names. The Pretend that `%verbose' was specified, i.e, specify prefix to use
names are chosen as if the input file were named `PREFIX.c'. for all Bison output file names. *Note Decl Summary::.
`-v' `-v'
`--verbose' `--verbose'
Pretend that `%verbose' was specified, i.e, write an extra output Pretend that `%verbose' was specified, i.e, write an extra output
file containing verbose descriptions of the grammar and parser. file containing verbose descriptions of the grammar and parser.
*Note Decl Summary::, for more. *Note Decl Summary::.
`-o OUTFILE' `-o FILENAME'
`--output-file=OUTFILE' `--output=FILENAME'
Specify the name OUTFILE for the parser file. Specify the FILENAME for the parser file.
The other output files' names are constructed from OUTFILE as The other output files' names are constructed from FILENAME as
described under the `-v' and `-d' options. described under the `-v' and `-d' options.
`-g' `-g'
`--graph'
Output a VCG definition of the LALR(1) grammar automaton computed Output a VCG definition of the LALR(1) grammar automaton computed
by Bison. If the grammar file is `foo.y', the VCG output file will by Bison. If the grammar file is `foo.y', the VCG output file will
be `foo.vcg'. be `foo.vcg'.
`--graph=GRAPH-FILE'
The behaviour of -GRAPH is the same than `-g'. The only difference
is that it has an optionnal argument which is the name of the
output graph filename.
 
File: bison.info, Node: Environment Variables, Next: Option Cross Key, Prev: Bison Options, Up: Invocation File: bison.info, Node: Environment Variables, Next: Option Cross Key, Prev: Bison Options, Up: Invocation
@@ -1214,39 +1303,16 @@ Option Cross Key
find the corresponding short option. find the corresponding short option.
--debug -t --debug -t
--defines -d --defines=DEFINES-FILE -d
--file-prefix=PREFIX -b FILE-PREFIX --file-prefix=PREFIX -b FILE-PREFIX
--fixed-output-files --yacc -y --fixed-output-files --yacc -y
--graph=GRAPH-FILE -d
--help -h --help -h
--name-prefix=PREFIX -p NAME-PREFIX --name-prefix=PREFIX -p NAME-PREFIX
--no-lines -l --no-lines -l
--no-parser -n --no-parser -n
--output-file=OUTFILE -o OUTFILE --output=OUTFILE -o OUTFILE
--token-table -k --token-table -k
--verbose -v --verbose -v
--version -V --version -V

File: bison.info, Node: VMS Invocation, Prev: Option Cross Key, Up: Invocation
Invoking Bison under VMS
========================
The command line syntax for Bison on VMS is a variant of the usual
Bison command syntax--adapted to fit VMS conventions.
To find the VMS equivalent for any Bison option, start with the long
option, and substitute a `/' for the leading `--', and substitute a `_'
for each `-' in the name of the long option. For example, the
following invocation under VMS:
bison /debug/name_prefix=bar foo.y
is equivalent to the following command under POSIX.
bison --debug --name-prefix=bar foo.y
The VMS file system does not permit filenames such as `foo.tab.c'.
In the above example, the output file would instead be named
`foo_tab.c'.
+39 -3
View File
@@ -28,6 +28,30 @@ License", "Conditions for Using Bison" and this permission notice may be
included in translations approved by the Free Software Foundation included in translations approved by the Free Software Foundation
instead of in the original English. instead of in the original English.

File: bison.info, Node: VMS Invocation, Prev: Option Cross Key, Up: Invocation
Invoking Bison under VMS
========================
The command line syntax for Bison on VMS is a variant of the usual
Bison command syntax--adapted to fit VMS conventions.
To find the VMS equivalent for any Bison option, start with the long
option, and substitute a `/' for the leading `--', and substitute a `_'
for each `-' in the name of the long option. For example, the
following invocation under VMS:
bison /debug/name_prefix=bar foo.y
is equivalent to the following command under POSIX.
bison --debug --name-prefix=bar foo.y
The VMS file system does not permit filenames such as `foo.tab.c'.
In the above example, the output file would instead be named
`foo_tab.c'.
 
File: bison.info, Node: Table of Symbols, Next: Glossary, Prev: Invocation, Up: Top File: bison.info, Node: Table of Symbols, Next: Glossary, Prev: Invocation, Up: Top
@@ -172,11 +196,19 @@ Bison Symbols
Bison declaration to create a header file meant for the scanner. Bison declaration to create a header file meant for the scanner.
*Note Decl Summary::. *Note Decl Summary::.
`%file-prefix="PREFIX"'
Bison declaration to set tge prefix of the output files. *Note
Decl Summary::.
`%left' `%left'
Bison declaration to assign left associativity to token(s). *Note Bison declaration to assign left associativity to token(s). *Note
Operator Precedence: Precedence Decl. Operator Precedence: Precedence Decl.
`%no_lines' `%name-prefix="PREFIX"'
Bison declaration to rename the external symbols. *Note Decl
Summary::.
`%no-lines'
Bison declaration to avoid generating `#line' directives in the Bison declaration to avoid generating `#line' directives in the
parser file. *Note Decl Summary::. parser file. *Note Decl Summary::.
@@ -184,11 +216,15 @@ Bison Symbols
Bison declaration to assign non-associativity to token(s). *Note Bison declaration to assign non-associativity to token(s). *Note
Operator Precedence: Precedence Decl. Operator Precedence: Precedence Decl.
`%output="FILENAME"'
Bison declaration to set the name of the parser file. *Note Decl
Summary::.
`%prec' `%prec'
Bison declaration to assign a precedence to a specific rule. Bison declaration to assign a precedence to a specific rule.
*Note Context-Dependent Precedence: Contextual Precedence. *Note Context-Dependent Precedence: Contextual Precedence.
`%pure_parser' `%pure-parser'
Bison declaration to request a pure (reentrant) parser. *Note A Bison declaration to request a pure (reentrant) parser. *Note A
Pure (Reentrant) Parser: Pure Decl. Pure (Reentrant) Parser: Pure Decl.
@@ -204,7 +240,7 @@ Bison Symbols
Bison declaration to declare token(s) without specifying Bison declaration to declare token(s) without specifying
precedence. *Note Token Type Names: Token Decl. precedence. *Note Token Type Names: Token Decl.
`%token_table' `%token-table'
Bison declaration to include a token name table in the parser file. Bison declaration to include a token name table in the parser file.
*Note Decl Summary::. *Note Decl Summary::.
+233 -180
View File
@@ -447,16 +447,26 @@ lexicography, not grammar.)
Here is a simple C function subdivided into tokens: Here is a simple C function subdivided into tokens:
@ifinfo
@example @example
int /* @r{keyword `int'} */ int /* @r{keyword `int'} */
square (x) /* @r{identifier, open-paren,} */ square (int x) /* @r{identifier, open-paren, identifier,}
/* @r{identifier, close-paren} */ @r{identifier, close-paren} */
int x; /* @r{keyword `int', identifier, semicolon} */
@{ /* @r{open-brace} */ @{ /* @r{open-brace} */
return x * x; /* @r{keyword `return', identifier,} */ return x * x; /* @r{keyword `return', identifier, asterisk,
/* @r{asterisk, identifier, semicolon} */ identifier, semicolon} */
@} /* @r{close-brace} */ @} /* @r{close-brace} */
@end example @end example
@end ifinfo
@ifnotinfo
@example
int /* @r{keyword `int'} */
square (int x) /* @r{identifier, open-paren, identifier, identifier, close-paren} */
@{ /* @r{open-brace} */
return x * x; /* @r{keyword `return', identifier, asterisk, identifier, semicolon} */
@} /* @r{close-brace} */
@end example
@end ifnotinfo
The syntactic groupings of C include the expression, the statement, the The syntactic groupings of C include the expression, the statement, the
declaration, and the function definition. These are represented in the declaration, and the function definition. These are represented in the
@@ -855,11 +865,12 @@ The C declarations section (@pxref{C Declarations, ,The C Declarations Section})
preprocessor directives. preprocessor directives.
The @code{#define} directive defines the macro @code{YYSTYPE}, thus The @code{#define} directive defines the macro @code{YYSTYPE}, thus
specifying the C data type for semantic values of both tokens and groupings specifying the C data type for semantic values of both tokens and
(@pxref{Value Type, ,Data Types of Semantic Values}). The Bison parser will use whatever type groupings (@pxref{Value Type, ,Data Types of Semantic Values}). The
@code{YYSTYPE} is defined as; if you don't define it, @code{int} is the Bison parser will use whatever type @code{YYSTYPE} is defined as; if you
default. Because we specify @code{double}, each token and each expression don't define it, @code{int} is the default. Because we specify
has an associated value, which is a floating point number. @code{double}, each token and each expression has an associated value,
which is a floating point number.
The @code{#include} directive is used to declare the exponentiation The @code{#include} directive is used to declare the exponentiation
function @code{pow}. function @code{pow}.
@@ -1066,10 +1077,11 @@ token type is an identifier, that identifier is defined by Bison as a C
macro whose definition is the appropriate number. In this example, macro whose definition is the appropriate number. In this example,
therefore, @code{NUM} becomes a macro for @code{yylex} to use. therefore, @code{NUM} becomes a macro for @code{yylex} to use.
The semantic value of the token (if it has one) is stored into the global The semantic value of the token (if it has one) is stored into the
variable @code{yylval}, which is where the Bison parser will look for it. global variable @code{yylval}, which is where the Bison parser will look
(The C data type of @code{yylval} is @code{YYSTYPE}, which was defined for it. (The C data type of @code{yylval} is @code{YYSTYPE}, which was
at the beginning of the grammar; @pxref{Rpcalc Decls, ,Declarations for @code{rpcalc}}.) defined at the beginning of the grammar; @pxref{Rpcalc Decls,
,Declarations for @code{rpcalc}}.)
A token type code of zero is returned if the end-of-file is encountered. A token type code of zero is returned if the end-of-file is encountered.
(Bison recognizes any nonpositive value as indicating the end of the (Bison recognizes any nonpositive value as indicating the end of the
@@ -1202,19 +1214,19 @@ Here is how to compile and run the parser file:
@example @example
@group @group
# @r{List files in current directory.} # @r{List files in current directory.}
% ls $ @kbd{ls}
rpcalc.tab.c rpcalc.y rpcalc.tab.c rpcalc.y
@end group @end group
@group @group
# @r{Compile the Bison parser.} # @r{Compile the Bison parser.}
# @r{@samp{-lm} tells compiler to search math library for @code{pow}.} # @r{@samp{-lm} tells compiler to search math library for @code{pow}.}
% cc rpcalc.tab.c -lm -o rpcalc $ @kbd{cc rpcalc.tab.c -lm -o rpcalc}
@end group @end group
@group @group
# @r{List files again.} # @r{List files again.}
% ls $ @kbd{ls}
rpcalc rpcalc.tab.c rpcalc.y rpcalc rpcalc.tab.c rpcalc.y
@end group @end group
@end example @end example
@@ -1223,19 +1235,19 @@ The file @file{rpcalc} now contains the executable code. Here is an
example session using @code{rpcalc}. example session using @code{rpcalc}.
@example @example
% rpcalc $ @kbd{rpcalc}
4 9 + @kbd{4 9 +}
13 13
3 7 + 3 4 5 *+- @kbd{3 7 + 3 4 5 *+-}
-13 -13
3 7 + 3 4 5 * + - n @r{Note the unary minus, @samp{n}} @kbd{3 7 + 3 4 5 * + - n} @r{Note the unary minus, @samp{n}}
13 13
5 6 / 4 n + @kbd{5 6 / 4 n +}
-3.166666667 -3.166666667
3 4 ^ @r{Exponentiation} @kbd{3 4 ^} @r{Exponentiation}
81 81
^D @r{End-of-file indicator} @kbd{^D} @r{End-of-file indicator}
% $
@end example @end example
@node Infix Calc @node Infix Calc
@@ -1315,12 +1327,12 @@ Here is a sample run of @file{calc.y}:
@need 500 @need 500
@example @example
% calc $ @kbd{calc}
4 + 4.5 - (34/(8*3+-3)) @kbd{4 + 4.5 - (34/(8*3+-3))}
6.880952381 6.880952381
-56 + 2 @kbd{-56 + 2}
-54 -54
3 ^ 2 @kbd{3 ^ 2}
9 9
@end example @end example
@@ -1372,13 +1384,11 @@ Bison programs.
@cindex @code{ltcalc} @cindex @code{ltcalc}
@cindex calculator, location tracking @cindex calculator, location tracking
This example extends the infix notation calculator with location tracking. This example extends the infix notation calculator with location
This feature will be used to improve error reporting, and provide better tracking. This feature will be used to improve the error messages. For
error messages. the sake of clarity, this example is a simple integer calculator, since
most of the work needed to use locations will be done in the lexical
For the sake of clarity, we will switch for this example to an integer analyser.
calculator, since most of the work needed to use locations will be done
in the lexical analyser.
@menu @menu
* Decls: Ltcalc Decls. Bison and C declarations for ltcalc. * Decls: Ltcalc Decls. Bison and C declarations for ltcalc.
@@ -1389,8 +1399,8 @@ in the lexical analyser.
@node Ltcalc Decls @node Ltcalc Decls
@subsection Declarations for @code{ltcalc} @subsection Declarations for @code{ltcalc}
The C and Bison declarations for the location tracking calculator are the same The C and Bison declarations for the location tracking calculator are
as the declarations for the infix notation calculator. the same as the declarations for the infix notation calculator.
@example @example
/* Location tracking calculator. */ /* Location tracking calculator. */
@@ -1411,22 +1421,24 @@ as the declarations for the infix notation calculator.
%% /* Grammar follows */ %% /* Grammar follows */
@end example @end example
In the code above, there are no declarations specific to locations. Defining @noindent
a data type for storing locations is not needed: we will use the type provided Note there are no declarations specific to locations. Defining a data
by default (@pxref{Location Type, ,Data Types of Locations}), which is a four type for storing locations is not needed: we will use the type provided
member structure with the following integer fields: @code{first_line}, by default (@pxref{Location Type, ,Data Types of Locations}), which is a
@code{first_column}, @code{last_line} and @code{last_column}. four member structure with the following integer fields:
@code{first_line}, @code{first_column}, @code{last_line} and
@code{last_column}.
@node Ltcalc Rules @node Ltcalc Rules
@subsection Grammar Rules for @code{ltcalc} @subsection Grammar Rules for @code{ltcalc}
Whether you choose to handle locations or not has no effect on the syntax of Whether handling locations or not has no effect on the syntax of your
your language. Therefore, grammar rules for this example will be very close to language. Therefore, grammar rules for this example will be very close
those of the previous example: we will only modify them to benefit from the new to those of the previous example: we will only modify them to benefit
informations we will have. from the new information.
Here, we will use locations to report divisions by zero, and locate the wrong Here, we will use locations to report divisions by zero, and locate the
expressions or subexpressions. wrong expressions or subexpressions.
@example @example
@group @group
@@ -1447,17 +1459,17 @@ exp : NUM @{ $$ = $1; @}
| exp '-' exp @{ $$ = $1 - $3; @} | exp '-' exp @{ $$ = $1 - $3; @}
| exp '*' exp @{ $$ = $1 * $3; @} | exp '*' exp @{ $$ = $1 * $3; @}
@end group @end group
| exp '/' exp
@group @group
| exp '/' exp
@{ @{
if ($3) if ($3)
$$ = $1 / $3; $$ = $1 / $3;
else else
@{ @{
$$ = 1; $$ = 1;
printf("Division by zero, l%d,c%d-l%d,c%d", fprintf (stderr, "%d.%d-%d.%d: division by zero",
@@3.first_line, @@3.first_column, @@3.first_line, @@3.first_column,
@@3.last_line, @@3.last_column); @@3.last_line, @@3.last_column);
@} @}
@} @}
@end group @end group
@@ -1472,25 +1484,24 @@ This code shows how to reach locations inside of semantic actions, by
using the pseudo-variables @code{@@@var{n}} for rule components, and the using the pseudo-variables @code{@@@var{n}} for rule components, and the
pseudo-variable @code{@@$} for groupings. pseudo-variable @code{@@$} for groupings.
In this example, we never assign a value to @code{@@$}, because the We don't need to assign a value to @code{@@$}: the output parser does it
output parser can do this automatically. By default, before executing automatically. By default, before executing the C code of each action,
the C code of each action, @code{@@$} is set to range from the beginning @code{@@$} is set to range from the beginning of @code{@@1} to the end
of @code{@@1} to the end of @code{@@@var{n}}, for a rule with @var{n} of @code{@@@var{n}}, for a rule with @var{n} components. This behavior
components. can be redefined (@pxref{Location Default Action, , Default Action for
Locations}), and for very specific rules, @code{@@$} can be computed by
Of course, this behavior can be redefined (@pxref{Location Default hand.
Action, , Default Action for Locations}), and for very specific rules,
@code{@@$} can be computed by hand.
@node Ltcalc Lexer @node Ltcalc Lexer
@subsection The @code{ltcalc} Lexical Analyzer. @subsection The @code{ltcalc} Lexical Analyzer.
Until now, we relied on Bison's defaults to enable location tracking. The next Until now, we relied on Bison's defaults to enable location
step is to rewrite the lexical analyser, and make it able to feed the parser tracking. The next step is to rewrite the lexical analyser, and make it
with locations of tokens, as he already does for semantic values. able to feed the parser with the token locations, as it already does for
semantic values.
To do so, we must take into account every single character of the input text, To this end, we must take into account every single character of the
to avoid the computed locations of being fuzzy or wrong: input text, to avoid the computed locations of being fuzzy or wrong:
@example @example
@group @group
@@ -1540,17 +1551,18 @@ yylex (void)
@} @}
@end example @end example
Basically, the lexical analyzer does the same processing as before: it skips Basically, the lexical analyzer performs the same processing as before:
blanks and tabs, and reads numbers or single-character tokens. In addition it skips blanks and tabs, and reads numbers or single-character tokens.
to this, it updates the @code{yylloc} global variable (of type @code{YYLTYPE}), In addition, it updates @code{yylloc}, the global variable (of type
where the location of tokens is stored. @code{YYLTYPE}) containing the token's location.
Now, each time this function returns a token, the parser has it's number as Now, each time this function returns a token, the parser has its number
well as it's semantic value, and it's position in the text. The last needed as well as its semantic value, and its location in the text. The last
change is to initialize @code{yylloc}, for example in the controlling needed change is to initialize @code{yylloc}, for example in the
function: controlling function:
@example @example
@group
int int
main (void) main (void)
@{ @{
@@ -1558,11 +1570,12 @@ main (void)
yylloc.first_column = yylloc.last_column = 0; yylloc.first_column = yylloc.last_column = 0;
return yyparse (); return yyparse ();
@} @}
@end group
@end example @end example
Remember that computing locations is not a matter of syntax. Every character Remember that computing locations is not a matter of syntax. Every
must be associated to a location update, whether it is in valid input, in character must be associated to a location update, whether it is in
comments, in literal strings, and so on... valid input, in comments, in literal strings, and so on.
@node Multi-function Calc @node Multi-function Calc
@section Multi-Function Calculator: @code{mfcalc} @section Multi-Function Calculator: @code{mfcalc}
@@ -1592,20 +1605,20 @@ to create named variables, store values in them, and use them later.
Here is a sample session with the multi-function calculator: Here is a sample session with the multi-function calculator:
@example @example
% mfcalc $ @kbd{mfcalc}
pi = 3.141592653589 @kbd{pi = 3.141592653589}
3.1415926536 3.1415926536
sin(pi) @kbd{sin(pi)}
0.0000000000 0.0000000000
alpha = beta1 = 2.3 @kbd{alpha = beta1 = 2.3}
2.3000000000 2.3000000000
alpha @kbd{alpha}
2.3000000000 2.3000000000
ln(alpha) @kbd{ln(alpha)}
0.8329091229 0.8329091229
exp(ln(beta1)) @kbd{exp(ln(beta1))}
2.3000000000 2.3000000000
% $
@end example @end example
Note that multiple assignment and nested function calls are permitted. Note that multiple assignment and nested function calls are permitted.
@@ -2374,7 +2387,8 @@ the numbers associated with @var{x} and @var{y}.
In a simple program it may be sufficient to use the same data type for In a simple program it may be sufficient to use the same data type for
the semantic values of all language constructs. This was true in the the semantic values of all language constructs. This was true in the
RPN and infix calculator examples (@pxref{RPN Calc, ,Reverse Polish Notation Calculator}). RPN and infix calculator examples (@pxref{RPN Calc, ,Reverse Polish
Notation Calculator}).
Bison's default is to use type @code{int} for all semantic values. To Bison's default is to use type @code{int} for all semantic values. To
specify some other type, define @code{YYSTYPE} as a macro, like this: specify some other type, define @code{YYSTYPE} as a macro, like this:
@@ -3067,11 +3081,11 @@ terminal symbol. All kinds of token declarations allow
@findex %expect @findex %expect
Bison normally warns if there are any conflicts in the grammar Bison normally warns if there are any conflicts in the grammar
(@pxref{Shift/Reduce, ,Shift/Reduce Conflicts}), but most real grammars have harmless shift/reduce (@pxref{Shift/Reduce, ,Shift/Reduce Conflicts}), but most real grammars
conflicts which are resolved in a predictable way and would be difficult to have harmless shift/reduce conflicts which are resolved in a predictable
eliminate. It is desirable to suppress the warning about these conflicts way and would be difficult to eliminate. It is desirable to suppress
unless the number of conflicts changes. You can do this with the the warning about these conflicts unless the number of conflicts
@code{%expect} declaration. changes. You can do this with the @code{%expect} declaration.
The declaration looks like this: The declaration looks like this:
@@ -3079,10 +3093,11 @@ The declaration looks like this:
%expect @var{n} %expect @var{n}
@end example @end example
Here @var{n} is a decimal integer. The declaration says there should be no Here @var{n} is a decimal integer. The declaration says there should be
warning if there are @var{n} shift/reduce conflicts and no reduce/reduce no warning if there are @var{n} shift/reduce conflicts and no
conflicts. The usual warning is given if there are either more or fewer reduce/reduce conflicts. An error, instead of the usual warning, is
conflicts, or if there are any reduce/reduce conflicts. given if there are either more or fewer conflicts, or if there are any
reduce/reduce conflicts.
In general, using @code{%expect} involves these steps: In general, using @code{%expect} involves these steps:
@@ -3167,7 +3182,7 @@ valid grammar.
@cindex declaration summary @cindex declaration summary
@cindex summary, Bison declaration @cindex summary, Bison declaration
Here is a summary of all Bison declarations: Here is a summary of the declarations used to define a grammar:
@table @code @table @code
@item %union @item %union
@@ -3202,40 +3217,14 @@ Start-Symbol}).
@item %expect @item %expect
Declare the expected number of shift-reduce conflicts Declare the expected number of shift-reduce conflicts
(@pxref{Expect Decl, ,Suppressing Conflict Warnings}). (@pxref{Expect Decl, ,Suppressing Conflict Warnings}).
@end table
@item %yacc @sp 1
@itemx %fixed_output_files @noindent
Pretend the option @option{--yacc} was given, i.e., imitate Yacc, In order to change the behavior of @command{bison}, use the following
including its naming conventions. @xref{Bison Options}, for more. directives:
@item %locations
Generate the code processing the locations (@pxref{Action Features,
,Special Features for Use in Actions}). This mode is enabled as soon as
the grammar uses the special @samp{@@@var{n}} tokens, but if your
grammar does not use it, using @samp{%locations} allows for more
accurate parse error messages.
@item %pure_parser
Request a pure (reentrant) parser program (@pxref{Pure Decl, ,A Pure
(Reentrant) Parser}).
@item %no_parser
Do not include any C code in the parser file; generate tables only. The
parser file contains just @code{#define} directives and static variable
declarations.
This option also tells Bison to write the C code for the grammar actions
into a file named @file{@var{filename}.act}, in the form of a
brace-surrounded body fit for a @code{switch} statement.
@item %no_lines
Don't generate any @code{#line} preprocessor commands in the parser
file. Ordinarily Bison writes these commands in the parser file so that
the C compiler and debuggers will associate errors and object code with
your source file (the grammar file). This directive causes them to
associate errors with the parser file, treating it an independent source
file in its own right.
@table @code
@item %debug @item %debug
Output a definition of the macro @code{YYDEBUG} into the parser file, so Output a definition of the macro @code{YYDEBUG} into the parser file, so
that the debugging facilities are compiled. @xref{Debugging, ,Debugging that the debugging facilities are compiled. @xref{Debugging, ,Debugging
@@ -3254,35 +3243,64 @@ This output file is essential if you wish to put the definition of
be able to refer to token type codes and the variable be able to refer to token type codes and the variable
@code{yylval}. @xref{Token Values, ,Semantic Values of Tokens}.@refill @code{yylval}. @xref{Token Values, ,Semantic Values of Tokens}.@refill
@item %file-prefix="@var{prefix}"
Specify a prefix to use for all Bison output file names. The names are
chosen as if the input file were named @file{@var{prefix}.y}.
@c @item %header_extension
@c Specify the extension of the parser header file generated when
@c @code{%define} or @samp{-d} are used.
@c
@c For example, a grammar file named @file{foo.ypp} and containing a
@c @code{%header_extension .hh} directive will produce a header file
@c named @file{foo.tab.hh}
@item %locations
Generate the code processing the locations (@pxref{Action Features,
,Special Features for Use in Actions}). This mode is enabled as soon as
the grammar uses the special @samp{@@@var{n}} tokens, but if your
grammar does not use it, using @samp{%locations} allows for more
accurate parse error messages.
@item %name-prefix="@var{prefix}"
Rename the external symbols used in the parser so that they start with
@var{prefix} instead of @samp{yy}. The precise list of symbols renamed
is @code{yyparse}, @code{yylex}, @code{yyerror}, @code{yynerrs},
@code{yylval}, @code{yychar} and @code{yydebug}. For example, if you
use @samp{%name-prefix="c_"}, the names become @code{c_parse},
@code{c_lex}, and so on. @xref{Multiple Parsers, ,Multiple Parsers in
the Same Program}.
@item %no-parser
Do not include any C code in the parser file; generate tables only. The
parser file contains just @code{#define} directives and static variable
declarations.
This option also tells Bison to write the C code for the grammar actions
into a file named @file{@var{filename}.act}, in the form of a
brace-surrounded body fit for a @code{switch} statement.
@item %no-lines
Don't generate any @code{#line} preprocessor commands in the parser
file. Ordinarily Bison writes these commands in the parser file so that
the C compiler and debuggers will associate errors and object code with
your source file (the grammar file). This directive causes them to
associate errors with the parser file, treating it an independent source
file in its own right.
@item %output="@var{filename}"
Specify the @var{filename} for the parser file.
@item %pure-parser
Request a pure (reentrant) parser program (@pxref{Pure Decl, ,A Pure
(Reentrant) Parser}).
@c @item %source_extension @c @item %source_extension
@c Specify the extension of the parser output file. @c Specify the extension of the parser output file.
@c @c
@c For example, a grammar file named @file{foo.yy} and containing a @c For example, a grammar file named @file{foo.yy} and containing a
@c @code{%source_extension .cpp} directive will produce a parser file @c @code{%source_extension .cpp} directive will produce a parser file
@c named @file{foo.tab.cpp} @c named @file{foo.tab.cpp}
@c
@c @item %header_extension
@c Specify the extension of the parser header file generated when
@c @code{%define} or @samp{-d} are used.
@c
@c For example, a garmmar file named @file{foo.ypp} and containing a
@c @code{%header_extension .hh} directive will produce a header file
@c named @file{foo.tab.hh}
@item %verbose
Write an extra output file containing verbose descriptions of the
parser states and what is done for each type of look-ahead token in
that state.
This file also describes all the conflicts, both those resolved by
operator precedence and the unresolved ones.
The file's name is made by removing @samp{.tab.c} or @samp{.c} from
the parser output file name, and adding @samp{.output} instead.@refill
Therefore, if the input file is @file{foo.y}, then the parser file is
called @file{foo.tab.c} by default. As a consequence, the verbose
output file is called @file{foo.output}.@refill
@item %token_table @item %token_table
Generate an array of token names in the parser file. The name of the Generate an array of token names in the parser file. The name of the
@@ -3316,8 +3334,31 @@ The number of grammar rules,
@item YYNSTATES @item YYNSTATES
The number of parser states (@pxref{Parser States}). The number of parser states (@pxref{Parser States}).
@end table @end table
@item %verbose
Write an extra output file containing verbose descriptions of the
parser states and what is done for each type of look-ahead token in
that state.
This file also describes all the conflicts, both those resolved by
operator precedence and the unresolved ones.
The file's name is made by removing @samp{.tab.c} or @samp{.c} from
the parser output file name, and adding @samp{.output} instead.@refill
Therefore, if the input file is @file{foo.y}, then the parser file is
called @file{foo.tab.c} by default. As a consequence, the verbose
output file is called @file{foo.output}.@refill
@item %yacc
@itemx %fixed-output-files
Pretend the option @option{--yacc} was given, i.e., imitate Yacc,
including its naming conventions. @xref{Bison Options}, for more.
@end table @end table
@node Multiple Parsers @node Multiple Parsers
@section Multiple Parsers in the Same Program @section Multiple Parsers in the Same Program
@@ -5049,19 +5090,12 @@ that the debugging facilities are compiled. @xref{Debugging, ,Debugging
Your Parser}. Your Parser}.
@item --locations @item --locations
Pretend that @code{%locactions} was specified. @xref{Decl Summary}. Pretend that @code{%locations} was specified. @xref{Decl Summary}.
@item -p @var{prefix} @item -p @var{prefix}
@itemx --name-prefix=@var{prefix} @itemx --name-prefix=@var{prefix}
Rename the external symbols used in the parser so that they start with Pretend that @code{%name-prefix="@var{prefix}"} was specified.
@var{prefix} instead of @samp{yy}. The precise list of symbols renamed @xref{Decl Summary}.
is @code{yyparse}, @code{yylex}, @code{yyerror}, @code{yynerrs},
@code{yylval}, @code{yychar} and @code{yydebug}.
For example, if you use @samp{-p c}, the names become @code{cparse},
@code{clex}, and so on.
@xref{Multiple Parsers, ,Multiple Parsers in the Same Program}.
@item -l @item -l
@itemx --no-lines @itemx --no-lines
@@ -5073,11 +5107,11 @@ parser file, treating it as an independent source file in its own right.
@item -n @item -n
@itemx --no-parser @itemx --no-parser
Pretend that @code{%no_parser} was specified. @xref{Decl Summary}. Pretend that @code{%no-parser} was specified. @xref{Decl Summary}.
@item -k @item -k
@itemx --token-table @itemx --token-table
Pretend that @code{%token_table} was specified. @xref{Decl Summary}. Pretend that @code{%token-table} was specified. @xref{Decl Summary}.
@end table @end table
@noindent @noindent
@@ -5086,34 +5120,41 @@ Adjust the output:
@table @option @table @option
@item -d @item -d
@itemx --defines @itemx --defines
Pretend that @code{%verbose} was specified, i.e., write an extra output Pretend that @code{%defines} was specified, i.e., write an extra output
file containing macro definitions for the token type names defined in file containing macro definitions for the token type names defined in
the grammar and the semantic value type @code{YYSTYPE}, as well as a few the grammar and the semantic value type @code{YYSTYPE}, as well as a few
@code{extern} variable declarations. @xref{Decl Summary}. @code{extern} variable declarations. @xref{Decl Summary}.
@item --defines=@var{defines-file}
Same as above, but save in the file @var{defines-file}.
@item -b @var{file-prefix} @item -b @var{file-prefix}
@itemx --file-prefix=@var{prefix} @itemx --file-prefix=@var{prefix}
Specify a prefix to use for all Bison output file names. The names are Pretend that @code{%verbose} was specified, i.e, specify prefix to use
chosen as if the input file were named @file{@var{prefix}.c}. for all Bison output file names. @xref{Decl Summary}.
@item -v @item -v
@itemx --verbose @itemx --verbose
Pretend that @code{%verbose} was specified, i.e, write an extra output Pretend that @code{%verbose} was specified, i.e, write an extra output
file containing verbose descriptions of the grammar and file containing verbose descriptions of the grammar and
parser. @xref{Decl Summary}, for more. parser. @xref{Decl Summary}.
@item -o @var{outfile} @item -o @var{filename}
@itemx --output-file=@var{outfile} @itemx --output=@var{filename}
Specify the name @var{outfile} for the parser file. Specify the @var{filename} for the parser file.
The other output files' names are constructed from @var{outfile} The other output files' names are constructed from @var{filename} as
as described under the @samp{-v} and @samp{-d} options. described under the @samp{-v} and @samp{-d} options.
@item -g @item -g
@itemx --graph
Output a VCG definition of the LALR(1) grammar automaton computed by Output a VCG definition of the LALR(1) grammar automaton computed by
Bison. If the grammar file is @file{foo.y}, the VCG output file will Bison. If the grammar file is @file{foo.y}, the VCG output file will
be @file{foo.vcg}. be @file{foo.vcg}.
@item --graph=@var{graph-file}
The behaviour of @var{--graph} is the same than @samp{-g}. The only
difference is that it has an optionnal argument which is the name of
the output graph filename.
@end table @end table
@node Environment Variables @node Environment Variables
@@ -5160,7 +5201,7 @@ the corresponding short option.
\line{ --name-prefix \leaderfill -p} \line{ --name-prefix \leaderfill -p}
\line{ --no-lines \leaderfill -l} \line{ --no-lines \leaderfill -l}
\line{ --no-parser \leaderfill -n} \line{ --no-parser \leaderfill -n}
\line{ --output-file \leaderfill -o} \line{ --output \leaderfill -o}
\line{ --token-table \leaderfill -k} \line{ --token-table \leaderfill -k}
\line{ --verbose \leaderfill -v} \line{ --verbose \leaderfill -v}
\line{ --version \leaderfill -V} \line{ --version \leaderfill -V}
@@ -5171,14 +5212,15 @@ the corresponding short option.
@ifinfo @ifinfo
@example @example
--debug -t --debug -t
--defines -d --defines=@var{defines-file} -d
--file-prefix=@var{prefix} -b @var{file-prefix} --file-prefix=@var{prefix} -b @var{file-prefix}
--fixed-output-files --yacc -y --fixed-output-files --yacc -y
--graph=@var{graph-file} -d
--help -h --help -h
--name-prefix=@var{prefix} -p @var{name-prefix} --name-prefix=@var{prefix} -p @var{name-prefix}
--no-lines -l --no-lines -l
--no-parser -n --no-parser -n
--output-file=@var{outfile} -o @var{outfile} --output=@var{outfile} -o @var{outfile}
--token-table -k --token-table -k
--verbose -v --verbose -v
--version -V --version -V
@@ -5352,6 +5394,10 @@ Equip the parser for debugging. @xref{Decl Summary}.
Bison declaration to create a header file meant for the scanner. Bison declaration to create a header file meant for the scanner.
@xref{Decl Summary}. @xref{Decl Summary}.
@item %file-prefix="@var{prefix}"
Bison declaration to set tge prefix of the output files. @xref{Decl
Summary}.
@c @item %source_extension @c @item %source_extension
@c Bison declaration to specify the generated parser output file extension. @c Bison declaration to specify the generated parser output file extension.
@c @xref{Decl Summary}. @c @xref{Decl Summary}.
@@ -5364,7 +5410,10 @@ Bison declaration to create a header file meant for the scanner.
Bison declaration to assign left associativity to token(s). Bison declaration to assign left associativity to token(s).
@xref{Precedence Decl, ,Operator Precedence}. @xref{Precedence Decl, ,Operator Precedence}.
@item %no_lines @item %name-prefix="@var{prefix}"
Bison declaration to rename the external symbols. @xref{Decl Summary}.
@item %no-lines
Bison declaration to avoid generating @code{#line} directives in the Bison declaration to avoid generating @code{#line} directives in the
parser file. @xref{Decl Summary}. parser file. @xref{Decl Summary}.
@@ -5372,11 +5421,15 @@ parser file. @xref{Decl Summary}.
Bison declaration to assign non-associativity to token(s). Bison declaration to assign non-associativity to token(s).
@xref{Precedence Decl, ,Operator Precedence}. @xref{Precedence Decl, ,Operator Precedence}.
@item %output="@var{filename}"
Bison declaration to set the name of the parser file. @xref{Decl
Summary}.
@item %prec @item %prec
Bison declaration to assign a precedence to a specific rule. Bison declaration to assign a precedence to a specific rule.
@xref{Contextual Precedence, ,Context-Dependent Precedence}. @xref{Contextual Precedence, ,Context-Dependent Precedence}.
@item %pure_parser @item %pure-parser
Bison declaration to request a pure (reentrant) parser. Bison declaration to request a pure (reentrant) parser.
@xref{Pure Decl, ,A Pure (Reentrant) Parser}. @xref{Pure Decl, ,A Pure (Reentrant) Parser}.
@@ -5391,7 +5444,7 @@ Bison declaration to specify the start symbol. @xref{Start Decl, ,The Start-Sym
Bison declaration to declare token(s) without specifying precedence. Bison declaration to declare token(s) without specifying precedence.
@xref{Token Decl, ,Token Type Names}. @xref{Token Decl, ,Token Type Names}.
@item %token_table @item %token-table
Bison declaration to include a token name table in the parser file. Bison declaration to include a token name table in the parser file.
@xref{Decl Summary}. @xref{Decl Summary}.
+44 -38
View File
@@ -6,7 +6,7 @@
% This file can be printed with 1 or 2 columns per page (see below). % This file can be printed with 1 or 2 columns per page (see below).
% Specify how many you want here. Nothing else needs to be changed % Specify how many you want here. Nothing else needs to be changed
% unless you are maintaining the documentation. % unless you are maintaining the documentation.
% For printing reference cards to use in books, specify one column % For printing reference cards to use in books, specify one column
% per page and reduce to 80%. % per page and reduce to 80%.
% Note that if columnsperpage is set to 2, there will be a few overfull % Note that if columnsperpage is set to 2, there will be a few overfull
% boxes, but they are not serious. Just uncomment \finalout. % boxes, but they are not serious. Just uncomment \finalout.
@@ -19,7 +19,7 @@
\def\finalout{\overfullrule=0pt} \def\finalout{\overfullrule=0pt}
%\finalout %\finalout
% Copyright (c) 1998 Free Software Foundation, Inc. % Copyright (c) 1998, 2001 Free Software Foundation, Inc.
% %
% This file is part of Bison. % This file is part of Bison.
% %
@@ -51,11 +51,11 @@
% Which mode to use is controlled by setting \columnsperpage above. % Which mode to use is controlled by setting \columnsperpage above.
% %
% Authors: % Authors:
% Brendan Kehoe % Brendan Kehoe
% UUCP: widener!brendan % UUCP: widener!brendan
% Internet: [email protected] % Internet: [email protected]
% %
% Gavin Nicol % Gavin Nicol
% Internet: [email protected] % Internet: [email protected]
% %
% This refcard format was created by Steve Gildea. % This refcard format was created by Steve Gildea.
@@ -66,12 +66,12 @@
% We only change the following to change the version numbers and % We only change the following to change the version numbers and
% such. % such.
\def\bisonversion{1.20} % the bison version \def\bisonversion{1.31} % the bison version
\def\refcardversion{0.4a} % reference card version \def\refcardversion{0.5} % reference card version
\def\month{August} % month \def\month{November} % month
\def\year{1998} % year \def\year{2001} % year
\def\version{\month\ \year, Bison Refcard Version \refcardversion} \def\version{\month\ \year, Bison Refcard Version \refcardversion}
% for copyright notices % for copyright notices
\def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip} \def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip}
@@ -90,7 +90,7 @@
Permission is granted to make and distribute copies of this card Permission is granted to make and distribute copies of this card
provided the copyright notice and this permission notice provided the copyright notice and this permission notice
are preserved on all copies. are preserved on all copies.
\vskip .2\baselineskip \vskip .2\baselineskip
For information, write to the: For information, write to the:
\vskip .2\baselineskip \vskip .2\baselineskip
@@ -115,7 +115,7 @@ For information, write to the:
Permission is granted to make and distribute copies of this card Permission is granted to make and distribute copies of this card
provided the copyright notice and this permission notice provided the copyright notice and this permission notice
are preserved on all copies. are preserved on all copies.
\vskip .2\baselineskip \vskip .2\baselineskip
For information, write to the: For information, write to the:
\vskip .2\baselineskip \vskip .2\baselineskip
@@ -136,7 +136,7 @@ For information, write to the:
\def\ncolumns{\the\columnsperpage} \def\ncolumns{\the\columnsperpage}
\message{[\ncolumns\space \message{[\ncolumns\space
column\if 1\ncolumns\else s\fi\space per page]} column\if 1\ncolumns\else s\fi\space per page]}
\def\scaledmag#1{ scaled \magstep #1} \def\scaledmag#1{ scaled \magstep #1}
@@ -227,7 +227,7 @@ For information, write to the:
\def\bye{\par\vfill\supereject \def\bye{\par\vfill\supereject
\if a\abc \else\null\vfill\eject\fi \if a\abc \else\null\vfill\eject\fi
\if a\abc \else\null\vfill\eject\fi \if a\abc \else\null\vfill\eject\fi
\end} \end}
\fi \fi
% we won't be using math mode much, so redefine some of the characters % we won't be using math mode much, so redefine some of the characters
@@ -316,41 +316,44 @@ Options can be used as: \kbd{bison {\it options} {\it filename}}
\section{Command Line Options} \section{Command Line Options}
%***************************** %*****************************
\key{Display usage information.} {-h}
\key{Display version information.} {-V}
\key{Generate token and {\tt YYSTYPE} definitions.} {-d} \key{Generate token and {\tt YYSTYPE} definitions.} {-d}
\key{Prepend a prefix to external symbols.} {-p {\it prefix}}
\key{Don't put {\tt \#line} directives in the parser.} {-l} \key{Don't put {\tt \#line} directives in the parser.} {-l}
\key{Specify the output file.} {-o {\it filename}} \key{Specify the output file.} {-o {\it filename}}
\key{Debug or {\it trace} mode.} {-t} \key{Debug or {\it trace} mode.} {-t}
\key{Verbose description of the parser.} {-v} \key{Verbose description of the parser.} {-v}
\key{Emulate {\tt yacc} (generate {\tt y.tab.*} files).} {-y} \key{Emulate {\tt yacc} (generate {\tt y.tab.*} files).} {-y}
\vskip .10truein \vskip .10truein
{\bf Note:} The token and {\tt YYSTYPE} definitions are generated {\bf Note:} The token and {\tt YYSTYPE} definitions are generated
to a file called {\tt y.tab.h} if the {\tt -y} option is used, to a file called {\tt y.tab.h} if the {\tt -y} option is used,
otherwise it will have the format {\tt {\it name}.tab.h}, where otherwise it will have the format {\tt {\it name}.tab.h}, where
{\it name} is the leading part of the parser definition filename. {\it name} is the leading part of the parser definition filename.
\section{Definitions} \section{Definitions}
%******************** %********************
\key{Declare a terminal symbol.}{\%token <{\it t\/}> \key{Declare a terminal symbol.}{\%token <{\it t\/}>
{\it n}} {\it n}}
\key{Declare a terminal symbol, and define its association.} \key{Declare a terminal symbol, and define its association.}
{{\it association} <{\it t\/}> {\it n}} {{\it association} <{\it t\/}> {\it n}}
\vskip .2\baselineskip \vskip .2\baselineskip
\key{Generate a reentrant (pure) parser.} \key{Generate a reentrant (pure) parser.}
{\%pure_parser} {\%pure_parser}
\key{Define the union of all data types used in the parser.} \key{Define the union of all data types used in the parser.}
{\%union\{{\it field list}\} } {\%union\{{\it field list}\} }
\vskip .2\baselineskip \vskip .2\baselineskip
\key{Tell {\tt bison} where to start parsing.} \key{Tell {\tt bison} where to start parsing.}
{\%start {\it m}} {\%start {\it m}}
\key{Tell {\tt bison} the data type of symbols.} \key{Tell {\tt bison} the data type of symbols.}
{\%type <{\it t\/}> {\it s1}\dots{\it sn}} {\%type <{\it t\/}> {\it s1}\dots{\it sn}}
\vskip .10truein \vskip .10truein
@@ -362,8 +365,8 @@ definition, {\it n} is a {\it terminal} symbol name, {\it m} is a
\vskip .10truein \vskip .10truein
The {\tt <{\it t\/}>} after {\tt \%token, \%left, \%right} and {\tt The {\tt <{\it t\/}>} after {\tt \%token, \%left, \%right} and {\tt
\%nonassoc} is optional. Additionally, precedence may be overridden with \%nonassoc} is optional. Additionally, precedence may be overridden
embedded {\tt \%prec} commands. in the rules with {\tt \%prec} commands.
\section{Parser Definition Files} \section{Parser Definition Files}
%********************************* %*********************************
@@ -379,7 +382,7 @@ The general form for a parser definition is:
\%\% \%\%
Rule definition 1 Rule definition 1
\vdots \vdots
Rule definition {\it n} Rule definition {\it n}
@@ -397,8 +400,9 @@ The general form for a parser definition is:
Rules take the form: Rules take the form:
\vskip -\baselineskip
\beginexample \beginexample
non-terminal : {\it statement} 1 non-terminal : {\it statement} 1
| {\it statement} 2 | {\it statement} 2
\vdots \vdots
| {\it statement n} | {\it statement n}
@@ -406,12 +410,12 @@ Rules take the form:
\endexample \endexample
Where {\it statements} can be either empty, or contain Where {\it statements} can be either empty, or contain
a mixture of C code (enclosed in {\tt \{...\}}), and the a mixture of C code (enclosed in {\tt \{...\}}), and the
symbols that make up the non-terminal. For example: symbols that make up the non-terminal. For example:
\vskip -\baselineskip \vskip -\baselineskip
\beginexample \beginexample
expression : number '$+$' number \{ \$\$ $=$ \$1 $+$ \$3 \} expression : number '$+$' number \{ \$\$ $=$ \$1 $+$ \$3 \}
| number '$-$' number \{ \$\$ $=$ \$1 $-$ \$3 \} | number '$-$' number \{ \$\$ $=$ \$1 $-$ \$3 \}
| number '$/$' number \{ \$\$ $=$ \$1 $/$ \$3 \} | number '$/$' number \{ \$\$ $=$ \$1 $/$ \$3 \}
| number '$*$' number \{ \$\$ $=$ \$1 $*$ \$3 \} | number '$*$' number \{ \$\$ $=$ \$1 $*$ \$3 \}
@@ -428,7 +432,7 @@ For altering the precedence of a symbol use:
For example: For example:
\vskip -\baselineskip \vskip -\baselineskip
\beginexample \beginexample
foo : gnu bar gnu \%prec bar foo : gnu bar gnu \%prec bar
; ;
\endexample \endexample
@@ -438,16 +442,18 @@ For example:
\key{Recognize an error \& continue parsing.}{error} \key{Recognize an error \& continue parsing.}{error}
\key{Access data associated with a symbol.} {\$\$, \$0\dots\${\it n}} \key{Access data associated with a symbol.} {\$\$, \$0\dots\${\it n}}
\key{Access a field of the data union.} {\$\$.{\it t}, \key{Access a field of the data union.} {\$\$.{\it t},
\$0.{\it t}\dots\${\it n}.{\it t}} \$0.{\it t}\dots\${\it n}.{\it t}}
\key{Access data's line position.} {@{\it n}.{\it line\_spec}} \key{Access symbol's location.} {@\$, @0\dots@{\it n}}
\key{Access data's column position.} {@{\it n}.{\it column\_spec}} \key{Access data's line location.} {@{\it x}.{\it line\_spec}}
\key{Access data's column location.} {@{\it x}.{\it column\_spec}}
\vskip .10truein \vskip .10truein
%
Where {\it t} is a type defined in the {\tt \%union}, {\it n} is a Where {\it t} is a type defined in the {\tt \%union}, {\it n} is a
number, {\it line\_spec} one of {\tt first_line} and {\tt last_line}, number, {\it x} is a number or \$, {\it line\_spec} one of {\tt
and {\it column\_spec} is specified as either {\tt first_column} or {\tt first_line} and {\tt last_line}, and {\it column\_spec} is specified
last_column}. as either {\tt first_column} or {\tt last_column}.
\section {Variables and Types} \section {Variables and Types}
%***************************** %*****************************
+4 -4
View File
@@ -1,4 +1,4 @@
@set UPDATED 29 August 2001 @set UPDATED 12 November 2001
@set UPDATED-MONTH August 2001 @set UPDATED-MONTH November 2001
@set EDITION 1.28d @set EDITION 1.30c
@set VERSION 1.28d @set VERSION 1.30c
+4 -4
View File
@@ -1,4 +1,4 @@
@set UPDATED 29 August 2001 @set UPDATED 12 November 2001
@set UPDATED-MONTH August 2001 @set UPDATED-MONTH November 2001
@set EDITION 1.28d @set EDITION 1.30c
@set VERSION 1.28d @set VERSION 1.30c
+2 -2
View File
@@ -1,4 +1,4 @@
2001-07-24 GNU <[email protected]> 2001-09-13 GNU <[email protected]>
* Version 0.10.39 released. * Version 0.10.40 released.
+12 -11
View File
@@ -1,19 +1,20 @@
# Makefile for directory with message catalog handling in GNU NLS Utilities. # Makefile for directory with message catalog handling in GNU NLS Utilities.
# Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc. # Copyright (C) 1995-1998, 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
# it under the terms of the GNU General Public License as published by # under the terms of the GNU Library General Public License as published
# the Free Software Foundation; either version 2, or (at your option) # by the Free Software Foundation; either version 2, or (at your option)
# any later version. # any later version.
# #
# This program is distributed in the hope that it will be useful, # This program 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
# GNU General Public License for more details. # Library 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 Library General Public
# along with this program; if not, write to the Free Software # License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
# USA.
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
VERSION = @VERSION@ VERSION = @VERSION@
@@ -74,7 +75,7 @@ DISTFILES.common = Makefile.in \
config.charset locale.alias ref-add.sin ref-del.sin $(HEADERS) $(SOURCES) config.charset locale.alias ref-add.sin ref-del.sin $(HEADERS) $(SOURCES)
DISTFILES.generated = plural.c DISTFILES.generated = plural.c
DISTFILES.normal = VERSION DISTFILES.normal = VERSION
DISTFILES.gettext = libintl.glibc DISTFILES.gettext = COPYING.LIB-2 COPYING.LIB-2.1 libintl.glibc
DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c
# Libtool's library version information for libintl. # Libtool's library version information for libintl.
@@ -184,7 +185,7 @@ install-data: all
$(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
$(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \ $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \
$(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \ $(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \
dists="$(DISTFILES.common)"; \ dists="COPYING.LIB-2 COPYING.LIB-2.1 $(DISTFILES.common)"; \
for file in $$dists; do \ for file in $$dists; do \
$(INSTALL_DATA) $(srcdir)/$$file \ $(INSTALL_DATA) $(srcdir)/$$file \
$(DESTDIR)$(gettextsrcdir)/$$file; \ $(DESTDIR)$(gettextsrcdir)/$$file; \
@@ -243,7 +244,7 @@ uninstall:
: ; \ : ; \
fi fi
if test "$(PACKAGE)" = "gettext"; then \ if test "$(PACKAGE)" = "gettext"; then \
for file in VERSION ChangeLog $(DISTFILES.common) $(DISTFILES.generated); do \ for file in VERSION ChangeLog COPYING.LIB-2 COPYING.LIB-2.1 $(DISTFILES.common) $(DISTFILES.generated); do \
rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
done; \ done; \
else \ else \
+1 -1
View File
@@ -1 +1 @@
GNU gettext library from gettext-0.10.39 GNU gettext library from gettext-0.10.40
+9 -8
View File
@@ -1,19 +1,20 @@
/* Implementation of the bindtextdomain(3) function /* Implementation of the bindtextdomain(3) function
Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1995-1998, 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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include <config.h> # include <config.h>
+9 -8
View File
@@ -1,19 +1,20 @@
/* Implementation of the dcgettext(3) function. /* Implementation of the dcgettext(3) function.
Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1995-1999, 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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include <config.h> # include <config.h>
+9 -8
View File
@@ -1,19 +1,20 @@
/* Implementation of the internal dcigettext function. /* Implementation of the internal dcigettext function.
Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1995-1999, 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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
/* Tell glibc's <string.h> to provide a prototype for mempcpy(). /* Tell glibc's <string.h> to provide a prototype for mempcpy().
This must come before <config.h> because <config.h> may include This must come before <config.h> because <config.h> may include
+9 -8
View File
@@ -1,19 +1,20 @@
/* Implementation of the dcngettext(3) function. /* Implementation of the dcngettext(3) function.
Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1995-1999, 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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include <config.h> # include <config.h>
+9 -8
View File
@@ -1,19 +1,20 @@
/* Implementation of the dgettext(3) function. /* Implementation of the dgettext(3) function.
Copyright (C) 1995-1997, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1995-1997, 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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include <config.h> # include <config.h>
+9 -8
View File
@@ -1,19 +1,20 @@
/* Implementation of the dngettext(3) function. /* Implementation of the dngettext(3) function.
Copyright (C) 1995-1997, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1995-1997, 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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include <config.h> # include <config.h>
+9 -8
View File
@@ -1,19 +1,20 @@
/* Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc. /* Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
Contributed by Ulrich Drepper <[email protected]>, 1995. Contributed by Ulrich Drepper <[email protected]>, 1995.
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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include <config.h> # include <config.h>
+9 -8
View File
@@ -2,19 +2,20 @@
Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
Written by Ulrich Drepper <[email protected]>, 1995. Written by Ulrich Drepper <[email protected]>, 1995.
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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include <config.h> # include <config.h>
+9 -8
View File
@@ -1,19 +1,20 @@
/* Implementation of gettext(3) function. /* Implementation of gettext(3) function.
Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1995, 1997, 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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include <config.h> # include <config.h>
+9 -8
View File
@@ -1,19 +1,20 @@
/* Description of GNU message catalog format: general file layout. /* Description of GNU message catalog format: general file layout.
Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1995, 1997, 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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifndef _GETTEXT_H #ifndef _GETTEXT_H
#define _GETTEXT_H 1 #define _GETTEXT_H 1
+9 -8
View File
@@ -2,19 +2,20 @@
Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
Written by Ulrich Drepper <[email protected]>, 1995. Written by Ulrich Drepper <[email protected]>, 1995.
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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifndef _GETTEXTP_H #ifndef _GETTEXTP_H
#define _GETTEXTP_H #define _GETTEXTP_H
+9 -8
View File
@@ -1,19 +1,20 @@
/* Description of GNU message catalog format: string hashing function. /* Description of GNU message catalog format: string hashing function.
Copyright (C) 1995, 1997, 1998, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1995, 1997, 1998, 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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
/* @@ end of prolog @@ */ /* @@ end of prolog @@ */
+12 -11
View File
@@ -2,19 +2,20 @@
Library. Library.
Copyright (C) 1995, 2000, 2001 Software Foundation, Inc. Copyright (C) 1995, 2000, 2001 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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software License along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include <config.h> # include <config.h>
+9 -8
View File
@@ -1,19 +1,20 @@
/* Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. /* Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
Contributed by Ulrich Drepper <[email protected]>, 1995. Contributed by Ulrich Drepper <[email protected]>, 1995.
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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
/* Tell glibc's <string.h> to provide a prototype for stpcpy(). /* Tell glibc's <string.h> to provide a prototype for stpcpy().
This must come before <config.h> because <config.h> may include This must come before <config.h> because <config.h> may include
+9 -8
View File
@@ -1,19 +1,20 @@
/* Convenience header for conditional use of GNU <libintl.h>. /* Convenience header for conditional use of GNU <libintl.h>.
Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1995-1998, 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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifndef _LIBGETTEXT_H #ifndef _LIBGETTEXT_H
#define _LIBGETTEXT_H 1 #define _LIBGETTEXT_H 1
+9 -8
View File
@@ -1,19 +1,20 @@
/* Message catalogs for internationalization. /* Message catalogs for internationalization.
Copyright (C) 1995-1997, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1995-1997, 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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifndef _LIBINTL_H #ifndef _LIBINTL_H
#define _LIBINTL_H 1 #define _LIBINTL_H 1
+9 -8
View File
@@ -2,19 +2,20 @@
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <[email protected]>, 1996. Contributed by Ulrich Drepper <[email protected]>, 1996.
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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifndef _LOADINFO_H #ifndef _LOADINFO_H
#define _LOADINFO_H 1 #define _LOADINFO_H 1
+9 -8
View File
@@ -1,19 +1,20 @@
/* Load needed message catalogs. /* Load needed message catalogs.
Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1995-1999, 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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
/* Tell glibc's <string.h> to provide a prototype for mempcpy(). /* Tell glibc's <string.h> to provide a prototype for mempcpy().
This must come before <config.h> because <config.h> may include This must come before <config.h> because <config.h> may include
+10 -9
View File
@@ -1,19 +1,20 @@
# Locale name alias data base. # Locale name alias data base.
# Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc. # Copyright (C) 1996,1997,1998,1999,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
# it under the terms of the GNU General Public License as published by # under the terms of the GNU Library General Public License as published
# the Free Software Foundation; either version 2, or (at your option) # by the Free Software Foundation; either version 2, or (at your option)
# any later version. # any later version.
# #
# This program is distributed in the hope that it will be useful, # This program 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
# GNU General Public License for more details. # Library 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 Library General Public
# along with this program; if not, write to the Free Software # License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
# USA.
# The format of this file is the same as for the corresponding file of # The format of this file is the same as for the corresponding file of
# the X Window System, which normally can be found in # the X Window System, which normally can be found in
@@ -46,7 +47,7 @@ galego gl_ES.ISO-8859-1
galician gl_ES.ISO-8859-1 galician gl_ES.ISO-8859-1
german de_DE.ISO-8859-1 german de_DE.ISO-8859-1
greek el_GR.ISO-8859-7 greek el_GR.ISO-8859-7
hebrew iw_IL.ISO-8859-8 hebrew he_IL.ISO-8859-8
hrvatski hr_HR.ISO-8859-2 hrvatski hr_HR.ISO-8859-2
hungarian hu_HU.ISO-8859-2 hungarian hu_HU.ISO-8859-2
icelandic is_IS.ISO-8859-1 icelandic is_IS.ISO-8859-1
+9 -8
View File
@@ -1,19 +1,20 @@
/* Handle aliases for locale names. /* Handle aliases for locale names.
Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1995-1999, 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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
/* Tell glibc's <string.h> to provide a prototype for mempcpy(). /* Tell glibc's <string.h> to provide a prototype for mempcpy().
This must come before <config.h> because <config.h> may include This must come before <config.h> because <config.h> may include
+9 -8
View File
@@ -1,19 +1,20 @@
/* Implementation of ngettext(3) function. /* Implementation of ngettext(3) function.
Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1995, 1997, 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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include <config.h> # include <config.h>
+26 -25
View File
@@ -23,19 +23,20 @@
Copyright (C) 2000, 2001 Free Software Foundation, Inc. Copyright (C) 2000, 2001 Free Software Foundation, Inc.
Written by Ulrich Drepper <[email protected]>, 2000. Written by Ulrich Drepper <[email protected]>, 2000.
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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
/* The bison generated parser uses alloca. AIX 3 forces us to put this /* The bison generated parser uses alloca. AIX 3 forces us to put this
declaration at the beginning of the file. The declaration in bison's declaration at the beginning of the file. The declaration in bison's
@@ -66,13 +67,13 @@
#define YYLEX_PARAM &((struct parse_args *) arg)->cp #define YYLEX_PARAM &((struct parse_args *) arg)->cp
#define YYPARSE_PARAM arg #define YYPARSE_PARAM arg
#line 52 "plural.y" #line 53 "plural.y"
typedef union { typedef union {
unsigned long int num; unsigned long int num;
enum operator op; enum operator op;
struct expression *exp; struct expression *exp;
} YYSTYPE; } YYSTYPE;
#line 58 "plural.y" #line 59 "plural.y"
/* Prototypes for local functions. */ /* Prototypes for local functions. */
static struct expression *new_exp PARAMS ((int nargs, enum operator op, static struct expression *new_exp PARAMS ((int nargs, enum operator op,
@@ -234,8 +235,8 @@ static const short yyrhs[] = { 17,
#if YYDEBUG != 0 #if YYDEBUG != 0
static const short yyrline[] = { 0, static const short yyrline[] = { 0,
177, 185, 189, 193, 197, 201, 205, 209, 213, 217, 178, 186, 190, 194, 198, 202, 206, 210, 214, 218,
221, 226 222, 227
}; };
#endif #endif
@@ -845,7 +846,7 @@ yyreduce:
switch (yyn) { switch (yyn) {
case 1: case 1:
#line 178 "plural.y" #line 179 "plural.y"
{ {
if (yyvsp[0].exp == NULL) if (yyvsp[0].exp == NULL)
YYABORT; YYABORT;
@@ -853,68 +854,68 @@ case 1:
; ;
break;} break;}
case 2: case 2:
#line 186 "plural.y" #line 187 "plural.y"
{ {
yyval.exp = new_exp_3 (qmop, yyvsp[-4].exp, yyvsp[-2].exp, yyvsp[0].exp); yyval.exp = new_exp_3 (qmop, yyvsp[-4].exp, yyvsp[-2].exp, yyvsp[0].exp);
; ;
break;} break;}
case 3: case 3:
#line 190 "plural.y" #line 191 "plural.y"
{ {
yyval.exp = new_exp_2 (lor, yyvsp[-2].exp, yyvsp[0].exp); yyval.exp = new_exp_2 (lor, yyvsp[-2].exp, yyvsp[0].exp);
; ;
break;} break;}
case 4: case 4:
#line 194 "plural.y" #line 195 "plural.y"
{ {
yyval.exp = new_exp_2 (land, yyvsp[-2].exp, yyvsp[0].exp); yyval.exp = new_exp_2 (land, yyvsp[-2].exp, yyvsp[0].exp);
; ;
break;} break;}
case 5: case 5:
#line 198 "plural.y" #line 199 "plural.y"
{ {
yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
; ;
break;} break;}
case 6: case 6:
#line 202 "plural.y" #line 203 "plural.y"
{ {
yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
; ;
break;} break;}
case 7: case 7:
#line 206 "plural.y" #line 207 "plural.y"
{ {
yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
; ;
break;} break;}
case 8: case 8:
#line 210 "plural.y" #line 211 "plural.y"
{ {
yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
; ;
break;} break;}
case 9: case 9:
#line 214 "plural.y" #line 215 "plural.y"
{ {
yyval.exp = new_exp_1 (lnot, yyvsp[0].exp); yyval.exp = new_exp_1 (lnot, yyvsp[0].exp);
; ;
break;} break;}
case 10: case 10:
#line 218 "plural.y" #line 219 "plural.y"
{ {
yyval.exp = new_exp_0 (var); yyval.exp = new_exp_0 (var);
; ;
break;} break;}
case 11: case 11:
#line 222 "plural.y" #line 223 "plural.y"
{ {
if ((yyval.exp = new_exp_0 (num)) != NULL) if ((yyval.exp = new_exp_0 (num)) != NULL)
yyval.exp->val.num = yyvsp[0].num; yyval.exp->val.num = yyvsp[0].num;
; ;
break;} break;}
case 12: case 12:
#line 227 "plural.y" #line 228 "plural.y"
{ {
yyval.exp = yyvsp[-1].exp; yyval.exp = yyvsp[-1].exp;
; ;
@@ -1141,7 +1142,7 @@ yyerrhandle:
} }
return 1; return 1;
} }
#line 232 "plural.y" #line 233 "plural.y"
void void
+9 -8
View File
@@ -3,19 +3,20 @@
Copyright (C) 2000, 2001 Free Software Foundation, Inc. Copyright (C) 2000, 2001 Free Software Foundation, Inc.
Written by Ulrich Drepper <[email protected]>, 2000. Written by Ulrich Drepper <[email protected]>, 2000.
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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
/* The bison generated parser uses alloca. AIX 3 forces us to put this /* The bison generated parser uses alloca. AIX 3 forces us to put this
declaration at the beginning of the file. The declaration in bison's declaration at the beginning of the file. The declaration in bison's
+9 -8
View File
@@ -1,19 +1,20 @@
/* Implementation of the textdomain(3) function. /* Implementation of the textdomain(3) function.
Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1995-1998, 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
it under the terms of the GNU General Public License as published by under the terms of the GNU Library General Public License as published
the Free Software Foundation; either version 2, or (at your option) by the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program 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
GNU General Public License for more details. Library 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 Library General Public
along with this program; if not, write to the Free Software Foundation, License along with this program; if not, write to the Free Software
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include <config.h> # include <config.h>
+13 -14
View File
@@ -1,4 +1,5 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am. # Makefile.in generated by automake 1.5a from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
@@ -43,6 +44,7 @@ AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
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@
@@ -57,8 +59,12 @@ PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
host_alias = @host_alias@ host_alias = @host_alias@
host_triplet = @host@ host_triplet = @host@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AT_TESTPATH = @AT_TESTPATH@ AUTOM4TE = @AUTOM4TE@
AWK = @AWK@ AWK = @AWK@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
@@ -67,10 +73,7 @@ CC = @CC@
CPP = @CPP@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@ GCC = @GCC@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@ GLIBC21 = @GLIBC21@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
@@ -81,12 +84,10 @@ INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@ INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LIB = @LIB@
LIBICONV = @LIBICONV@ LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
M4 = @M4@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
POFILES = @POFILES@ POFILES = @POFILES@
POSUB = @POSUB@ POSUB = @POSUB@
@@ -165,9 +166,7 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnu lib/Makefile $(AUTOMAKE) --gnu lib/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
AR = ar AR = ar
@@ -193,7 +192,7 @@ clean-krextra:
-rm -f ansi2knr -rm -f ansi2knr
mostlyclean-kr: mostlyclean-kr:
-rm -f *_.c -test "$U" = "" || rm -f *_.c
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/error$U.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/error$U.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@
@@ -290,7 +289,7 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|| etags $(ETAGS_ARGS) $$tags $$unique $(LISP) || etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
GTAGS: GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \ here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \ && cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here && gtags -i $(GTAGS_ARGS) $$here
+182 -52
View File
@@ -1,4 +1,4 @@
/* Copyright (C) 1989, 1997, 1998 Aladdin Enterprises. All rights reserved. */ /* Copyright (C) 1989, 2000 Aladdin Enterprises. All rights reserved. */
/*$Id$*/ /*$Id$*/
/* Convert ANSI C function definitions to K&R ("traditional C") syntax */ /* Convert ANSI C function definitions to K&R ("traditional C") syntax */
@@ -37,27 +37,62 @@ program under the GPL.
* There are no error messages. * There are no error messages.
* *
* ansi2knr recognizes function definitions by seeing a non-keyword * ansi2knr recognizes function definitions by seeing a non-keyword
* identifier at the left margin, followed by a left parenthesis, * identifier at the left margin, followed by a left parenthesis, with a
* with a right parenthesis as the last character on the line, * right parenthesis as the last character on the line, and with a left
* and with a left brace as the first token on the following line * brace as the first token on the following line (ignoring possible
* (ignoring possible intervening comments), except that a line * intervening comments and/or preprocessor directives), except that a line
* consisting of only * consisting of only
* identifier1(identifier2) * identifier1(identifier2)
* will not be considered a function definition unless identifier2 is * will not be considered a function definition unless identifier2 is
* the word "void". ansi2knr will recognize a multi-line header provided * the word "void", and a line consisting of
* that no intervening line ends with a left or right brace or a semicolon. * identifier1(identifier2, <<arbitrary>>)
* These algorithms ignore whitespace and comments, except that * will not be considered a function definition.
* the function name must be the first thing on the line. * ansi2knr will recognize a multi-line header provided that no intervening
* The following constructs will confuse it: * line ends with a left or right brace or a semicolon. These algorithms
* ignore whitespace, comments, and preprocessor directives, except that
* the function name must be the first thing on the line. The following
* constructs will confuse it:
* - Any other construct that starts at the left margin and * - Any other construct that starts at the left margin and
* follows the above syntax (such as a macro or function call). * follows the above syntax (such as a macro or function call).
* - Some macros that tinker with the syntax of the function header. * - Some macros that tinker with the syntax of function headers.
*/ */
/* /*
* The original and principal author of ansi2knr is L. Peter Deutsch * The original and principal author of ansi2knr is L. Peter Deutsch
* <[email protected]>. Other authors are noted in the change history * <[email protected]>. Other authors are noted in the change history
* that follows (in reverse chronological order): * that follows (in reverse chronological order):
lpd 2000-04-12 backs out Eggert's changes because of bugs:
- concatlits didn't declare the type of its bufend argument;
- concatlits didn't't recognize when it was inside a comment;
- scanstring could scan backward past the beginning of the string; when
- the check for \ + newline in scanstring was unnecessary.
2000-03-05 Paul Eggert <[email protected]>
Add support for concatenated string literals.
* ansi2knr.c (concatlits): New decl.
(main): Invoke concatlits to concatenate string literals.
(scanstring): Handle backslash-newline correctly. Work with
character constants. Fix bug when scanning backwards through
backslash-quote. Check for unterminated strings.
(convert1): Parse character constants, too.
(appendline, concatlits): New functions.
* ansi2knr.1: Document this.
lpd 1999-08-17 added code to allow preprocessor directives
wherever comments are allowed
lpd 1999-04-12 added minor fixes from Pavel Roskin
<[email protected]> for clean compilation with
gcc -W -Wall
lpd 1999-03-22 added hack to recognize lines consisting of
identifier1(identifier2, xxx) as *not* being procedures
lpd 1999-02-03 made indentation of preprocessor commands consistent
lpd 1999-01-28 fixed two bugs: a '/' in an argument list caused an
endless loop; quoted strings within an argument list
confused the parser
lpd 1999-01-24 added a check for write errors on the output,
suggested by Jim Meyering <[email protected]>
lpd 1998-11-09 added further hack to recognize identifier(void) lpd 1998-11-09 added further hack to recognize identifier(void)
as being a procedure as being a procedure
lpd 1998-10-23 added hack to recognize lines consisting of lpd 1998-10-23 added hack to recognize lines consisting of
@@ -153,19 +188,24 @@ program under the GPL.
#endif #endif
/* Define NULL (for *very* old compilers). */
#ifndef NULL
# define NULL (0)
#endif
/* /*
* The ctype macros don't always handle 8-bit characters correctly. * The ctype macros don't always handle 8-bit characters correctly.
* Compensate for this here. * Compensate for this here.
*/ */
#ifdef isascii #ifdef isascii
# undef HAVE_ISASCII /* just in case */ # undef HAVE_ISASCII /* just in case */
# define HAVE_ISASCII 1 # define HAVE_ISASCII 1
#else #else
#endif #endif
#if STDC_HEADERS || !HAVE_ISASCII #if STDC_HEADERS || !HAVE_ISASCII
# define is_ascii(c) 1 # define is_ascii(c) 1
#else #else
# define is_ascii(c) isascii(c) # define is_ascii(c) isascii(c)
#endif #endif
#define is_space(c) (is_ascii(c) && isspace(c)) #define is_space(c) (is_ascii(c) && isspace(c))
@@ -177,7 +217,10 @@ program under the GPL.
#define isidfirstchar(ch) (is_alpha(ch) || (ch) == '_') #define isidfirstchar(ch) (is_alpha(ch) || (ch) == '_')
/* Forward references */ /* Forward references */
char *ppdirforward();
char *ppdirbackward();
char *skipspace(); char *skipspace();
char *scanstring();
int writeblanks(); int writeblanks();
int test1(); int test1();
int convert1(); int convert1();
@@ -190,6 +233,8 @@ main(argc, argv)
{ FILE *in = stdin; { FILE *in = stdin;
FILE *out = stdout; FILE *out = stdout;
char *filename = 0; char *filename = 0;
char *program_name = argv[0];
char *output_name = 0;
#define bufsize 5000 /* arbitrary size */ #define bufsize 5000 /* arbitrary size */
char *buf; char *buf;
char *line; char *line;
@@ -205,6 +250,7 @@ main(argc, argv)
* check for this switch for backward compatibility. * check for this switch for backward compatibility.
*/ */
int convert_varargs = 1; int convert_varargs = 1;
int output_error;
while ( argc > 1 && argv[1][0] == '-' ) { while ( argc > 1 && argv[1][0] == '-' ) {
if ( !strcmp(argv[1], "--varargs") ) { if ( !strcmp(argv[1], "--varargs") ) {
@@ -219,7 +265,8 @@ main(argc, argv)
argv += 2; argv += 2;
continue; continue;
} }
fprintf(stderr, "Unrecognized switch: %s\n", argv[1]); fprintf(stderr, "%s: Unrecognized switch: %s\n", program_name,
argv[1]);
fprintf(stderr, usage); fprintf(stderr, usage);
exit(1); exit(1);
} }
@@ -229,16 +276,19 @@ main(argc, argv)
fprintf(stderr, usage); fprintf(stderr, usage);
exit(0); exit(0);
case 3: case 3:
out = fopen(argv[2], "w"); output_name = argv[2];
out = fopen(output_name, "w");
if ( out == NULL ) { if ( out == NULL ) {
fprintf(stderr, "Cannot open output file %s\n", argv[2]); fprintf(stderr, "%s: Cannot open output file %s\n",
program_name, output_name);
exit(1); exit(1);
} }
/* falls through */ /* falls through */
case 2: case 2:
in = fopen(argv[1], "r"); in = fopen(argv[1], "r");
if ( in == NULL ) { if ( in == NULL ) {
fprintf(stderr, "Cannot open input file %s\n", argv[1]); fprintf(stderr, "%s: Cannot open input file %s\n",
program_name, argv[1]);
exit(1); exit(1);
} }
if ( filename == 0 ) if ( filename == 0 )
@@ -250,6 +300,11 @@ main(argc, argv)
if ( filename ) if ( filename )
fprintf(out, "#line 1 \"%s\"\n", filename); fprintf(out, "#line 1 \"%s\"\n", filename);
buf = malloc(bufsize); buf = malloc(bufsize);
if ( buf == NULL )
{
fprintf(stderr, "Unable to allocate read buffer!\n");
exit(1);
}
line = buf; line = buf;
while ( fgets(line, (unsigned)(buf + bufsize - line), in) != NULL ) while ( fgets(line, (unsigned)(buf + bufsize - line), in) != NULL )
{ {
@@ -266,7 +321,7 @@ f: if ( line >= buf + (bufsize - 1) ) /* overflow check */
goto wl; goto wl;
if ( fgets(line, (unsigned)(buf + bufsize - line), in) == NULL ) if ( fgets(line, (unsigned)(buf + bufsize - line), in) == NULL )
goto wl; goto wl;
switch ( *skipspace(more, 1) ) switch ( *skipspace(ppdirforward(more), 1) )
{ {
case '{': case '{':
/* Definitely a function header. */ /* Definitely a function header. */
@@ -300,32 +355,91 @@ wl: fputs(buf, out);
if ( line != buf ) if ( line != buf )
fputs(buf, out); fputs(buf, out);
free(buf); free(buf);
if ( out != stdout ) if ( output_name ) {
fclose(out); output_error = ferror(out);
output_error |= fclose(out);
} else { /* out == stdout */
fflush(out);
output_error = ferror(out);
}
if ( output_error ) {
fprintf(stderr, "%s: error writing to %s\n", program_name,
(output_name ? output_name : "stdout"));
exit(1);
}
if ( in != stdin ) if ( in != stdin )
fclose(in); fclose(in);
return 0; return 0;
} }
/* Skip over space and comments, in either direction. */ /*
* Skip forward or backward over one or more preprocessor directives.
*/
char *
ppdirforward(p)
char *p;
{
for (; *p == '#'; ++p) {
for (; *p != '\r' && *p != '\n'; ++p)
if (*p == 0)
return p;
if (*p == '\r' && p[1] == '\n')
++p;
}
return p;
}
char *
ppdirbackward(p, limit)
char *p;
char *limit;
{
char *np = p;
for (;; p = --np) {
if (*np == '\n' && np[-1] == '\r')
--np;
for (; np > limit && np[-1] != '\r' && np[-1] != '\n'; --np)
if (np[-1] == 0)
return np;
if (*np != '#')
return p;
}
}
/*
* Skip over whitespace, comments, and preprocessor directives,
* in either direction.
*/
char * char *
skipspace(p, dir) skipspace(p, dir)
register char *p; char *p;
register int dir; /* 1 for forward, -1 for backward */ int dir; /* 1 for forward, -1 for backward */
{ for ( ; ; ) {
{ while ( is_space(*p) ) for ( ; ; ) {
p += dir; while ( is_space(*p) )
if ( !(*p == '/' && p[dir] == '*') ) p += dir;
break; if ( !(*p == '/' && p[dir] == '*') )
p += dir; p += dir; break;
while ( !(*p == '*' && p[dir] == '/') ) p += dir; p += dir;
{ if ( *p == 0 ) while ( !(*p == '*' && p[dir] == '/') ) {
return p; /* multi-line comment?? */ if ( *p == 0 )
p += dir; return p; /* multi-line comment?? */
} p += dir;
p += dir; p += dir; }
} p += dir; p += dir;
return p; }
return p;
}
/* Scan over a quoted string, in either direction. */
char *
scanstring(p, dir)
char *p;
int dir;
{
for (p += dir; ; p += dir)
if (*p == '"' && p[-dir] != '\\')
return p + dir;
} }
/* /*
@@ -359,14 +473,14 @@ writeblanks(start, end)
int int
test1(buf) test1(buf)
char *buf; char *buf;
{ register char *p = buf; { char *p = buf;
char *bend; char *bend;
char *endfn; char *endfn;
int contin; int contin;
if ( !isidfirstchar(*p) ) if ( !isidfirstchar(*p) )
return 0; /* no name at left margin */ return 0; /* no name at left margin */
bend = skipspace(buf + strlen(buf) - 1, -1); bend = skipspace(ppdirbackward(buf + strlen(buf) - 1, buf), -1);
switch ( *bend ) switch ( *bend )
{ {
case ';': contin = 0 /*2*/; break; case ';': contin = 0 /*2*/; break;
@@ -396,7 +510,7 @@ test1(buf)
}; };
char **key = words; char **key = words;
char *kp; char *kp;
int len = endfn - buf; unsigned len = endfn - buf;
while ( (kp = *key) != 0 ) while ( (kp = *key) != 0 )
{ if ( strlen(kp) == len && !strncmp(kp, buf, len) ) { if ( strlen(kp) == len && !strncmp(kp, buf, len) )
@@ -409,14 +523,16 @@ test1(buf)
int len; int len;
/* /*
* Check for identifier1(identifier2) and not * Check for identifier1(identifier2) and not
* identifier1(void). * identifier1(void), or identifier1(identifier2, xxxx).
*/ */
while ( isidchar(*p) ) while ( isidchar(*p) )
p++; p++;
len = p - id; len = p - id;
p = skipspace(p, 1); p = skipspace(p, 1);
if ( *p == ')' && (len != 4 || strncmp(id, "void", 4)) ) if (*p == ',' ||
(*p == ')' && (len != 4 || strncmp(id, "void", 4)))
)
return 0; /* not a function */ return 0; /* not a function */
} }
/* /*
@@ -443,7 +559,7 @@ convert1(buf, out, header, convert_varargs)
int header; /* Boolean */ int header; /* Boolean */
int convert_varargs; /* Boolean */ int convert_varargs; /* Boolean */
{ char *endfn; { char *endfn;
register char *p; char *p;
/* /*
* The breaks table contains pointers to the beginning and end * The breaks table contains pointers to the beginning and end
* of each argument. * of each argument.
@@ -461,7 +577,7 @@ convert1(buf, out, header, convert_varargs)
; ;
top: p = endfn; top: p = endfn;
breaks = (char **)malloc(sizeof(char *) * num_breaks * 2); breaks = (char **)malloc(sizeof(char *) * num_breaks * 2);
if ( breaks == 0 ) if ( breaks == NULL )
{ /* Couldn't allocate break table, give up */ { /* Couldn't allocate break table, give up */
fprintf(stderr, "Unable to allocate break table!\n"); fprintf(stderr, "Unable to allocate break table!\n");
fputs(buf, out); fputs(buf, out);
@@ -473,7 +589,7 @@ top: p = endfn;
do do
{ int level = 0; { int level = 0;
char *lp = NULL; char *lp = NULL;
char *rp; char *rp = NULL;
char *end = NULL; char *end = NULL;
if ( bp >= btop ) if ( bp >= btop )
@@ -500,14 +616,18 @@ top: p = endfn;
else rp = p; else rp = p;
break; break;
case '/': case '/':
p = skipspace(p, 1) - 1; if (p[1] == '*')
p = skipspace(p, 1) - 1;
break; break;
case '"':
p = scanstring(p, 1) - 1;
break;
default: default:
; ;
} }
} }
/* Erase any embedded prototype parameters. */ /* Erase any embedded prototype parameters. */
if ( lp ) if ( lp && rp )
writeblanks(lp + 1, rp); writeblanks(lp + 1, rp);
p--; /* back up over terminator */ p--; /* back up over terminator */
/* Find the name being declared. */ /* Find the name being declared. */
@@ -523,9 +643,19 @@ top: p = endfn;
while ( level ) while ( level )
switch ( *--p ) switch ( *--p )
{ {
case ']': case ')': level++; break; case ']': case ')':
case '[': case '(': level--; break; level++;
case '/': p = skipspace(p, -1) + 1; break; break;
case '[': case '(':
level--;
break;
case '/':
if (p > buf && p[-1] == '*')
p = skipspace(p, -1) + 1;
break;
case '"':
p = scanstring(p, -1) + 1;
break;
default: ; default: ;
} }
} }
+198 -74
View File
@@ -1,23 +1,22 @@
/* Error handler for noninteractive utilities /* Error handler for noninteractive utilities
Copyright (C) 1990-1998, 2000 Free Software Foundation, Inc. Copyright (C) 1990-1998, 2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library. Its master source is NOT part of This file is part of the GNU C Library. Its master source is NOT part of
the C library, however. The master source lives in /gd/gnu/lib. the C library, however. The master source lives in /gd/gnu/lib.
The GNU C Library is free software; you can redistribute it and/or 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 modify it under the terms of the GNU Lesser General Public
published by the Free Software Foundation; either version 2 of the License as published by the Free Software Foundation; either
License, or (at your option) any later version. version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful, The GNU C Library 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 GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details. Lesser General Public License for more details.
You should have received a copy of the GNU Library General Public You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; see the file COPYING.LIB. If not, License along with the GNU C Library; if not, write to the Free
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
Boston, MA 02111-1307, USA. */ 02111-1307 USA. */
/* Written by David MacKenzie <[email protected]>. */ /* Written by David MacKenzie <[email protected]>. */
@@ -29,6 +28,10 @@
#if HAVE_LIBINTL_H #if HAVE_LIBINTL_H
# include <libintl.h> # include <libintl.h>
#endif #endif
#ifdef _LIBC
# include <wchar.h>
# define mbsrtowcs __mbsrtowcs
#endif
#if HAVE_VPRINTF || HAVE_DOPRNT || _LIBC #if HAVE_VPRINTF || HAVE_DOPRNT || _LIBC
# if __STDC__ # if __STDC__
@@ -52,13 +55,6 @@ void exit ();
#include "error.h" #include "error.h"
#ifndef HAVE_DECL_STRERROR_R
"this configure-time declaration test was not run"
#endif
#if !HAVE_DECL_STRERROR_R
char *strerror_r ();
#endif
#ifndef _ #ifndef _
# define _(String) String # define _(String) String
#endif #endif
@@ -83,6 +79,12 @@ unsigned int error_message_count;
/* In GNU libc we want do not want to use the common name `error' directly. /* In GNU libc we want do not want to use the common name `error' directly.
Instead make it a weak alias. */ Instead make it a weak alias. */
extern void __error (int status, int errnum, const char *message, ...)
__attribute__ ((__format__ (__printf__, 3, 4)));
extern void __error_at_line (int status, int errnum, const char *file_name,
unsigned int line_number, const char *message,
...)
__attribute__ ((__format__ (__printf__, 5, 6)));;
# define error __error # define error __error
# define error_at_line __error_at_line # define error_at_line __error_at_line
@@ -93,21 +95,30 @@ unsigned int error_message_count;
#else /* not _LIBC */ #else /* not _LIBC */
# if !HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P
# ifndef HAVE_DECL_STRERROR_R
"this configure-time declaration test was not run"
# endif
char *strerror_r ();
# endif
/* The calling program should define program_name and set it to the /* The calling program should define program_name and set it to the
name of the executing program. */ name of the executing program. */
extern char *program_name; extern char *program_name;
# ifdef HAVE_STRERROR_R # if HAVE_STRERROR_R || defined strerror_r
# define __strerror_r strerror_r # define __strerror_r strerror_r
# else # else
# if HAVE_STRERROR # if HAVE_STRERROR
# ifndef strerror /* On some systems, strerror is a macro */ # ifndef HAVE_DECL_STRERROR
"this configure-time declaration test was not run"
# endif
# if !HAVE_DECL_STRERROR
char *strerror (); char *strerror ();
# endif # endif
# else # else
static char * static char *
private_strerror (errnum) private_strerror (int errnum)
int errnum;
{ {
extern char *sys_errlist[]; extern char *sys_errlist[];
extern int sys_nerr; extern int sys_nerr;
@@ -118,15 +129,118 @@ private_strerror (errnum)
} }
# define strerror private_strerror # define strerror private_strerror
# endif /* HAVE_STRERROR */ # endif /* HAVE_STRERROR */
# endif /* HAVE_STRERROR_R */ # endif /* HAVE_STRERROR_R || defined strerror_r */
#endif /* not _LIBC */ #endif /* not _LIBC */
static void
print_errno_message (int errnum)
{
char const *s;
#if defined HAVE_STRERROR_R || _LIBC
char errbuf[1024];
# if STRERROR_R_CHAR_P || _LIBC
s = __strerror_r (errnum, errbuf, sizeof errbuf);
# else
if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0)
s = errbuf;
else
s = 0;
# endif
#else
s = strerror (errnum);
#endif
#if !_LIBC
if (! s)
s = _("Unknown system error");
#endif
#if _LIBC && USE_IN_LIBIO
if (_IO_fwide (stderr, 0) > 0)
{
__fwprintf (stderr, L": %s", s);
return;
}
#endif
fprintf (stderr, ": %s", s);
}
#ifdef VA_START
static void
error_tail (int status, int errnum, const char *message, va_list args)
{
# if HAVE_VPRINTF || _LIBC
# if _LIBC && USE_IN_LIBIO
if (_IO_fwide (stderr, 0) > 0)
{
# define ALLOCA_LIMIT 2000
size_t len = strlen (message) + 1;
wchar_t *wmessage = NULL;
mbstate_t st;
size_t res;
const char *tmp;
do
{
if (len < ALLOCA_LIMIT)
wmessage = (wchar_t *) alloca (len * sizeof (wchar_t));
else
{
if (wmessage != NULL && len / 2 < ALLOCA_LIMIT)
wmessage = NULL;
wmessage = (wchar_t *) realloc (wmessage,
len * sizeof (wchar_t));
if (wmessage == NULL)
{
fputws_unlocked (L"out of memory\n", stderr);
return;
}
}
memset (&st, '\0', sizeof (st));
tmp =message;
}
while ((res = mbsrtowcs (wmessage, &tmp, len, &st)) == len);
if (res == (size_t) -1)
/* The string cannot be converted. */
wmessage = (wchar_t *) L"???";
__vfwprintf (stderr, wmessage, args);
}
else
# endif
vfprintf (stderr, message, args);
# else
_doprnt (message, args, stderr);
# endif
va_end (args);
++error_message_count;
if (errnum)
print_errno_message (errnum);
# if _LIBC && USE_IN_LIBIO
if (_IO_fwide (stderr, 0) > 0)
putwc (L'\n', stderr);
else
# endif
putc ('\n', stderr);
fflush (stderr);
if (status)
exit (status);
}
#endif
/* Print the program name and error message MESSAGE, which is a printf-style /* Print the program name and error message MESSAGE, which is a printf-style
format string with optional args. format string with optional args.
If ERRNUM is nonzero, print its corresponding system error message. If ERRNUM is nonzero, print its corresponding system error message.
Exit with status STATUS if it is nonzero. */ Exit with status STATUS if it is nonzero. */
/* VARARGS */ /* VARARGS */
void void
#if defined VA_START && __STDC__ #if defined VA_START && __STDC__
error (int status, int errnum, const char *message, ...) error (int status, int errnum, const char *message, ...)
@@ -142,47 +256,48 @@ error (status, errnum, message, va_alist)
va_list args; va_list args;
#endif #endif
fflush (stdout);
#ifdef _LIBC
# ifdef USE_IN_LIBIO
_IO_flockfile (stderr);
# else
__flockfile (stderr);
# endif
#endif
if (error_print_progname) if (error_print_progname)
(*error_print_progname) (); (*error_print_progname) ();
else else
{ {
fflush (stdout); #if _LIBC && USE_IN_LIBIO
fprintf (stderr, "%s: ", program_name); if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s: ", program_name);
else
#endif
fprintf (stderr, "%s: ", program_name);
} }
#ifdef VA_START #ifdef VA_START
VA_START (args, message); VA_START (args, message);
# if HAVE_VPRINTF || _LIBC error_tail (status, errnum, message, args);
vfprintf (stderr, message, args);
# else
_doprnt (message, args, stderr);
# endif
va_end (args);
#else #else
fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8); fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
#endif
++error_message_count; ++error_message_count;
if (errnum) if (errnum)
{ print_errno_message (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); putc ('\n', stderr);
fflush (stderr); fflush (stderr);
if (status) if (status)
exit (status); exit (status);
#endif
#ifdef _LIBC
# ifdef USE_IN_LIBIO
_IO_funlockfile (stderr);
# else
__funlockfile (stderr);
# endif
#endif
} }
/* Sometimes we want to have at most one error per line. This /* Sometimes we want to have at most one error per line. This
@@ -212,8 +327,9 @@ error_at_line (status, errnum, file_name, line_number, message, va_alist)
static const char *old_file_name; static const char *old_file_name;
static unsigned int old_line_number; static unsigned int old_line_number;
if (old_line_number == line_number && if (old_line_number == line_number
(file_name == old_file_name || !strcmp (old_file_name, file_name))) && (file_name == old_file_name
|| strcmp (old_file_name, file_name) == 0))
/* Simply return and print nothing. */ /* Simply return and print nothing. */
return; return;
@@ -221,50 +337,58 @@ error_at_line (status, errnum, file_name, line_number, message, va_alist)
old_line_number = line_number; old_line_number = line_number;
} }
fflush (stdout);
#ifdef _LIBC
# ifdef USE_IN_LIBIO
_IO_flockfile (stderr);
# else
__flockfile (stderr);
# endif
#endif
if (error_print_progname) if (error_print_progname)
(*error_print_progname) (); (*error_print_progname) ();
else else
{ {
fflush (stdout); #if _LIBC && USE_IN_LIBIO
fprintf (stderr, "%s:", program_name); if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s: ", program_name);
else
#endif
fprintf (stderr, "%s:", program_name);
} }
if (file_name != NULL) if (file_name != NULL)
fprintf (stderr, "%s:%d: ", file_name, line_number); {
#if _LIBC && USE_IN_LIBIO
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s:%d: ", file_name, line_number);
else
#endif
fprintf (stderr, "%s:%d: ", file_name, line_number);
}
#ifdef VA_START #ifdef VA_START
VA_START (args, message); VA_START (args, message);
# if HAVE_VPRINTF || _LIBC error_tail (status, errnum, message, args);
vfprintf (stderr, message, args);
# else
_doprnt (message, args, stderr);
# endif
va_end (args);
#else #else
fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8); fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
#endif
++error_message_count; ++error_message_count;
if (errnum) if (errnum)
{ print_errno_message (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); putc ('\n', stderr);
fflush (stderr); fflush (stderr);
if (status) if (status)
exit (status); exit (status);
#endif
#ifdef _LIBC
# ifdef USE_IN_LIBIO
_IO_funlockfile (stderr);
# else
__funlockfile (stderr);
# endif
#endif
} }
#ifdef _LIBC #ifdef _LIBC
+1 -1
View File
@@ -25,7 +25,7 @@
#ifndef __attribute__ #ifndef __attribute__
/* This feature is available in gcc versions 2.5 and later. */ /* This feature is available in gcc versions 2.5 and later. */
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
# define __attribute__(Spec) /* empty */ # define __attribute__(Spec) /* empty */
# endif # endif
/* The __-protected variants of `format' and `printf' attributes /* The __-protected variants of `format' and `printf' attributes
+59 -40
View File
@@ -1,23 +1,25 @@
/* Getopt for GNU. /* Getopt for GNU.
NOTE: The canonical source of this file is maintained with the GNU NOTE: getopt is now part of the C library, so if you don't know what
C Library. Bugs can be reported to bug-glibc@gnu.org. "Keep this file name-space clean" means, talk to drepper@gnu.org
before changing it!
Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99 Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001
Free Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software; you can redistribute it and/or modify it The GNU C Library is free software; you can redistribute it and/or
under the terms of the GNU General Public License as published by the modify it under the terms of the GNU Lesser General Public
Free Software Foundation; either version 2, or (at your option) any License as published by the Free Software Foundation; either
later version. version 2.1 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of 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
GNU General Public License for more details. Lesser 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 Lesser General Public
along with this program; if not, write to the Free Software Foundation, License along with the GNU C Library; if not, write to the Free
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>. /* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
Ditto for AIX 3.2 and <stdlib.h>. */ Ditto for AIX 3.2 and <stdlib.h>. */
@@ -27,13 +29,13 @@
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include <config.h> # include <config.h>
#else #endif
# if !defined __STDC__ || !__STDC__
#if !defined __STDC__ || !__STDC__
/* This is a separate conditional since some stdc systems /* This is a separate conditional since some stdc systems
reject `defined (const)'. */ reject `defined (const)'. */
# ifndef const # ifndef const
# define const # define const
# endif
# endif # endif
#endif #endif
@@ -75,11 +77,12 @@
#endif #endif
#ifndef _ #ifndef _
/* This is for other GNU distributions with internationalized messages. /* This is for other GNU distributions with internationalized messages. */
When compiling libc, the _ macro is predefined. */ # if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC
# ifdef HAVE_LIBINTL_H
# include <libintl.h> # include <libintl.h>
# define _(msgid) gettext (msgid) # ifndef _
# define _(msgid) gettext (msgid)
# endif
# else # else
# define _(msgid) (msgid) # define _(msgid) (msgid)
# endif # endif
@@ -250,11 +253,13 @@ static int last_nonopt;
/* Bash 2.0 gives us an environment variable containing flags /* Bash 2.0 gives us an environment variable containing flags
indicating ARGV elements that should not be considered arguments. */ indicating ARGV elements that should not be considered arguments. */
#ifdef USE_NONOPTION_FLAGS
/* Defined in getopt_init.c */ /* Defined in getopt_init.c */
extern char *__getopt_nonoption_flags; extern char *__getopt_nonoption_flags;
static int nonoption_flags_max_len; static int nonoption_flags_max_len;
static int nonoption_flags_len; static int nonoption_flags_len;
#endif
static int original_argc; static int original_argc;
static char *const *original_argv; static char *const *original_argv;
@@ -275,13 +280,17 @@ store_args_and_env (int argc, char *const *argv)
text_set_element (__libc_subinit, store_args_and_env); text_set_element (__libc_subinit, store_args_and_env);
# endif /* text_set_element */ # endif /* text_set_element */
# define SWAP_FLAGS(ch1, ch2) \ # ifdef USE_NONOPTION_FLAGS
# define SWAP_FLAGS(ch1, ch2) \
if (nonoption_flags_len > 0) \ if (nonoption_flags_len > 0) \
{ \ { \
char __tmp = __getopt_nonoption_flags[ch1]; \ char __tmp = __getopt_nonoption_flags[ch1]; \
__getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \ __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \
__getopt_nonoption_flags[ch2] = __tmp; \ __getopt_nonoption_flags[ch2] = __tmp; \
} }
# else
# define SWAP_FLAGS(ch1, ch2)
# endif
#else /* !_LIBC */ #else /* !_LIBC */
# define SWAP_FLAGS(ch1, ch2) # define SWAP_FLAGS(ch1, ch2)
#endif /* _LIBC */ #endif /* _LIBC */
@@ -313,7 +322,7 @@ exchange (argv)
It leaves the longer segment in the right place overall, It leaves the longer segment in the right place overall,
but it consists of two parts that need to be swapped next. */ but it consists of two parts that need to be swapped next. */
#ifdef _LIBC #if defined _LIBC && defined USE_NONOPTION_FLAGS
/* First make sure the handling of the `__getopt_nonoption_flags' /* First make sure the handling of the `__getopt_nonoption_flags'
string can work normally. Our top argument must be in the range string can work normally. Our top argument must be in the range
of the string. */ of the string. */
@@ -417,7 +426,7 @@ _getopt_initialize (argc, argv, optstring)
else else
ordering = PERMUTE; ordering = PERMUTE;
#ifdef _LIBC #if defined _LIBC && defined USE_NONOPTION_FLAGS
if (posixly_correct == NULL if (posixly_correct == NULL
&& argc == original_argc && argv == original_argv) && argc == original_argc && argv == original_argv)
{ {
@@ -515,6 +524,13 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
int *longind; int *longind;
int long_only; int long_only;
{ {
int print_errors = opterr;
if (optstring[0] == ':')
print_errors = 0;
if (argc < 1)
return -1;
optarg = NULL; optarg = NULL;
if (optind == 0 || !__getopt_initialized) if (optind == 0 || !__getopt_initialized)
@@ -529,7 +545,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
Either it does not have option syntax, or there is an environment flag Either it does not have option syntax, or there is an environment flag
from the shell indicating it is not an option. The later information from the shell indicating it is not an option. The later information
is only used when the used in the GNU libc. */ is only used when the used in the GNU libc. */
#ifdef _LIBC #if defined _LIBC && defined USE_NONOPTION_FLAGS
# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \ # define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \
|| (optind < nonoption_flags_len \ || (optind < nonoption_flags_len \
&& __getopt_nonoption_flags[optind] == '1')) && __getopt_nonoption_flags[optind] == '1'))
@@ -664,14 +680,17 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
pfound = p; pfound = p;
indfound = option_index; indfound = option_index;
} }
else else if (long_only
|| pfound->has_arg != p->has_arg
|| pfound->flag != p->flag
|| pfound->val != p->val)
/* Second or later nonexact match found. */ /* Second or later nonexact match found. */
ambig = 1; ambig = 1;
} }
if (ambig && !exact) if (ambig && !exact)
{ {
if (opterr) if (print_errors)
fprintf (stderr, _("%s: option `%s' is ambiguous\n"), fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
argv[0], argv[optind]); argv[0], argv[optind]);
nextchar += strlen (nextchar); nextchar += strlen (nextchar);
@@ -692,7 +711,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
optarg = nameend + 1; optarg = nameend + 1;
else else
{ {
if (opterr) if (print_errors)
{ {
if (argv[optind - 1][1] == '-') if (argv[optind - 1][1] == '-')
/* --option */ /* --option */
@@ -718,7 +737,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
optarg = argv[optind++]; optarg = argv[optind++];
else else
{ {
if (opterr) if (print_errors)
fprintf (stderr, fprintf (stderr,
_("%s: option `%s' requires an argument\n"), _("%s: option `%s' requires an argument\n"),
argv[0], argv[optind - 1]); argv[0], argv[optind - 1]);
@@ -745,7 +764,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
if (!long_only || argv[optind][1] == '-' if (!long_only || argv[optind][1] == '-'
|| my_index (optstring, *nextchar) == NULL) || my_index (optstring, *nextchar) == NULL)
{ {
if (opterr) if (print_errors)
{ {
if (argv[optind][1] == '-') if (argv[optind][1] == '-')
/* --option */ /* --option */
@@ -775,7 +794,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
if (temp == NULL || c == ':') if (temp == NULL || c == ':')
{ {
if (opterr) if (print_errors)
{ {
if (posixly_correct) if (posixly_correct)
/* 1003.2 specifies the format of this message. */ /* 1003.2 specifies the format of this message. */
@@ -809,7 +828,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
} }
else if (optind == argc) else if (optind == argc)
{ {
if (opterr) if (print_errors)
{ {
/* 1003.2 specifies the format of this message. */ /* 1003.2 specifies the format of this message. */
fprintf (stderr, _("%s: option requires an argument -- %c\n"), fprintf (stderr, _("%s: option requires an argument -- %c\n"),
@@ -858,7 +877,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
} }
if (ambig && !exact) if (ambig && !exact)
{ {
if (opterr) if (print_errors)
fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"), fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
argv[0], argv[optind]); argv[0], argv[optind]);
nextchar += strlen (nextchar); nextchar += strlen (nextchar);
@@ -876,7 +895,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
optarg = nameend + 1; optarg = nameend + 1;
else else
{ {
if (opterr) if (print_errors)
fprintf (stderr, _("\ fprintf (stderr, _("\
%s: option `-W %s' doesn't allow an argument\n"), %s: option `-W %s' doesn't allow an argument\n"),
argv[0], pfound->name); argv[0], pfound->name);
@@ -891,7 +910,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
optarg = argv[optind++]; optarg = argv[optind++];
else else
{ {
if (opterr) if (print_errors)
fprintf (stderr, fprintf (stderr,
_("%s: option `%s' requires an argument\n"), _("%s: option `%s' requires an argument\n"),
argv[0], argv[optind - 1]); argv[0], argv[optind - 1]);
@@ -938,12 +957,12 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
} }
else if (optind == argc) else if (optind == argc)
{ {
if (opterr) if (print_errors)
{ {
/* 1003.2 specifies the format of this message. */ /* 1003.2 specifies the format of this message. */
fprintf (stderr, fprintf (stderr,
_("%s: option requires an argument -- %c\n"), _("%s: option requires an argument -- %c\n"),
argv[0], c); argv[0], c);
} }
optopt = c; optopt = c;
if (optstring[0] == ':') if (optstring[0] == ':')
+27 -16
View File
@@ -1,21 +1,21 @@
/* Declarations for getopt. /* Declarations for getopt.
Copyright (C) 1989,90,91,92,93,94,96,97,98 Free Software Foundation, Inc. Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library. This file is part of the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
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, The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of 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
GNU General Public License for more details. Lesser 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 Lesser General Public
along with this program; if not, write to the Free Software License along with the GNU C Library; if not, write to the Free
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
USA. */ 02111-1307 USA. */
#ifndef _GETOPT_H #ifndef _GETOPT_H
@@ -23,6 +23,17 @@
# define _GETOPT_H 1 # define _GETOPT_H 1
#endif #endif
/* If __GNU_LIBRARY__ is not already defined, either we are being used
standalone, or this is the first header included in the source file.
If we are being used with glibc, we need to include <features.h>, but
that does not exist if we are standalone. So: if __GNU_LIBRARY__ is
not defined, include <ctype.h>, which will pull in <features.h> for us
if it's from glibc. (Why ctype.h? It's guaranteed to exist and it
doesn't flood the namespace with stuff the way some other headers do.) */
#if !defined __GNU_LIBRARY__
# include <ctype.h>
#endif
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
@@ -82,7 +93,7 @@ extern int optopt;
struct option struct option
{ {
# if defined __STDC__ && __STDC__ # if (defined __STDC__ && __STDC__) || defined __cplusplus
const char *name; const char *name;
# else # else
char *name; char *name;
@@ -126,7 +137,7 @@ struct option
arguments to the option '\0'. This behavior is specific to the GNU arguments to the option '\0'. This behavior is specific to the GNU
`getopt'. */ `getopt'. */
#if defined __STDC__ && __STDC__ #if (defined __STDC__ && __STDC__) || defined __cplusplus
# ifdef __GNU_LIBRARY__ # ifdef __GNU_LIBRARY__
/* Many other libraries have conflicting prototypes for getopt, with /* Many other libraries have conflicting prototypes for getopt, with
differences in the consts, in stdlib.h. To avoid compilation differences in the consts, in stdlib.h. To avoid compilation
+16 -16
View File
@@ -1,26 +1,29 @@
/* getopt_long and getopt_long_only entry points for GNU getopt. /* getopt_long and getopt_long_only entry points for GNU getopt.
Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98 Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98
Free Software Foundation, Inc. Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library. This file is part of the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
This program is free software; you can redistribute it and/or modify it The GNU C Library is free software; you can redistribute it and/or
under the terms of the GNU General Public License as published by the modify it under the terms of the GNU Lesser General Public
Free Software Foundation; either version 2, or (at your option) any License as published by the Free Software Foundation; either
later version. version 2.1 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of 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
GNU General Public License for more details. Lesser 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 Lesser General Public
along with this program; if not, write to the Free Software Foundation, License along with the GNU C Library; if not, write to the Free
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include <config.h> #include <config.h>
#else #endif
#include "getopt.h"
#if !defined __STDC__ || !__STDC__ #if !defined __STDC__ || !__STDC__
/* This is a separate conditional since some stdc systems /* This is a separate conditional since some stdc systems
reject `defined (const)'. */ reject `defined (const)'. */
@@ -28,9 +31,6 @@
#define const #define const
#endif #endif
#endif #endif
#endif
#include "getopt.h"
#include <stdio.h> #include <stdio.h>
+94 -75
View File
@@ -1,26 +1,25 @@
/* obstack.c - subroutines used implicitly by object stack macros /* obstack.c - subroutines used implicitly by object stack macros
Copyright (C) 1988-1994,96,97,98,99,2000 Free Software Foundation, Inc. Copyright (C) 1988-1994,96,97,98,99,2000,2001 Free Software Foundation, Inc.
This file is part of the GNU C Library. Its master source is NOT part of This file is part of the GNU C Library. Its master source is NOT part of
the C library, however. The master source lives in /gd/gnu/lib. the C library, however. The master source lives in /gd/gnu/lib.
The GNU C Library is free software; you can redistribute it and/or 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 modify it under the terms of the GNU Lesser General Public
published by the Free Software Foundation; either version 2 of the License as published by the Free Software Foundation; either
License, or (at your option) any later version. version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful, The GNU C Library 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 GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details. Lesser General Public License for more details.
You should have received a copy of the GNU Library General Public You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; see the file COPYING.LIB. If not, License along with the GNU C Library; if not, write to the Free
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
Boston, MA 02111-1307, USA. */ 02111-1307 USA. */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include <config.h> # include <config.h>
#endif #endif
#include "obstack.h" #include "obstack.h"
@@ -40,40 +39,43 @@
files, it is simpler to just do this in the source for each such file. */ files, it is simpler to just do this in the source for each such file. */
#include <stdio.h> /* Random thing to get __GNU_LIBRARY__. */ #include <stdio.h> /* Random thing to get __GNU_LIBRARY__. */
#if !defined (_LIBC) && defined (__GNU_LIBRARY__) && __GNU_LIBRARY__ > 1 #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
#include <gnu-versions.h> # include <gnu-versions.h>
#if _GNU_OBSTACK_INTERFACE_VERSION == OBSTACK_INTERFACE_VERSION # if _GNU_OBSTACK_INTERFACE_VERSION == OBSTACK_INTERFACE_VERSION
#define ELIDE_CODE # define ELIDE_CODE
#endif # endif
#endif #endif
#if defined _LIBC && defined USE_IN_LIBIO
# include <wchar.h>
#endif
#ifndef ELIDE_CODE #ifndef ELIDE_CODE
#if defined (__STDC__) && __STDC__ # if defined __STDC__ && __STDC__
#define POINTER void * # define POINTER void *
#else # else
#define POINTER char * # define POINTER char *
#endif # endif
/* Determine default alignment. */ /* Determine default alignment. */
struct fooalign {char x; double d;}; struct fooalign {char x; double d;};
#define DEFAULT_ALIGNMENT \ # define DEFAULT_ALIGNMENT \
((PTR_INT_TYPE) ((char *) &((struct fooalign *) 0)->d - (char *) 0)) ((PTR_INT_TYPE) ((char *) &((struct fooalign *) 0)->d - (char *) 0))
/* If malloc were really smart, it would round addresses to DEFAULT_ALIGNMENT. /* If malloc were really smart, it would round addresses to DEFAULT_ALIGNMENT.
But in fact it might be less smart and round addresses to as much as But in fact it might be less smart and round addresses to as much as
DEFAULT_ROUNDING. So we prepare for it to do that. */ DEFAULT_ROUNDING. So we prepare for it to do that. */
union fooround {long x; double d;}; union fooround {long x; double d;};
#define DEFAULT_ROUNDING (sizeof (union fooround)) # define DEFAULT_ROUNDING (sizeof (union fooround))
/* When we copy a long block of data, this is the unit to do it with. /* When we copy a long block of data, this is the unit to do it with.
On some machines, copying successive ints does not work; On some machines, copying successive ints does not work;
in such a case, redefine COPYING_UNIT to `long' (if that works) in such a case, redefine COPYING_UNIT to `long' (if that works)
or `char' as a last resort. */ or `char' as a last resort. */
#ifndef COPYING_UNIT # ifndef COPYING_UNIT
#define COPYING_UNIT int # define COPYING_UNIT int
#endif # endif
/* The functions allocating more room by calling `obstack_chunk_alloc' /* The functions allocating more room by calling `obstack_chunk_alloc'
@@ -82,21 +84,21 @@ union fooround {long x; double d;};
abort gracefully or use longjump - but shouldn't return. This abort gracefully or use longjump - but shouldn't return. This
variable by default points to the internal function variable by default points to the internal function
`print_and_abort'. */ `print_and_abort'. */
#if defined (__STDC__) && __STDC__ # if defined __STDC__ && __STDC__
static void print_and_abort (void); static void print_and_abort (void);
void (*obstack_alloc_failed_handler) (void) = print_and_abort; void (*obstack_alloc_failed_handler) (void) = print_and_abort;
#else # else
static void print_and_abort (); static void print_and_abort ();
void (*obstack_alloc_failed_handler) () = print_and_abort; void (*obstack_alloc_failed_handler) () = print_and_abort;
#endif # endif
/* Exit value used when `print_and_abort' is used. */ /* Exit value used when `print_and_abort' is used. */
#if defined __GNU_LIBRARY__ || defined HAVE_STDLIB_H # if defined __GNU_LIBRARY__ || defined HAVE_STDLIB_H
#include <stdlib.h> # include <stdlib.h>
#endif # endif
#ifndef EXIT_FAILURE # ifndef EXIT_FAILURE
#define EXIT_FAILURE 1 # define EXIT_FAILURE 1
#endif # endif
int obstack_exit_failure = EXIT_FAILURE; int obstack_exit_failure = EXIT_FAILURE;
/* The non-GNU-C macros copy the obstack into this global variable /* The non-GNU-C macros copy the obstack into this global variable
@@ -110,33 +112,33 @@ struct obstack *_obstack;
For free, do not use ?:, since some compilers, like the MIPS compilers, For free, do not use ?:, since some compilers, like the MIPS compilers,
do not allow (expr) ? void : void. */ do not allow (expr) ? void : void. */
#if defined (__STDC__) && __STDC__ # if defined __STDC__ && __STDC__
#define CALL_CHUNKFUN(h, size) \ # define CALL_CHUNKFUN(h, size) \
(((h) -> use_extra_arg) \ (((h) -> use_extra_arg) \
? (*(h)->chunkfun) ((h)->extra_arg, (size)) \ ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \
: (*(struct _obstack_chunk *(*) (long)) (h)->chunkfun) ((size))) : (*(struct _obstack_chunk *(*) (long)) (h)->chunkfun) ((size)))
#define CALL_FREEFUN(h, old_chunk) \ # define CALL_FREEFUN(h, old_chunk) \
do { \ do { \
if ((h) -> use_extra_arg) \ if ((h) -> use_extra_arg) \
(*(h)->freefun) ((h)->extra_arg, (old_chunk)); \ (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \
else \ else \
(*(void (*) (void *)) (h)->freefun) ((old_chunk)); \ (*(void (*) (void *)) (h)->freefun) ((old_chunk)); \
} while (0) } while (0)
#else # else
#define CALL_CHUNKFUN(h, size) \ # define CALL_CHUNKFUN(h, size) \
(((h) -> use_extra_arg) \ (((h) -> use_extra_arg) \
? (*(h)->chunkfun) ((h)->extra_arg, (size)) \ ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \
: (*(struct _obstack_chunk *(*) ()) (h)->chunkfun) ((size))) : (*(struct _obstack_chunk *(*) ()) (h)->chunkfun) ((size)))
#define CALL_FREEFUN(h, old_chunk) \ # define CALL_FREEFUN(h, old_chunk) \
do { \ do { \
if ((h) -> use_extra_arg) \ if ((h) -> use_extra_arg) \
(*(h)->freefun) ((h)->extra_arg, (old_chunk)); \ (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \
else \ else \
(*(void (*) ()) (h)->freefun) ((old_chunk)); \ (*(void (*) ()) (h)->freefun) ((old_chunk)); \
} while (0) } while (0)
#endif # endif
/* Initialize an obstack H for use. Specify chunk size SIZE (0 means default). /* Initialize an obstack H for use. Specify chunk size SIZE (0 means default).
@@ -152,13 +154,13 @@ _obstack_begin (h, size, alignment, chunkfun, freefun)
struct obstack *h; struct obstack *h;
int size; int size;
int alignment; int alignment;
#if defined (__STDC__) && __STDC__ # if defined __STDC__ && __STDC__
POINTER (*chunkfun) (long); POINTER (*chunkfun) (long);
void (*freefun) (void *); void (*freefun) (void *);
#else # else
POINTER (*chunkfun) (); POINTER (*chunkfun) ();
void (*freefun) (); void (*freefun) ();
#endif # endif
{ {
register struct _obstack_chunk *chunk; /* points to new chunk */ register struct _obstack_chunk *chunk; /* points to new chunk */
@@ -181,13 +183,13 @@ _obstack_begin (h, size, alignment, chunkfun, freefun)
size = 4096 - extra; size = 4096 - extra;
} }
#if defined (__STDC__) && __STDC__ # if defined __STDC__ && __STDC__
h->chunkfun = (struct _obstack_chunk * (*)(void *, long)) chunkfun; h->chunkfun = (struct _obstack_chunk * (*)(void *, long)) chunkfun;
h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun; h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun;
#else # else
h->chunkfun = (struct _obstack_chunk * (*)()) chunkfun; h->chunkfun = (struct _obstack_chunk * (*)()) chunkfun;
h->freefun = freefun; h->freefun = freefun;
#endif # endif
h->chunk_size = size; h->chunk_size = size;
h->alignment_mask = alignment - 1; h->alignment_mask = alignment - 1;
h->use_extra_arg = 0; h->use_extra_arg = 0;
@@ -210,13 +212,13 @@ _obstack_begin_1 (h, size, alignment, chunkfun, freefun, arg)
struct obstack *h; struct obstack *h;
int size; int size;
int alignment; int alignment;
#if defined (__STDC__) && __STDC__ # if defined __STDC__ && __STDC__
POINTER (*chunkfun) (POINTER, long); POINTER (*chunkfun) (POINTER, long);
void (*freefun) (POINTER, POINTER); void (*freefun) (POINTER, POINTER);
#else # else
POINTER (*chunkfun) (); POINTER (*chunkfun) ();
void (*freefun) (); void (*freefun) ();
#endif # endif
POINTER arg; POINTER arg;
{ {
register struct _obstack_chunk *chunk; /* points to new chunk */ register struct _obstack_chunk *chunk; /* points to new chunk */
@@ -240,13 +242,13 @@ _obstack_begin_1 (h, size, alignment, chunkfun, freefun, arg)
size = 4096 - extra; size = 4096 - extra;
} }
#if defined(__STDC__) && __STDC__ # if defined __STDC__ && __STDC__
h->chunkfun = (struct _obstack_chunk * (*)(void *,long)) chunkfun; h->chunkfun = (struct _obstack_chunk * (*)(void *,long)) chunkfun;
h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun; h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun;
#else # else
h->chunkfun = (struct _obstack_chunk * (*)()) chunkfun; h->chunkfun = (struct _obstack_chunk * (*)()) chunkfun;
h->freefun = freefun; h->freefun = freefun;
#endif # endif
h->chunk_size = size; h->chunk_size = size;
h->alignment_mask = alignment - 1; h->alignment_mask = alignment - 1;
h->extra_arg = arg; h->extra_arg = arg;
@@ -341,11 +343,11 @@ _obstack_newchunk (h, length)
This is here for debugging. This is here for debugging.
If you use it in a program, you are probably losing. */ If you use it in a program, you are probably losing. */
#if defined (__STDC__) && __STDC__ # if defined __STDC__ && __STDC__
/* Suppress -Wmissing-prototypes warning. We don't want to declare this in /* Suppress -Wmissing-prototypes warning. We don't want to declare this in
obstack.h because it is just for debugging. */ obstack.h because it is just for debugging. */
int _obstack_allocated_p (struct obstack *h, POINTER obj); int _obstack_allocated_p (struct obstack *h, POINTER obj);
#endif # endif
int int
_obstack_allocated_p (h, obj) _obstack_allocated_p (h, obj)
@@ -370,7 +372,7 @@ _obstack_allocated_p (h, obj)
/* Free objects in obstack H, including OBJ and everything allocate /* Free objects in obstack H, including OBJ and everything allocate
more recently than OBJ. If OBJ is zero, free everything in H. */ more recently than OBJ. If OBJ is zero, free everything in H. */
#undef obstack_free # undef obstack_free
/* This function has two names with identical definitions. /* This function has two names with identical definitions.
This is the first one, called from non-ANSI code. */ This is the first one, called from non-ANSI code. */
@@ -456,37 +458,54 @@ _obstack_memory_used (h)
} }
/* Define the error handler. */ /* Define the error handler. */
#ifndef _ # ifndef _
# if defined HAVE_LIBINTL_H || defined _LIBC # if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC
# include <libintl.h> # include <libintl.h>
# ifndef _ # ifndef _
# define _(Str) gettext (Str) # define _(Str) gettext (Str)
# endif
# else
# define _(Str) (Str)
# endif
# endif
# if defined _LIBC && defined USE_IN_LIBIO
# include <libio/iolibio.h>
# define fputs(s, f) _IO_fputs (s, f)
# endif
# ifndef __attribute__
/* This feature is available in gcc versions 2.5 and later. */
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
# define __attribute__(Spec) /* empty */
# endif # endif
# else
# define _(Str) (Str)
# endif # endif
#endif
#if defined _LIBC && defined USE_IN_LIBIO
# include <libio/iolibio.h>
# define fputs(s, f) _IO_fputs (s, f)
#endif
static void static void
__attribute__ ((noreturn))
print_and_abort () print_and_abort ()
{ {
fputs (_("memory exhausted"), stderr); /* Don't change any of these strings. Yes, it would be possible to add
fputc ('\n', stderr); the newline to the string and use fputs or so. But this must not
happen because the "memory exhausted" message appears in other places
like this and the translation should be reused instead of creating
a very similar string which requires a separate translation. */
# if defined _LIBC && defined USE_IN_LIBIO
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s\n", _("memory exhausted"));
else
# endif
fprintf (stderr, "%s\n", _("memory exhausted"));
exit (obstack_exit_failure); exit (obstack_exit_failure);
} }
#if 0 # if 0
/* These are now turned off because the applications do not use it /* These are now turned off because the applications do not use it
and it uses bcopy via obstack_grow, which causes trouble on sysV. */ and it uses bcopy via obstack_grow, which causes trouble on sysV. */
/* Now define the functional versions of the obstack macros. /* Now define the functional versions of the obstack macros.
Define them to simply use the corresponding macros to do the job. */ Define them to simply use the corresponding macros to do the job. */
#if defined (__STDC__) && __STDC__ # if defined __STDC__ && __STDC__
/* These function definitions do not work with non-ANSI preprocessors; /* These function definitions do not work with non-ANSI preprocessors;
they won't pass through the macro names in parentheses. */ they won't pass through the macro names in parentheses. */
@@ -597,8 +616,8 @@ POINTER (obstack_copy0) (obstack, address, length)
return obstack_copy0 (obstack, address, length); return obstack_copy0 (obstack, address, length);
} }
#endif /* __STDC__ */ # endif /* __STDC__ */
#endif /* 0 */ # endif /* 0 */
#endif /* !ELIDE_CODE */ #endif /* !ELIDE_CODE */
+11 -8
View File
@@ -4,20 +4,23 @@
This file is part of the GNU C Library. Its master source is NOT part of This file is part of the GNU C Library. Its master source is NOT part of
the C library, however. The master source lives in /gd/gnu/lib. the C library, however. The master source lives in /gd/gnu/lib.
The GNU C Library is free software; you can redistribute it and/or NOTE: The canonical source of this file is maintained with the GNU C Library.
modify it under the terms of the GNU Library General Public License as Bugs can be reported to bug-glibc@gnu.org.
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, 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 but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details. Library General Public License for more details.
You should have received a copy of the GNU Library General Public 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, License along with this program; if not, write to the Free Software
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
Boston, MA 02111-1307, USA. */ USA. */
/* Summary: /* Summary:
+3
View File
@@ -4,6 +4,9 @@
# include <config.h> # include <config.h>
#endif #endif
#if HAVE_STDDEF_H
# include <stddef.h> /* For the definition of size_t on windows w/MSVC. */
#endif
#include <sys/types.h> #include <sys/types.h>
#include <quotearg.h> #include <quotearg.h>
#include <quote.h> #include <quote.h>
+10 -1
View File
@@ -63,6 +63,11 @@
#endif #endif
#if HAVE_WCHAR_H #if HAVE_WCHAR_H
/* BSD/OS 4.1 wchar.h requires FILE and struct tm to be declared. */
# include <stdio.h>
# include <time.h>
# include <wchar.h> # include <wchar.h>
#endif #endif
@@ -73,8 +78,12 @@
# undef MB_CUR_MAX # undef MB_CUR_MAX
# define MB_CUR_MAX 1 # define MB_CUR_MAX 1
# define mbrtowc(pwc, s, n, ps) ((*(pwc) = *(s)) != 0) # define mbrtowc(pwc, s, n, ps) ((*(pwc) = *(s)) != 0)
# define mbsinit(ps) 1
# define iswprint(wc) ISPRINT ((unsigned char) (wc)) # define iswprint(wc) ISPRINT ((unsigned char) (wc))
# undef HAVE_MBSINIT
#endif
#if !defined mbsinit && !HAVE_MBSINIT
# define mbsinit(ps) 1
#endif #endif
#ifndef iswprint #ifndef iswprint
+2 -2
View File
@@ -1,5 +1,5 @@
/* Find the length of STRING, but scan at most MAXLEN characters. /* Find the length of STRING, but scan at most MAXLEN characters.
Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc. Copyright (C) 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@@ -51,7 +51,7 @@ size_t
__strnlen (const char *string, size_t maxlen) __strnlen (const char *string, size_t maxlen)
{ {
const char *end = memchr (string, '\0', maxlen); const char *end = memchr (string, '\0', maxlen);
return end ? end - string : maxlen; return end ? (size_t) (end - string) : maxlen;
} }
#ifdef weak_alias #ifdef weak_alias
weak_alias (__strnlen, strnlen) weak_alias (__strnlen, strnlen)
+2 -2
View File
@@ -47,11 +47,11 @@ void free ();
#endif #endif
#ifndef HAVE_DONE_WORKING_MALLOC_CHECK #ifndef HAVE_DONE_WORKING_MALLOC_CHECK
you must run the autoconf test for a properly working malloc -- see malloc.m4 "you must run the autoconf test for a properly working malloc -- see malloc.m4"
#endif #endif
#ifndef HAVE_DONE_WORKING_REALLOC_CHECK #ifndef HAVE_DONE_WORKING_REALLOC_CHECK
you must run the autoconf test for a properly working realloc -- see realloc.m4 "you must run the autoconf test for a properly working realloc --see realloc.m4"
#endif #endif
/* Exit value when the requested amount of memory is not available. /* Exit value when the requested amount of memory is not available.
+2 -2
View File
@@ -1,16 +1,16 @@
## Process this file with automake to produce Makefile.in -*-Makefile-*- ## Process this file with automake to produce Makefile.in -*-Makefile-*-
EXTRA_DIST = \ EXTRA_DIST = \
atconfig.m4 \
c-bs-a.m4 \ c-bs-a.m4 \
codeset.m4 \ codeset.m4 \
dmalloc.m4 \
error.m4 \ error.m4 \
gettext.m4 \ gettext.m4 \
glibc21.m4 \ glibc21.m4 \
iconv.m4 \ iconv.m4 \
isc-posix.m4 \ isc-posix.m4 \
lcmessage.m4 \ lcmessage.m4 \
m4.m4 \
malloc.m4 \ malloc.m4 \
mbrtowc.m4 \
mbstate_t.m4 \ mbstate_t.m4 \
prereq.m4 \ prereq.m4 \
progtest.m4 \ progtest.m4 \
+13 -14
View File
@@ -1,4 +1,5 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am. # Makefile.in generated by automake 1.5a from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
@@ -43,6 +44,7 @@ AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
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@
@@ -57,8 +59,12 @@ PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
host_alias = @host_alias@ host_alias = @host_alias@
host_triplet = @host@ host_triplet = @host@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AT_TESTPATH = @AT_TESTPATH@ AUTOM4TE = @AUTOM4TE@
AWK = @AWK@ AWK = @AWK@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
@@ -67,10 +73,7 @@ CC = @CC@
CPP = @CPP@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@ GCC = @GCC@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@ GLIBC21 = @GLIBC21@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
@@ -81,12 +84,10 @@ INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@ INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LIB = @LIB@
LIBICONV = @LIBICONV@ LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
M4 = @M4@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
POFILES = @POFILES@ POFILES = @POFILES@
POSUB = @POSUB@ POSUB = @POSUB@
@@ -101,17 +102,17 @@ am__quote = @am__quote@
install_sh = @install_sh@ install_sh = @install_sh@
EXTRA_DIST = \ EXTRA_DIST = \
atconfig.m4 \
c-bs-a.m4 \ c-bs-a.m4 \
codeset.m4 \ codeset.m4 \
dmalloc.m4 \
error.m4 \ error.m4 \
gettext.m4 \ gettext.m4 \
glibc21.m4 \ glibc21.m4 \
iconv.m4 \ iconv.m4 \
isc-posix.m4 \ isc-posix.m4 \
lcmessage.m4 \ lcmessage.m4 \
m4.m4 \
malloc.m4 \ malloc.m4 \
mbrtowc.m4 \
mbstate_t.m4 \ mbstate_t.m4 \
prereq.m4 \ prereq.m4 \
progtest.m4 \ progtest.m4 \
@@ -132,9 +133,7 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnu m4/Makefile $(AUTOMAKE) --gnu m4/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
uninstall-info-am: uninstall-info-am:
tags: TAGS tags: TAGS
TAGS: TAGS:
-22
View File
@@ -1,22 +0,0 @@
## ----------------------##
## Prepare for testing. ##
## ----------------------##
# serial 2
# Single argument says where are built sources to test, relative to the
# built test directory. Maybe omitted if the same (flat distribution).
AC_DEFUN([AT_CONFIG],
[AT_TESTPATH=ifelse([$1], [], [.], [$1])
AC_SUBST([AT_TESTPATH])
# Try to be compatible with both Autoconf 2.13 and 2.50.
if test -z "$ECHO_C$ECHO_N$ECHO_T"; then
ECHO_C="$ac_c"
ECHO_N="$ac_n"
ECHO_T="$ac_t"
AC_SUBST([ECHO_C])
AC_SUBST([ECHO_N])
AC_SUBST([ECHO_T])
fi
])
+2 -2
View File
@@ -1,8 +1,8 @@
#serial 3 #serial 4
dnl From Paul Eggert. dnl From Paul Eggert.
AC_DEFUN(AC_C_BACKSLASH_A, AC_DEFUN([AC_C_BACKSLASH_A],
[ [
AC_CACHE_CHECK([whether backslash-a works in strings], ac_cv_c_backslash_a, AC_CACHE_CHECK([whether backslash-a works in strings], ac_cv_c_backslash_a,
[AC_TRY_COMPILE([], [AC_TRY_COMPILE([],
+22
View File
@@ -0,0 +1,22 @@
## ----------------------------------- ##
## Check if --with-dmalloc was given. ##
## From Franc,ois Pinard ##
## ----------------------------------- ##
# serial 1
AC_DEFUN([AM_WITH_DMALLOC],
[AC_MSG_CHECKING([if malloc debugging is wanted])
AC_ARG_WITH(dmalloc,
[ --with-dmalloc use dmalloc, as in
http://www.dmalloc.com/dmalloc.tar.gz],
[if test "$withval" = yes; then
AC_MSG_RESULT(yes)
AC_DEFINE(WITH_DMALLOC,1,
[Define if using the dmalloc debugging malloc package])
LIBS="$LIBS -ldmalloc"
LDFLAGS="$LDFLAGS -g"
else
AC_MSG_RESULT(no)
fi], [AC_MSG_RESULT(no)])
])
+5 -4
View File
@@ -1,12 +1,13 @@
#serial 1 #serial 4
dnl FIXME: put these prerequisite-only *.m4 files in a separate dnl FIXME: put these prerequisite-only *.m4 files in a separate
dnl directory -- otherwise, they'll conflict with existing files. dnl directory -- otherwise, they'll conflict with existing files.
dnl These are the prerequisite macros for GNU's error.c file. dnl These are the prerequisite macros for GNU's error.c file.
AC_DEFUN(jm_PREREQ_ERROR, AC_DEFUN([jm_PREREQ_ERROR],
[ [
AC_CHECK_FUNCS(strerror strerror_r vprintf doprnt) AC_CHECK_FUNCS(strerror vprintf doprnt)
AC_HEADER_STDC AC_CHECK_DECLS([strerror])
AC_FUNC_STRERROR_R AC_FUNC_STRERROR_R
AC_HEADER_STDC
]) ])
+7 -5
View File
@@ -3,10 +3,12 @@
# #
# This file can be copied and used freely without restrictions. It can # This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU General Public # be used in projects which are not available under the GNU General Public
# License but which still want to provide support for the GNU gettext # License or the GNU Library General Public License but which still want
# functionality. # to provide support for the GNU gettext functionality.
# Please note that the actual code of GNU gettext is covered by the GNU # Please note that the actual code of the GNU gettext library is covered
# General Public License and is *not* in the public domain. # by the GNU Library General Public License, and the rest of the GNU
# gettext package package is covered by the GNU General Public License.
# They are *not* in the public domain.
# serial 10 # serial 10
@@ -241,7 +243,7 @@ return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", ""
dnl Found it, now check the version. dnl Found it, now check the version.
AC_MSG_CHECKING([version of bison]) AC_MSG_CHECKING([version of bison])
changequote(<<,>>)dnl changequote(<<,>>)dnl
ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison .* \([0-9]*\.[0-9.]*\).*$/\1/p'` ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
case $ac_prog_version in case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
+6 -4
View File
@@ -3,10 +3,12 @@
# #
# This file can be copied and used freely without restrictions. It can # This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU General Public # be used in projects which are not available under the GNU General Public
# License but which still want to provide support for the GNU gettext # License or the GNU Library General Public License but which still want
# functionality. # to provide support for the GNU gettext functionality.
# Please note that the actual code of GNU gettext is covered by the GNU # Please note that the actual code of the GNU gettext library is covered
# General Public License and is *not* in the public domain. # by the GNU Library General Public License, and the rest of the GNU
# gettext package package is covered by the GNU General Public License.
# They are *not* in the public domain.
# serial 2 # serial 2
-16
View File
@@ -1,16 +0,0 @@
# serial 1 -*- Autoconf -*-
# BISON_AC_PROG_GNU_M4
# --------------------
# Check for GNU m4, at least 1.3 (supports frozen files).
AC_DEFUN([BISON_AC_PROG_GNU_M4],
[AC_PATH_PROGS(M4, gm4 gnum4 m4, m4)
AC_CACHE_CHECK([whether m4 supports frozen files],
[ac_cv_prog_gnu_m4],
[ac_cv_prog_gnu_m4=no
if test x"$M4" != x; then
case `$M4 --help < /dev/null 2>&1` in
*reload-state*) ac_cv_prog_gnu_m4=yes ;;
esac
fi])
])# BISON_AC_PROG_GNU_M4
+6 -7
View File
@@ -1,16 +1,16 @@
#serial 3 #serial 5
dnl From Jim Meyering. dnl From Jim Meyering.
dnl Determine whether malloc accepts 0 as its argument. dnl Determine whether malloc accepts 0 as its argument.
dnl If it doesn't, arrange to use the replacement function. dnl If it doesn't, arrange to use the replacement function.
dnl dnl
AC_DEFUN(jm_FUNC_MALLOC, AC_DEFUN([jm_FUNC_MALLOC],
[ [
dnl xmalloc.c requires that this symbol be defined so it doesn't dnl xmalloc.c requires that this symbol be defined so it doesn't
dnl mistakenly use a broken malloc -- as it might if this test were omitted. dnl mistakenly use a broken malloc -- as it might if this test were omitted.
AC_DEFINE_UNQUOTED(HAVE_DONE_WORKING_MALLOC_CHECK, 1, AC_DEFINE(HAVE_DONE_WORKING_MALLOC_CHECK, 1,
[Define if the malloc check has been performed. ]) [Define if the malloc check has been performed. ])
AC_CACHE_CHECK([for working malloc], jm_cv_func_working_malloc, AC_CACHE_CHECK([for working malloc], jm_cv_func_working_malloc,
[AC_TRY_RUN([ [AC_TRY_RUN([
@@ -27,9 +27,8 @@ AC_DEFUN(jm_FUNC_MALLOC,
jm_cv_func_working_malloc=no) jm_cv_func_working_malloc=no)
]) ])
if test $jm_cv_func_working_malloc = no; then if test $jm_cv_func_working_malloc = no; then
AC_SUBST(LIBOBJS) AC_LIBOBJ(malloc)
LIBOBJS="$LIBOBJS malloc.$ac_objext" AC_DEFINE(malloc, rpl_malloc,
AC_DEFINE_UNQUOTED(malloc, rpl_malloc,
[Define to rpl_malloc if the replacement function should be used.]) [Define to rpl_malloc if the replacement function should be used.])
fi fi
]) ])
+18
View File
@@ -0,0 +1,18 @@
#serial 4
dnl From Paul Eggert
AC_DEFUN([jm_FUNC_MBRTOWC],
[
AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared],
jm_cv_func_mbrtowc,
[AC_TRY_LINK(
[#include <wchar.h>],
[mbstate_t state; return ! (sizeof state && mbrtowc);],
jm_cv_func_mbrtowc=yes,
jm_cv_func_mbrtowc=no)])
if test $jm_cv_func_mbrtowc = yes; then
AC_DEFINE(HAVE_MBRTOWC, 1,
[Define to 1 if mbrtowc and mbstate_t are properly declared.])
fi
])
+2 -2
View File
@@ -1,4 +1,4 @@
# serial 8 # serial 9
# From Paul Eggert. # From Paul Eggert.
@@ -10,7 +10,7 @@
# (at least glibc-2.1.3) because the "_XOPEN_SOURCE 500" definition elicits # (at least glibc-2.1.3) because the "_XOPEN_SOURCE 500" definition elicits
# a syntax error in wchar.h due to the use of undefined __int32_t. # a syntax error in wchar.h due to the use of undefined __int32_t.
AC_DEFUN(AC_MBSTATE_T, AC_DEFUN([AC_MBSTATE_T],
[ [
AC_CHECK_HEADERS(stdlib.h) AC_CHECK_HEADERS(stdlib.h)
+4 -3
View File
@@ -1,12 +1,13 @@
#serial 1 #serial 2
dnl These are the prerequisite macros for files in the lib/ dnl These are the prerequisite macros for files in the lib/
dnl directories of Bison. dnl directories of Bison.
AC_DEFUN([jm_PREREQ_QUOTEARG], AC_DEFUN([jm_PREREQ_QUOTEARG],
[ [
AC_CHECK_FUNCS(isascii iswprint mbrtowc) AC_CHECK_FUNCS(isascii iswprint mbsinit)
AC_CHECK_HEADERS(limits.h stdlib.h string.h wchar.h wctype.h) jm_FUNC_MBRTOWC
AC_CHECK_HEADERS(limits.h stddef.h stdlib.h string.h wchar.h wctype.h)
AC_HEADER_STDC AC_HEADER_STDC
AC_C_BACKSLASH_A AC_C_BACKSLASH_A
AC_MBSTATE_T AC_MBSTATE_T
+6 -4
View File
@@ -3,10 +3,12 @@
# #
# This file can be copied and used freely without restrictions. It can # This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU General Public # be used in projects which are not available under the GNU General Public
# License but which still want to provide support for the GNU gettext # License or the GNU Library General Public License but which still want
# functionality. # to provide support for the GNU gettext functionality.
# Please note that the actual code of GNU gettext is covered by the GNU # Please note that the actual code of the GNU gettext library is covered
# General Public License and is *not* in the public domain. # by the GNU Library General Public License, and the rest of the GNU
# gettext package package is covered by the GNU General Public License.
# They are *not* in the public domain.
# serial 2 # serial 2
+6 -7
View File
@@ -1,16 +1,16 @@
#serial 3 #serial 5
dnl From Jim Meyering. dnl From Jim Meyering.
dnl Determine whether realloc works when both arguments are 0. dnl Determine whether realloc works when both arguments are 0.
dnl If it doesn't, arrange to use the replacement function. dnl If it doesn't, arrange to use the replacement function.
dnl dnl
AC_DEFUN(jm_FUNC_REALLOC, AC_DEFUN([jm_FUNC_REALLOC],
[ [
dnl xmalloc.c requires that this symbol be defined so it doesn't dnl xmalloc.c requires that this symbol be defined so it doesn't
dnl mistakenly use a broken realloc -- as it might if this test were omitted. dnl mistakenly use a broken realloc -- as it might if this test were omitted.
AC_DEFINE_UNQUOTED(HAVE_DONE_WORKING_REALLOC_CHECK, 1, AC_DEFINE(HAVE_DONE_WORKING_REALLOC_CHECK, 1,
[Define if the realloc check has been performed. ]) [Define if the realloc check has been performed. ])
AC_CACHE_CHECK([for working realloc], jm_cv_func_working_realloc, AC_CACHE_CHECK([for working realloc], jm_cv_func_working_realloc,
[AC_TRY_RUN([ [AC_TRY_RUN([
@@ -27,9 +27,8 @@ AC_DEFUN(jm_FUNC_REALLOC,
jm_cv_func_working_realloc=no) jm_cv_func_working_realloc=no)
]) ])
if test $jm_cv_func_working_realloc = no; then if test $jm_cv_func_working_realloc = no; then
AC_SUBST(LIBOBJS) AC_LIBOBJ(realloc)
LIBOBJS="$LIBOBJS realloc.$ac_objext" AC_DEFINE(realloc, rpl_realloc,
AC_DEFINE_UNQUOTED(realloc, rpl_realloc,
[Define to rpl_realloc if the replacement function should be used.]) [Define to rpl_realloc if the replacement function should be used.])
fi fi
]) ])
+38 -45
View File
@@ -1,9 +1,23 @@
#serial 1002 #serial 1003
# Experimental replacement for the function in the latest CVS autoconf. # Experimental replacement for the function in the latest CVS autoconf.
# If the compile-test says strerror_r doesn't work, then resort to a
# `run'-test that works on BeOS and segfaults on DEC Unix.
# Use with the error.c file in ../lib. # Use with the error.c file in ../lib.
# Copyright 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
undefine([AC_FUNC_STRERROR_R]) undefine([AC_FUNC_STRERROR_R])
# AC_FUNC_STRERROR_R # AC_FUNC_STRERROR_R
@@ -11,56 +25,35 @@ undefine([AC_FUNC_STRERROR_R])
AC_DEFUN([AC_FUNC_STRERROR_R], AC_DEFUN([AC_FUNC_STRERROR_R],
[AC_CHECK_DECLS([strerror_r]) [AC_CHECK_DECLS([strerror_r])
AC_CHECK_FUNCS([strerror_r]) AC_CHECK_FUNCS([strerror_r])
if test $ac_cv_func_strerror_r = yes; then AC_CACHE_CHECK([whether strerror_r returns char *],
AC_CHECK_HEADERS(string.h) ac_cv_func_strerror_r_char_p,
AC_CACHE_CHECK([for working strerror_r],
ac_cv_func_strerror_r_works,
[ [
AC_TRY_COMPILE( ac_cv_func_strerror_r_char_p=no
[ if test $ac_cv_have_decl_strerror_r = yes; then
# include <stdio.h> AC_COMPILE_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
# if HAVE_STRING_H [[
# include <string.h> char buf[100];
# endif char x = *strerror_r (0, buf, sizeof buf);
], char *p = strerror_r (0, buf, sizeof buf);
[ ]])],
char buf[100]; ac_cv_func_strerror_r_char_p=yes)
char x = *strerror_r (0, buf, sizeof buf); else
], # strerror_r is not declared. Choose between
ac_cv_func_strerror_r_works=yes,
ac_cv_func_strerror_r_works=no
)
if test $ac_cv_func_strerror_r_works = no; then
# strerror_r seems not to work, but now we have to choose between
# systems that have relatively inaccessible declarations for the # systems that have relatively inaccessible declarations for the
# function. BeOS and DEC UNIX 4.0 fall in this category, but the # function. BeOS and DEC UNIX 4.0 fall in this category, but the
# former has a strerror_r that returns char*, while the latter # former has a strerror_r that returns char*, while the latter
# has a strerror_r that returns `int'. # has a strerror_r that returns `int'.
# This test should segfault on the DEC system. # This test should segfault on the DEC system.
AC_TRY_RUN( AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT
[ extern char *strerror_r ();],
# include <stdio.h> [[char buf[100];
# include <string.h>
# include <ctype.h>
extern char *strerror_r ();
int
main ()
{
char buf[100];
char x = *strerror_r (0, buf, sizeof buf); char x = *strerror_r (0, buf, sizeof buf);
exit (!isalpha (x)); exit (!isalpha (x));]])],
} ac_cv_func_strerror_r_char_p=yes, , :)
],
ac_cv_func_strerror_r_works=yes,
ac_cv_func_strerror_r_works=no,
ac_cv_func_strerror_r_works=no)
fi fi
]) ])
if test $ac_cv_func_strerror_r_works = yes; then if test $ac_cv_func_strerror_r_char_p = yes; then
AC_DEFINE_UNQUOTED(HAVE_WORKING_STRERROR_R, 1, AC_DEFINE([STRERROR_R_CHAR_P], 1,
[Define to 1 if `strerror_r' returns a string.]) [Define to 1 if strerror_r returns char *.])
fi
fi fi
])# AC_FUNC_STRERROR_R ])# AC_FUNC_STRERROR_R
-283
View File
@@ -1,283 +0,0 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
# Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <[email protected]>, 1996.
# 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.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
fi
run=:
# In the cases where this matters, `missing' is being run in the
# srcdir already.
if test -f configure.ac; then
configure_ac=configure.ac
else
configure_ac=configure.in
fi
case "$1" in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
shift
"$@" && exit 0
;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case "$1" in
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
error status if there is no known handling for PROGRAM.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
--run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
help2man touch the output file
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing 0.3 - GNU automake"
;;
-*)
echo 1>&2 "$0: Unknown \`$1' option"
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
;;
aclocal)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
touch aclocal.m4
;;
autoconf)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`${configure_ac}'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
touch configure
;;
autoheader)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
case "$f" in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
esac
done
touch $touch_files
;;
automake)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
find . -type f -name Makefile.am -print |
sed 's/\.am$/.in/' |
while read f; do touch "$f"; done
;;
bison|yacc)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
if [ ! -f y.tab.h ]; then
echo >y.tab.h
fi
if [ ! -f y.tab.c ]; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
lex|flex)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
if [ ! -f lex.yy.c ]; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
help2man)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a dependency of a manual page. You may need the
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
fi
if [ -f "$file" ]; then
touch $file
else
test -z "$file" || exec >$file
echo ".ab help2man is required to generate this page"
exit 1
fi
;;
makeinfo)
if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
# We have makeinfo, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
fi
touch $file
;;
tar)
shift
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
fi
# We have already tried tar in the generic part.
# Look for gnutar/gtar before invocation to avoid ugly error
# messages.
if (gnutar --version > /dev/null 2>&1); then
gnutar ${1+"$@"} && exit 0
fi
if (gtar --version > /dev/null 2>&1); then
gtar ${1+"$@"} && exit 0
fi
firstarg="$1"
if shift; then
case "$firstarg" in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" ${1+"$@"} && exit 0
;;
esac
case "$firstarg" in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" ${1+"$@"} && exit 0
;;
esac
fi
echo 1>&2 "\
WARNING: I can't seem to be able to run \`tar' with the given arguments.
You may want to install GNU tar or Free paxutils, or check the
command line arguments."
exit 1
;;
*)
echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your
system. You might have modified some files without having the
proper tools for further handling them. Check the \`README' file,
it often tells you about the needed prerequirements for installing
this package. You may also peek at any GNU archive site, in case
some other package would contain this missing \`$1' program."
exit 1
;;
esac
exit 0
-40
View File
@@ -1,40 +0,0 @@
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
# Author: Noah Friedman <[email protected]>
# Created: 1993-05-16
# Public domain
# $Id$
errstatus=0
for file
do
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
shift
pathcomp=
for d
do
pathcomp="$pathcomp$d"
case "$pathcomp" in
-* ) pathcomp=./$pathcomp ;;
esac
if test ! -d "$pathcomp"; then
echo "mkdir $pathcomp"
mkdir "$pathcomp" || lasterr=$?
if test ! -d "$pathcomp"; then
errstatus=$lasterr
fi
fi
pathcomp="$pathcomp/"
done
done
exit $errstatus
# mkinstalldirs ends here
+1
View File
@@ -4,3 +4,4 @@ Makefile.in
POTFILES POTFILES
bison.pot bison.pot
stamp-cat-id stamp-cat-id
*.gmo
+30
View File
@@ -1,3 +1,33 @@
2001-11-02 gettextize <[email protected]>
* Makefile.in.in: Upgrade to gettext-0.10.40.
2001-11-02 gettextize <[email protected]>
* Makefile.in.in: Upgrade to gettext-0.10.40.
2001-11-02 gettextize <[email protected]>
* Makefile.in.in: Upgrade to gettext-0.10.40.
2001-10-10 gettextize <[email protected]>
* Makefile.in.in: Upgrade to gettext-0.10.40.
2001-10-10 gettextize <[email protected]>
* Makefile.in.in: Upgrade to gettext-0.10.40.
2001-10-09 gettextize <[email protected]>
* Makefile.in.in: Upgrade to gettext-0.10.40.
* cat-id-tbl.c: Remove file.
2001-09-27 gettextize <[email protected]>
* Makefile.in.in: Upgrade to gettext-0.10.40.
* cat-id-tbl.c: Remove file.
2001-08-03 gettextize <[email protected]> 2001-08-03 gettextize <[email protected]>
* Makefile.in.in: Upgrade to gettext-0.10.39. * Makefile.in.in: Upgrade to gettext-0.10.39.
-188
View File
@@ -1,188 +0,0 @@
/* Automatically generated by po2tbl.sed from bison.pot. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include "libgettext.h"
const struct _msg_ent _msg_tbl[] = {
{"", 1},
{"too many states (max %d)", 2},
{"Conflict in state %d between rule %d and token %s resolved as %s.\n", 3},
{"reduce", 4},
{"shift", 5},
{"an error", 6},
{" 1 shift/reduce conflict", 7},
{" %d shift/reduce conflicts", 8},
{" and", 9},
{" 1 reduce/reduce conflict", 10},
{" %d reduce/reduce conflicts", 11},
{"State %d contains", 12},
{"conflicts: ", 13},
{" %d shift/reduce", 14},
{" %d reduce/reduce", 15},
{"%s contains", 16},
{" %-4s\t[reduce using rule %d (%s)]\n", 17},
{"\
$default\treduce using rule %d (%s)\n\
\n", 18},
{" %-4s\treduce using rule %d (%s)\n", 19},
{" $default\treduce using rule %d (%s)\n", 20},
{"DERIVES", 21},
{"%s derives", 22},
{"GNU bison generates parsers for LALR(1) grammars.\n", 23},
{"Usage: %s [OPTION]... FILE\n", 24},
{"\
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", 25},
{"\
Operation modes:\n\
-h, --help display this help and exit\n\
-V, --version output version information and exit\n\
-y, --yacc emulate POSIX yacc\n", 26},
{"\
Parser:\n\
-S, --skeleton=FILE specify the skeleton to use\n\
-t, --debug instrument the parser for debugging\n\
--locations enable locations computation\n\
-p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n\
-l, --no-lines don't generate `#line' directives\n\
-n, --no-parser generate the tables only\n\
-r, --raw number the tokens from 3\n\
-k, --token-table include a table of token names\n", 27},
{"\
Output:\n\
-d, --defines also produce a header file\n\
-v, --verbose also produce an explanation of the automaton\n\
-b, --file-prefix=PREFIX specify a PREFIX for output files\n\
-o, --output-file=FILE leave output to FILE\n", 28},
{"Report bugs to <[email protected]>.\n", 29},
{"bison (GNU Bison) %s", 30},
{"\
Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n", 31},
{"\
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", 32},
{"Try `%s --help' for more information.\n", 33},
{"%s: no grammar file given\n", 34},
{"%s: extra arguments ignored after `%s'\n", 35},
{"too many gotos (max %d)", 36},
{"unexpected `/' found and ignored", 37},
{"unterminated comment", 38},
{"unexpected end of file", 39},
{"unescaped newline in constant", 40},
{"octal value outside range 0...255: `\\%o'", 41},
{"hexadecimal value above 255: `\\x%x'", 42},
{"unknown escape sequence: `\\' followed by `%s'", 43},
{"unterminated type name at end of file", 44},
{"unterminated type name", 45},
{"use \"...\" for multi-character literal tokens", 46},
{"%s: internal error: %s\n", 47},
{"Entering set_nullable", 48},
{"maximum table size (%d) exceeded", 49},
{" type %d is %s\n", 50},
{" (rule %d)", 51},
{" $default\taccept\n", 52},
{" NO ACTIONS\n", 53},
{" $ \tgo to state %d\n", 54},
{" %-4s\tshift, and go to state %d\n", 55},
{" %-4s\terror (nonassociative)\n", 56},
{" %-4s\tgo to state %d\n", 57},
{"state %d", 58},
{"Grammar", 59},
{"rule %-4d %s ->", 60},
{"\t\t/* empty */", 61},
{"Terminals, with rules where they appear", 62},
{"Nonterminals, with rules where they appear", 63},
{" on left:", 64},
{" on right:", 65},
{" Skipping to next \\n", 66},
{" Skipping to next %c", 67},
{"invalid $ value", 68},
{"unterminated string at end of file", 69},
{"unterminated string", 70},
{"%s is invalid", 71},
{"$$ of `%s' has no declared type", 72},
{"$%d of `%s' has no declared type", 73},
{"unterminated `%{' definition", 74},
{"Premature EOF after %s", 75},
{"symbol `%s' used more than once as a literal string", 76},
{"symbol `%s' given more than one literal string", 77},
{"symbol %s redefined", 78},
{"type redeclaration for %s", 79},
{"`%s' is invalid in %s", 80},
{"multiple %s declarations", 81},
{"invalid %s declaration", 82},
{"%type declaration has no <typename>", 83},
{"invalid %%type declaration due to item: %s", 84},
{"redefining precedence of %s", 85},
{"invalid text (%s) - number should be after identifier", 86},
{"unexpected item: %s", 87},
{"unmatched %s", 88},
{"argument of %%expect is not an integer", 89},
{"unrecognized item %s, expected an identifier", 90},
{"expected string constant instead of %s", 91},
{"unrecognized: %s", 92},
{"no input grammar", 93},
{"unknown character: %s", 94},
{"unterminated %guard clause", 95},
{"ill-formed rule: initial symbol not followed by colon", 96},
{"grammar starts with vertical bar", 97},
{"rule given for %s, which is a token", 98},
{"two @prec's in a row", 99},
{"%%guard present but %%semantic_parser not specified", 100},
{"two actions at end of one rule", 101},
{"type clash (`%s' `%s') on default action", 102},
{"empty rule for typed nonterminal, and no action", 103},
{"invalid input: %s", 104},
{"too many symbols (tokens plus nonterminals); maximum %d", 105},
{"no rules in the input grammar", 106},
{"symbol %s is used, but is not defined as a token and has no rules", 107},
{"conflicting precedences for %s and %s", 108},
{"conflicting assoc values for %s and %s", 109},
{"tokens %s and %s both assigned number %d", 110},
{"the start symbol %s is undefined", 111},
{"the start symbol %s is a token", 112},
{"Useless nonterminals:", 113},
{"Terminals which are not used:", 114},
{"Useless rules:", 115},
{"\
Variables\n\
---------\n\
\n", 116},
{"Value Sprec Sassoc Tag\n", 117},
{"\
Rules\n\
-----\n\
\n", 118},
{"\
Rules interpreted\n\
-----------------\n\
\n", 119},
{"%d rules never reduced\n", 120},
{"%s contains ", 121},
{"%d useless nonterminal%s", 122},
{" and ", 123},
{"%d useless rule%s", 124},
{"Start symbol %s does not derive any sentence", 125},
{"\
reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n", 126},
{"Unknown system error", 127},
{"%s: option `%s' is ambiguous\n", 128},
{"%s: option `--%s' doesn't allow an argument\n", 129},
{"%s: option `%c%s' doesn't allow an argument\n", 130},
{"%s: option `%s' requires an argument\n", 131},
{"%s: unrecognized option `--%s'\n", 132},
{"%s: unrecognized option `%c%s'\n", 133},
{"%s: illegal option -- %c\n", 134},
{"%s: invalid option -- %c\n", 135},
{"%s: option requires an argument -- %c\n", 136},
{"%s: option `-W %s' is ambiguous\n", 137},
{"%s: option `-W %s' doesn't allow an argument\n", 138},
{"memory exhausted", 139},
{"`", 140},
{"'", 141},
};
int _msg_tbl_length = 141;
BIN
View File
Binary file not shown.
+192 -179
View File
@@ -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-08-29 14:32+0200\n" "POT-Creation-Date: 2001-11-14 15:59+0100\n"
"PO-Revision-Date: 1996-10-10 17:54 MET DST\n" "PO-Revision-Date: 1996-10-10 17:54 MET DST\n"
"Last-Translator: Ulrich Drepper <[email protected]>\n" "Last-Translator: Ulrich Drepper <[email protected]>\n"
"Language-Team: German <[email protected]>\n" "Language-Team: German <[email protected]>\n"
@@ -18,90 +18,91 @@ msgstr ""
msgid "too many states (max %d)" msgid "too many states (max %d)"
msgstr "" msgstr ""
#: lib/error.c:117 src/complain.c:100 #: lib/error.c:128 lib/error.c:156 src/complain.c:96
msgid "Unknown system error" msgid "Unknown system error"
msgstr "" msgstr ""
#: src/complain.c:154 #: src/complain.c:150
msgid "warning: " msgid "warning: "
msgstr "" msgstr ""
#: src/complain.c:242 src/complain.c:283 #: src/complain.c:238 src/complain.c:279
#, fuzzy #, fuzzy
msgid "fatal error: " msgid "fatal error: "
msgstr "fataler Fehler: %s\n" msgstr "fataler Fehler: %s\n"
#: src/conflicts.c:49 #: src/conflicts.c:45
#, c-format #, c-format
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n" msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
msgstr "Konflikt in Zustand %d zwischen Regel %d and Token %s wurde %s.\n" msgstr "Konflikt in Zustand %d zwischen Regel %d and Token %s wurde %s.\n"
#: src/conflicts.c:115 src/conflicts.c:138 #: src/conflicts.c:111 src/conflicts.c:134
msgid "reduce" msgid "reduce"
msgstr "durch Reduzierung gelöst" msgstr "durch Reduzierung gelöst"
#: src/conflicts.c:121 src/conflicts.c:134 #: src/conflicts.c:117 src/conflicts.c:130
msgid "shift" msgid "shift"
msgstr "durch Schieben gelöst" msgstr "durch Schieben gelöst"
#: src/conflicts.c:142 #: src/conflicts.c:138
msgid "an error" msgid "an error"
msgstr "als Fehler betrachtet" msgstr "als Fehler betrachtet"
#: src/conflicts.c:422 #: src/conflicts.c:411
msgid " 1 shift/reduce conflict" #, fuzzy, c-format
msgstr " 1 Schiebe/Reduziere Konflikt" msgid "%d shift/reduce conflict"
msgid_plural "%d shift/reduce conflicts"
msgstr[0] " %d Schiebe/Reduziere Konflikte"
#: src/conflicts.c:427 #: src/conflicts.c:418
#, c-format #, fuzzy
msgid " %d shift/reduce conflicts" msgid "and"
msgstr " %d Schiebe/Reduziere Konflikte"
#: src/conflicts.c:433
msgid " and"
msgstr " und" msgstr " und"
#: src/conflicts.c:439 #: src/conflicts.c:424
msgid " 1 reduce/reduce conflict" #, fuzzy, c-format
msgstr " 1 Reduziere/Reduziere Konflikt" msgid "%d reduce/reduce conflict"
msgid_plural "%d reduce/reduce conflicts"
msgstr[0] " %d Reduziere/Reduziere Konflikte"
#: src/conflicts.c:444 #: src/conflicts.c:448
#, c-format #, fuzzy, c-format
msgid " %d reduce/reduce conflicts" msgid "State %d contains "
msgstr " %d Reduziere/Reduziere Konflikte"
#: src/conflicts.c:481
#, c-format
msgid "State %d contains"
msgstr "Zustand %d enthält" msgstr "Zustand %d enthält"
#. If invoked with `--yacc', use the output format specified by #. If invoked with `--yacc', use the output format specified by
#. POSIX. #. POSIX.
#: src/conflicts.c:493 #: src/conflicts.c:482
msgid "conflicts: " msgid "conflicts: "
msgstr "Konflikte: " msgstr "Konflikte: "
#: src/conflicts.c:495 #: src/conflicts.c:484
#, c-format #, c-format
msgid " %d shift/reduce" msgid " %d shift/reduce"
msgstr " %d Schiebe/Reduziere" msgstr " %d Schiebe/Reduziere"
#: src/conflicts.c:499 #: src/conflicts.c:488
#, c-format #, c-format
msgid " %d reduce/reduce" msgid " %d reduce/reduce"
msgstr " %d Reduziere/Reduziere" msgstr " %d Reduziere/Reduziere"
#: src/conflicts.c:504 #: src/conflicts.c:493 src/reduce.c:497
#, c-format #, c-format
msgid "%s contains" msgid "%s contains "
msgstr "%s enthält" msgstr "%s enthält "
#: src/conflicts.c:590 src/conflicts.c:711 #: src/conflicts.c:502
#, fuzzy, c-format
msgid "expected %d shift/reduce conflict"
msgid_plural "expected %d shift/reduce conflicts"
msgstr[0] " %d Schiebe/Reduziere Konflikte"
#: src/conflicts.c:589 src/conflicts.c:709
#, c-format #, c-format
msgid " %-4s\t[reduce using rule %d (%s)]\n" msgid " %-4s\t[reduce using rule %d (%s)]\n"
msgstr " %-4s\t[reduziere mit Regel %d (%s)]\n" msgstr " %-4s\t[reduziere mit Regel %d (%s)]\n"
#: src/conflicts.c:602 src/print.c:173 #: src/conflicts.c:600 src/print.c:172
#, c-format #, c-format
msgid "" msgid ""
" $default\treduce using rule %d (%s)\n" " $default\treduce using rule %d (%s)\n"
@@ -110,52 +111,52 @@ msgstr ""
" $default\treduziere mit Regel %d (%s)\n" " $default\treduziere mit Regel %d (%s)\n"
"\n" "\n"
#: src/conflicts.c:691 src/conflicts.c:705 #: src/conflicts.c:689 src/conflicts.c:703
#, 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:732 #: src/conflicts.c:729
#, c-format #, c-format
msgid " $default\treduce using rule %d (%s)\n" msgid " $default\treduce using rule %d (%s)\n"
msgstr " $default\treduziere mit Regel %d (%s)\n" msgstr " $default\treduziere mit Regel %d (%s)\n"
#: src/derives.c:44 #: src/derives.c:43
msgid "DERIVES" msgid "DERIVES"
msgstr "" msgstr ""
#: src/derives.c:49 #: src/derives.c:48
#, c-format #, c-format
msgid "%s derives" msgid "%s derives"
msgstr "%s leitet ab" msgstr "%s leitet ab"
#: src/files.c:130 #: src/files.c:143
#, c-format #, c-format
msgid "cannot open file `%s'" msgid "cannot open file `%s'"
msgstr "" msgstr ""
#: src/files.c:149 #: src/files.c:162
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:83 #: 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 ""
#: src/getargs.c:87 #: src/getargs.c:88
#, c-format #, c-format
msgid "Usage: %s [OPTION]... FILE\n" msgid "Usage: %s [OPTION]... FILE\n"
msgstr "" msgstr ""
#: src/getargs.c:91 #: 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 ""
#: src/getargs.c:97 #: src/getargs.c:98
msgid "" msgid ""
"Operation modes:\n" "Operation modes:\n"
" -h, --help display this help and exit\n" " -h, --help display this help and exit\n"
@@ -163,7 +164,7 @@ msgid ""
" -y, --yacc emulate POSIX yacc\n" " -y, --yacc emulate POSIX yacc\n"
msgstr "" msgstr ""
#: src/getargs.c:104 #: src/getargs.c:105
msgid "" msgid ""
"Parser:\n" "Parser:\n"
" -S, --skeleton=FILE specify the skeleton to use\n" " -S, --skeleton=FILE specify the skeleton to use\n"
@@ -175,119 +176,129 @@ msgid ""
" -k, --token-table include a table of token names\n" " -k, --token-table include a table of token names\n"
msgstr "" msgstr ""
#: src/getargs.c:116 #: src/getargs.c:117
msgid "" msgid ""
"Output:\n" "Output:\n"
" -d, --defines also produce a header file\n" " -d, --defines also produce a header file\n"
" -v, --verbose also produce an explanation of the automaton\n" " -v, --verbose also produce an explanation of the automaton\n"
" -b, --file-prefix=PREFIX specify a PREFIX for output files\n" " -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
" -o, --output-file=FILE leave output to FILE\n" " -o, --output=FILE leave output to FILE\n"
" -g, --graph also produce a VCG graph description of the " " -g, --graph also produce a VCG description of the "
"automaton\n" "automaton\n"
msgstr "" msgstr ""
#: src/getargs.c:126 #: src/getargs.c:127
msgid "Report bugs to <[email protected]>.\n" msgid "Report bugs to <[email protected]>.\n"
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:140 #: src/getargs.c:141
#, c-format #, c-format
msgid "bison (GNU Bison) %s" msgid "bison (GNU Bison) %s"
msgstr "" msgstr ""
#: src/getargs.c:145 #: 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 ""
#: src/getargs.c:149 #: 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 ""
#: src/getargs.c:210 src/lex.c:636 #: src/getargs.c:215 src/lex.c:694
#, c-format #, c-format
msgid "`%s' is no longer supported" msgid "`%s' is no longer supported"
msgstr "" msgstr ""
#: src/getargs.c:234 #: src/getargs.c:239
#, 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:241 #: src/getargs.c:246
#, 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:245 #: src/getargs.c:250
#, 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:312 #: src/lalr.c:311
#, c-format #, c-format
msgid "too many gotos (max %d)" msgid "too many gotos (max %d)"
msgstr "" msgstr ""
#: src/lex.c:70 #: src/lex.c:76
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:99 src/reader.c:270 #: src/lex.c:105 src/reader.c:269
msgid "unterminated comment" msgid "unterminated comment"
msgstr "unbeendeter Kommentar" msgstr "unbeendeter Kommentar"
#: src/lex.c:131 #: src/lex.c:137
#, fuzzy #, fuzzy
msgid "unexpected end of file" msgid "unexpected end of file"
msgstr "Datei endet unerwartet" msgstr "Datei endet unerwartet"
# Oder soll man den Begriff "Escapezeichen" verwenden? # Oder soll man den Begriff "Escapezeichen" verwenden?
#: src/lex.c:160 #: src/lex.c:166
msgid "unescaped newline in constant" msgid "unescaped newline in constant"
msgstr "nicht maskiertes Zeilenendezeichen in Konstante" msgstr "nicht maskiertes Zeilenendezeichen in Konstante"
#: src/lex.c:202 #: src/lex.c:208
#, c-format #, c-format
msgid "octal value outside range 0...255: `\\%o'" msgid "octal value outside range 0...255: `\\%o'"
msgstr "oktaler Zahlenwert außerhalb des Bereichs 0...255: »\\%o«" msgstr "oktaler Zahlenwert außerhalb des Bereichs 0...255: »\\%o«"
#: src/lex.c:227 #: src/lex.c:233
#, c-format #, c-format
msgid "hexadecimal value above 255: `\\x%x'" msgid "hexadecimal value above 255: `\\x%x'"
msgstr "hexadezimaler Zahlenwert größer als 255: »\\x%x«" msgstr "hexadezimaler Zahlenwert größer als 255: »\\x%x«"
#: src/lex.c:239 #: src/lex.c:245
#, c-format #, c-format
msgid "unknown escape sequence: `\\' followed by `%s'" msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "unbekanntes Fluchtzeichen: »\\« gefolgt von »%s«" msgstr "unbekanntes Fluchtzeichen: »\\« gefolgt von »%s«"
#: src/lex.c:335 #: src/lex.c:342
msgid "unterminated type name at end of file" msgid "unterminated type name at end of file"
msgstr "unerwarteter Typname am Ende der Datei" msgstr "unerwarteter Typname am Ende der Datei"
#: src/lex.c:338 #: src/lex.c:345
msgid "unterminated type name" msgid "unterminated type name"
msgstr "unerwarteter Typname" msgstr "unerwarteter Typname"
#: src/lex.c:430 #: src/lex.c:438
msgid "use \"...\" for multi-character literal tokens" msgid "use \"...\" for multi-character literal tokens"
msgstr "für Literal mit mehreren Zeichen bitte \"...\" verwenden" msgstr "für Literal mit mehreren Zeichen bitte \"...\" verwenden"
#: src/main.c:108 #: src/lex.c:667
#, c-format
msgid "`%s' supports no argument: %s"
msgstr ""
#: src/lex.c:683
#, fuzzy, c-format
msgid "`%s' requires an argument"
msgstr "%s: die Option »%s« erfordert ein Argument\n"
#: src/main.c:128
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: internal error: %s\n" msgid "%s: internal error: %s\n"
msgstr "interner Fehler, %s\n" msgstr "interner Fehler, %s\n"
#: src/nullable.c:52 #: src/nullable.c:51
msgid "Entering set_nullable" msgid "Entering set_nullable"
msgstr "Führe »set_nullable« aus" msgstr "Führe »set_nullable« aus"
#: src/output.c:993 #: src/output.c:986
#, 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"
@@ -325,12 +336,12 @@ msgstr " %-4s\tSchiebe und gehe zu Zustand %d
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:190 #: src/print.c:188
#, c-format #, c-format
msgid " %-4s\tgo to state %d\n" msgid " %-4s\tgo to state %d\n"
msgstr " %-4s\tgehe zu Zustand %d über\n" msgstr " %-4s\tgehe zu Zustand %d über\n"
#: src/print.c:202 #: src/print.c:200
#, fuzzy, c-format #, fuzzy, c-format
msgid "state %d" msgid "state %d"
msgstr "" msgstr ""
@@ -339,23 +350,25 @@ msgstr ""
"Zustand %d\n" "Zustand %d\n"
"\n" "\n"
#: src/print.c:233 #. rule # : LHS -> RHS
#: src/print.c:230
#, fuzzy #, fuzzy
msgid "Grammar" msgid "Grammar"
msgstr "" msgstr ""
"\n" "\n"
"Grammatik\n" "Grammatik\n"
#: src/print.c:240 #: src/print.c:235
#, c-format #, c-format
msgid "rule %-4d %s ->" msgid "rule %-4d %s ->"
msgstr "Regel %-4d %s ->" msgstr "Regel %-4d %s ->"
#: src/print.c:246 #: src/print.c:241
msgid "\t\t/* empty */" msgid "empty"
msgstr "\t\t/* leer */" msgstr ""
#: src/print.c:253 #. TERMINAL (type #) : rule #s terminal is on RHS
#: src/print.c:246
#, fuzzy #, fuzzy
msgid "Terminals, with rules where they appear" msgid "Terminals, with rules where they appear"
msgstr "" msgstr ""
@@ -363,7 +376,7 @@ msgstr ""
"Terminale und die Regeln un denen sie verwendet werden\n" "Terminale und die Regeln un denen sie verwendet werden\n"
"\n" "\n"
#: src/print.c:302 #: src/print.c:270
#, fuzzy #, fuzzy
msgid "Nonterminals, with rules where they appear" msgid "Nonterminals, with rules where they appear"
msgstr "" msgstr ""
@@ -371,11 +384,11 @@ msgstr ""
"Nicht-Terminal und die Regeln in denen sie verwendet werden\n" "Nicht-Terminal und die Regeln in denen sie verwendet werden\n"
"\n" "\n"
#: src/print.c:329 #: src/print.c:296
msgid " on left:" msgid " on left:"
msgstr " auf der linken Seite:" msgstr " auf der linken Seite:"
#: src/print.c:344 #: src/print.c:311
msgid " on right:" msgid " on right:"
msgstr " auf der rechten Seite:" msgstr " auf der rechten Seite:"
@@ -389,244 +402,234 @@ msgstr " %-4s\tFehler (nicht assoziativ)\n"
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:79 #: src/reader.c:78
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:81 #: src/reader.c:80
#, 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:132 src/reader.c:144 #: src/reader.c:131 src/reader.c:143
msgid "invalid $ value" msgid "invalid $ value"
msgstr "unzulässiger $ Wert" msgstr "unzulässiger $ Wert"
#: src/reader.c:170 src/reader.c:185 #: src/reader.c:169 src/reader.c:184
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:173 #: src/reader.c:172
msgid "unterminated string" msgid "unterminated string"
msgstr "unbeendete Zeichenkette" msgstr "unbeendete Zeichenkette"
#: src/reader.c:326 src/reader.c:390 #: src/reader.c:325 src/reader.c:389
#, 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:366 #: src/reader.c:365
#, 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:383 #: src/reader.c:382
#, 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:437 #: src/reader.c:436
msgid "unterminated `%{' definition" msgid "unterminated `%{' definition"
msgstr "unbeendete »%{« Definition" msgstr "unbeendete »%{« Definition"
#: src/reader.c:482 src/reader.c:598 src/reader.c:648 #: src/reader.c:481 src/reader.c:595 src/reader.c:645
#, c-format #, c-format
msgid "Premature EOF after %s" msgid "Premature EOF after %s"
msgstr "" msgstr ""
#: src/reader.c:499 #: src/reader.c:498
#, c-format #, c-format
msgid "symbol `%s' used more than once as a literal string" msgid "symbol `%s' used more than once as a literal string"
msgstr "" msgstr ""
#: src/reader.c:502 #: src/reader.c:501
#, c-format #, c-format
msgid "symbol `%s' given more than one literal string" msgid "symbol `%s' given more than one literal string"
msgstr "" msgstr ""
#: src/reader.c:524 src/reader.c:667 #: src/reader.c:522 src/reader.c:664
#, 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:534 src/reader.c:613 src/reader.c:674 src/reader.c:1306 #: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1294
#, 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:544 #: src/reader.c:541
#, 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:561 src/reader.c:721 #: src/reader.c:558 src/reader.c:723
#, 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:563 src/reader.c:893 src/reader.c:918 src/reader.c:1284 #: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1272
#, 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:583 #: src/reader.c:580
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:618 #: src/reader.c:615
#, 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:663 #: src/reader.c:660
#, 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:687 #: src/reader.c:683
#, 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:697 #: src/reader.c:693
#, c-format #, c-format
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "unerwartetes Symbol: %s" msgstr "unerwartetes Symbol: %s"
#: src/reader.c:759 src/reader.c:1110 src/reader.c:1181 #: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
#, 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:791 #: src/reader.c:798
#, 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:838 #: src/reader.c:844
#, 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:862 #: src/reader.c:866
#, 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:930 #: src/reader.c:1014
#, fuzzy, c-format
msgid "multiple %%header_extension declarations"
msgstr "erneute %union Definition"
#: src/reader.c:940
#, fuzzy, c-format
msgid "multiple %%source_extension declarations"
msgstr "erneute %union Definition"
#: src/reader.c:1026
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "unbekannt: %s" msgstr "unbekannt: %s"
#: src/reader.c:1031 #: src/reader.c:1019
msgid "no input grammar" msgid "no input grammar"
msgstr "keine Eingabe-Grammatik" msgstr "keine Eingabe-Grammatik"
#: src/reader.c:1036 #: src/reader.c:1024
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "unbekanntes Zeichen: %s" msgstr "unbekanntes Zeichen: %s"
#: src/reader.c:1204 #: src/reader.c:1192
#, 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:1371 #: src/reader.c:1359
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "" 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:1378 #: src/reader.c:1366
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:1409 #: src/reader.c:1397
#, 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:1511 #: src/reader.c:1499
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:1519 #: src/reader.c:1507
#, 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:1528 #: src/reader.c:1516
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:1542 #: src/reader.c:1530
#, 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:1548 #: src/reader.c:1536
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:1592 #: src/reader.c:1580
#, 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:1600 #: src/reader.c:1588
#, 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:1603 #: src/reader.c:1591
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:1627 #: src/reader.c:1615
#, 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:1732 #: src/reader.c:1707
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "Vorrangwertigkeiten für %s und %s widersprechen sich"
#: src/reader.c:1744
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "assoc Werte für %s nd %s widersprechen sich"
#: src/reader.c:1795
#, 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:1808 #: src/reader.c:1760
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "Vorrangwertigkeiten für %s und %s widersprechen sich"
#: src/reader.c:1772
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "assoc Werte für %s nd %s widersprechen sich"
#: src/reader.c:1811
#, c-format #, 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:1810 #: src/reader.c:1813
#, 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:404 #: src/reduce.c:405
#, fuzzy #, fuzzy
msgid "Useless nonterminals:" msgid "Useless nonterminals:"
msgstr "" msgstr ""
@@ -651,7 +654,7 @@ msgstr ""
"Ungenutzte Regeln:\n" "Ungenutzte Regeln:\n"
"\n" "\n"
#: src/reduce.c:459 #: src/reduce.c:458
msgid "" msgid ""
"Variables\n" "Variables\n"
"---------\n" "---------\n"
@@ -661,11 +664,11 @@ msgstr ""
"---------\n" "---------\n"
"\n" "\n"
#: src/reduce.c:461 #: src/reduce.c:459
msgid "Value Sprec Sassoc Tag\n" msgid "Value Sprec Sassoc Tag\n"
msgstr "Wert Sprec Sassoc Tag\n" msgstr "Wert Sprec Sassoc Tag\n"
#: src/reduce.c:466 #: src/reduce.c:463
msgid "" msgid ""
"Rules\n" "Rules\n"
"-----\n" "-----\n"
@@ -675,7 +678,7 @@ msgstr ""
"------\n" "------\n"
"\n" "\n"
#: src/reduce.c:477 #: src/reduce.c:473
msgid "" msgid ""
"Rules interpreted\n" "Rules interpreted\n"
"-----------------\n" "-----------------\n"
@@ -685,36 +688,31 @@ msgstr ""
"----------------------\n" "----------------------\n"
"\n" "\n"
#: src/reduce.c:494 #: src/reduce.c:495
#, c-format #, c-format
msgid "%d rules never reduced\n" msgid "%d rules never reduced\n"
msgstr "%d wurde niemals reduziert\n" msgstr "%d wurde niemals reduziert\n"
#: src/reduce.c:496 #: src/reduce.c:501
#, c-format
msgid "%s contains "
msgstr "%s enthält "
#: src/reduce.c:500
#, c-format #, c-format
msgid "%d useless nonterminal%s" msgid "%d useless nonterminal%s"
msgstr "%d ungenutzte Nicht-Terminal" msgstr "%d ungenutzte Nicht-Terminal"
#: src/reduce.c:505 #: src/reduce.c:506
msgid " and " msgid " and "
msgstr " und " msgstr " und "
#: src/reduce.c:509 #: src/reduce.c:510
#, c-format #, c-format
msgid "%d useless rule%s" msgid "%d useless rule%s"
msgstr "%d ungenutzte Regel" msgstr "%d ungenutzte Regel"
#: src/reduce.c:542 #: src/reduce.c:540
#, c-format #, c-format
msgid "Start symbol %s does not derive any sentence" msgid "Start symbol %s does not derive any sentence"
msgstr "es lassen sich keine Sätze vom Startsymbol %s ableiten" msgstr "es lassen sich keine Sätze vom Startsymbol %s ableiten"
#: src/reduce.c:555 #: src/reduce.c:553
#, c-format #, c-format
msgid "" msgid ""
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n" "reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
@@ -722,68 +720,68 @@ 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"
#: lib/getopt.c:675 #: lib/getopt.c:694
#, c-format #, c-format
msgid "%s: option `%s' is ambiguous\n" msgid "%s: option `%s' is ambiguous\n"
msgstr "%s: die Option »%s« ist nicht eindeutig\n" msgstr "%s: die Option »%s« ist nicht eindeutig\n"
#: lib/getopt.c:700 #: lib/getopt.c:719
#, c-format #, c-format
msgid "%s: option `--%s' doesn't allow an argument\n" msgid "%s: option `--%s' doesn't allow an argument\n"
msgstr "%s: die Option »--%s« erlaubt kein Argument\n" msgstr "%s: die Option »--%s« erlaubt kein Argument\n"
#: lib/getopt.c:705 #: lib/getopt.c:724
#, c-format #, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n" msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr "%s: die Option »%c%s« erlaubt kein Argument\n" msgstr "%s: die Option »%c%s« erlaubt kein Argument\n"
#: lib/getopt.c:723 lib/getopt.c:896 #: lib/getopt.c:742 lib/getopt.c:915
#, c-format #, c-format
msgid "%s: option `%s' requires an argument\n" msgid "%s: option `%s' requires an argument\n"
msgstr "%s: die Option »%s« erfordert ein Argument\n" msgstr "%s: die Option »%s« erfordert ein Argument\n"
#. --option #. --option
#: lib/getopt.c:752 #: lib/getopt.c:771
#, c-format #, c-format
msgid "%s: unrecognized option `--%s'\n" msgid "%s: unrecognized option `--%s'\n"
msgstr "%s: unbekannte Option »--%s«\n" msgstr "%s: unbekannte Option »--%s«\n"
#. +option or -option #. +option or -option
#: lib/getopt.c:756 #: lib/getopt.c:775
#, c-format #, c-format
msgid "%s: unrecognized option `%c%s'\n" msgid "%s: unrecognized option `%c%s'\n"
msgstr "%s: unbekannte Option »%c%s«\n" msgstr "%s: unbekannte Option »%c%s«\n"
#. 1003.2 specifies the format of this message. #. 1003.2 specifies the format of this message.
#: lib/getopt.c:782 #: lib/getopt.c:801
#, c-format #, c-format
msgid "%s: illegal option -- %c\n" msgid "%s: illegal option -- %c\n"
msgstr "%s: die Option ist nicht erlaubt -- %c\n" msgstr "%s: die Option ist nicht erlaubt -- %c\n"
#: lib/getopt.c:785 #: lib/getopt.c:804
#, c-format #, c-format
msgid "%s: invalid option -- %c\n" msgid "%s: invalid option -- %c\n"
msgstr "%s: ungültige Option -- %c\n" msgstr "%s: ungültige Option -- %c\n"
#. 1003.2 specifies the format of this message. #. 1003.2 specifies the format of this message.
#: lib/getopt.c:815 lib/getopt.c:945 #: lib/getopt.c:834 lib/getopt.c:964
#, c-format #, c-format
msgid "%s: option requires an argument -- %c\n" msgid "%s: option requires an argument -- %c\n"
msgstr "%s: die Option benötigt ein Argument -- %c\n" msgstr "%s: die Option benötigt ein Argument -- %c\n"
#: lib/getopt.c:862 #: lib/getopt.c:881
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: option `-W %s' is ambiguous\n" msgid "%s: option `-W %s' is ambiguous\n"
msgstr "%s: die Option »%s« ist nicht eindeutig\n" msgstr "%s: die Option »%s« ist nicht eindeutig\n"
#: lib/getopt.c:880 #: lib/getopt.c:899
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: option `-W %s' doesn't allow an argument\n" msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: die Option »--%s« erlaubt kein Argument\n" msgstr "%s: die Option »--%s« erlaubt kein Argument\n"
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message #. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
#. before exiting when memory is exhausted. Goes through gettext. #. before exiting when memory is exhausted. Goes through gettext.
#: lib/obstack.c:477 lib/xmalloc.c:66 #: lib/obstack.c:494 lib/obstack.c:497 lib/xmalloc.c:66
#, fuzzy #, fuzzy
msgid "memory exhausted" msgid "memory exhausted"
msgstr "%s: Hauptspeicher erschöpft\n" msgstr "%s: Hauptspeicher erschöpft\n"
@@ -802,14 +800,23 @@ 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:259 #: lib/quotearg.c:268
msgid "`" msgid "`"
msgstr "" msgstr ""
#: lib/quotearg.c:260 #: lib/quotearg.c:269
msgid "'" msgid "'"
msgstr "" msgstr ""
#~ msgid " 1 shift/reduce conflict"
#~ msgstr " 1 Schiebe/Reduziere Konflikt"
#~ msgid " 1 reduce/reduce conflict"
#~ msgstr " 1 Reduziere/Reduziere Konflikt"
#~ msgid "%s contains"
#~ msgstr "%s enthält"
#~ msgid "" #~ msgid ""
#~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n" #~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n"
#~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n" #~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n"
@@ -841,9 +848,15 @@ 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 "\t\t/* empty */"
#~ msgstr "\t\t/* leer */"
#~ msgid "unterminated comment in `%{' definition" #~ msgid "unterminated comment in `%{' definition"
#~ msgstr "unbeendeter Kommentar in »%{« Definition" #~ msgstr "unbeendeter Kommentar in »%{« Definition"
#~ msgid "multiple %union declarations"
#~ msgstr "erneute %union Definition"
#~ msgid "unterminated comment at end of file" #~ msgid "unterminated comment at end of file"
#~ msgstr "unbeendeter Kommentar am Dateiende" #~ msgstr "unbeendeter Kommentar am Dateiende"
BIN
View File
Binary file not shown.
+197 -184
View File
@@ -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-08-29 14:32+0200\n" "POT-Creation-Date: 2001-11-14 15:59+0100\n"
"PO-Revision-Date: 1998-09-21 10:19+0200\n" "PO-Revision-Date: 1998-09-21 10:19+0200\n"
"Last-Translator: Nicolás García-Pedrajas <[email protected]>\n" "Last-Translator: Nicolás García-Pedrajas <[email protected]>\n"
"Language-Team: Spanish <[email protected]>\n" "Language-Team: Spanish <[email protected]>\n"
@@ -43,11 +43,11 @@ msgstr ""
msgid "too many states (max %d)" msgid "too many states (max %d)"
msgstr "" msgstr ""
#: lib/error.c:117 src/complain.c:100 #: lib/error.c:128 lib/error.c:156 src/complain.c:96
msgid "Unknown system error" msgid "Unknown system error"
msgstr "" msgstr ""
#: src/complain.c:154 #: src/complain.c:150
msgid "warning: " msgid "warning: "
msgstr "" msgstr ""
@@ -58,60 +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:242 src/complain.c:283 #: src/complain.c:238 src/complain.c:279
#, fuzzy #, fuzzy
msgid "fatal error: " msgid "fatal error: "
msgstr "error grave: %s\n" msgstr "error grave: %s\n"
#: src/conflicts.c:49 #: src/conflicts.c:45
#, c-format #, c-format
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n" msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
msgstr "" msgstr ""
"El conflicto en el estado %s entre la regla %d y el terminal %s se resuelve " "El conflicto en el estado %s entre la regla %d y el terminal %s se resuelve "
"como %s.\n" "como %s.\n"
#: src/conflicts.c:115 src/conflicts.c:138 #: src/conflicts.c:111 src/conflicts.c:134
msgid "reduce" msgid "reduce"
msgstr "reduce" msgstr "reduce"
#: src/conflicts.c:121 src/conflicts.c:134 #: src/conflicts.c:117 src/conflicts.c:130
msgid "shift" msgid "shift"
msgstr "desplaza" msgstr "desplaza"
#: src/conflicts.c:142 #: src/conflicts.c:138
msgid "an error" msgid "an error"
msgstr "un error" msgstr "un error"
#: src/conflicts.c:422 #: src/conflicts.c:411
msgid " 1 shift/reduce conflict" #, fuzzy, c-format
msgstr " 1 conflicto desplazamiento/reducción" msgid "%d shift/reduce conflict"
msgid_plural "%d shift/reduce conflicts"
msgstr[0] " %d conflictos desplazamiento/reducción"
#: src/conflicts.c:427 #: src/conflicts.c:418
#, c-format #, fuzzy
msgid " %d shift/reduce conflicts" msgid "and"
msgstr " %d conflictos desplazamiento/reducción"
#: src/conflicts.c:433
msgid " and"
msgstr " y" msgstr " y"
#: src/conflicts.c:439 #: src/conflicts.c:424
msgid " 1 reduce/reduce conflict" #, fuzzy, c-format
msgstr " 1 conflicto reducción/reducción" msgid "%d reduce/reduce conflict"
msgid_plural "%d reduce/reduce conflicts"
msgstr[0] " %d conflictos reducción/reducción"
#: src/conflicts.c:444 #: src/conflicts.c:448
#, c-format #, fuzzy, c-format
msgid " %d reduce/reduce conflicts" msgid "State %d contains "
msgstr " %d conflictos reducción/reducción"
#: src/conflicts.c:481
#, c-format
msgid "State %d contains"
msgstr "El estado %d contiene" msgstr "El estado %d contiene"
#. If invoked with `--yacc', use the output format specified by #. If invoked with `--yacc', use the output format specified by
#. POSIX. #. POSIX.
#: src/conflicts.c:493 #: src/conflicts.c:482
msgid "conflicts: " msgid "conflicts: "
msgstr "conflictos: " msgstr "conflictos: "
@@ -127,7 +122,7 @@ msgstr "conflictos: "
# ok # ok
# ngp # ngp
# #
#: src/conflicts.c:495 #: src/conflicts.c:484
#, c-format #, c-format
msgid " %d shift/reduce" msgid " %d shift/reduce"
msgstr " %d desplazamiento(s)/reducción(ones)" msgstr " %d desplazamiento(s)/reducción(ones)"
@@ -144,22 +139,28 @@ msgstr " %d desplazamiento(s)/reducci
# #
# ok # ok
# ngp # ngp
#: src/conflicts.c:499 #: src/conflicts.c:488
#, c-format #, c-format
msgid " %d reduce/reduce" msgid " %d reduce/reduce"
msgstr " %d reducción(ones)/reducción(ones)" msgstr " %d reducción(ones)/reducción(ones)"
#: src/conflicts.c:504 #: src/conflicts.c:493 src/reduce.c:497
#, c-format #, c-format
msgid "%s contains" msgid "%s contains "
msgstr "%s contiene" msgstr "%s contiene "
#: src/conflicts.c:590 src/conflicts.c:711 #: src/conflicts.c:502
#, fuzzy, c-format
msgid "expected %d shift/reduce conflict"
msgid_plural "expected %d shift/reduce conflicts"
msgstr[0] " %d conflictos desplazamiento/reducción"
#: src/conflicts.c:589 src/conflicts.c:709
#, c-format #, c-format
msgid " %-4s\t[reduce using rule %d (%s)]\n" msgid " %-4s\t[reduce using rule %d (%s)]\n"
msgstr " %-4s\t[reduce usando la regla %d (%s)]\n" msgstr " %-4s\t[reduce usando la regla %d (%s)]\n"
#: src/conflicts.c:602 src/print.c:173 #: src/conflicts.c:600 src/print.c:172
#, c-format #, c-format
msgid "" msgid ""
" $default\treduce using rule %d (%s)\n" " $default\treduce using rule %d (%s)\n"
@@ -168,17 +169,17 @@ msgstr ""
" $default\treduce usando la regla %d (%s)\n" " $default\treduce usando la regla %d (%s)\n"
"\n" "\n"
#: src/conflicts.c:691 src/conflicts.c:705 #: src/conflicts.c:689 src/conflicts.c:703
#, 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:732 #: src/conflicts.c:729
#, c-format #, c-format
msgid " $default\treduce using rule %d (%s)\n" msgid " $default\treduce using rule %d (%s)\n"
msgstr " $default\treduce usando la regla %d (%s)\n" msgstr " $default\treduce usando la regla %d (%s)\n"
#: src/derives.c:44 #: src/derives.c:43
#, fuzzy #, fuzzy
msgid "DERIVES" msgid "DERIVES"
msgstr "" msgstr ""
@@ -187,38 +188,38 @@ msgstr ""
"\n" "\n"
"DERIVACIONES\n" "DERIVACIONES\n"
#: src/derives.c:49 #: src/derives.c:48
#, c-format #, c-format
msgid "%s derives" msgid "%s derives"
msgstr "%s deriva" msgstr "%s deriva"
#: src/files.c:130 #: src/files.c:143
#, c-format #, c-format
msgid "cannot open file `%s'" msgid "cannot open file `%s'"
msgstr "" msgstr ""
#: src/files.c:149 #: src/files.c:162
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:83 #: 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 ""
#: src/getargs.c:87 #: src/getargs.c:88
#, c-format #, c-format
msgid "Usage: %s [OPTION]... FILE\n" msgid "Usage: %s [OPTION]... FILE\n"
msgstr "" msgstr ""
#: src/getargs.c:91 #: 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 ""
#: src/getargs.c:97 #: src/getargs.c:98
msgid "" msgid ""
"Operation modes:\n" "Operation modes:\n"
" -h, --help display this help and exit\n" " -h, --help display this help and exit\n"
@@ -226,7 +227,7 @@ msgid ""
" -y, --yacc emulate POSIX yacc\n" " -y, --yacc emulate POSIX yacc\n"
msgstr "" msgstr ""
#: src/getargs.c:104 #: src/getargs.c:105
msgid "" msgid ""
"Parser:\n" "Parser:\n"
" -S, --skeleton=FILE specify the skeleton to use\n" " -S, --skeleton=FILE specify the skeleton to use\n"
@@ -238,120 +239,130 @@ msgid ""
" -k, --token-table include a table of token names\n" " -k, --token-table include a table of token names\n"
msgstr "" msgstr ""
#: src/getargs.c:116 #: src/getargs.c:117
msgid "" msgid ""
"Output:\n" "Output:\n"
" -d, --defines also produce a header file\n" " -d, --defines also produce a header file\n"
" -v, --verbose also produce an explanation of the automaton\n" " -v, --verbose also produce an explanation of the automaton\n"
" -b, --file-prefix=PREFIX specify a PREFIX for output files\n" " -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
" -o, --output-file=FILE leave output to FILE\n" " -o, --output=FILE leave output to FILE\n"
" -g, --graph also produce a VCG graph description of the " " -g, --graph also produce a VCG description of the "
"automaton\n" "automaton\n"
msgstr "" msgstr ""
#: src/getargs.c:126 #: src/getargs.c:127
msgid "Report bugs to <[email protected]>.\n" msgid "Report bugs to <[email protected]>.\n"
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:140 #: src/getargs.c:141
#, c-format #, c-format
msgid "bison (GNU Bison) %s" msgid "bison (GNU Bison) %s"
msgstr "" msgstr ""
#: src/getargs.c:145 #: 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 ""
#: src/getargs.c:149 #: 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 ""
#: src/getargs.c:210 src/lex.c:636 #: src/getargs.c:215 src/lex.c:694
#, c-format #, c-format
msgid "`%s' is no longer supported" msgid "`%s' is no longer supported"
msgstr "" msgstr ""
#: src/getargs.c:234 #: src/getargs.c:239
#, 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:241 #: src/getargs.c:246
#, 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:245 #: src/getargs.c:250
#, 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:312 #: src/lalr.c:311
#, c-format #, c-format
msgid "too many gotos (max %d)" msgid "too many gotos (max %d)"
msgstr "" msgstr ""
# to ignore no es ignorar. Pon otra cosa, please. sv # to ignore no es ignorar. Pon otra cosa, please. sv
#: src/lex.c:70 #: src/lex.c:76
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:99 src/reader.c:270 #: src/lex.c:105 src/reader.c:269
msgid "unterminated comment" msgid "unterminated comment"
msgstr "comentario sin terminar" msgstr "comentario sin terminar"
#: src/lex.c:131 #: src/lex.c:137
#, fuzzy #, fuzzy
msgid "unexpected end of file" msgid "unexpected end of file"
msgstr "Fin de fichero inesperado" msgstr "Fin de fichero inesperado"
# ¿unescaped? # ¿unescaped?
#: src/lex.c:160 #: src/lex.c:166
msgid "unescaped newline in constant" msgid "unescaped newline in constant"
msgstr "salto de línea en constante sin secuencia de escape" msgstr "salto de línea en constante sin secuencia de escape"
#: src/lex.c:202 #: src/lex.c:208
#, c-format #, c-format
msgid "octal value outside range 0...255: `\\%o'" msgid "octal value outside range 0...255: `\\%o'"
msgstr "valor octal fuera del rango 0...255: `\\%o'" msgstr "valor octal fuera del rango 0...255: `\\%o'"
#: src/lex.c:227 #: src/lex.c:233
#, c-format #, c-format
msgid "hexadecimal value above 255: `\\x%x'" msgid "hexadecimal value above 255: `\\x%x'"
msgstr "valor hexadecimal mayor que 255: `\\x%x'" msgstr "valor hexadecimal mayor que 255: `\\x%x'"
#: src/lex.c:239 #: src/lex.c:245
#, c-format #, c-format
msgid "unknown escape sequence: `\\' followed by `%s'" msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "secuencia de escape desconocida: `\\' seguido de `%s'" msgstr "secuencia de escape desconocida: `\\' seguido de `%s'"
#: src/lex.c:335 #: src/lex.c:342
msgid "unterminated type name at end of file" msgid "unterminated type name at end of file"
msgstr "nombre de tipo sin terminar al final del fichero" msgstr "nombre de tipo sin terminar al final del fichero"
#: src/lex.c:338 #: src/lex.c:345
msgid "unterminated type name" msgid "unterminated type name"
msgstr "nombre de tipo sin terminar" msgstr "nombre de tipo sin terminar"
# ¿multicarácter o multicaracteres? sv # ¿multicarácter o multicaracteres? sv
#: src/lex.c:430 #: src/lex.c:438
msgid "use \"...\" for multi-character literal tokens" msgid "use \"...\" for multi-character literal tokens"
msgstr "use \"...\" para terminales literales multicarácter" msgstr "use \"...\" para terminales literales multicarácter"
#: src/main.c:108 #: src/lex.c:667
#, c-format
msgid "`%s' supports no argument: %s"
msgstr ""
#: src/lex.c:683
#, fuzzy, c-format
msgid "`%s' requires an argument"
msgstr "%s: la opción `%s' requiere un argumento\n"
#: src/main.c:128
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: internal error: %s\n" msgid "%s: internal error: %s\n"
msgstr "error interno, %s\n" msgstr "error interno, %s\n"
#: src/nullable.c:52 #: src/nullable.c:51
msgid "Entering set_nullable" msgid "Entering set_nullable"
msgstr "Entrando set_nullable" msgstr "Entrando set_nullable"
@@ -360,7 +371,7 @@ msgstr "Entrando set_nullable"
# 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:993 #: src/output.c:986
#, 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)"
@@ -398,12 +409,12 @@ msgstr " %-4s\tdesplazar e ir al estado %d\n"
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:190 #: src/print.c:188
#, c-format #, c-format
msgid " %-4s\tgo to state %d\n" msgid " %-4s\tgo to state %d\n"
msgstr " %-4s\tir al estado %d\n" msgstr " %-4s\tir al estado %d\n"
#: src/print.c:202 #: src/print.c:200
#, fuzzy, c-format #, fuzzy, c-format
msgid "state %d" msgid "state %d"
msgstr "" msgstr ""
@@ -412,28 +423,25 @@ msgstr ""
"estado %d\n" "estado %d\n"
"\n" "\n"
#: src/print.c:233 #. rule # : LHS -> RHS
#: src/print.c:230
#, fuzzy #, fuzzy
msgid "Grammar" msgid "Grammar"
msgstr "" msgstr ""
"\n" "\n"
"Gramática\n" "Gramática\n"
#: src/print.c:240 #: src/print.c:235
#, c-format #, c-format
msgid "rule %-4d %s ->" msgid "rule %-4d %s ->"
msgstr "regla %-4d %s ->" msgstr "regla %-4d %s ->"
# Duda: ¿Estás seguro de que no será `vacío'? Si no lo estás o, si por #: src/print.c:241
# el contrario, pudiera cualquiera de los casos, debieras traducirlo msgid "empty"
# como `vacía/o' - cll msgstr ""
# según el código indica reglas vacías por eso lo puse así
# ngp
#: src/print.c:246
msgid "\t\t/* empty */"
msgstr "\t\t/* vacía */"
#: src/print.c:253 #. TERMINAL (type #) : rule #s terminal is on RHS
#: src/print.c:246
#, fuzzy #, fuzzy
msgid "Terminals, with rules where they appear" msgid "Terminals, with rules where they appear"
msgstr "" msgstr ""
@@ -441,18 +449,18 @@ msgstr ""
"Terminales con las reglas donde aparecen\n" "Terminales con las reglas donde aparecen\n"
"\n" "\n"
#: src/print.c:302 #: src/print.c:270
#, fuzzy #, fuzzy
msgid "Nonterminals, with rules where they appear" msgid "Nonterminals, with rules where they appear"
msgstr "" msgstr ""
"\n" "\n"
"No terminales con las reglas donde aparecen\n" "No terminales con las reglas donde aparecen\n"
#: src/print.c:329 #: src/print.c:296
msgid " on left:" msgid " on left:"
msgstr " en la izquierda:" msgstr " en la izquierda:"
#: src/print.c:344 #: src/print.c:311
msgid " on right:" msgid " on right:"
msgstr " en la derecha:" msgstr " en la derecha:"
@@ -466,96 +474,96 @@ msgstr " %-4s\terror (no asociativo)\n"
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:79 #: src/reader.c:78
msgid " Skipping to next \\n" msgid " Skipping to next \\n"
msgstr " Saltando al siguiente \\n" msgstr " Saltando al siguiente \\n"
#: src/reader.c:81 #: src/reader.c:80
#, 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:132 src/reader.c:144 #: src/reader.c:131 src/reader.c:143
msgid "invalid $ value" msgid "invalid $ value"
msgstr "valor $ no válido" msgstr "valor $ no válido"
#: src/reader.c:170 src/reader.c:185 #: src/reader.c:169 src/reader.c:184
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:173 #: src/reader.c:172
msgid "unterminated string" msgid "unterminated string"
msgstr "cadena sin terminar" msgstr "cadena sin terminar"
#: src/reader.c:326 src/reader.c:390 #: src/reader.c:325 src/reader.c:389
#, 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:366 #: src/reader.c:365
#, 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:383 #: src/reader.c:382
#, 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:437 #: src/reader.c:436
msgid "unterminated `%{' definition" msgid "unterminated `%{' definition"
msgstr "definición `%{' sin terminar" msgstr "definición `%{' sin terminar"
#: src/reader.c:482 src/reader.c:598 src/reader.c:648 #: src/reader.c:481 src/reader.c:595 src/reader.c:645
#, c-format #, c-format
msgid "Premature EOF after %s" msgid "Premature EOF after %s"
msgstr "" msgstr ""
#: src/reader.c:499 #: src/reader.c:498
#, c-format #, c-format
msgid "symbol `%s' used more than once as a literal string" msgid "symbol `%s' used more than once as a literal string"
msgstr "" msgstr ""
#: src/reader.c:502 #: src/reader.c:501
#, c-format #, c-format
msgid "symbol `%s' given more than one literal string" msgid "symbol `%s' given more than one literal string"
msgstr "" msgstr ""
#: src/reader.c:524 src/reader.c:667 #: src/reader.c:522 src/reader.c:664
#, 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:534 src/reader.c:613 src/reader.c:674 src/reader.c:1306 #: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1294
#, 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:544 #: src/reader.c:541
#, 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:561 src/reader.c:721 #: src/reader.c:558 src/reader.c:723
#, 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:563 src/reader.c:893 src/reader.c:918 src/reader.c:1284 #: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1272
#, 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:583 #: src/reader.c:580
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:618 #: src/reader.c:615
#, 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:663 #: src/reader.c:660
#, 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"
@@ -564,7 +572,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:687 #: src/reader.c:683
#, c-format #, c-format
msgid "invalid text (%s) - number should be after identifier" msgid "invalid text (%s) - number should be after identifier"
msgstr "" msgstr ""
@@ -574,18 +582,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:697 #: src/reader.c:693
#, 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:759 src/reader.c:1110 src/reader.c:1181 #: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
#, fuzzy, c-format #, fuzzy, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "`{' desemparejada" msgstr "`{' desemparejada"
#: src/reader.c:791 #: src/reader.c:798
#, 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"
@@ -596,36 +604,26 @@ msgstr "el argumento de %expect no es un entero"
# - cll # - cll
# ok - ngp # ok - ngp
# #
#: src/reader.c:838 #: src/reader.c:844
#, 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:862 #: src/reader.c:866
#, 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:930 #: src/reader.c:1014
#, fuzzy, c-format
msgid "multiple %%header_extension declarations"
msgstr "declaraciones múltiples de %union"
#: src/reader.c:940
#, fuzzy, c-format
msgid "multiple %%source_extension declarations"
msgstr "declaraciones múltiples de %union"
#: 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:1031 #: src/reader.c:1019
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:1036 #: src/reader.c:1024
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "carácter desconocido: %s" msgstr "carácter desconocido: %s"
@@ -634,98 +632,98 @@ 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:1204 #: src/reader.c:1192
#, 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:1371 #: src/reader.c:1359
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "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:1378 #: src/reader.c:1366
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:1409 #: src/reader.c:1397
#, 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:1511 #: src/reader.c:1499
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:1519 #: src/reader.c:1507
#, 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:1528 #: src/reader.c:1516
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:1542 #: src/reader.c:1530
#, 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:1548 #: src/reader.c:1536
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:1592 #: src/reader.c:1580
#, 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:1600 #: src/reader.c:1588
#, 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:1603 #: src/reader.c:1591
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:1627 #: src/reader.c:1615
#, 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:1732 #: src/reader.c:1707
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "precedencias en conflicto entre %s y %s"
#: src/reader.c:1744
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "conflicto de valores assoc para %s y %s"
#: src/reader.c:1795
#, 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:1808 #: src/reader.c:1760
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "precedencias en conflicto entre %s y %s"
#: src/reader.c:1772
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "conflicto de valores assoc para %s y %s"
#: src/reader.c:1811
#, c-format #, 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:1810 #: src/reader.c:1813
#, 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:404 #: src/reduce.c:405
#, fuzzy #, fuzzy
msgid "Useless nonterminals:" msgid "Useless nonterminals:"
msgstr "" msgstr ""
@@ -750,7 +748,7 @@ msgstr ""
"Reglas sin uso:\n" "Reglas sin uso:\n"
"\n" "\n"
#: src/reduce.c:459 #: src/reduce.c:458
msgid "" msgid ""
"Variables\n" "Variables\n"
"---------\n" "---------\n"
@@ -760,11 +758,11 @@ msgstr ""
"---------\n" "---------\n"
"\n" "\n"
#: src/reduce.c:461 #: src/reduce.c:459
msgid "Value Sprec Sassoc Tag\n" msgid "Value Sprec Sassoc Tag\n"
msgstr "Valor Sprec Sasoc Tag\n" msgstr "Valor Sprec Sasoc Tag\n"
#: src/reduce.c:466 #: src/reduce.c:463
msgid "" msgid ""
"Rules\n" "Rules\n"
"-----\n" "-----\n"
@@ -774,7 +772,7 @@ msgstr ""
"------\n" "------\n"
"\n" "\n"
#: src/reduce.c:477 #: src/reduce.c:473
msgid "" msgid ""
"Rules interpreted\n" "Rules interpreted\n"
"-----------------\n" "-----------------\n"
@@ -784,31 +782,26 @@ msgstr ""
"--------------------\n" "--------------------\n"
"\n" "\n"
#: src/reduce.c:494 #: src/reduce.c:495
#, c-format #, c-format
msgid "%d rules never reduced\n" msgid "%d rules never reduced\n"
msgstr "%d reglas que nunca se han reducido\n" msgstr "%d reglas que nunca se han reducido\n"
#: src/reduce.c:496 #: src/reduce.c:501
#, c-format
msgid "%s contains "
msgstr "%s contiene "
#: src/reduce.c:500
#, c-format #, c-format
msgid "%d useless nonterminal%s" msgid "%d useless nonterminal%s"
msgstr "%d no terminales %s sin uso" msgstr "%d no terminales %s sin uso"
#: src/reduce.c:505 #: src/reduce.c:506
msgid " and " msgid " and "
msgstr " y " msgstr " y "
#: src/reduce.c:509 #: src/reduce.c:510
#, c-format #, c-format
msgid "%d useless rule%s" msgid "%d useless rule%s"
msgstr "%d regla%s sin uso" msgstr "%d regla%s sin uso"
#: src/reduce.c:542 #: src/reduce.c:540
#, c-format #, c-format
msgid "Start symbol %s does not derive any sentence" msgid "Start symbol %s does not derive any sentence"
msgstr "El símbolo de inicio (axioma) %s no deriva ninguna sentencia" msgstr "El símbolo de inicio (axioma) %s no deriva ninguna sentencia"
@@ -825,7 +818,7 @@ msgstr "El s
# Te recomiendo `la reducción de %s' en vez de seguir el estilo inglés y # Te recomiendo `la reducción de %s' en vez de seguir el estilo inglés y
# usar participios - cll # usar participios - cll
# un error lo tiene cualquiera - ngp # un error lo tiene cualquiera - ngp
#: src/reduce.c:555 #: src/reduce.c:553
#, c-format #, c-format
msgid "" msgid ""
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n" "reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
@@ -833,35 +826,35 @@ 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"
#: lib/getopt.c:675 #: lib/getopt.c:694
#, c-format #, c-format
msgid "%s: option `%s' is ambiguous\n" msgid "%s: option `%s' is ambiguous\n"
msgstr "%s: la opción `%s' es ambigua\n" msgstr "%s: la opción `%s' es ambigua\n"
# Pongo esto como en otros .po. sv # Pongo esto como en otros .po. sv
#: lib/getopt.c:700 #: lib/getopt.c:719
#, c-format #, c-format
msgid "%s: option `--%s' doesn't allow an argument\n" msgid "%s: option `--%s' doesn't allow an argument\n"
msgstr "%s: la opción `--%s' no admite ningún argumento\n" msgstr "%s: la opción `--%s' no admite ningún argumento\n"
#: lib/getopt.c:705 #: lib/getopt.c:724
#, c-format #, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n" msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr "%s: la opción `%c%s' no admite ningún argumento\n" msgstr "%s: la opción `%c%s' no admite ningún argumento\n"
#: lib/getopt.c:723 lib/getopt.c:896 #: lib/getopt.c:742 lib/getopt.c:915
#, c-format #, c-format
msgid "%s: option `%s' requires an argument\n" msgid "%s: option `%s' requires an argument\n"
msgstr "%s: la opción `%s' requiere un argumento\n" msgstr "%s: la opción `%s' requiere un argumento\n"
#. --option #. --option
#: lib/getopt.c:752 #: lib/getopt.c:771
#, c-format #, c-format
msgid "%s: unrecognized option `--%s'\n" msgid "%s: unrecognized option `--%s'\n"
msgstr "%s: opción `--%s' no reconocida\n" msgstr "%s: opción `--%s' no reconocida\n"
#. +option or -option #. +option or -option
#: lib/getopt.c:756 #: lib/getopt.c:775
#, c-format #, c-format
msgid "%s: unrecognized option `%c%s'\n" msgid "%s: unrecognized option `%c%s'\n"
msgstr "%s: opción `%c%s' no reconocida\n" msgstr "%s: opción `%c%s' no reconocida\n"
@@ -884,7 +877,7 @@ msgstr "%s: opci
# a la cárcel (como mucho se cuelgan, je, je, 0ff0 :-). sv # a la cárcel (como mucho se cuelgan, je, je, 0ff0 :-). sv
# #
#. 1003.2 specifies the format of this message. #. 1003.2 specifies the format of this message.
#: lib/getopt.c:782 #: lib/getopt.c:801
#, c-format #, c-format
msgid "%s: illegal option -- %c\n" msgid "%s: illegal option -- %c\n"
msgstr "%s: opción -- %c ilegal\n" msgstr "%s: opción -- %c ilegal\n"
@@ -894,31 +887,31 @@ msgstr "%s: opci
# Porque Enrique decía que le recordaba a disminuidos físicos. # Porque Enrique decía que le recordaba a disminuidos físicos.
# Francamente, no creo que haya que andar con estas "fobias". # Francamente, no creo que haya que andar con estas "fobias".
# Pongo inválida. sv # Pongo inválida. sv
#: lib/getopt.c:785 #: lib/getopt.c:804
#, c-format #, c-format
msgid "%s: invalid option -- %c\n" msgid "%s: invalid option -- %c\n"
msgstr "%s: opción -- %c inválida\n" msgstr "%s: opción -- %c inválida\n"
#. 1003.2 specifies the format of this message. #. 1003.2 specifies the format of this message.
#: lib/getopt.c:815 lib/getopt.c:945 #: lib/getopt.c:834 lib/getopt.c:964
#, c-format #, c-format
msgid "%s: option requires an argument -- %c\n" msgid "%s: option requires an argument -- %c\n"
msgstr "%s: la opción -- %c requiere un argumento\n" msgstr "%s: la opción -- %c requiere un argumento\n"
#: lib/getopt.c:862 #: lib/getopt.c:881
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: option `-W %s' is ambiguous\n" msgid "%s: option `-W %s' is ambiguous\n"
msgstr "%s: la opción `%s' es ambigua\n" msgstr "%s: la opción `%s' es ambigua\n"
# Pongo esto como en otros .po. sv # Pongo esto como en otros .po. sv
#: lib/getopt.c:880 #: lib/getopt.c:899
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: option `-W %s' doesn't allow an argument\n" msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: la opción `--%s' no admite ningún argumento\n" msgstr "%s: la opción `--%s' no admite ningún argumento\n"
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message #. 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:477 lib/xmalloc.c:66 #: lib/obstack.c:494 lib/obstack.c:497 lib/xmalloc.c:66
#, fuzzy #, fuzzy
msgid "memory exhausted" msgid "memory exhausted"
msgstr "%s: memoria agotada\n" msgstr "%s: memoria agotada\n"
@@ -937,11 +930,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:259 #: lib/quotearg.c:268
msgid "`" msgid "`"
msgstr "" msgstr ""
#: lib/quotearg.c:260 #: lib/quotearg.c:269
msgid "'" msgid "'"
msgstr "" msgstr ""
@@ -996,6 +989,15 @@ msgstr ""
#~ "\n" #~ "\n"
#~ "%s deriva\n" #~ "%s deriva\n"
#~ msgid " 1 shift/reduce conflict"
#~ msgstr " 1 conflicto desplazamiento/reducción"
#~ msgid " 1 reduce/reduce conflict"
#~ msgstr " 1 conflicto reducción/reducción"
#~ msgid "%s contains"
#~ msgstr "%s contiene"
#~ msgid "" #~ msgid ""
#~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n" #~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n"
#~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n" #~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n"
@@ -1038,9 +1040,20 @@ 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"
# Duda: ¿Estás seguro de que no será `vacío'? Si no lo estás o, si por
# el contrario, pudiera cualquiera de los casos, debieras traducirlo
# como `vacía/o' - cll
# según el código indica reglas vacías por eso lo puse así
# ngp
#~ msgid "\t\t/* empty */"
#~ msgstr "\t\t/* vacía */"
#~ msgid "unterminated comment in `%{' definition" #~ msgid "unterminated comment in `%{' definition"
#~ msgstr "comentario sin terminar en la definición `%{'" #~ msgstr "comentario sin terminar en la definición `%{'"
#~ msgid "multiple %union declarations"
#~ msgstr "declaraciones múltiples de %union"
#~ msgid "unterminated comment at end of file" #~ msgid "unterminated comment at end of file"
#~ msgstr "comentario sin terminar al final del fichero" #~ msgstr "comentario sin terminar al final del fichero"
BIN
View File
Binary file not shown.
+181 -214
View File
@@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: bison 1.28c\n" "Project-Id-Version: bison 1.30b\n"
"POT-Creation-Date: 2001-08-29 14:32+0200\n" "POT-Creation-Date: 2001-11-14 15:59+0100\n"
"PO-Revision-Date: 2001-08-21 21:53+02:00\n" "PO-Revision-Date: 2001-11-13 10:42+02:00\n"
"Last-Translator: Toomas Soome <[email protected]>\n" "Last-Translator: Toomas Soome <[email protected]>\n"
"Language-Team: Estonian <[email protected]>\n" "Language-Team: Estonian <[email protected]>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -18,89 +18,92 @@ 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:117 src/complain.c:100 #: lib/error.c:128 lib/error.c:156 src/complain.c:96
msgid "Unknown system error" msgid "Unknown system error"
msgstr "Tundmatu süsteemi viga" msgstr "Tundmatu süsteemi viga"
#: src/complain.c:154 #: src/complain.c:150
msgid "warning: " msgid "warning: "
msgstr "hoiatus: " msgstr "hoiatus: "
#: src/complain.c:242 src/complain.c:283 #: src/complain.c:238 src/complain.c:279
msgid "fatal error: " msgid "fatal error: "
msgstr "fataalne viga: " msgstr "fataalne viga: "
#: src/conflicts.c:49 #: src/conflicts.c:45
#, c-format #, c-format
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n" msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
msgstr "Konflikt olekus %d reegli %d ja märgi %s vahel lahendatud, kui %s.\n" msgstr "Konflikt olekus %d reegli %d ja märgi %s vahel lahendatud, kui %s.\n"
#: src/conflicts.c:115 src/conflicts.c:138 #: src/conflicts.c:111 src/conflicts.c:134
msgid "reduce" msgid "reduce"
msgstr "redutseerimine" msgstr "redutseerimine"
#: src/conflicts.c:121 src/conflicts.c:134 #: src/conflicts.c:117 src/conflicts.c:130
msgid "shift" msgid "shift"
msgstr "nihutamine" msgstr "nihutamine"
#: src/conflicts.c:142 #: src/conflicts.c:138
msgid "an error" msgid "an error"
msgstr "viga" msgstr "viga"
#: src/conflicts.c:422 #: src/conflicts.c:411
msgid " 1 shift/reduce conflict"
msgstr " 1 nihutamine/redutseerimine konflikt"
#: src/conflicts.c:427
#, c-format #, c-format
msgid " %d shift/reduce conflicts" msgid "%d shift/reduce conflict"
msgstr " %d nihutamine/redutseerimine konflikti" msgid_plural "%d shift/reduce conflicts"
msgstr[0] "%d nihutamine/redutseerimine konflikt"
msgstr[1] "%d nihutamine/redutseerimine konflikti"
#: src/conflicts.c:433 #: src/conflicts.c:418
msgid " and" msgid "and"
msgstr " ja" msgstr "ja"
#: src/conflicts.c:439 #: src/conflicts.c:424
msgid " 1 reduce/reduce conflict"
msgstr " 1 redutseerimine/redutseerimine konflikt"
#: src/conflicts.c:444
#, c-format #, c-format
msgid " %d reduce/reduce conflicts" msgid "%d reduce/reduce conflict"
msgstr " %d redutseerimine/redutseerimine konflikti" msgid_plural "%d reduce/reduce conflicts"
msgstr[0] "%d redutseerimine/redutseerimine konflikt"
msgstr[1] "%d redutseerimine/redutseerimine konflikti"
#: src/conflicts.c:481 #: src/conflicts.c:448
#, c-format #, c-format
msgid "State %d contains" msgid "State %d contains "
msgstr "Olek %d sisaldab" msgstr "Olek %d sisaldab "
#. If invoked with `--yacc', use the output format specified by #. If invoked with `--yacc', use the output format specified by
#. POSIX. #. POSIX.
#: src/conflicts.c:493 #: src/conflicts.c:482
msgid "conflicts: " msgid "conflicts: "
msgstr "konfliktid: " msgstr "konfliktid: "
#: src/conflicts.c:495 #: src/conflicts.c:484
#, c-format #, c-format
msgid " %d shift/reduce" msgid " %d shift/reduce"
msgstr " %d nihutamine/redutseerimine" msgstr " %d nihutamine/redutseerimine"
#: src/conflicts.c:499 #: src/conflicts.c:488
#, c-format #, c-format
msgid " %d reduce/reduce" msgid " %d reduce/reduce"
msgstr " %d redutseerimine/redutseerimine" msgstr " %d redutseerimine/redutseerimine"
#: src/conflicts.c:504 #: src/conflicts.c:493 src/reduce.c:497
#, c-format #, c-format
msgid "%s contains" msgid "%s contains "
msgstr "%s sisaldab" msgstr "%s sisaldab "
#: src/conflicts.c:590 src/conflicts.c:711 #: src/conflicts.c:502
#, c-format
msgid "expected %d shift/reduce conflict"
msgid_plural "expected %d shift/reduce conflicts"
msgstr[0] "eeldasime %d nihutamine/redutseerimine konflikti"
msgstr[1] "eeldasime %d nihutamine/redutseerimine konflikti"
#: src/conflicts.c:589 src/conflicts.c:709
#, c-format #, c-format
msgid " %-4s\t[reduce using rule %d (%s)]\n" msgid " %-4s\t[reduce using rule %d (%s)]\n"
msgstr " %-4s\t[redutseerin, kasutades reeglit %d (%s)]\n" msgstr " %-4s\t[redutseerin, kasutades reeglit %d (%s)]\n"
#: src/conflicts.c:602 src/print.c:173 #: src/conflicts.c:600 src/print.c:172
#, c-format #, c-format
msgid "" msgid ""
" $default\treduce using rule %d (%s)\n" " $default\treduce using rule %d (%s)\n"
@@ -109,46 +112,46 @@ msgstr ""
" $default\tredutseerin kasutades reeglit %d (%s)\n" " $default\tredutseerin kasutades reeglit %d (%s)\n"
"\n" "\n"
#: src/conflicts.c:691 src/conflicts.c:705 #: src/conflicts.c:689 src/conflicts.c:703
#, 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:732 #: src/conflicts.c:729
#, c-format #, c-format
msgid " $default\treduce using rule %d (%s)\n" msgid " $default\treduce using rule %d (%s)\n"
msgstr " $default\tredutseerin kasutades reeglit %d (%s)\n" msgstr " $default\tredutseerin kasutades reeglit %d (%s)\n"
#: src/derives.c:44 #: src/derives.c:43
msgid "DERIVES" msgid "DERIVES"
msgstr "DERIVES" msgstr "DERIVES"
#: src/derives.c:49 #: src/derives.c:48
#, c-format #, c-format
msgid "%s derives" msgid "%s derives"
msgstr "%s derives" msgstr "%s derives"
#: src/files.c:130 #: src/files.c:143
#, 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:149 #: src/files.c:162
msgid "cannot close file" msgid "cannot close file"
msgstr "faili ei õnnestu sulgeda" msgstr "faili ei õnnestu sulgeda"
#. 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:83 #: 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 "GNU bison genereerib parsereid LALR(1) grammatikatele.\n" msgstr "GNU bison genereerib parsereid LALR(1) grammatikatele.\n"
#: src/getargs.c:87 #: src/getargs.c:88
#, c-format #, c-format
msgid "Usage: %s [OPTION]... FILE\n" msgid "Usage: %s [OPTION]... FILE\n"
msgstr "Kasuta: %s [VÕTI]...FAIL\n" msgstr "Kasuta: %s [VÕTI]...FAIL\n"
#: src/getargs.c:91 #: 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"
@@ -156,7 +159,7 @@ msgstr ""
"Kui pikk võti näitab, et argument on kohustuslik, siis on see kohustuslik \n" "Kui pikk võti näitab, et argument on kohustuslik, siis on see kohustuslik \n"
"ka lühikese võtme korral. Sama ka vabalt valitavate võtmete korral.\n" "ka lühikese võtme korral. Sama ka vabalt valitavate võtmete korral.\n"
#: src/getargs.c:97 #: src/getargs.c:98
msgid "" msgid ""
"Operation modes:\n" "Operation modes:\n"
" -h, --help display this help and exit\n" " -h, --help display this help and exit\n"
@@ -168,7 +171,7 @@ msgstr ""
" -V, --version esita versiooniinfo ja lõpeta töö\n" " -V, --version esita versiooniinfo ja lõpeta töö\n"
" -y, --yacc emuleeri POSIX yacc\n" " -y, --yacc emuleeri POSIX yacc\n"
#: src/getargs.c:104 #: src/getargs.c:105
msgid "" msgid ""
"Parser:\n" "Parser:\n"
" -S, --skeleton=FILE specify the skeleton to use\n" " -S, --skeleton=FILE specify the skeleton to use\n"
@@ -188,15 +191,14 @@ msgstr ""
" -n, --no-parser genereeri ainult tabelid\n" " -n, --no-parser genereeri ainult tabelid\n"
" -k, --token-table lisa ka sümbolite nimede tabel\n" " -k, --token-table lisa ka sümbolite nimede tabel\n"
#: src/getargs.c:116 #: 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"
" -v, --verbose also produce an explanation of the automaton\n" " -v, --verbose also produce an explanation of the automaton\n"
" -b, --file-prefix=PREFIX specify a PREFIX for output files\n" " -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
" -o, --output-file=FILE leave output to FILE\n" " -o, --output=FILE leave output to FILE\n"
" -g, --graph also produce a VCG graph description of the " " -g, --graph also produce a VCG description of the "
"automaton\n" "automaton\n"
msgstr "" msgstr ""
"Väljund:\n" "Väljund:\n"
@@ -204,26 +206,27 @@ msgstr ""
" -v, --verbose väljasta automaadi kohta selgitusi\n" " -v, --verbose väljasta automaadi kohta selgitusi\n"
" -b, --file-prefix=PREFIKS kasuta väljundfailide nimedes PREFIKSit\n" " -b, --file-prefix=PREFIKS kasuta väljundfailide nimedes PREFIKSit\n"
" -o, --output-file=FAIL jäta väljund FAILi\n" " -o, --output-file=FAIL jäta väljund FAILi\n"
" -g, --graph loo automaadi kirjeldus VCG graafina\n"
#: src/getargs.c:126 #: src/getargs.c:127
msgid "Report bugs to <[email protected]>.\n" msgid "Report bugs to <[email protected]>.\n"
msgstr "Teatage palun vigadest aadressil <[email protected]>.\n" msgstr "Teatage palun vigadest aadressil <[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:140 #: src/getargs.c:141
#, c-format #, c-format
msgid "bison (GNU Bison) %s" msgid "bison (GNU Bison) %s"
msgstr "bison (GNU Bison) %s" msgstr "bison (GNU Bison) %s"
#: src/getargs.c:145 #: 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 ""
"Autoriõigus 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, " "Autoriõigus 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, "
"Inc.\n" "Inc.\n"
#: src/getargs.c:149 #: 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"
@@ -231,84 +234,94 @@ 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:210 src/lex.c:636 #: src/getargs.c:215 src/lex.c:694
#, c-format #, c-format
msgid "`%s' is no longer supported" msgid "`%s' is no longer supported"
msgstr "`%s' ei ole enam toetatud" msgstr "`%s' ei ole enam toetatud"
#: src/getargs.c:234 #: src/getargs.c:239
#, 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:241 #: src/getargs.c:246
#, 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:245 #: src/getargs.c:250
#, c-format #, c-format
msgid "%s: extra arguments ignored after `%s'\n" msgid "%s: extra arguments ignored after `%s'\n"
msgstr "%s: ignoreerin lisaargumente peale `%s'\n" msgstr "%s: ignoreerin lisaargumente peale `%s'\n"
#: src/lalr.c:312 #: src/lalr.c:311
#, 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)"
#: src/lex.c:70 #: src/lex.c:76
msgid "unexpected `/' found and ignored" msgid "unexpected `/' found and ignored"
msgstr "leidsin ja ignoreerin ootamatu `/'" msgstr "leidsin ja ignoreerin ootamatu `/'"
#: src/lex.c:99 src/reader.c:270 #: src/lex.c:105 src/reader.c:269
msgid "unterminated comment" msgid "unterminated comment"
msgstr "lõpetamata kommentaar" msgstr "lõpetamata kommentaar"
#: src/lex.c:131 #: src/lex.c:137
msgid "unexpected end of file" msgid "unexpected end of file"
msgstr "ootamatu faililõpp" msgstr "ootamatu faililõpp"
#: src/lex.c:160 #: src/lex.c:166
msgid "unescaped newline in constant" msgid "unescaped newline in constant"
msgstr "paojadata reavahetus konstandis" msgstr "paojadata reavahetus konstandis"
#: src/lex.c:202 #: src/lex.c:208
#, c-format #, c-format
msgid "octal value outside range 0...255: `\\%o'" msgid "octal value outside range 0...255: `\\%o'"
msgstr "kaheksandväärtus väljaspool piire 0...255: `\\%o'" msgstr "kaheksandväärtus väljaspool piire 0...255: `\\%o'"
#: src/lex.c:227 #: src/lex.c:233
#, c-format #, c-format
msgid "hexadecimal value above 255: `\\x%x'" msgid "hexadecimal value above 255: `\\x%x'"
msgstr "kuueteistkümnendväärtus suurem, kui above 255: `\\x%x'" msgstr "kuueteistkümnendväärtus suurem, kui above 255: `\\x%x'"
#: src/lex.c:239 #: src/lex.c:245
#, c-format #, c-format
msgid "unknown escape sequence: `\\' followed by `%s'" msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "tundmatu paojada: `\\' järgneb `%s'" msgstr "tundmatu paojada: `\\' järgneb `%s'"
#: src/lex.c:335 #: src/lex.c:342
msgid "unterminated type name at end of file" msgid "unterminated type name at end of file"
msgstr "lõpetamata tüübinimi faili lõpus" msgstr "lõpetamata tüübinimi faili lõpus"
#: src/lex.c:338 #: src/lex.c:345
msgid "unterminated type name" msgid "unterminated type name"
msgstr "lõpetamata tüübinimi" msgstr "lõpetamata tüübinimi"
#: src/lex.c:430 #: src/lex.c:438
msgid "use \"...\" for multi-character literal tokens" msgid "use \"...\" for multi-character literal tokens"
msgstr "kasuta mitmesümboliliste literaalidega \"...\" konstruktsiooni" msgstr "kasuta mitmesümboliliste literaalidega \"...\" konstruktsiooni"
#: src/main.c:108 #: src/lex.c:667
#, c-format
msgid "`%s' supports no argument: %s"
msgstr "`%s' ei toeta argumente: %s"
#: src/lex.c:683
#, c-format
msgid "`%s' requires an argument"
msgstr "võti `%s' nõuab argumenti"
#: src/main.c:128
#, c-format #, c-format
msgid "%s: internal error: %s\n" msgid "%s: internal error: %s\n"
msgstr "%s: sisemine viga: %s\n" msgstr "%s: sisemine viga: %s\n"
#: src/nullable.c:52 #: src/nullable.c:51
msgid "Entering set_nullable" msgid "Entering set_nullable"
msgstr "Entering set_nullable" msgstr "Entering set_nullable"
#: src/output.c:993 #: src/output.c:986
#, 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)"
@@ -346,42 +359,44 @@ msgstr " %-4s\tnihuta ja liigu olekule %d\n"
msgid " %-4s\terror (nonassociative)\n" msgid " %-4s\terror (nonassociative)\n"
msgstr " %-4s\tviga (mitteassotsiatiivne)\n" msgstr " %-4s\tviga (mitteassotsiatiivne)\n"
#: src/print.c:190 #: src/print.c:188
#, c-format #, c-format
msgid " %-4s\tgo to state %d\n" msgid " %-4s\tgo to state %d\n"
msgstr " %-4s\tliigu olekule %d\n" msgstr " %-4s\tliigu olekule %d\n"
#: src/print.c:202 #: src/print.c:200
#, c-format #, c-format
msgid "state %d" msgid "state %d"
msgstr "olek %d" msgstr "olek %d"
#: src/print.c:233 #. rule # : LHS -> RHS
#: src/print.c:230
msgid "Grammar" msgid "Grammar"
msgstr "Grammatika" msgstr "Grammatika"
#: src/print.c:240 #: src/print.c:235
#, c-format #, c-format
msgid "rule %-4d %s ->" msgid "rule %-4d %s ->"
msgstr "reegel %-4d %s ->" msgstr "reegel %-4d %s ->"
#: src/print.c:246 #: src/print.c:241
msgid "\t\t/* empty */" msgid "empty"
msgstr "\t\t/* tühi */" msgstr "tühi"
#: src/print.c:253 #. TERMINAL (type #) : rule #s terminal is on RHS
#: src/print.c:246
msgid "Terminals, with rules where they appear" msgid "Terminals, with rules where they appear"
msgstr "Terminalid, koos reeglitega, kus nad ilmuvad" msgstr "Terminalid, koos reeglitega, kus nad ilmuvad"
#: src/print.c:302 #: src/print.c:270
msgid "Nonterminals, with rules where they appear" msgid "Nonterminals, with rules where they appear"
msgstr "Mitteterminalid, koos reeglitega, kus nad ilmuvad" msgstr "Mitteterminalid, koos reeglitega, kus nad ilmuvad"
#: src/print.c:329 #: src/print.c:296
msgid " on left:" msgid " on left:"
msgstr " vasakul:" msgstr " vasakul:"
#: src/print.c:344 #: src/print.c:311
msgid " on right:" msgid " on right:"
msgstr " paremal:" msgstr " paremal:"
@@ -395,241 +410,231 @@ msgstr "%-4s\tviga (mitteassotsiatiivne)"
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:79 #: src/reader.c:78
msgid " Skipping to next \\n" msgid " Skipping to next \\n"
msgstr " Liigun järgmisele \\n" msgstr " Liigun järgmisele \\n"
#: src/reader.c:81 #: src/reader.c:80
#, 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:132 src/reader.c:144 #: src/reader.c:131 src/reader.c:143
msgid "invalid $ value" msgid "invalid $ value"
msgstr "vigane $ väärtus" msgstr "vigane $ väärtus"
#: src/reader.c:170 src/reader.c:185 #: src/reader.c:169 src/reader.c:184
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:173 #: src/reader.c:172
msgid "unterminated string" msgid "unterminated string"
msgstr "lõpetamata sõne" msgstr "lõpetamata sõne"
#: src/reader.c:326 src/reader.c:390 #: src/reader.c:325 src/reader.c:389
#, c-format #, c-format
msgid "%s is invalid" msgid "%s is invalid"
msgstr "%s on vigane" msgstr "%s on vigane"
#: src/reader.c:366 #: src/reader.c:365
#, 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:383 #: src/reader.c:382
#, 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:437 #: src/reader.c:436
msgid "unterminated `%{' definition" msgid "unterminated `%{' definition"
msgstr "lõpetamata `%{' definitsioon" msgstr "lõpetamata `%{' definitsioon"
#: src/reader.c:482 src/reader.c:598 src/reader.c:648 #: src/reader.c:481 src/reader.c:595 src/reader.c:645
#, 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:499 #: src/reader.c:498
#, c-format #, c-format
msgid "symbol `%s' used more than once as a literal string" msgid "symbol `%s' used more than once as a literal string"
msgstr "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:502 #: src/reader.c:501
#, c-format #, c-format
msgid "symbol `%s' given more than one literal string" msgid "symbol `%s' given more than one literal string"
msgstr "sü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:524 src/reader.c:667 #: src/reader.c:522 src/reader.c:664
#, 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:534 src/reader.c:613 src/reader.c:674 src/reader.c:1306 #: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1294
#, 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:544 #: src/reader.c:541
#, 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:561 src/reader.c:721 #: src/reader.c:558 src/reader.c:723
#, c-format #, c-format
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "korduvad %s deklaratsioonid" msgstr "korduvad %s deklaratsioonid"
#: src/reader.c:563 src/reader.c:893 src/reader.c:918 src/reader.c:1284 #: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1272
#, c-format #, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "vigane %s deklaratsioon" msgstr "vigane %s deklaratsioon"
#: src/reader.c:583 #: src/reader.c:580
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:618 #: src/reader.c:615
#, c-format #, c-format
msgid "invalid %%type declaration due to item: %s" msgid "invalid %%type declaration due to item: %s"
msgstr "vigane %%type deklaratsioon, element: %s" msgstr "vigane %%type deklaratsioon, element: %s"
#: src/reader.c:663 #: src/reader.c:660
#, 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:687 #: src/reader.c:683
#, 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:697 #: src/reader.c:693
#, c-format #, c-format
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "ootamatu element: %s" msgstr "ootamatu element: %s"
#: src/reader.c:759 src/reader.c:1110 src/reader.c:1181 #: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
#, c-format #, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "puudub %s" msgstr "puudub %s"
#: src/reader.c:791 #: src/reader.c:798
#, c-format #, c-format
msgid "argument of %%expect is not an integer" msgid "argument of %%expect is not an integer"
msgstr "%%expect argument ei ole täisarv" msgstr "%%expect argument ei ole täisarv"
#: src/reader.c:838 #: src/reader.c:844
#, 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:862 #: src/reader.c:866
#, 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:930 #: src/reader.c:1014
#, c-format
msgid "multiple %%header_extension declarations"
msgstr "korduvad %%header_extension eklaratsioonid"
#: src/reader.c:940
#, c-format
msgid "multiple %%source_extension declarations"
msgstr "korduvad %%source_extension deklaratsioonid"
#: src/reader.c:1026
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "tundmatu: %s" msgstr "tundmatu: %s"
#: src/reader.c:1031 #: src/reader.c:1019
msgid "no input grammar" msgid "no input grammar"
msgstr "sisendgrammatikat pole" msgstr "sisendgrammatikat pole"
#: src/reader.c:1036 #: src/reader.c:1024
#, 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:1204 #: src/reader.c:1192
#, 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:1371 #: src/reader.c:1359
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "vigaselt formeeritud reegel: algsümbolile ei järgne koolonit" msgstr "vigaselt formeeritud reegel: algsümbolile ei järgne koolonit"
#: src/reader.c:1378 #: src/reader.c:1366
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:1409 #: src/reader.c:1397
#, 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:1511 #: src/reader.c:1499
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:1519 #: src/reader.c:1507
#, 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:1528 #: src/reader.c:1516
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:1542 #: src/reader.c:1530
#, 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:1548 #: src/reader.c:1536
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:1592 #: src/reader.c:1580
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "vigane sisend: %s" msgstr "vigane sisend: %s"
#: src/reader.c:1600 #: src/reader.c:1588
#, 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:1603 #: src/reader.c:1591
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:1627 #: src/reader.c:1615
#, 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:1732 #: src/reader.c:1707
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "%s ja %s omavad konfliktseid prioriteete"
#: src/reader.c:1744
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "%s ja %s omavad konfliktseid assotsiatiivseid väärtuseid"
#: src/reader.c:1795
#, 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:1808 #: src/reader.c:1760
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "%s ja %s omavad konfliktseid prioriteete"
#: src/reader.c:1772
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "%s ja %s omavad konfliktseid assotsiatiivseid väärtuseid"
#: src/reader.c:1811
#, c-format #, 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:1810 #: src/reader.c:1813
#, 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:404 #: src/reduce.c:405
msgid "Useless nonterminals:" msgid "Useless nonterminals:"
msgstr "Kasutamata mitteterminalid:" msgstr "Kasutamata mitteterminalid:"
@@ -641,7 +646,7 @@ msgstr "Terminalid, mida ei kasutatud:"
msgid "Useless rules:" msgid "Useless rules:"
msgstr "Kasutamata reeglid:" msgstr "Kasutamata reeglid:"
#: src/reduce.c:459 #: src/reduce.c:458
msgid "" msgid ""
"Variables\n" "Variables\n"
"---------\n" "---------\n"
@@ -651,11 +656,11 @@ msgstr ""
"--------\n" "--------\n"
"\n" "\n"
#: src/reduce.c:461 #: src/reduce.c:459
msgid "Value Sprec Sassoc Tag\n" msgid "Value Sprec Sassoc Tag\n"
msgstr "Value Sprec Sassoc Tag\n" msgstr "Value Sprec Sassoc Tag\n"
#: src/reduce.c:466 #: src/reduce.c:463
msgid "" msgid ""
"Rules\n" "Rules\n"
"-----\n" "-----\n"
@@ -665,7 +670,7 @@ msgstr ""
"-------\n" "-------\n"
"\n" "\n"
#: src/reduce.c:477 #: src/reduce.c:473
msgid "" msgid ""
"Rules interpreted\n" "Rules interpreted\n"
"-----------------\n" "-----------------\n"
@@ -675,36 +680,31 @@ msgstr ""
"------------------------\n" "------------------------\n"
"\n" "\n"
#: src/reduce.c:494 #: src/reduce.c:495
#, c-format #, c-format
msgid "%d rules never reduced\n" msgid "%d rules never reduced\n"
msgstr "%d reeglit ei redutseeritud\n" msgstr "%d reeglit ei redutseeritud\n"
#: src/reduce.c:496 #: src/reduce.c:501
#, c-format
msgid "%s contains "
msgstr "%s sisaldab "
#: src/reduce.c:500
#, c-format #, c-format
msgid "%d useless nonterminal%s" msgid "%d useless nonterminal%s"
msgstr "%d kasutamata mitteterminali%s" msgstr "%d kasutamata mitteterminali%s"
#: src/reduce.c:505 #: src/reduce.c:506
msgid " and " msgid " and "
msgstr " ja " msgstr " ja "
#: src/reduce.c:509 #: src/reduce.c:510
#, c-format #, c-format
msgid "%d useless rule%s" msgid "%d useless rule%s"
msgstr "%d kasutamata reeglit%s" msgstr "%d kasutamata reeglit%s"
#: src/reduce.c:542 #: src/reduce.c:540
#, c-format #, c-format
msgid "Start symbol %s does not derive any sentence" msgid "Start symbol %s does not derive any sentence"
msgstr "Stardisümbolist %s ei tuletata ühtegi lauset" msgstr "Stardisümbolist %s ei tuletata ühtegi lauset"
#: src/reduce.c:555 #: src/reduce.c:553
#, c-format #, c-format
msgid "" msgid ""
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n" "reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
@@ -712,68 +712,68 @@ msgstr ""
"redutseeritud %s defineerib %d terminali%s, %d mitteterminali%s ja %d reeglit" "redutseeritud %s defineerib %d terminali%s, %d mitteterminali%s ja %d reeglit"
"%s.\n" "%s.\n"
#: lib/getopt.c:675 #: lib/getopt.c:694
#, c-format #, c-format
msgid "%s: option `%s' is ambiguous\n" msgid "%s: option `%s' is ambiguous\n"
msgstr "%s: võti `%s' on segane\n" msgstr "%s: võti `%s' on segane\n"
#: lib/getopt.c:700 #: lib/getopt.c:719
#, c-format #, c-format
msgid "%s: option `--%s' doesn't allow an argument\n" msgid "%s: option `--%s' doesn't allow an argument\n"
msgstr "%s: võti `--%s' ei luba argumenti\n" msgstr "%s: võti `--%s' ei luba argumenti\n"
#: lib/getopt.c:705 #: lib/getopt.c:724
#, c-format #, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n" msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr "%s: võti `%c%s' ei luba argumenti\n" msgstr "%s: võti `%c%s' ei luba argumenti\n"
#: lib/getopt.c:723 lib/getopt.c:896 #: lib/getopt.c:742 lib/getopt.c:915
#, c-format #, c-format
msgid "%s: option `%s' requires an argument\n" msgid "%s: option `%s' requires an argument\n"
msgstr "%s: võti `%s' nõuab argumenti\n" msgstr "%s: võti `%s' nõuab argumenti\n"
#. --option #. --option
#: lib/getopt.c:752 #: lib/getopt.c:771
#, c-format #, c-format
msgid "%s: unrecognized option `--%s'\n" msgid "%s: unrecognized option `--%s'\n"
msgstr "%s: tundmatu võti `--%s'\n" msgstr "%s: tundmatu võti `--%s'\n"
#. +option or -option #. +option or -option
#: lib/getopt.c:756 #: lib/getopt.c:775
#, c-format #, c-format
msgid "%s: unrecognized option `%c%s'\n" msgid "%s: unrecognized option `%c%s'\n"
msgstr "%s: tundmatu võti `%c%s'\n" msgstr "%s: tundmatu võti `%c%s'\n"
#. 1003.2 specifies the format of this message. #. 1003.2 specifies the format of this message.
#: lib/getopt.c:782 #: lib/getopt.c:801
#, c-format #, c-format
msgid "%s: illegal option -- %c\n" msgid "%s: illegal option -- %c\n"
msgstr "%s: lubamatu võti -- %c\n" msgstr "%s: lubamatu võti -- %c\n"
#: lib/getopt.c:785 #: lib/getopt.c:804
#, c-format #, c-format
msgid "%s: invalid option -- %c\n" msgid "%s: invalid option -- %c\n"
msgstr "%s: vigane võti -- %c\n" msgstr "%s: vigane võti -- %c\n"
#. 1003.2 specifies the format of this message. #. 1003.2 specifies the format of this message.
#: lib/getopt.c:815 lib/getopt.c:945 #: lib/getopt.c:834 lib/getopt.c:964
#, c-format #, c-format
msgid "%s: option requires an argument -- %c\n" msgid "%s: option requires an argument -- %c\n"
msgstr "%s: võti nõuab argumenti -- %c\n" msgstr "%s: võti nõuab argumenti -- %c\n"
#: lib/getopt.c:862 #: lib/getopt.c:881
#, c-format #, c-format
msgid "%s: option `-W %s' is ambiguous\n" msgid "%s: option `-W %s' is ambiguous\n"
msgstr "%s: võti `-W %s' on segane\n" msgstr "%s: võti `-W %s' on segane\n"
#: lib/getopt.c:880 #: lib/getopt.c:899
#, c-format #, c-format
msgid "%s: option `-W %s' doesn't allow an argument\n" msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: võti `-W %s' ei luba argumenti\n" msgstr "%s: võti `-W %s' ei luba argumenti\n"
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message #. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
#. before exiting when memory is exhausted. Goes through gettext. #. before exiting when memory is exhausted. Goes through gettext.
#: lib/obstack.c:477 lib/xmalloc.c:66 #: lib/obstack.c:494 lib/obstack.c:497 lib/xmalloc.c:66
msgid "memory exhausted" msgid "memory exhausted"
msgstr "mälu on otsas" msgstr "mälu on otsas"
@@ -791,43 +791,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:259 #: lib/quotearg.c:268
msgid "`" msgid "`"
msgstr "`" msgstr "`"
#: lib/quotearg.c:260 #: lib/quotearg.c:269
msgid "'" msgid "'"
msgstr "'" msgstr "'"
#~ msgid "vcg graph: no such color."
#~ msgstr "vcg graph: sellist värvi pole."
#~ msgid "vcg graph: no such text mode"
#~ msgstr "vcg graph: sellist teksti moodi pole"
#~ msgid "vcg graph: no such shape"
#~ msgstr "vcg graph: sellist vormi pole"
#~ msgid "vcg graph: no such decision"
#~ msgstr "vcg graph: sellist otsust pole"
#~ msgid "vcg graph: no such an orientation"
#~ msgstr "vcg graph: sellist orientatsiooni pole"
#~ msgid "vcg graph: no such an alignement"
#~ msgstr "vcg graph: sellist joondamist pole"
#~ msgid "vcg graph: no such an arrow mode"
#~ msgstr "vcg graph: sellist noole moodi pole"
#~ msgid "vcg graph: no such crossing_type"
#~ msgstr "vcg graph: sellist ristumise tüüpi pole"
#~ msgid "vcg graph: no such view"
#~ msgstr "vcg graph: sellist vaadet pole"
#~ msgid "vcg graph: no such linestyle"
#~ msgstr "vcg graph: sellist joone stiili pole"
#~ msgid "vcg graph: no such an arrowstyle"
#~ msgstr "vcg graph: sellist noole stiili pole"
BIN
View File
Binary file not shown.
+210 -193
View File
@@ -5,9 +5,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU bison 1.28c\n" "Project-Id-Version: GNU bison 1.30a\n"
"POT-Creation-Date: 2001-08-29 14:32+0200\n" "POT-Creation-Date: 2001-11-14 15:59+0100\n"
"PO-Revision-Date: 2001-08-28 08:00-0500\n" "PO-Revision-Date: 2001-11-12 08:00-0500\n"
"Last-Translator: Michel Robitaille <[email protected]>\n" "Last-Translator: Michel Robitaille <[email protected]>\n"
"Language-Team: French <[email protected]>\n" "Language-Team: French <[email protected]>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -19,90 +19,91 @@ 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:117 src/complain.c:100 #: lib/error.c:128 lib/error.c:156 src/complain.c:96
msgid "Unknown system error" msgid "Unknown system error"
msgstr "Erreur système inconnue" msgstr "Erreur système inconnue"
#: src/complain.c:154 #: src/complain.c:150
msgid "warning: " msgid "warning: "
msgstr "AVERTISSEMENT: " msgstr "AVERTISSEMENT: "
#: src/complain.c:242 src/complain.c:283 #: src/complain.c:238 src/complain.c:279
msgid "fatal error: " msgid "fatal error: "
msgstr "erreur fatale: " msgstr "erreur fatale: "
#: src/conflicts.c:49 #: src/conflicts.c:45
#, c-format #, c-format
msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n" msgid "Conflict in state %d between rule %d and token %s resolved as %s.\n"
msgstr "" msgstr ""
"Conflit à l'état %d entre la règle %d et le terminal %s résolu par %s.\n" "Conflit à l'état %d entre la règle %d et le terminal %s résolu par %s.\n"
#: src/conflicts.c:115 src/conflicts.c:138 #: src/conflicts.c:111 src/conflicts.c:134
msgid "reduce" msgid "reduce"
msgstr "réduction" msgstr "réduction"
#: src/conflicts.c:121 src/conflicts.c:134 #: src/conflicts.c:117 src/conflicts.c:130
msgid "shift" msgid "shift"
msgstr "décalage" msgstr "décalage"
#: src/conflicts.c:142 #: src/conflicts.c:138
msgid "an error" msgid "an error"
msgstr "une erreur" msgstr "une erreur"
#: src/conflicts.c:422 #: src/conflicts.c:411
msgid " 1 shift/reduce conflict" #, fuzzy, c-format
msgstr " 1 conflit décalage/réduction" msgid "%d shift/reduce conflict"
msgid_plural "%d shift/reduce conflicts"
msgstr[0] " %d conflits décalage/réduction"
#: src/conflicts.c:427 #: src/conflicts.c:418
#, c-format #, fuzzy
msgid " %d shift/reduce conflicts" msgid "and"
msgstr " %d conflits décalage/réduction"
#: src/conflicts.c:433
msgid " and"
msgstr " et" msgstr " et"
#: src/conflicts.c:439 #: src/conflicts.c:424
msgid " 1 reduce/reduce conflict" #, fuzzy, c-format
msgstr "1 conflit réduction/réduction" msgid "%d reduce/reduce conflict"
msgid_plural "%d reduce/reduce conflicts"
msgstr[0] " %d conflits réduction/réduction"
#: src/conflicts.c:444 #: src/conflicts.c:448
#, c-format #, fuzzy, c-format
msgid " %d reduce/reduce conflicts" msgid "State %d contains "
msgstr " %d conflits réduction/réduction"
#: src/conflicts.c:481
#, c-format
msgid "State %d contains"
msgstr "L'état %d contient" msgstr "L'état %d contient"
#. If invoked with `--yacc', use the output format specified by #. If invoked with `--yacc', use the output format specified by
#. POSIX. #. POSIX.
#: src/conflicts.c:493 #: src/conflicts.c:482
msgid "conflicts: " msgid "conflicts: "
msgstr "conflits: " msgstr "conflits: "
#: src/conflicts.c:495 #: src/conflicts.c:484
#, c-format #, c-format
msgid " %d shift/reduce" msgid " %d shift/reduce"
msgstr " %d décalage/réduction" msgstr " %d décalage/réduction"
#: src/conflicts.c:499 #: src/conflicts.c:488
#, c-format #, c-format
msgid " %d reduce/reduce" msgid " %d reduce/reduce"
msgstr " %d réduction/réduction" msgstr " %d réduction/réduction"
#: src/conflicts.c:504 #: src/conflicts.c:493 src/reduce.c:497
#, c-format #, c-format
msgid "%s contains" msgid "%s contains "
msgstr "%s contient" msgstr "%s contient "
#: src/conflicts.c:590 src/conflicts.c:711 #: src/conflicts.c:502
#, fuzzy, c-format
msgid "expected %d shift/reduce conflict"
msgid_plural "expected %d shift/reduce conflicts"
msgstr[0] " %d conflits décalage/réduction"
#: src/conflicts.c:589 src/conflicts.c:709
#, c-format #, c-format
msgid " %-4s\t[reduce using rule %d (%s)]\n" msgid " %-4s\t[reduce using rule %d (%s)]\n"
msgstr " %-4s\t[réduction par la règle %d (%s)\n" msgstr " %-4s\t[réduction par la règle %d (%s)\n"
#: src/conflicts.c:602 src/print.c:173 #: src/conflicts.c:600 src/print.c:172
#, c-format #, c-format
msgid "" msgid ""
" $default\treduce using rule %d (%s)\n" " $default\treduce using rule %d (%s)\n"
@@ -111,55 +112,55 @@ 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:691 src/conflicts.c:705 #: src/conflicts.c:689 src/conflicts.c:703
#, 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:732 #: src/conflicts.c:729
#, c-format #, c-format
msgid " $default\treduce using rule %d (%s)\n" msgid " $default\treduce using rule %d (%s)\n"
msgstr " $défaut\tréduction par la règle %d (%s)\n" msgstr " $défaut\tréduction par la règle %d (%s)\n"
#: src/derives.c:44 #: src/derives.c:43
msgid "DERIVES" msgid "DERIVES"
msgstr "DÉRIVES" msgstr "DÉRIVES"
#: src/derives.c:49 #: src/derives.c:48
#, c-format #, c-format
msgid "%s derives" msgid "%s derives"
msgstr "%s dérive" msgstr "%s dérive"
#: src/files.c:130 #: src/files.c:143
#, 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:149 #: src/files.c:162
msgid "cannot close file" msgid "cannot close file"
msgstr "ne peut fermer le fichier" msgstr "ne peut fermer le fichier"
#. 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:83 #: 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 "GNU bison génère des analyseurs pour les grammaires de type LALR(1).\n" msgstr "GNU bison génère des analyseurs pour les grammaires de type LALR(1).\n"
#: src/getargs.c:87 #: src/getargs.c:88
#, c-format #, c-format
msgid "Usage: %s [OPTION]... FILE\n" msgid "Usage: %s [OPTION]... FILE\n"
msgstr "Usage: %s [OPTION]... FICHIER\n" msgstr "Usage: %s [OPTION]... FICHIER\n"
#: src/getargs.c:91 #: 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 ""
"Si une option de forme longue montre un paramètre comme étant obligatoire,\n" "Si une option de forme longue montre un arguement comme étant obligatoire,\n"
"il est alors obligatoire également pour une option de forme courte.\n" "il est alors obligatoire également pour une option de forme courte.\n"
"Il en est de même pour les paramètres optionnels.\n" "Il en est de même pour les arguments optionnels.\n"
#: src/getargs.c:97 #: src/getargs.c:98
msgid "" msgid ""
"Operation modes:\n" "Operation modes:\n"
" -h, --help display this help and exit\n" " -h, --help display this help and exit\n"
@@ -171,7 +172,7 @@ msgstr ""
" -V, --version afficher le nom et la version du logiciel\n" " -V, --version afficher le nom et la version du logiciel\n"
" -y, --yacc émuler yacc en mode POSIX\n" " -y, --yacc émuler yacc en mode POSIX\n"
#: src/getargs.c:104 #: src/getargs.c:105
msgid "" msgid ""
"Parser:\n" "Parser:\n"
" -S, --skeleton=FILE specify the skeleton to use\n" " -S, --skeleton=FILE specify the skeleton to use\n"
@@ -193,41 +194,42 @@ msgstr ""
" -r, --raw compter les jetons à partir de 3\n" " -r, --raw compter les jetons à partir de 3\n"
" -k, --token-table inclure la table des noms de jetons\n" " -k, --token-table inclure la table des noms de jetons\n"
#: src/getargs.c:116 #: 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"
" -v, --verbose also produce an explanation of the automaton\n" " -v, --verbose also produce an explanation of the automaton\n"
" -b, --file-prefix=PREFIX specify a PREFIX for output files\n" " -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
" -o, --output-file=FILE leave output to FILE\n" " -o, --output=FILE leave output to FILE\n"
" -g, --graph also produce a VCG graph description of the " " -g, --graph also produce a VCG description of the "
"automaton\n" "automaton\n"
msgstr "" msgstr ""
"Sortie:\n" "Sortie:\n"
" -d, --defines produire un fichier d'en-tête\n" " -d, --defines produire un fichier d'en-tête\n"
" -v, --verbose produire une explication de l'automate\n" " -v, --verbose produire une explication de l'automate\n"
" -b, --file-prefix=PREFIXE utiliser le PREFIXE pour le fichier de sortie\n" " -b, --file-prefix=PREFIXE utiliser le PREFIXE pour le fichier de sortie\n"
" -o, --output-file=FICHIER produire la sortie dans le FICHIER\n" " -o, --output=FICHIER produire la sortie dans le FICHIER\n"
" -g, --graph produire aussi la description du graphe VCG de "
"l'automate\n"
#: src/getargs.c:126 #: src/getargs.c:127
msgid "Report bugs to <[email protected]>.\n" msgid "Report bugs to <[email protected]>.\n"
msgstr "Rapporter toutes anomalies à <[email protected]>.\n" msgstr "Rapporter toutes anomalies à <[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:140 #: src/getargs.c:141
#, c-format #, c-format
msgid "bison (GNU Bison) %s" msgid "bison (GNU Bison) %s"
msgstr "bison (GNU Bison) %s" msgstr "bison (GNU Bison) %s"
#: src/getargs.c:145 #: 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" "Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
#: src/getargs.c:149 #: 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"
@@ -236,84 +238,94 @@ 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:210 src/lex.c:636 #: src/getargs.c:215 src/lex.c:694
#, c-format #, c-format
msgid "`%s' is no longer supported" msgid "`%s' is no longer supported"
msgstr "`%s' n'est plus supporté" msgstr "`%s' n'est plus supporté"
#: src/getargs.c:234 #: src/getargs.c:239
#, 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:241 #: src/getargs.c:246
#, 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:245 #: src/getargs.c:250
#, c-format #, c-format
msgid "%s: extra arguments ignored after `%s'\n" msgid "%s: extra arguments ignored after `%s'\n"
msgstr "%s: paramètres supplémentaires ignorés après `%s'\n" msgstr "%s: arguments supplémentaires ignorés après `%s'\n"
#: src/lalr.c:312 #: src/lalr.c:311
#, 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)"
#: src/lex.c:70 #: src/lex.c:76
msgid "unexpected `/' found and ignored" msgid "unexpected `/' found and ignored"
msgstr "`/' inattendu et ignoré" msgstr "`/' inattendu et ignoré"
#: src/lex.c:99 src/reader.c:270 #: src/lex.c:105 src/reader.c:269
msgid "unterminated comment" msgid "unterminated comment"
msgstr "le commentaire ne se termine pas" msgstr "le commentaire ne se termine pas"
#: src/lex.c:131 #: src/lex.c:137
msgid "unexpected end of file" msgid "unexpected end of file"
msgstr "Fin de fichier inattendue" msgstr "Fin de fichier inattendue"
#: src/lex.c:160 #: src/lex.c:166
msgid "unescaped newline in constant" msgid "unescaped newline in constant"
msgstr "retour de chariot sans échappement dans une constante" msgstr "retour de chariot sans échappement dans une constante"
#: src/lex.c:202 #: src/lex.c:208
#, c-format #, c-format
msgid "octal value outside range 0...255: `\\%o'" msgid "octal value outside range 0...255: `\\%o'"
msgstr "valeur octale à l'extérieur de l'intervalle 0...255: \\%o" msgstr "valeur octale à l'extérieur de l'intervalle 0...255: \\%o"
#: src/lex.c:227 #: src/lex.c:233
#, c-format #, c-format
msgid "hexadecimal value above 255: `\\x%x'" msgid "hexadecimal value above 255: `\\x%x'"
msgstr "valeur hexadécimale supérieure à 255: \\x%x" msgstr "valeur hexadécimale supérieure à 255: \\x%x"
#: src/lex.c:239 #: src/lex.c:245
#, c-format #, c-format
msgid "unknown escape sequence: `\\' followed by `%s'" msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "séquence d'échappement inconnue: `\\' suivie de `%s'" msgstr "séquence d'échappement inconnue: `\\' suivie de `%s'"
#: src/lex.c:335 #: src/lex.c:342
msgid "unterminated type name at end of file" msgid "unterminated type name at end of file"
msgstr "le nom de type ne se termine pas avant la fin de fichier" msgstr "le nom de type ne se termine pas avant la fin de fichier"
#: src/lex.c:338 #: src/lex.c:345
msgid "unterminated type name" msgid "unterminated type name"
msgstr "le nom de type ne se termine pas" msgstr "le nom de type ne se termine pas"
#: src/lex.c:430 #: src/lex.c:438
msgid "use \"...\" for multi-character literal tokens" msgid "use \"...\" for multi-character literal tokens"
msgstr "utilisez \"...\" pour les terminaux litéraux de plusieurs caractères" msgstr "utilisez \"...\" pour les terminaux litéraux de plusieurs caractères"
#: src/main.c:108 #: src/lex.c:667
#, c-format
msgid "`%s' supports no argument: %s"
msgstr "`%s' ne supporte aucun argument: %s"
#: src/lex.c:683
#, c-format
msgid "`%s' requires an argument"
msgstr "`%s': requiert un argument"
#: src/main.c:128
#, c-format #, c-format
msgid "%s: internal error: %s\n" msgid "%s: internal error: %s\n"
msgstr "%s: erreur interne: %s\n" msgstr "%s: erreur interne: %s\n"
#: src/nullable.c:52 #: src/nullable.c:51
msgid "Entering set_nullable" msgid "Entering set_nullable"
msgstr "Entré dans set_nullable" msgstr "Entré dans set_nullable"
#: src/output.c:993 #: src/output.c:986
#, 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"
@@ -351,42 +363,44 @@ msgstr " %-4s\td
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:190 #: src/print.c:188
#, c-format #, c-format
msgid " %-4s\tgo to state %d\n" msgid " %-4s\tgo to state %d\n"
msgstr " %-4s\taller à l'état %d\n" msgstr " %-4s\taller à l'état %d\n"
#: src/print.c:202 #: src/print.c:200
#, c-format #, c-format
msgid "state %d" msgid "state %d"
msgstr "état %d" msgstr "état %d"
#: src/print.c:233 #. rule # : LHS -> RHS
#: src/print.c:230
msgid "Grammar" msgid "Grammar"
msgstr "Grammaire" msgstr "Grammaire"
#: src/print.c:240 #: src/print.c:235
#, c-format #, c-format
msgid "rule %-4d %s ->" msgid "rule %-4d %s ->"
msgstr "règle %-4d %s ->" msgstr "règle %-4d %s ->"
#: src/print.c:246 #: src/print.c:241
msgid "\t\t/* empty */" msgid "empty"
msgstr "\t\t/* epsilon */" msgstr "vide"
#: src/print.c:253 #. TERMINAL (type #) : rule #s terminal is on RHS
#: src/print.c:246
msgid "Terminals, with rules where they appear" msgid "Terminals, with rules where they appear"
msgstr "Terminaux, suivis des règles où ils apparaissent" msgstr "Terminaux, suivis des règles où ils apparaissent"
#: src/print.c:302 #: src/print.c:270
msgid "Nonterminals, with rules where they appear" msgid "Nonterminals, with rules where they appear"
msgstr "Non-terminaux, suivis des règles où ils apparaissent" msgstr "Non-terminaux, suivis des règles où ils apparaissent"
#: src/print.c:329 #: src/print.c:296
msgid " on left:" msgid " on left:"
msgstr " à gauche:" msgstr " à gauche:"
#: src/print.c:344 #: src/print.c:311
msgid " on right:" msgid " on right:"
msgstr " à droite:" msgstr " à droite:"
@@ -400,242 +414,232 @@ msgstr "%-4s\terreur (non-associatif)"
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:79 #: src/reader.c:78
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:81 #: src/reader.c:80
#, 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:132 src/reader.c:144 #: src/reader.c:131 src/reader.c:143
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:170 src/reader.c:185 #: src/reader.c:169 src/reader.c:184
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:173 #: src/reader.c:172
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:326 src/reader.c:390 #: src/reader.c:325 src/reader.c:389
#, 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:366 #: src/reader.c:365
#, 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:383 #: src/reader.c:382
#, 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:437 #: src/reader.c:436
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:482 src/reader.c:598 src/reader.c:648 #: src/reader.c:481 src/reader.c:595 src/reader.c:645
#, 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:499 #: src/reader.c:498
#, c-format #, c-format
msgid "symbol `%s' used more than once as a literal string" msgid "symbol `%s' used more than once as a literal string"
msgstr "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:502 #: src/reader.c:501
#, c-format #, c-format
msgid "symbol `%s' given more than one literal string" msgid "symbol `%s' given more than one literal string"
msgstr "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:524 src/reader.c:667 #: src/reader.c:522 src/reader.c:664
#, 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:534 src/reader.c:613 src/reader.c:674 src/reader.c:1306 #: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1294
#, 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:544 #: src/reader.c:541
#, 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:561 src/reader.c:721 #: src/reader.c:558 src/reader.c:723
#, 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:563 src/reader.c:893 src/reader.c:918 src/reader.c:1284 #: src/reader.c:560 src/reader.c:902 src/reader.c:927 src/reader.c:1272
#, 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:583 #: src/reader.c:580
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:618 #: src/reader.c:615
#, c-format #, c-format
msgid "invalid %%type declaration due to item: %s" msgid "invalid %%type declaration due to item: %s"
msgstr "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:663 #: src/reader.c:660
#, 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:687 #: src/reader.c:683
#, 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:697 #: src/reader.c:693
#, c-format #, c-format
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "item inattendu: %s" msgstr "item inattendu: %s"
#: src/reader.c:759 src/reader.c:1110 src/reader.c:1181 #: src/reader.c:766 src/reader.c:1098 src/reader.c:1169
#, c-format #, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "non appariement de %s" msgstr "non appariement de %s"
#: src/reader.c:791 #: src/reader.c:798
#, c-format #, c-format
msgid "argument of %%expect is not an integer" msgid "argument of %%expect is not an integer"
msgstr "le paramètre de %%expect n'est pas un entier" msgstr "l'argument de %%expect n'est pas un entier"
#: src/reader.c:838 #: src/reader.c:844
#, 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:862 #: src/reader.c:866
#, 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:930 #: src/reader.c:1014
#, c-format
msgid "multiple %%header_extension declarations"
msgstr "multiples déclarations %%header_extension"
#: src/reader.c:940
#, c-format
msgid "multiple %%source_extension declarations"
msgstr "multiples déclarations %%source_extension"
#: 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:1031 #: src/reader.c:1019
msgid "no input grammar" msgid "no input grammar"
msgstr "aucune grammaire en entrée" msgstr "aucune grammaire en entrée"
#: src/reader.c:1036 #: src/reader.c:1024
#, 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:1204 #: src/reader.c:1192
#, 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:1371 #: src/reader.c:1359
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "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:1378 #: src/reader.c:1366
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:1409 #: src/reader.c:1397
#, 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:1511 #: src/reader.c:1499
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:1519 #: src/reader.c:1507
#, 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:1528 #: src/reader.c:1516
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:1542 #: src/reader.c:1530
#, 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:1548 #: src/reader.c:1536
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:1592 #: src/reader.c:1580
#, 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:1600 #: src/reader.c:1588
#, 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:1603 #: src/reader.c:1591
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:1627 #: src/reader.c:1615
#, 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:1732 #: src/reader.c:1707
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "les priorités pour %s et %s entrent en conflit"
#: src/reader.c:1744
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "les valeurs d'association de %s et %s entrent en conflit"
#: src/reader.c:1795
#, 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:1808 #: src/reader.c:1760
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "les priorités pour %s et %s entrent en conflit"
#: src/reader.c:1772
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "les valeurs d'association de %s et %s entrent en conflit"
#: src/reader.c:1811
#, c-format #, 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:1810 #: src/reader.c:1813
#, 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:404 #: src/reduce.c:405
msgid "Useless nonterminals:" msgid "Useless nonterminals:"
msgstr "Non-terminaux inutiles:" msgstr "Non-terminaux inutiles:"
@@ -647,7 +651,7 @@ msgstr "Terminaux non utilis
msgid "Useless rules:" msgid "Useless rules:"
msgstr "Règles inutiles:" msgstr "Règles inutiles:"
#: src/reduce.c:459 #: src/reduce.c:458
msgid "" msgid ""
"Variables\n" "Variables\n"
"---------\n" "---------\n"
@@ -657,11 +661,11 @@ msgstr ""
"---------\n" "---------\n"
"\n" "\n"
#: src/reduce.c:461 #: src/reduce.c:459
msgid "Value Sprec Sassoc Tag\n" msgid "Value Sprec Sassoc Tag\n"
msgstr "Valeur Spréc Sassoc Tag\n" msgstr "Valeur Spréc Sassoc Tag\n"
#: src/reduce.c:466 #: src/reduce.c:463
msgid "" msgid ""
"Rules\n" "Rules\n"
"-----\n" "-----\n"
@@ -671,7 +675,7 @@ msgstr ""
"------\n" "------\n"
"\n" "\n"
#: src/reduce.c:477 #: src/reduce.c:473
msgid "" msgid ""
"Rules interpreted\n" "Rules interpreted\n"
"-----------------\n" "-----------------\n"
@@ -681,36 +685,31 @@ msgstr ""
"-------------------\n" "-------------------\n"
"\n" "\n"
#: src/reduce.c:494 #: src/reduce.c:495
#, c-format #, c-format
msgid "%d rules never reduced\n" msgid "%d rules never reduced\n"
msgstr "%d règles jamais réduites\n" msgstr "%d règles jamais réduites\n"
#: src/reduce.c:496 #: src/reduce.c:501
#, c-format
msgid "%s contains "
msgstr "%s contient "
#: src/reduce.c:500
#, c-format #, c-format
msgid "%d useless nonterminal%s" msgid "%d useless nonterminal%s"
msgstr "%d catégories non productives%s" msgstr "%d catégories non productives%s"
#: src/reduce.c:505 #: src/reduce.c:506
msgid " and " msgid " and "
msgstr " et " msgstr " et "
#: src/reduce.c:509 #: src/reduce.c:510
#, c-format #, c-format
msgid "%d useless rule%s" msgid "%d useless rule%s"
msgstr "%d règle(s) non productive(s)%s" msgstr "%d règle(s) non productive(s)%s"
#: src/reduce.c:542 #: src/reduce.c:540
#, c-format #, c-format
msgid "Start symbol %s does not derive any sentence" msgid "Start symbol %s does not derive any sentence"
msgstr "Aucune phrase ne peut être dérivée du symbole de départ %s" msgstr "Aucune phrase ne peut être dérivée du symbole de départ %s"
#: src/reduce.c:555 #: src/reduce.c:553
#, c-format #, c-format
msgid "" msgid ""
"reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n" "reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
@@ -718,68 +717,68 @@ msgstr ""
"la réduction de %s définit %d terminal%s, %d catégorie%s et %d production%" "la réduction de %s définit %d terminal%s, %d catégorie%s et %d production%"
"s.\n" "s.\n"
#: lib/getopt.c:675 #: lib/getopt.c:694
#, c-format #, c-format
msgid "%s: option `%s' is ambiguous\n" msgid "%s: option `%s' is ambiguous\n"
msgstr "%s: l'option %s est ambigüe\n" msgstr "%s: l'option %s est ambigüe\n"
#: lib/getopt.c:700 #: lib/getopt.c:719
#, c-format #, c-format
msgid "%s: option `--%s' doesn't allow an argument\n" msgid "%s: option `--%s' doesn't allow an argument\n"
msgstr "%s: l'option --%s n'admet pas de paramètre\n" msgstr "%s: l'option --%s n'admet pas d'argument\n"
#: lib/getopt.c:705 #: lib/getopt.c:724
#, c-format #, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n" msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr "%s: l'option %c%s n'admet pas de paramètre\n" msgstr "%s: l'option %c%s n'admet pas d'argument\n"
#: lib/getopt.c:723 lib/getopt.c:896 #: lib/getopt.c:742 lib/getopt.c:915
#, c-format #, c-format
msgid "%s: option `%s' requires an argument\n" msgid "%s: option `%s' requires an argument\n"
msgstr "%s: l'option %s requiert un paramètre\n" msgstr "%s: l'option %s requiert un argument\n"
#. --option #. --option
#: lib/getopt.c:752 #: lib/getopt.c:771
#, c-format #, c-format
msgid "%s: unrecognized option `--%s'\n" msgid "%s: unrecognized option `--%s'\n"
msgstr "%s: l'option --%s est inconnue\n" msgstr "%s: l'option --%s est inconnue\n"
#. +option or -option #. +option or -option
#: lib/getopt.c:756 #: lib/getopt.c:775
#, c-format #, c-format
msgid "%s: unrecognized option `%c%s'\n" msgid "%s: unrecognized option `%c%s'\n"
msgstr "%s: l'option %c%s est inconnue\n" msgstr "%s: l'option %c%s est inconnue\n"
#. 1003.2 specifies the format of this message. #. 1003.2 specifies the format of this message.
#: lib/getopt.c:782 #: lib/getopt.c:801
#, c-format #, c-format
msgid "%s: illegal option -- %c\n" msgid "%s: illegal option -- %c\n"
msgstr "%s: option illégale -- %c\n" msgstr "%s: option illégale -- %c\n"
#: lib/getopt.c:785 #: lib/getopt.c:804
#, c-format #, c-format
msgid "%s: invalid option -- %c\n" msgid "%s: invalid option -- %c\n"
msgstr "%s: option non valide -- %c\n" msgstr "%s: option non valide -- %c\n"
#. 1003.2 specifies the format of this message. #. 1003.2 specifies the format of this message.
#: lib/getopt.c:815 lib/getopt.c:945 #: lib/getopt.c:834 lib/getopt.c:964
#, c-format #, c-format
msgid "%s: option requires an argument -- %c\n" msgid "%s: option requires an argument -- %c\n"
msgstr "%s: l'option requiert un paramètre -- %c\n" msgstr "%s: l'option requiert un argument -- %c\n"
#: lib/getopt.c:862 #: lib/getopt.c:881
#, c-format #, c-format
msgid "%s: option `-W %s' is ambiguous\n" msgid "%s: option `-W %s' is ambiguous\n"
msgstr "%s: l'option `-W %s' est ambiguë\n" msgstr "%s: l'option `-W %s' est ambiguë\n"
#: lib/getopt.c:880 #: lib/getopt.c:899
#, c-format #, c-format
msgid "%s: option `-W %s' doesn't allow an argument\n" msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: l'option `-W %s' n'admet pas de paramètre\n" msgstr "%s: l'option `-W %s' n'admet pas d'argument\n"
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message #. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
#. before exiting when memory is exhausted. Goes through gettext. #. before exiting when memory is exhausted. Goes through gettext.
#: lib/obstack.c:477 lib/xmalloc.c:66 #: lib/obstack.c:494 lib/obstack.c:497 lib/xmalloc.c:66
msgid "memory exhausted" msgid "memory exhausted"
msgstr "mémoire épuisée" msgstr "mémoire épuisée"
@@ -797,14 +796,32 @@ 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:259 #: lib/quotearg.c:268
msgid "`" msgid "`"
msgstr "`" msgstr "`"
#: lib/quotearg.c:260 #: lib/quotearg.c:269
msgid "'" msgid "'"
msgstr "'" msgstr "'"
#~ msgid " 1 shift/reduce conflict"
#~ msgstr " 1 conflit décalage/réduction"
#~ msgid " 1 reduce/reduce conflict"
#~ msgstr "1 conflit réduction/réduction"
#~ msgid "%s contains"
#~ msgstr "%s contient"
#~ msgid "\t\t/* empty */"
#~ msgstr "\t\t/* epsilon */"
#~ msgid "multiple %%header_extension declarations"
#~ msgstr "multiples déclarations %%header_extension"
#~ msgid "multiple %%source_extension declarations"
#~ msgstr "multiples déclarations %%source_extension"
#~ msgid "vcg graph: no such color." #~ msgid "vcg graph: no such color."
#~ msgstr "graphe vcg: pas de telle couleur" #~ msgstr "graphe vcg: pas de telle couleur"

Some files were not shown because too many files have changed in this diff Show More