platform/upstream/bison.git
18 years agoRegenerate. BISON-2_1
Paul Eggert [Fri, 16 Sep 2005 22:55:33 +0000 (22:55 +0000)]
Regenerate.

18 years ago* NEWS: Version 2.1.
Paul Eggert [Fri, 16 Sep 2005 22:54:21 +0000 (22:54 +0000)]
* NEWS: Version 2.1.

* NEWS: Remove notice of yytname change, since it was never in an
official release.
* data/glr.c (yydestroyGLRState): Rename local var to avoid shadowing
diagnostic.
* src/output.c (prepare): Likewise.
* data/lalr1.cc (YYERROR_VERBOSE_IF): New macro.
(yysyntax_error_): Use it to avoid GCC warning when YYERROR_VERBOSE
is not defined.  This is an awful hack, but it's enough for now.
All callers changed.
* tests/glr-regression-at (make_value): Args are const pointers now,
to avoid GCC warning.
(Duplicated user destructor for lookahead): New test.  Currently
skipped.  It fails on my host but I'm not sure it'll always fail.

18 years ago* src/symtab.h (struct symbol): Declare the printer and destructor
Akim Demaille [Fri, 16 Sep 2005 19:50:08 +0000 (19:50 +0000)]
* src/symtab.h (struct symbol): Declare the printer and destructor
as const, to avoid accidental calls to free.
(symbol_destructor_set, symbol_printer_set): Adjust.
* src/symtab.c: Adjust.

18 years ago* data/c.m4 (b4_token_enums): New.
Akim Demaille [Fri, 16 Sep 2005 19:26:40 +0000 (19:26 +0000)]
* data/c.m4 (b4_token_enums): New.
(b4_token_defines): Rename as...
(b4_token_enums_defines): this.
(b4_token_defines): New, output only the #defines.
* data/yacc.c, data/glr.c: Adjust.
* data/lalr1.cc: Use b4_token_enums instead of b4_token_enums_defines.
* data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate): Define
as default values.

18 years ago* data/c.m4 (b4_token_enums): New.
Akim Demaille [Fri, 16 Sep 2005 19:03:54 +0000 (19:03 +0000)]
* data/c.m4 (b4_token_enums): New.
(b4_token_defines): Rename as...
(b4_token_enums_defines): this.
(b4_token_defines): New, output only the #defines.
* data/yacc.c, data/glr.c: Adjust.
* data/lalr1.cc: Use b4_token_enums instead of b4_token_enums_defines.
* data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate): Define
as default values.

18 years ago* data/lalr1.cc (yylex_): Remove, inline its code.
Akim Demaille [Fri, 16 Sep 2005 12:12:36 +0000 (12:12 +0000)]
* data/lalr1.cc (yylex_): Remove, inline its code.
(yyreport_syntax_error_): Remove, replaced by...
(yysyntax_error_): this which returns a string and leaves to the
caller the call to the users' error function.
(yylooka_, yyilooka_, yylval, yylloc, yyerror_range_, yyval, yyloc):
Move from members of the parser object...
(yylooka, yyilooka, yylval, yylloc, yyerror_range, yyval, yyloc):
to local variables of the parse function.

18 years ago* doc/bison.texinfo (Calc++ Parser): Don't promote defining YYEOF
Akim Demaille [Fri, 16 Sep 2005 11:26:43 +0000 (11:26 +0000)]
* doc/bison.texinfo (Calc++ Parser): Don't promote defining YYEOF
since it's in Bison's name space.

18 years agofalse -> yyfalse
Paul Eggert [Thu, 15 Sep 2005 18:02:03 +0000 (18:02 +0000)]
false -> yyfalse

18 years ago* data/glr.c (yyresolveValue): Add default case to pacify
Paul Eggert [Thu, 15 Sep 2005 14:16:54 +0000 (14:16 +0000)]
* data/glr.c (yyresolveValue): Add default case to pacify
gcc -Wswitch-default.  Problem reported by twlevo@xs4all.nl.

18 years ago* NEWS: Document when yyparse started to return 2.
Paul Eggert [Thu, 15 Sep 2005 14:06:52 +0000 (14:06 +0000)]
* NEWS: Document when yyparse started to return 2.
* doc/bison.texinfo (Parser Function): Document when yyparse
returns 2.

* data/lalr1.cc: Revert part of previous change, as it's incompatible.
(b4_filename_type): Renamed back from b4_file_name_type.  All uses
changed.
(class position): file_name -> filename (reverting).  All uses changed.

19 years ago($(calc_sources_generated)): Don't do anything if $@ exists. This
Paul Eggert [Wed, 14 Sep 2005 22:10:50 +0000 (22:10 +0000)]
($(calc_sources_generated)): Don't do anything if $@ exists.  This
reverts part of the 2005-07-07 patch.

19 years ago*** empty log message ***
Paul Eggert [Mon, 12 Sep 2005 05:51:20 +0000 (05:51 +0000)]
*** empty log message ***

19 years ago[defined YYSETJMP]: Don't include <setjmp.h>.
Paul Eggert [Mon, 12 Sep 2005 05:50:44 +0000 (05:50 +0000)]
[defined YYSETJMP]: Don't include <setjmp.h>.
(YYJMP_BUF, YYSETJMP, YYLONGJMP) [!defined YYSETJMP]: New macros.
All uses of jmp_buf, setjmp, longjmp changed to use these instead.
(yyparse): Abort if user code uses longjmp to throw an unexpected
value.

19 years ago(EXTRA_DIST): Do not distribute REFERENCES; it
Paul Eggert [Mon, 12 Sep 2005 05:50:10 +0000 (05:50 +0000)]
(EXTRA_DIST): Do not distribute REFERENCES; it
contains obsolete information and isn't worth distributing as a
separate file anyway.

19 years ago* data/c.m4 (b4_identification): Define YYBISON_VERSION.
Paul Eggert [Fri, 9 Sep 2005 23:12:09 +0000 (23:12 +0000)]
* data/c.m4 (b4_identification): Define YYBISON_VERSION.
Suggested by twlevo@xs4all.nl.

19 years ago* data/glr.c (YYCHK1): Do not assume YYE is in range.
Paul Eggert [Fri, 9 Sep 2005 22:59:46 +0000 (22:59 +0000)]
* data/glr.c (YYCHK1): Do not assume YYE is in range.
This avoids a diagnostic from gcc -Wswitch-enum.
Problem reported by twlevo@xs4all.nl.

19 years ago* doc/bison.texinfo: Correct typos in previous fix.
Paul Eggert [Fri, 9 Sep 2005 22:42:15 +0000 (22:42 +0000)]
* doc/bison.texinfo: Correct typos in previous fix.
* data/glr.c: b4_filename -> b4_file_name.
* data/lalr1.cc: Likewise.  Also, b4_filename_type -> b4_file_name_type.
All uses changed.
(class position): filename -> file_name.  All uses changed.
* data/yacc.c: b4_filename -> b4_file_name.
* lib/bitset.h: filename -> file_name in local vars.
* lib/bitset_stats.c: Likewise.
* src/files.c: Likewise.
* src/scan-skel.l ("@output ".*\n): Likewise.
* src/files.c (file_name_split): Renamed from filename_split.
* src/muscle_tab.c (muscle_init): Output b4_file_name, not b4_filename.

19 years agoLog recent changes.
Paul Eggert [Fri, 9 Sep 2005 22:14:44 +0000 (22:14 +0000)]
Log recent changes.

19 years agoDon't use "filename", as per GNU coding standards. Use "file name" or
Paul Eggert [Fri, 9 Sep 2005 22:14:28 +0000 (22:14 +0000)]
Don't use "filename", as per GNU coding standards.  Use "file name" or
"file" or "name", depending on the context.
(Invocation): The output of "bison hack/foo.y" goes to foo.tab.c,
not to hack/foo.tab.c.
(Calc++ Top Level): 2nd arg of main is not const.

19 years agoAdd pipe-safer.c, stdio--.h, unistd--.h,
Paul Eggert [Thu, 8 Sep 2005 21:49:23 +0000 (21:49 +0000)]
Add pipe-safer.c, stdio--.h, unistd--.h,
to accommodate latest gnulib.

19 years ago(Duplicate representation of merged trees): Add casts to pacify g++.
Paul Eggert [Thu, 8 Sep 2005 18:41:46 +0000 (18:41 +0000)]
(Duplicate representation of merged trees): Add casts to pacify g++.

19 years agoUndo previous change, then add comment as to why the
Paul Eggert [Thu, 8 Sep 2005 18:26:43 +0000 (18:26 +0000)]
Undo previous change, then add comment as to why the
AM_LANGINFO_CODESET hack is needed.

19 years agoRemove AM_INTL_SUBDIR hack; no longer needed with recent versions of
Paul Eggert [Thu, 8 Sep 2005 18:01:54 +0000 (18:01 +0000)]
Remove AM_INTL_SUBDIR hack; no longer needed with recent versions of
Automake.

19 years ago* data/glr.c (yydestroyGLRState): Renamed from yydestroyStackItem.
Paul Eggert [Fri, 26 Aug 2005 20:16:16 +0000 (20:16 +0000)]
* data/glr.c (yydestroyGLRState): Renamed from yydestroyStackItem.
All uses changed.  Invoke user destructor after an error during a
split parse (trivial change from Joel E. Denny).

* tests/glr-regression.at
(User destructor after an error during a split parse):  New test case.
Problem reported by Joel E. Denny in:
http://lists.gnu.org/archive/html/bison-patches/2005-08/msg00029.html

19 years ago* README-cvs: Give URLs for recommended tools.
Paul Eggert [Thu, 25 Aug 2005 19:06:24 +0000 (19:06 +0000)]
* README-cvs: Give URLs for recommended tools.
Mention Gzip version problem, and bootstrapping issues.
Remove troubleshooting section, as it's somewhat obsolete.

19 years ago* bootstrap (no_cache): New var, to accommodate different wget
Paul Eggert [Thu, 25 Aug 2005 18:49:57 +0000 (18:49 +0000)]
* bootstrap (no_cache): New var, to accommodate different wget
variants.  Use it instead of '-C off'.  Problem reported by
twlevo@xs4all.nl.

19 years agoyydestroyStackItem.
Paul Eggert [Thu, 25 Aug 2005 17:58:19 +0000 (17:58 +0000)]
yydestroyStackItem.

19 years ago(yydestroyStackItem): New function.
Paul Eggert [Thu, 25 Aug 2005 17:57:23 +0000 (17:57 +0000)]
(yydestroyStackItem): New function.
(yyrecoverSyntaxError, yyreturn): Use it to improve quality of
debugging information.  Problem reported by Joel E. Denny.

19 years ago* tests/local.at (AT_COMPILE_CXX): Pass $LINKS too.
Akim Demaille [Thu, 25 Aug 2005 08:53:33 +0000 (08:53 +0000)]
* tests/local.at (AT_COMPILE_CXX): Pass $LINKS too.

19 years ago* data/glr.c (yyrecoverSyntaxError, yyreturn):
Paul Eggert [Thu, 25 Aug 2005 06:11:35 +0000 (06:11 +0000)]
* data/glr.c (yyrecoverSyntaxError, yyreturn):
Don't invoke destructor on unresolved entries.
* tests/glr-regression.at
(User destructor for unresolved GLR semantic value): New test case.
Problem reported by Joel E. Denny in:
http://lists.gnu.org/archive/html/bison-patches/2005-08/msg00016.html

19 years ago* lib/.cvsignore: Remove realloc.c, strncasecmp.c, xstrdup.c.
Paul Eggert [Mon, 22 Aug 2005 06:38:59 +0000 (06:38 +0000)]
* lib/.cvsignore: Remove realloc.c, strncasecmp.c, xstrdup.c.
Add strnlen.c.
* m4/.cvsignore: Remove codeset.m4, gettext.m4, lib-ld.m4,
lib-prefix.m4, po.m4.

19 years agoFix typo in name of lalr1.cc.
Paul Eggert [Mon, 22 Aug 2005 06:33:38 +0000 (06:33 +0000)]
Fix typo in name of lalr1.cc.

19 years agoRegenerate.
Paul Eggert [Mon, 22 Aug 2005 02:33:18 +0000 (02:33 +0000)]
Regenerate.

19 years ago* data/glr.c (yyreturn): Use "Cleanup:" rather than "Error:"
Paul Eggert [Mon, 22 Aug 2005 02:31:10 +0000 (02:31 +0000)]
* data/glr.c (yyreturn): Use "Cleanup:" rather than "Error:"
in yydestruct diagnostic, since it might not be an error.
Problem reported by Joel Denny near end of
<http://lists.gnu.org/archive/html/help-bison/2005-07/msg00040.html>.
* data/lalr1cc (yyerturn): Likewise.
* data/yacc.c (yyreturn): Likewise.
* tests/calc.at (_AT_CHECK_CALC_ERROR): Adjust to the above change.

19 years agoRemove obsolete FIXME.
Paul Eggert [Mon, 22 Aug 2005 01:28:07 +0000 (01:28 +0000)]
Remove obsolete FIXME.

19 years ago(YY_SYMBOL_PRINT): Append a newline, for consistency
Paul Eggert [Mon, 22 Aug 2005 01:05:52 +0000 (01:05 +0000)]
(YY_SYMBOL_PRINT): Append a newline, for consistency
with the other templates, and to fix bogus run-on messages such
as the one reported at the end of
<http://lists.gnu.org/archive/html/help-bison/2005-07/msg00040.html>.
All callers changed to avoid the newline.
(yyprocessOneStack): Output two lines rather than one, to accommodate
the above change.  This changes the debug output format slightly.

19 years agoRegenerate.
Paul Eggert [Mon, 22 Aug 2005 00:11:30 +0000 (00:11 +0000)]
Regenerate.

19 years ago* data/glr.c (yyresolveValue): Fix redundant parse tree problem
Paul Eggert [Sun, 21 Aug 2005 23:43:56 +0000 (23:43 +0000)]
* data/glr.c (yyresolveValue): Fix redundant parse tree problem
reported by Joel E. Denny in
<http://lists.gnu.org/archive/html/bison-patches/2005-08/msg00004.html>
(trivial change).
* tests/glr-regression.at (Duplicate representation of merged trees):
New test, from Joel E. Denny in:
<http://lists.gnu.org/archive/html/help-bison/2005-07/msg00013.html>.
* THANKS: Add Joel E. Denny.

19 years ago(AC_INIT): Bump to 2.0c.
Paul Eggert [Sun, 21 Aug 2005 22:39:21 +0000 (22:39 +0000)]
(AC_INIT): Bump to 2.0c.

19 years ago* Makefile.am (SUBDIRS): Put examples before tests, so that
Paul Eggert [Mon, 25 Jul 2005 06:45:32 +0000 (06:45 +0000)]
* Makefile.am (SUBDIRS): Put examples before tests, so that
"make check" doesn't finish with "All 1 tests passed".

19 years ago* tests/regression.at (Token definitions): Don't rely on
Paul Eggert [Mon, 25 Jul 2005 06:36:13 +0000 (06:36 +0000)]
* tests/regression.at (Token definitions): Don't rely on
AT_PARSER_CHECK for data that contains backslashes.  It currently
uses 'echo', and 'echo' isn't portable if its argument contains
backslashes.  Problem found on OpenBSD 3.4.  Also, do not assume
that the byte '\0xff' is not printable in the C locale; it is,
under OpenBSD 3.4 (!).  Luckily, '\0x80' through '\0x9e' are
not printable, so use '\0x81' to test.

19 years ago* data/glr.c (YYOPTIONAL_LOC): Define even if it's not a recent
Paul Eggert [Mon, 25 Jul 2005 04:20:55 +0000 (04:20 +0000)]
* data/glr.c (YYOPTIONAL_LOC): Define even if it's not a recent
version of GCC, since the macro is used with non-GCC compilers.

19 years ago(YYOPTIONAL_LOC): Define even if it's not a recent
Paul Eggert [Mon, 25 Jul 2005 04:20:39 +0000 (04:20 +0000)]
(YYOPTIONAL_LOC): Define even if it's not a recent
version of GCC, since the macro is used with non-GCC compilers.

19 years agoRegenerate.
Paul Eggert [Mon, 25 Jul 2005 03:41:34 +0000 (03:41 +0000)]
Regenerate.

19 years agoFix core dump reported by Pablo De Napoli in
Paul Eggert [Mon, 25 Jul 2005 03:38:42 +0000 (03:38 +0000)]
Fix core dump reported by Pablo De Napoli in
<http://lists.gnu.org/archive/html/bug-bison/2005-07/msg00053.html>.
* tests/regression.at (Invalid inputs with {}): New test.
* src/parse-gram.y (token_name): Translate type before using
it as an index.

19 years agoUpdate copyright.
Paul Eggert [Mon, 25 Jul 2005 03:12:53 +0000 (03:12 +0000)]
Update copyright.

19 years agoRegenerate.
Paul Eggert [Sun, 24 Jul 2005 07:26:45 +0000 (07:26 +0000)]
Regenerate.

19 years ago* NEWS: Version 2.0b.
Paul Eggert [Sun, 24 Jul 2005 07:24:22 +0000 (07:24 +0000)]
* NEWS: Version 2.0b.

* data/glr.c (ATTRIBUTE_UNUSED): Remove, since it infringes on
the user's name space.  All uses changed to __attribute__
((__unused__)).
(yyFail, yyMemoryExhausted, yyreportAmbiguity):
Add __attribute__ ((__noreturn__)).

* etc/clcommit: Remove.  We weren't using it, and it failed
"make maintainer-distcheck".
* Makefile.maint: Merge from coreutils.
(CVS_LIST, CVS_LIST_EXCEPT): New macros.
(syntax-check-rules): Change list of rules as described below.
(sc_cast_of_alloca_return_value, sc_dd_max_sym_length):
(sc_file_system, sc_obsolete_symbols, sc_prohibit_atoi_atof):
(sc_prohibit_jm_in_m4, sc_root_tests, sc_tight_scope):
(sc_trailing_space): New rules.
(sc_xalloc_h_in_src): Remove.
(sc_cast_of_argument_to_free, sc_cast_of_x_alloc_return_value):
(sc_space_tab, sc_error_exit_success, sc_changelog):
(sc_system_h_headers, sc_sun_os_names, sc_unmarked_diagnostics):
(makefile-check, po-check, author_mark_check):
(makefile_path_separator_check, copyright-check):
Use grep -n, to make it easier to find violations.
Use CVS_LIST and CVS_LIST_EXCEPT.
(header_regexp, h_re): Remove.
(dd_c): New macro.
(sc_dd_max_sym_length, .re-list, news-date-check): New rules.
(my-distcheck): Use more-modern GCC flags.
(signatures, %.asc): Remove.
(rel-files, announcement): Remove signatures.
Restore old updating code, even though we don't use it, so
that we're the same as coreutils.
(alpha, beta, major): Depend on news-date-check.
Make the upload commands.

* data/c.m4, data/lalr1.cc, data/yacc.c: Normalize white space.
* lib/abitset.h, lib/bbitset.h, lib/bitset.h: Likewise.
* lib/bitset_stats.c, lib/ebitset.h, lib/lbitset.c: Likewise.
* lib/libitset.h, lib/timevar.c, lib/vbitset.h: Likewise.
* src/Makefile.am, src/gram.c, src/muscle_tab.h: Likewise.
* src/parse-gram.y, src/system.h, src/tables.c, src/vcg.c: Likewise.
* src/vcg_defaults.h, tests/cxx-type.at, tests/existing.at: Likewise.
* tests/sets.at: Likewise.

* data/m4sugar/m4sugar.m4: Sync from Autoconf, except that
we comment out the Autoconf version number.
* doc/bison.texinfo (Calc++ Scanner): Don't use atoi, as
it's error-prone and "make maintainer-distcheck" rejects it.

* lib/subpipe.c: Include <fcntl.h> without checking for HAVE_FCNTL_H.
Indent calls to "error" to pacify "make maintainer-distcheck",
when the calls are not intended to be translated.
* m4/subpipe.m4 (BISON_PREREQ_SUBPIPE): Don't check for fcntl.h.

* src/Makefile.am (DEFS): Use +=, to pacify
"make maintainer-distcheck".
(bison_SOURCES): Add scan-skel.h.
(sc_tight_scope): New rule, from coreutils.

* src/files.c (src_extension, header_extension):
Now static, not extern.
* src/getargs.c (short_options): Likewise.
* src/muscle_tab.c (muscle_table): Likewise.
* src/parse-gram.y (current_class, current_type, current_prec):
Likewise.
* src/reader.c (grammar_end, previous_rule_end): Likewise.
* src/getargs.h: Redo comments to pacify "make maintainer-distcheck".
* src/main.c (main): Cast bindtextdomain and textdomain calls to
void, to avoid warning when NLS is disabled.
* src/output.c: Include scan-skel.h.
(scan_skel): Remove decl, since scan-skel.h does this.
(output_skeleton):
Indent calls to "error" to pacify "make maintainer-distcheck".
* src/print_graph.c: Don't include <obstack.h>, as system.h does this.
* src/reader.h (gram_end, gram_lineno): New decls to pacify
"make maintainer-distcheck".
* src/scan-skel.l (skel_lex, skel_get_lineno, skel_get_in):
(skel_get_out, skel_get_leng, skel_get_text, skel_set_lineno):
(skel_set_in, skel_set_out, skel_get_debug, skel_set_debug):
(skel_lex_destroy, scan_skel): Move these decls to...
* src/scan-skel.h: New file.
* src/uniqstr.c (uniqstr_assert):
Indent calls to "error" to pacify "make maintainer-distcheck".

* tests/Makefile.am ($(srcdir)/package.m4): Use $(VAR),
not @VAR@.

* tests/torture.at: Revamp to avoid misuse of atoi that
"make maintainer-distcheck" complained about.

19 years ago(ATTRIBUTE_UNUSED): Remove, since it infringes on
Paul Eggert [Sun, 24 Jul 2005 07:17:06 +0000 (07:17 +0000)]
(ATTRIBUTE_UNUSED): Remove, since it infringes on
the user's name space.  All uses changed to __attribute__
((__unused__)).
(yyFail, yyMemoryExhausted, yyreportAmbiguity):
Add __attribute__ ((__noreturn__)).

19 years ago(message): Don't print a message more than once,
Paul Eggert [Sat, 23 Jul 2005 17:06:41 +0000 (17:06 +0000)]
(message): Don't print a message more than once,
and omit line-number decoration that makes Emacs compile think
that informative messages are worth worrying about.

19 years ago(SUBDIRS): Add examples; somehow this got removed accidentally.
Paul Eggert [Fri, 22 Jul 2005 23:02:50 +0000 (23:02 +0000)]
(SUBDIRS): Add examples; somehow this got removed accidentally.

19 years agoUpdate copyright.
Paul Eggert [Fri, 22 Jul 2005 22:32:03 +0000 (22:32 +0000)]
Update copyright.

19 years ago* lib/bitset.c (bitset_alloc): Don't cast xcalloc result.
Paul Eggert [Fri, 22 Jul 2005 22:30:13 +0000 (22:30 +0000)]
* lib/bitset.c (bitset_alloc): Don't cast xcalloc result.
* lib/bitset_stats.c (bitset_stats_init): Likewise.
* lib/bitsetv.c (bitsetv_alloc): Likewise.

19 years ago(relation_transpose): Rewrite to avoid bogus complaint
Paul Eggert [Fri, 22 Jul 2005 21:56:20 +0000 (21:56 +0000)]
(relation_transpose): Rewrite to avoid bogus complaint
from maintainer-distcheck about casting the argument of 'free'.

19 years agoAdd *.yy.
Paul Eggert [Fri, 22 Jul 2005 21:46:02 +0000 (21:46 +0000)]
Add *.yy.

19 years agoMention lib/xalloc-die.c, not lib/xmalloc.c.
Paul Eggert [Fri, 22 Jul 2005 21:44:03 +0000 (21:44 +0000)]
Mention lib/xalloc-die.c, not lib/xmalloc.c.

19 years agoVersion 2.0b.
Paul Eggert [Fri, 22 Jul 2005 21:26:26 +0000 (21:26 +0000)]
Version 2.0b.

19 years agoAdd Anthony Heading, twlevo@xs4all.nl.
Paul Eggert [Fri, 22 Jul 2005 21:20:58 +0000 (21:20 +0000)]
Add Anthony Heading, twlevo@xs4all.nl.

19 years agoFor translations that have not yet been upgraded to
Paul Eggert [Fri, 22 Jul 2005 18:35:27 +0000 (18:35 +0000)]
For translations that have not yet been upgraded to
the new runtime-po domain, prime the pump by extracting the
relevant strings from the obsolete translations.  This code can be
removed once the bison-runtime domain has been translated by each
team.

19 years ago(<SC_PRE_CODE>.): Don't double-quote token names,
Paul Eggert [Fri, 22 Jul 2005 17:58:51 +0000 (17:58 +0000)]
(<SC_PRE_CODE>.): Don't double-quote token names,
now that token names are already quoted.

19 years ago* data/glr.c (YYTOKEN_TABLE): New macro.
Paul Eggert [Fri, 22 Jul 2005 17:07:31 +0000 (17:07 +0000)]
* data/glr.c (YYTOKEN_TABLE): New macro.
(yytname): Define if YYTOKEN_TABLE.
* data/yacc.c (YYTOKEN_TABLE, yytname): Likewise.
* data/lalr1.cc (YYTOKEN_TABLE, yytname_): Likewise.
(YYERROR_VERBOSE): Define the same way the other skeletons do.
* src/output.c (prepare_symbols): Output token_table_flag.

19 years agoCatch up to last couple of days' checkins.
Paul Eggert [Fri, 22 Jul 2005 04:56:35 +0000 (04:56 +0000)]
Catch up to last couple of days' checkins.

19 years ago(yyinitGLRStack, yyreturn): Don't call malloc again if the first call
Paul Eggert [Fri, 22 Jul 2005 04:56:14 +0000 (04:56 +0000)]
(yyinitGLRStack, yyreturn): Don't call malloc again if the first call
fails.

19 years agoRegenerate.
Paul Eggert [Thu, 21 Jul 2005 20:55:33 +0000 (20:55 +0000)]
Regenerate.

19 years ago* data/glr.c (yytnamerr): New function.
Paul Eggert [Thu, 21 Jul 2005 20:53:03 +0000 (20:53 +0000)]
* data/glr.c (yytnamerr): New function.
(yyreportSyntaxError): Use it to dequote most string literals.
* data/lalr1.c (yytname_): Renamed from yyname_, for compatibility
with other skeletons.  All uses changed.
(yytnameerr_): New function.
(yyreport_syntax_error): Use it to dequote most string literals.
* data/yacc.c (yytnamerr): New function.
(yyerrlab): Use it to decode most string literals.
* doc/bison.texinfo (Decl Summary, Calling Convention):
Clarify quoting convention of yytname.
* src/output.c (prepare_symbols): Quote all names.  This undoes
the 2005-04-17 change, which is now accomplished (mostly) via
changes in the parsers as described above.
* tests/regression.at (Token definitions, Web2c Actions):
Undo most 2005-04-17 change here, too.

19 years agoDon't pipe output of ./types through sed to
Paul Eggert [Wed, 20 Jul 2005 22:01:47 +0000 (22:01 +0000)]
Don't pipe output of ./types through sed to
remove trailing spaces.  This loses the exit status of ./types,
and isn't needed since ./types shouldn't be emitting trailing
spaces.

19 years ago(yyreturn): Don't pop stack if yyinitStateSet failed,
Paul Eggert [Wed, 20 Jul 2005 21:43:32 +0000 (21:43 +0000)]
(yyreturn): Don't pop stack if yyinitStateSet failed,
as the stack isn't valid in that case.

19 years ago* src/scan-gram.l (gram_get_lineno, gram_get_in, gram_get_out):
Paul Eggert [Wed, 20 Jul 2005 21:23:35 +0000 (21:23 +0000)]
* src/scan-gram.l (gram_get_lineno, gram_get_in, gram_get_out):
(gram_get_leng, gram_get_text, gram_set_lineno, gram_set_in):
(gram_set_out, gram_get_debug, gram_set_debug, gram_lex_destroy):
Add declarations to pacify "gcc -Wmissing-prototypes" when flex 2.5.31
is used.
* src/scan-skel.l (skel_get_lineno, skel_get_in, skel_get_out):
(skel_get_leng, skel_get_text, skel_set_lineno, skel_set_in):
(skel_set_out, skel_get_debug, skel_set_debug, skel_lex_destroy):
Likewise.

19 years ago(_AT_TEST_GLR_CXXTYPES): Work even with
Paul Eggert [Wed, 20 Jul 2005 21:19:40 +0000 (21:19 +0000)]
(_AT_TEST_GLR_CXXTYPES): Work even with
overly-picky compilers that reject 'char *foo = "bar";'.

19 years ago(SYMBOL_ATTR_PRINT, symbol_print): Direct output
Paul Eggert [Wed, 20 Jul 2005 21:17:04 +0000 (21:17 +0000)]
(SYMBOL_ATTR_PRINT, symbol_print): Direct output
to FILE * parameter, not to stderr.

19 years ago(create_subpipe): Rewrite slightly to avoid warnings from GCC 4.
Paul Eggert [Wed, 20 Jul 2005 21:12:54 +0000 (21:12 +0000)]
(create_subpipe): Rewrite slightly to avoid warnings from GCC 4.

19 years ago(yyexpandGLRStack, yyaddDeferredAction, yyexpandGLRStack):
Paul Eggert [Wed, 20 Jul 2005 21:06:26 +0000 (21:06 +0000)]
(yyexpandGLRStack, yyaddDeferredAction, yyexpandGLRStack):
(yyglrShiftDefer, yysplitStack):
Remove unused parameters b4_pure_formals.  All uses changed.
(yyglrShift): Remove unused parameters b4_user_formals.
All uses changed.
(yyglrReduce): Removed unused parameter yylocp.  All uses changed.

19 years agoRegenerate.
Paul Eggert [Tue, 19 Jul 2005 07:10:32 +0000 (07:10 +0000)]
Regenerate.

19 years agoDestructor cleanups and regularization among the three skeletons.
Paul Eggert [Tue, 19 Jul 2005 06:56:44 +0000 (06:56 +0000)]
Destructor cleanups and regularization among the three skeletons.
* NEWS: Document the behavior changes.
* data/glr.c (yyrecoverSyntaxError): Don't bother to pop the
stack before failing, as the cleanup code will do it for us now.
* data/lalr1.cc (yyerrlab): Likewise.
* data/glr.c (yyparse): Pop everything off the stack before
freeing it, so that destructors get called properly.
* data/lalr1.cc (yyreturn): Likewise.
* data/yacc.c (yyreturn): Pop and destroy the start symbol, too.
This is more consistent.
* doc/bison.texinfo (Destructor Decl): Mention more reasons
why destructors might be called.  1.875 -> 2.1.
(Destructor Decl, Decl Summary, Table of Symbols):
Some English-language cleanups for %destructor.
* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR):
Add output line for destructor of start symbol.
* tests/calc.at (AT_CHECK_CALC): Add one to line counts,
because of that same extra output line.

19 years agoRegenerate.
Paul Eggert [Tue, 19 Jul 2005 03:38:13 +0000 (03:38 +0000)]
Regenerate.

19 years ago(_AT_TEST_GLR_CXXTYPES): Don't try to have yyerror return 0, now that
Paul Eggert [Tue, 19 Jul 2005 03:32:40 +0000 (03:32 +0000)]
(_AT_TEST_GLR_CXXTYPES): Don't try to have yyerror return 0, now that
it returns void.

19 years ago* NEWS: Document minor wording changes in diagnostics of
Paul Eggert [Tue, 19 Jul 2005 00:05:57 +0000 (00:05 +0000)]
* NEWS: Document minor wording changes in diagnostics of
Bison-generated parsers.
* data/glr.c (yyMemoryExhausted): Renamed from yyStackOverflow.
Remove unused formals.  All uses changed.
(yyreportAmbiguity): "ambiguity detected" -> "syntax is ambiguous".
(yyparse): Rename yyoverflowlab to yyexhaustedlab.
* data/yacc.c (yyparse): "parser stack overflow" -> "memory exhausted".
Rename yyoverflowab to yyexhaustedlab.
When memory exhaustion occurs during syntax-error reporting,
report it separately rather than in a single diagnostic; this
eases translation.
* doc/bison.texinfo (Memory Management): Renamed from Stack Overflow.
(Memory Exhausted): Renamed from Parser Stack Overflow.
Revamp wording slightly to prefer "memory exhaustion".
* tests/actions.at: "parser stack overflow" -> "memory exhausted".

19 years agoAdd bison-runtime.pot; remove bison-runtime.old.pot.
Paul Eggert [Mon, 18 Jul 2005 22:25:54 +0000 (22:25 +0000)]
Add bison-runtime.pot; remove bison-runtime.old.pot.

19 years agoAdd Makefile.in.in.
Paul Eggert [Mon, 18 Jul 2005 22:22:49 +0000 (22:22 +0000)]
Add Makefile.in.in.

19 years ago* data/c.m4 (b4_yysymprint_generate): Use YYFPRINTF, not fprintf.
Paul Eggert [Mon, 18 Jul 2005 22:16:44 +0000 (22:16 +0000)]
* data/c.m4 (b4_yysymprint_generate): Use YYFPRINTF, not fprintf.

19 years agoUpdate copyright.
Paul Eggert [Mon, 18 Jul 2005 22:14:15 +0000 (22:14 +0000)]
Update copyright.

19 years agoAdd i18n support to the GLR skeleton. Partially fix the C++
Paul Eggert [Mon, 18 Jul 2005 22:10:15 +0000 (22:10 +0000)]
Add i18n support to the GLR skeleton.  Partially fix the C++
skeleton; a C++ expert needs to finish this.  Remove debugging
msgids; there's little point to having them translated, since they
can be understood only by someone who can read the
(English-language) source code.

Generate runtime-po/bison-runtime.pot automatically, so that we
don't have to worry about garbage getting in that file.  We'll
make sure after the next official release that old msgids don't
get lost.  See
<http://lists.gnu.org/archive/html/bison-patches/2005-07/msg00119.html>.

* runtime-po/Makefile.in.in, runtime-po/bison-runtime.pot: Remove.
Now auto-generated.
* PACKAGING: Don't claim that Gawk, GCC, Perl use this method yet.
Fix typos in explanations of the runtime file.
* bootstrap: Change gettext keyword from YYI18N to YY_.
Use standard Makefile.in.in in runtime-po, since we'll arrange
for backward-compatible bison-runtime.po files in a different way.
* data/glr.c (YY_): New macro, from yacc.c.
(yyuserAction, yyreportAmbiguity, yyreportSyntaxError, yyparse):
Translate messages intended for users.
(yyreportSyntaxError): Change "virtual memory" to "memory" to match
the wording in the other skeletons.  We don't know that the memory
is virtual.
* data/lalr1.cc (YY_): Renamed from _.  All uses changed.
Use same method that yacc.c uses.
Don't translate debugging messages.
(yy::yyreport_syntax_error): Put in a FIXME for the i18n stuff;
it doesn't work (yet), and requires C++ expertise to fix.
* data/yacc.c (YY_): Renamed from YY18N.  All uses changed.
Move defn to a more logical place, to be consistent with other
skeletons.
Don't translate debugging messages.
Don't assume line numbers fit in unsigned int; use unsigned long fmts.
* doc/bison.texinfo: Mention <libintl.h>.  Change glibc cross reference
to gettext cross reference.  Add indexing terms.  Mention YYENABLE_NLS.
* runtime-po/POTFILES.in: Add data/glr.c, data/lalr1.cc.

19 years agoFix yyerror / yylex test glitches noted by twlevo@xs4all.nl.
Paul Eggert [Mon, 18 Jul 2005 18:39:01 +0000 (18:39 +0000)]
Fix yyerror / yylex test glitches noted by twlevo@xs4all.nl.
* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Have yyerror return
void, not int.
* tests/glr-regression.at (Badly Collapsed GLR States):
Likewise.
(Improper handling of embedded actions and dollar(-N) in GLR parsers):
yylex should return 0 at EOF rather than aborting.

19 years agoImprove tests for stack overflow in GLR parser.
Paul Eggert [Mon, 18 Jul 2005 18:09:40 +0000 (18:09 +0000)]
Improve tests for stack overflow in GLR parser.
Problem reported by twlevo@xs4all.nl.
* data/glr.c (struct yyGLRStack): Remove yyerrflag member.
All uses removed.
(yyStackOverflow): Just longjmp, but with value 2 so that caller
can handle the problem.
(YYCHK1): Use goto (a la yacc.c) rather than setting a flag.
(yyparse): New local variable yyresult to record the result.
Use result of setjmp to set it, rather than storing itinto
struct.
(yyDone): Remove label.
(yyacceptlab, yyabortlab, yyoverflowlab, yyreturn): New labels,
to mimic yacc.c.  Do not discard lookahead if it's EOF (possible
if YYABORT is used).
* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Exit with
yyparse status; put status > 1 into diagnostic.
Check that status==2 works.
* tests/calc.at, tests/cxx-type.at, tests/glr-regression.at:
Use exit status 3 for failure to open (which shouldn't happen).

19 years ago* tests/conflicts.at (%nonassoc and eof): Don't exit with status
Paul Eggert [Mon, 18 Jul 2005 06:14:16 +0000 (06:14 +0000)]
* tests/conflicts.at (%nonassoc and eof):  Don't exit with status
1 on syntax error; just let yyparse do its thing.
* tests/glr-regression.at (Badly Collapsed GLR States): Likewise.
* tests/torture.at (AT_DATA_STACK_TORTURE): Likewise.
(Exploding the Stack Size with Alloca):
(Exploding the Stack Size with Malloc):
Expect exit status 2, not 1, since the parser is supposed to blow
its stack.  Problem reported by twlevo@xs4all.nl.

19 years ago* data/glr.c (yyparse): Don't assume that the initial calls
Paul Eggert [Sun, 17 Jul 2005 07:30:38 +0000 (07:30 +0000)]
* data/glr.c (yyparse): Don't assume that the initial calls
to YYMALLOC succeed; in that case, yyparse incorrectly returned 0.
Print a stack-overflow message and fail instead.
Initialize the line-number information before creating the stack,
so that the stack-overflow message can report line zero safely.

19 years agoMore changes to pacify C++ compilers.
Paul Eggert [Thu, 14 Jul 2005 23:57:45 +0000 (23:57 +0000)]
More changes to pacify C++ compilers.

19 years ago* data/glr.c (YYSTACKEXPANDABLE): Don't define if already defined.
Paul Eggert [Thu, 14 Jul 2005 23:15:47 +0000 (23:15 +0000)]
* data/glr.c (YYSTACKEXPANDABLE): Don't define if already defined.
(yyuserMerge): Provide a default case if b4_mergers is empty.
* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Define YYSTACKEXPANDABLE.
* tests/glr-regression.at
(Improper handling of embedded actions and dollar(-N) in GLR parsers):
YYSTYPE is char *, not char const *, so that strcpy ($$, ...) works.

19 years ago* tests/glr-regression.at (Improper merging of GLR delayed action
Paul Eggert [Thu, 14 Jul 2005 21:42:40 +0000 (21:42 +0000)]
* tests/glr-regression.at (Improper merging of GLR delayed action
sets): Declare yylex before using it.

19 years ago* tests/Makefile.am (maintainer-check-g++): Remove bogus
Paul Eggert [Thu, 14 Jul 2005 17:27:01 +0000 (17:27 +0000)]
* tests/Makefile.am (maintainer-check-g++): Remove bogus
test for valgrind; valgrind is independent of g++.
(maintainer-check-posix): Add _POSIX2_VERSION=200112, to check
for compatibility with POSIX 1003.1-2001 (if running coreutils).
* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Port to stricter C++.
Use a destructor, so that we can expand the stack.  Change
YYSTYPE to char * so that we can free it.  Cast result of malloc.

19 years agoUpdate copyright.
Paul Eggert [Thu, 14 Jul 2005 16:34:15 +0000 (16:34 +0000)]
Update copyright.

19 years agoGXX -> CXX
Paul Eggert [Thu, 14 Jul 2005 16:33:40 +0000 (16:33 +0000)]
GXX -> CXX

19 years ago(maintainer-check-g++): Fix a stray
Paul Eggert [Thu, 14 Jul 2005 16:33:28 +0000 (16:33 +0000)]
(maintainer-check-g++): Fix a stray
$(GXX) that escaped the renaming of GXX to CXX.

19 years ago* data/glr.c (yyuserAction): Fix uninitialized variable that caused
Paul Eggert [Thu, 14 Jul 2005 05:08:03 +0000 (05:08 +0000)]
* data/glr.c (yyuserAction): Fix uninitialized variable that caused
a valgrind failure.  Problem reported by twlevo@xs4all.nl.

19 years ago* PACKAGING: New file, suggested by Bruno Haible and taken from
Paul Eggert [Wed, 13 Jul 2005 18:16:30 +0000 (18:16 +0000)]
* PACKAGING: New file, suggested by Bruno Haible and taken from
similar wording in gettext's PACKAGING file.
* NEWS: Mention PACKAGING.
* Makefile.am (EXTRA_DIST): Add PACKAGING.

19 years agoBison-generated C parser -> Bison-generated parser
Paul Eggert [Wed, 13 Jul 2005 17:35:34 +0000 (17:35 +0000)]
Bison-generated C parser -> Bison-generated parser

19 years agoUpdate.
Akim Demaille [Wed, 13 Jul 2005 11:55:16 +0000 (11:55 +0000)]
Update.

19 years agoDon't imply the latest change was in 2.0a.
Paul Eggert [Tue, 12 Jul 2005 23:40:43 +0000 (23:40 +0000)]
Don't imply the latest change was in 2.0a.

19 years ago* NEWS: Document recent i18n improvements.
Paul Eggert [Tue, 12 Jul 2005 23:37:16 +0000 (23:37 +0000)]
* NEWS: Document recent i18n improvements.

19 years ago* bootstrap: Get runtime translations into runtime-po.
Paul Eggert [Tue, 12 Jul 2005 23:28:54 +0000 (23:28 +0000)]
* bootstrap: Get runtime translations into runtime-po.
Create runtime-po files automatically, if possible.
* configure.ac: Invoke BISON_I18N, so that we eat our own dog food.
* data/yacc.c: Rewrite inclusion of <libintl.h> so that ENABLE_NLS
does not infringe on the user's name space.
(YYENABLE_NLS): Renamed from ENABLE_BISON_NLS.
* doc/bison.texinfo (Internationalization): Revamp the English
and Texinfo syntax a bit, to try to make it clearer.
(Bison Options, Option Cross Key): Mention --print-localedir.
* m4/bison-i18n.m4 (BISON_I18N): Rename ENABLE_BISON_NLS to
YYENABLE_NLS.  Quote a bit more.
* runtime-po/.cvsignore: New file.
* runtime-po/Makefile.in.in (mostlyclean): Remove *.old.pot.
* runtime-po/Rules-quot: Remove; now created by bootstrap.
* runtime-po/quot.sed: Likewise.
* runtime-po/boldquot.sed: Likewise.
* runtime-po/en@quot.header: Likewise.
* runtime-po/en@boldquot.header: Likewise.
* runtime-po/insert-header.sin: Likewise.
* runtime-po/remove-potcdate.sin: Likewise.
* runtime-po/Makevars: Likewise.
* runtime-po/LINGUAS: Likewise.
* runtime-po/de.po: Likewise; we will rely on the translation project
to maintain this, so "bootstrap" should get it.
* src/getarg.s (PRINT_LOCALEDIR_OPTION): Let the C compiler determine
its value.
* src/main.c (main): Bind the bison-runtime domain, too.

* data/yacc.c: Include <libintl.h> when NLS is enabled.
(YYI18N): Renamed from _. Use dgettext when NLS is enabled.
* po/POTFILES.in: Remove autogenerated file src/parse-gram.c.
* runtime-po: New directory.
* runtime-po/Makefile.in.in: New file, copied from po/, with modified
$(DOMAIN).pot-update rule, so that old messages are never dropped.
* runtime-po/Rules-quot: New file, copied from po/.
* runtime-po/quot.sed: Likewise.
* runtime-po/boldquot.sed: Likewise.
* runtime-po/en@quot.header: Likewise.
* runtime-po/en@boldquot.header: Likewise.
* runtime-po/insert-header.sin: Likewise.
* runtime-po/remove-potcdate.sin: Likewise.
* runtime-po/Makevars: New file.
* runtime-po/POTFILES.in: New file.
* runtime-po/LINGUAS: New file.
* runtime-po/bison-runtime.pot: New file.
* runtime-po/de.po: New file.
* m4/bison.m4: New file.
* Makefile.am (SUBDIRS): Add runtime-po.
(aclocaldir, aclocal_DATA): New variables.
* configure.ac: Add AC_CONFIG_FILES of runtime-po/Makefile.in.
Define aclocaldir.
* src/getargs.c (usage): Document --print-localedir option.
(PRINT_LOCALEDIR_OPTION): New enum item.
(long_options): Add --print-localedir option.
(getargs): Handle --print-localedir option.
* doc/bison.texinfo (Bison Parser): Remove paragraph about _().
(Internationalization): New section.