]> git.saurik.com Git - bison.git/log
bison.git
15 years agoportability: use va_start and va_end in the same function.
Joel E. Denny [Sun, 11 Oct 2009 20:15:39 +0000 (16:15 -0400)] 
portability: use va_start and va_end in the same function.

* src/complain.c (error_message): Move va_end from here...
(ERROR_MESSAGE): ... to here.
(cherry picked from commit 786578e394700615f6a841614e1280bf6284ec8c)

15 years agotests: skip tests of file names that platform does not support.
Joel E. Denny [Mon, 5 Oct 2009 02:59:18 +0000 (22:59 -0400)] 
tests: skip tests of file names that platform does not support.

Reported by Michael Raskin at
<http://lists.gnu.org/archive/html/bug-bison/2009-09/msg00001.html>.
* THANKS (Michael Raskin): Add.
* tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Fix.  Cygwin used
to fail at least for file names containing ":" or "\".

15 years agodoc: spell checking.
Akim Demaille [Wed, 16 Sep 2009 20:18:57 +0000 (22:18 +0200)] 
doc: spell checking.

* doc/bison.texinfo: here.
(cherry picked from commit c781580d07ea43edc6c2ea2109833493f0dec7f3)

Conflicts:

doc/bison.texinfo

15 years agotests: clean up push.at test group titles.
Joel E. Denny [Sun, 13 Sep 2009 17:45:05 +0000 (13:45 -0400)] 
tests: clean up push.at test group titles.

* tests/push.at: Remove "Push Parsing: " from test group titles
because these are already under the banner "Push Parsing Tests".
(cherry picked from commit 00d80a9cedbffda49212c0cdb90e90c27a561bb2)

15 years agoNEWS: Internationalization.
Akim Demaille [Thu, 3 Sep 2009 09:03:14 +0000 (11:03 +0200)] 
NEWS: Internationalization.

* NEWS (2.4.2): Add "Internationalization" item.
(cherry picked from commit 2755de8fec58b581faed33f76a23eeb681e2edc5)

15 years agobootstrap: fix/improve find_tool.
Akim Demaille [Thu, 3 Sep 2009 08:50:32 +0000 (10:50 +0200)] 
bootstrap: fix/improve find_tool.

* bootstrap (find_tool): Improve error messages.
Fix typo about find_tool_names.

15 years agoscan-gram: avoid portability trap with ctype usage.
Eric Blake [Thu, 27 Aug 2009 16:56:53 +0000 (10:56 -0600)] 
scan-gram: avoid portability trap with ctype usage.

* src/scan-gram.l (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>):
Avoid compiler warning.

Signed-off-by: Eric Blake <ebb9@byu.net>
15 years agotests: use perl for printing special sequences to files.
Joel E. Denny [Thu, 27 Aug 2009 07:52:53 +0000 (03:52 -0400)] 
tests: use perl for printing special sequences to files.

And skip tests if perl is not available.  This is better than
playing tricks with shell portability.  Suggested by Akim
Demaille.
* tests/input.at (Bad escapes in literals): Use it here for special
characters.
(cherry picked from commit b70c7fb4e1db54e78d4f3d4a0f110a81118ffc60)

Conflicts:

tests/input.at

15 years agoUse locale when quoting.
Joel E. Denny [Sat, 22 Aug 2009 00:09:54 +0000 (20:09 -0400)] 
Use locale when quoting.

* src/scan-gram.l (SC_ESCAPED_STRING, SC_ESCAPED_CHARACTER): Use
quote rather than implementing quoting here.
(cherry picked from commit e6c849d82a95be8a595c254cc3046cfae725f064)

15 years agoMake previous patch more robust.
Eric Blake [Thu, 20 Aug 2009 22:43:07 +0000 (16:43 -0600)] 
Make previous patch more robust.

* src/output.c (ARRAY_CARDINALITY): New macro, copied from
argmatch.h.
(output_skeleton): Use it.
Suggested by Akim Demaille.

Signed-off-by: Eric Blake <ebb9@byu.net>
15 years agoImport latest m4/m4.m4.
Eric Blake [Thu, 20 Aug 2009 14:24:46 +0000 (08:24 -0600)] 
Import latest m4/m4.m4.

* m4/m4.m4: Copy from autoconf 2.64.
* configure.ac (M4_GNU_OPTION): New define.
* src/output.c (output_skeleton): Use it to resolve FIXME.
* NEWS: Mention this.

Signed-off-by: Eric Blake <ebb9@byu.net>
15 years agoFix complaints about escape sequences.
Joel E. Denny [Thu, 20 Aug 2009 00:37:28 +0000 (20:37 -0400)] 
Fix complaints about escape sequences.

Discussed starting at
<http://lists.gnu.org/archive/html/bison-patches/2009-08/msg00036.html>.
* src/scan-gram.l (SC_ESCAPED_STRING, SC_ESCAPED_CHARACTER):
For a \0 and similar escape sequences meaning the null
character, report an invalid escape sequence instead of an
invalid null character because the latter does not actually
appear in the user's input.
In all escape sequence complaints, don't escape the initial
backslash, and don't quote when the sequence appears at the end
of the complaint line unless there's whitespace that quotearg
won't escape.
Consistently say "invalid" not "unrecognized".
* tests/input.at (Bad escapes in literals): New.
(cherry picked from commit c2724603c9d87e816dbdf1a9bfd7d70ffc1bd137)

Conflicts:

tests/input.at

15 years agodoc: %initial-action to initialize yylloc.
Akim Demaille [Wed, 19 Aug 2009 11:34:48 +0000 (13:34 +0200)] 
doc: %initial-action to initialize yylloc.

Reported by Bill Allombert.
* doc/bison.texinfo: Set fill-column to 76.
(Location Type): Document the use of %initial-action to initialize
yylloc.

(cherry picked from commit d59e456dbf5d9747e2fe0c0539f2ec670ce6f9c4)

15 years agomaint: update for gnulib's recent update-copyright changes
Joel E. Denny [Tue, 18 Aug 2009 22:29:54 +0000 (18:29 -0400)] 
maint: update for gnulib's recent update-copyright changes

* gnulib: Update.
* .x-update-copyright (COPYING): Add as it's no longer implied
when .x-update-copyright is present.
* cfg.mk (update-copyright-local): Remove, now ignored.
(update-copyright): Declare update-b4-copyright as a dependency.
(cherry picked from commit c67e466f9d4f63d360d82dc23b9bfffb4d846209)

15 years agobuild: lower gettext requirements.
Akim Demaille [Mon, 17 Aug 2009 07:22:41 +0000 (09:22 +0200)] 
build: lower gettext requirements.

Bison was uselessly requiring the formatstring macros from
gettext, which resulted in mo files not being installed on systems
that perfectly supported Bison mo files.  Lower the requirement.
http://lists.gnu.org/archive/html/bug-bison/2009-08/msg00006.html

* configure.ac: Require need-ngettext instead of
need-formatstring-macros.
Reported by Martin Jabocs.
Suggested by Bruno Haible.
* INSTALL: Restructure.
(Internationalization): New.

15 years agomaint: fix use of copyright year intervals.
Joel E. Denny [Fri, 14 Aug 2009 21:05:06 +0000 (17:05 -0400)] 
maint: fix use of copyright year intervals.

* gnulib: Update.
* bootstrap.conf (gnulib_modules): Update getopt to getopt-gnu
as now recommended in gnulib/NEWS.
* build-aux/update-b4-copyright: Fix.
* cfg.mk (update-copyright-env): Configure update-copyright.

15 years agodistcheck: fix.
Akim Demaille [Wed, 1 Jul 2009 10:19:18 +0000 (12:19 +0200)] 
distcheck: fix.

* examples/calc++/Makefile.am: (EXTRA_DIST): Ship calc.stamp.

15 years agomaint: run "make update-copyright"
Joel E. Denny [Fri, 7 Aug 2009 00:16:05 +0000 (20:16 -0400)] 
maint: run "make update-copyright"

But first...
* .x-update-copyright (^data/m4sugar/): Add, because these
files are from Autoconf.

15 years agomaint: make update-b4-copyright easier to use
Joel E. Denny [Thu, 6 Aug 2009 15:34:09 +0000 (11:34 -0400)] 
maint: make update-b4-copyright easier to use

* build-aux/update-b4-copyright: In warnings, report line
numbers rather than character positions.
* cfg.mk (update-copyright-local): Set to update-b4-copyright so
that update-copyright runs it.
* gnulib: Update.
(cherry picked from commit a1a9422d4a2f70ff89e06318ba154851c3700f60)

15 years agomaint: clean up update-b4-copyright code
Joel E. Denny [Wed, 5 Aug 2009 23:52:41 +0000 (19:52 -0400)] 
maint: clean up update-b4-copyright code

* build-aux/update-b4-copyright: Do not accept 2-digit
UPDATE_COPYRIGHT_YEAR, which was not handled correctly.
Don't accept a `[' in a b4_copyright argument.
Format code more consistently.
Don't assume b4*copyright never occurs.
(cherry picked from commit 0b61a8ec1842bfbd6130714d06b758165b32ead4)

15 years agomaint: automate b4_copyright updates.
Joel E. Denny [Tue, 4 Aug 2009 22:06:20 +0000 (18:06 -0400)] 
maint: automate b4_copyright updates.

* Makefile.am (update-b4-copyright): New target rule.
* build-aux/Makefile.am (EXTRA_DIST): Add update-b4-copyright.
* build-aux/update-b4-copyright: New.
* data/yacc.c: Remove stray characters around b4_copyright
invocations.
(cherry picked from commit ac2def5602c14b52869a761bc0309ab55c1cc869)

Conflicts:

data/yacc.c

15 years agomaint: automate annual package-wide copyright-year update.
Joel E. Denny [Thu, 30 Jul 2009 21:12:10 +0000 (17:12 -0400)] 
maint: automate annual package-wide copyright-year update.

* .x-update-copyright: New.
* Makefile.am (EXTRA_DIST): Remove maint.mk.
* bootstrap.conf (gnulib_modules): Add maintainer-makefile and
update-copyright.  Remove gnumakefile, which is implied by
maintainer-makefile.
* cfg.mk (bootstrap-tools): Copy from old maint.mk.
* gnulib: Update.
* maint.mk: Remove, now copied from gnulib.
* examples/extexi: Add missing "(C)" in copyright statement so
update-copyright can recognize it.
* src/LR0.h: Likewise.
* src/print.h: Likewise.
* src/print_graph.h: Likewise.
* src/gram.c: Add missing comma in copyright statement.
* src/gram.h: Likewise.

15 years agoFix "make distcheck".
Joel E. Denny [Tue, 4 Aug 2009 18:48:48 +0000 (14:48 -0400)] 
Fix "make distcheck".

* examples/calc++/Makefile.am: Say $(srcdir)/calc.stamp instead
of just calc.stamp.

15 years agoPacify "gcc -Wunused" for the input function from Flex.
Joel E. Denny [Sat, 1 Aug 2009 21:51:34 +0000 (17:51 -0400)] 
Pacify "gcc -Wunused" for the input function from Flex.

Reported by Alex Rozenman.  This warning shows up with gcc-4.3.0
and later.
* src/scan-code.l: Add "%option noinput", which I cannot find in
the Flex manual, but which Flex has supported since at least as
far back as 2.5.4.  However, if any of our developers still use
Flex 2.5.4, they'll need to stop configuring with
--enable-gcc-warnings because "%option noinput" didn't work
correctly until Flex 2.5.6.
* src/scan-gram.l: Likewise.
* src/scan-skel.l: Likewise.

15 years agobuild: avoid concurrent extraction of calc++.
Akim Demaille [Mon, 29 Jun 2009 13:02:48 +0000 (15:02 +0200)] 
build: avoid concurrent extraction of calc++.

* examples/calc++/Makefile.am (calc.stamp): New.
Depend on it to create the sources of calc++ so that concurrent
builds don't launch several "extexi" in parallel.
Not only this is inefficient, this also builds incorrect sources
with several extractions mixed together.

Cherry-picked from 5ece73eaa19c79d5dd40b36a2a7d38cb397c2fcd.

15 years agohash: check insertion for memory exhaustion.
Akim Demaille [Thu, 25 Jun 2009 04:03:18 +0000 (06:03 +0200)] 
hash: check insertion for memory exhaustion.

* src/uniqstr.c (uniqstr_new): New.

15 years agohash: check insertion for memory exhaustion.
Akim Demaille [Thu, 11 Jun 2009 12:42:12 +0000 (14:42 +0200)] 
hash: check insertion for memory exhaustion.

* src/muscle-tab.c (muscle_insert, muscle_grow)
* src/state.c (state_hash_insert): Check the return value of
hash_insert.

15 years agognulib: update.
Akim Demaille [Wed, 10 Jun 2009 08:40:55 +0000 (10:40 +0200)] 
gnulib: update.

* gnulib: Update to latest.
* lib/.cvsignore, lib/.gitignore, m4/.cvsignore,
* m4/.gitignore: Regen.
* src/symtab.c (symbol_from_uniqstr, semantic_type_from_uniqstr):
Call xalloc_die on hash_insert failures.
Requested by the new __warn_unused_result__ attribute of
hash_insert.

15 years ago* data/c++.m4: Update copyright year.
Joel E. Denny [Fri, 22 May 2009 05:47:38 +0000 (01:47 -0400)] 
* data/c++.m4: Update copyright year.

15 years agoHandle a trailing `:' in a user-supplied C++ namespace better.
Joel E. Denny [Tue, 19 May 2009 21:51:05 +0000 (17:51 -0400)] 
Handle a trailing `:' in a user-supplied C++ namespace better.

* data/c++.m4 (b4_namespace_close): Don't let it be printed
among the closing braces here.  This fix might make the
generated code easier to debug, but otherwise it should be
insignificant because a trailing `:' is a C++ error already.
(cherry picked from commit 8c221795affd367ac106161610d42fc94633e3fd)

15 years agodoc: use C++ headers.
Akim Demaille [Thu, 7 May 2009 21:18:44 +0000 (23:18 +0200)] 
doc: use C++ headers.

* doc/bison.texinfo (Calc++ Scanner): Prefer C++ headers to C
headers.

15 years agoDeclare %code to be a permanent feature.
Joel E. Denny [Fri, 1 May 2009 06:51:31 +0000 (02:51 -0400)] 
Declare %code to be a permanent feature.

* NEWS (2.4.2): Here.
* doc/bison.texinfo (Prologue Alternatives): Don't say it's
experimental.
(Decl Summary): Likewise.

15 years agodoc: minor fixes.
Akim Demaille [Mon, 13 Apr 2009 18:57:38 +0000 (20:57 +0200)] 
doc: minor fixes.

* doc/bison.texinfo (Decl Summary): Fix entry about %debug.
(Table of Symbols): Remove duplicate entry for %debug.

15 years agoWork around autoconf 2.63b bug in testsuite.
Eric Blake [Tue, 7 Apr 2009 04:05:38 +0000 (22:05 -0600)] 
Work around autoconf 2.63b bug in testsuite.

* tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Avoid tripping
autoconf bug related to # in test.

Signed-off-by: Eric Blake <ebb9@byu.net>
15 years agoFix options documentation.
Joel E. Denny [Mon, 6 Apr 2009 06:16:39 +0000 (02:16 -0400)] 
Fix options documentation.

* build-aux/cross-options.pl: As in --help output, write optional
arguments as [=ARG] not =[ARG].
* doc/bison.texinfo (Bison Options): Add -W/--warnings argument.

15 years agoFix --help.
Akim Demaille [Tue, 29 Jul 2008 10:44:28 +0000 (12:44 +0200)] 
Fix --help.

* src/getargs.c (usage): Fix help string for -W.
(cherry picked from commit 9b9e0a7d46123c50e51f6742eba1bfa0d091b8aa)

15 years agoHandle more general types of option arguments.
Akim Demaille [Tue, 29 Jul 2008 10:41:48 +0000 (12:41 +0200)] 
Handle more general types of option arguments.

* build-aux/cross-options.pl: The argument ends at the first
space, not the first non-symbol character.
Use @var for each word appearing the argument description.
(cherry picked from commit 74eae918c3bf3772d260cb25777d9a998172a401)

15 years agoRemove spurious initial empty lines.
Joel E. Denny [Mon, 6 Apr 2009 04:39:49 +0000 (00:39 -0400)] 
Remove spurious initial empty lines.

* data/location.cc: End the @output lines with an @.

15 years agoRemove spurious initial empty lines.
Akim Demaille [Tue, 22 Jul 2008 08:24:53 +0000 (10:24 +0200)] 
Remove spurious initial empty lines.

* data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java,
* data/yacc.c: End the @output lines with an @.

15 years agoReplace BISON_PROG_GNU_M4 with Autoconf's AC_PROG_GNU_M4.
Joel E. Denny [Sun, 5 Apr 2009 01:12:23 +0000 (21:12 -0400)] 
Replace BISON_PROG_GNU_M4 with Autoconf's AC_PROG_GNU_M4.

If the first m4 in $PATH is wrong, it keeps looking.  Moreover, its
requirements for a correct m4 are stricter.
* m4/m4.m4: Replace with Autoconf 2.63's m4/m4.m4.
* configure.ac: Update to use AC_PROG_GNU_M4.
Reported by Eric Blake.

15 years ago* ChangeLog: Update copyright.
Joel E. Denny [Sat, 4 Apr 2009 06:45:01 +0000 (02:45 -0400)] 
* ChangeLog: Update copyright.

15 years agoHelp with updating web manual.
Joel E. Denny [Fri, 3 Apr 2009 22:32:02 +0000 (18:32 -0400)] 
Help with updating web manual.

* HACKING: Incorporate instructions from gnulib/doc/README.
* bootstrap.conf (gnulib_modules): Add gendocs.

15 years agoFix strange %define locations for default values.
Joel E. Denny [Fri, 3 Apr 2009 07:13:36 +0000 (03:13 -0400)] 
Fix strange %define locations for default values.

Reported by Akim Demaille at
<http://lists.gnu.org/archive/html/bug-bison/2007-12/msg00001.html>
and discussed again starting at
<http://lists.gnu.org/archive/html/bison-patches/2008-11/msg00102.html>.
* data/bison.m4 (b4_percent_define_default): Leave syncline blank
because location information is bogus.
Use angle brackets to delimit fake file name because square brackets
look like over-quoted m4.  Choose a better fake file name.
Use negative line numbers.
* src/muscle_tab.c (muscle_percent_define_default): Likewise.
* src/location.c (location_print): If line for a boundary is negative,
only print that boundary's file name.
* src/location.h: Document that.
* tests/skeletons.at (%define Boolean variables: invalid skeleton
defaults): Update output.

15 years agoLocations without columns for command line arguments.
Akim Demaille [Tue, 29 Jul 2008 10:45:21 +0000 (12:45 +0200)] 
Locations without columns for command line arguments.

* src/location.c (location_print): Don't display negative columns.
* src/location.h: Document this.
(cherry picked from commit 56c5eca97359ecc15481c6b9dff8f34c63219d70)

15 years agoAdd reminder about uploading public key to keys.gnupg.net.
Joel E. Denny [Tue, 3 Feb 2009 08:08:32 +0000 (03:08 -0500)] 
Add reminder about uploading public key to keys.gnupg.net.

* HACKING (Release Procedure): Here.
(cherry picked from commit 06c3084fb5a566e802ba35a9cc54be51db7fe6f1)

15 years agobootstrap: --help to stdout.
Akim Demaille [Tue, 31 Mar 2009 08:41:25 +0000 (10:41 +0200)] 
bootstrap: --help to stdout.

* bootstrap (usage): Don't send --help to stderr.
Use a here doc instead of a long string.

15 years agobootstrap: README-hacking no longer exists
Akim Demaille [Tue, 31 Mar 2009 08:40:17 +0000 (10:40 +0200)] 
bootstrap: README-hacking no longer exists

* bootstrap (checkout_only_file): Set to HACKING.

15 years agodoc: merge HACKING and README-hacking.
Akim Demaille [Thu, 26 Mar 2009 22:36:18 +0000 (23:36 +0100)] 
doc: merge HACKING and README-hacking.

Two files is confusing.
Reported by Alexandre Duret-Lutz.

* README-hacking: Merge into...
* HACKING (Working from the repository): here.

15 years agodoc: update README-hacking.
Akim Demaille [Thu, 26 Mar 2009 22:14:45 +0000 (23:14 +0100)] 
doc: update README-hacking.

* README-hacking: We now use git and git submodules.
Reported by Ralf Wildenhues and Alexandre Duret-Lutz.

15 years agolalr1.cc: avoid GCC 4.3 warnings.
Akim Demaille [Thu, 26 Mar 2009 22:02:18 +0000 (23:02 +0100)] 
lalr1.cc: avoid GCC 4.3 warnings.

GCC 4.3 now warns about "a || b && c" and asks for explicit
parentheses.
Reported by Alexandre Duret-Lutz.
* data/location.cc: Update copyright years.
(Position::operator==): Use parens to make precedence explicit.
Compare lines and columns first, as they are more likely to be
different, and they are faster to compare.

15 years agognulib: update.
Akim Demaille [Thu, 26 Mar 2009 21:59:01 +0000 (22:59 +0100)] 
gnulib: update.

* gnulib: Update to latest.
* lib/Makefile.am (AM_CPPFLAGS): It is now defined by gnulib, so
use +=.

15 years agoUpdate gnulib.
Akim Demaille [Thu, 12 Feb 2009 08:51:53 +0000 (09:51 +0100)] 
Update gnulib.

15 years agoFix grep portability issues.
Akim Demaille [Thu, 8 Jan 2009 08:41:21 +0000 (09:41 +0100)] 
Fix grep portability issues.

Grep on Solaris does not support -q.
Reported by Summum Bonum.

* NEWS: Add a stub for 2.4.2.
* THANKS: Add Summum Bonum.
* tests/atlocal.in (EGREP): New.
(CC, CXX, XSLTPROC): Make it possible to override them via
envvars.
* tests/java.at: Use $EGREP instead of egrep.
Use AT_CHECK's ignore instead of grep's -q.

15 years agoVersion 2.4.1. v2.4.1
Joel E. Denny [Thu, 11 Dec 2008 21:06:48 +0000 (16:06 -0500)] 
Version 2.4.1.

* NEWS: Set version and date.
* lib/Makefile.am: Update copyright year.
* tests/atlocal.in: Update copyright year.

15 years agoSemicolon feature removal is not about future language support.
Joel E. Denny [Thu, 11 Dec 2008 20:37:24 +0000 (15:37 -0500)] 
Semicolon feature removal is not about future language support.

* NEWS: The semicolon feature is no longer active for newer languages,
so don't claim that it causes trouble for them.

15 years ago* gnulib: Update submodule to HEAD.
Joel E. Denny [Thu, 11 Dec 2008 19:25:10 +0000 (14:25 -0500)] 
* gnulib: Update submodule to HEAD.

15 years agoUpdate data/README.
Akim Demaille [Tue, 9 Dec 2008 12:24:18 +0000 (13:24 +0100)] 
Update data/README.

* data/README: Document glr.cc, lalr1.java, m4sugar and xslt.

15 years agoSpelling fixes.
Akim Demaille [Wed, 5 Nov 2008 06:00:04 +0000 (07:00 +0100)] 
Spelling fixes.

* NEWS: s/than/that/.

15 years agoBuild testsuite with newer autoconf.
Eric Blake [Fri, 5 Dec 2008 16:26:38 +0000 (09:26 -0700)] 
Build testsuite with newer autoconf.

* tests/output.at (m4_expand): Don't override in newer autoconf,
where the underlying implementation changed.
* tests/cxx-type.at (_AT_RESOLVED_GLR_OUTPUT)
(_AT_RESOLVED_GLR_OUTPUT_WITH_LOC, _AT_AMBIG_GLR_OUTPUT)
(_AT_AMBIG_GLR_OUTPUT_WITH_LOC, _AT_GLR_STDERR)
(_AT_VERBOSE_GLR_STDERR): Expand to double-quoted strings,
since some of them contain unbalanced ')'.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years ago* NEWS: Clarify a little.
Joel E. Denny [Wed, 19 Nov 2008 17:14:37 +0000 (12:14 -0500)] 
* NEWS: Clarify a little.

16 years ago* NEWS: Update for recent changes.
Joel E. Denny [Wed, 19 Nov 2008 17:06:34 +0000 (12:06 -0500)] 
* NEWS: Update for recent changes.

16 years agoFix unexpanded macros in GLR defines file.
Joel E. Denny [Wed, 19 Nov 2008 03:34:26 +0000 (22:34 -0500)] 
Fix unexpanded macros in GLR defines file.

Reported by Csaba Raduly at
<http://lists.gnu.org/archive/html/bug-bison/2008-11/msg00048.html>.
* THANKS (Csaba Raduly): Add.
* data/glr.c: Fix overquoting on b4_prefix for yylval and yylloc.
* tests/calc.at (_AT_DATA_CALC_Y): If %defines is specified, generate
lexer in a separate module that includes the defines file.
(AT_CHECK_CALC): Use AT_FULL_COMPILE and request compilation of lexer
source.
* tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Push AT_DEFINES_IF.
Adjust AT_LOC and AT_VAL to use AT_NAME_PREFIX.
(AT_BISON_OPTION_POPDEFS): Pop AT_DEFINES_IF.
(AT_DATA_SOURCE_PROLOGUE): New.
(AT_DATA_GRAMMAR_PROLOGUE): Use AT_DATA_SOURCE_PROLOGUE.
(AT_DATA_SOURCE): New.
(AT_FULL_COMPILE): New, copied from master branch and extended to
support an additional output file.

16 years agoDon't let maintainer-*-check targets force a version update.
Joel E. Denny [Mon, 17 Nov 2008 14:35:58 +0000 (09:35 -0500)] 
Don't let maintainer-*-check targets force a version update.

* cfg.mk (_is-dist-target): Implement.  maintainer-check* was already
handled.

16 years agoFix formatting and content of bison.texinfo menus
Di-an Jan [Mon, 17 Nov 2008 10:07:29 +0000 (11:07 +0100)] 
Fix formatting and content of bison.texinfo menus

* doc/bison.texinfo: Synchronize ``Detail Node Listing''.
Align menus.  Adjust word wrapping.  Use node names for menu names.
(Examples): Don't abbreviate node names.
(LocalWords): Remove abbreviations.
(Copying): Make description a sentence.
(Java Action Features): Remove period to match the rest of menu.

16 years agoReplace m4/warning.m4 with warnings module.
Paolo Bonzini [Tue, 11 Nov 2008 12:37:36 +0000 (13:37 +0100)] 
Replace m4/warning.m4 with warnings module.

* bootstrap.conf: Replace m4/warning.m4 with warnings module.
* configure.ac: Adjust usage.
* lib/Makefile.am: Replace $(WARNING_CFLAGS) with $(WARN_CFLAGS).
* src/Makefile.am: Replace $(WARNING_CFLAGS) with $(WARN_CFLAGS).
* tests/atlocal.in: Replace $(WARNING_*FLAGS) with $(WARN_*FLAGS).

16 years agoDon't add a semicolon to actions for %skeleton or %language.
Joel E. Denny [Fri, 7 Nov 2008 21:48:57 +0000 (16:48 -0500)] 
Don't add a semicolon to actions for %skeleton or %language.

It breaks Java test cases as reported by Akim Demaille.
* src/scan-code.l: Implement.

16 years agoClean up %skeleton and %language priority implementation.
Joel E. Denny [Fri, 7 Nov 2008 21:48:31 +0000 (16:48 -0500)] 
Clean up %skeleton and %language priority implementation.

* src/getargs.c (skeleton_prio): Use default_prio rather than 2, and
remove static qualifier because others will soon need to see it.
(language_prio): Likewise.
(getargs): Use command_line_prio rather than 0.
* src/getargs.h (command_line_prio, grammar_prio, default_prio): New
enum fields.
(skeleton_prio): Extern it.
(language_prio): Extern it.
* src/parse-gram.y: Use grammar_prio rather than 1.

16 years agoMention the trailing semicolon in action.
Akim Demaille [Tue, 4 Nov 2008 21:26:39 +0000 (22:26 +0100)] 
Mention the trailing semicolon in action.

* NEWS: Mention the trailing semicolon in action.

16 years agoReformat NEWS.
Akim Demaille [Tue, 4 Nov 2008 21:18:28 +0000 (22:18 +0100)] 
Reformat NEWS.

* NEWS: Use more outline-mode markup.
Suggested by Jim Meyering.

16 years agoFix user actions without a trailing semicolon.
Joel E. Denny [Tue, 4 Nov 2008 18:26:59 +0000 (13:26 -0500)] 
Fix user actions without a trailing semicolon.

Reported by Sergei Steshenko at
<http://lists.gnu.org/archive/html/bug-bison/2008-11/msg00001.html>.
* THANKS (Sergei Steshenko): Add.
* src/scan-code.l (SC_RULE_ACTION): Fix it.
* tests/regression.at (Fix user actions without a trailing semicolon):
New test case.

16 years agoInitiate further development.
Joel E. Denny [Sun, 2 Nov 2008 23:16:13 +0000 (18:16 -0500)] 
Initiate further development.

* NEWS: Create an empty section for new entries.
* gnulib: Update submodule to HEAD.

16 years ago* NEWS: Version 2.4. v2.4
Joel E. Denny [Sun, 2 Nov 2008 21:55:49 +0000 (16:55 -0500)] 
* NEWS: Version 2.4.

16 years agoPrepare for next release.
Joel E. Denny [Sun, 2 Nov 2008 21:55:14 +0000 (16:55 -0500)] 
Prepare for next release.

* NEWS: Briefly mention changes since 2.3b.
* README: Say GNU m4 1.4.6, which we've been requiring in release
announcements already, not 1.4.3, which breaks the build.

16 years agoSay %language is experimental.
Joel E. Denny [Sun, 2 Nov 2008 21:54:45 +0000 (16:54 -0500)] 
Say %language is experimental.

We're thinking of extending it's effect on output file naming.  See the
thread at
<http://lists.gnu.org/archive/html/bison-patches/2008-10/msg00003.html>.
* NEWS: Say it's experimental.
* doc/bison.texinfo (Decl Summary): Say it's experimental, and so don't
recommend it over %skeleton for now.
(Bison Options): Likewise.
(C++ Bison Interface): Use %skeleton not %language.
(Calc++ Parser): Use %skeleton not %language.
* src/getargs.c (usage): Say it's experimental.

16 years agoJava parser improvements
Di-an Jan [Thu, 16 Oct 2008 11:00:32 +0000 (13:00 +0200)] 
Java parser improvements

2008-11-01  Di-an Jan  <dianj@freeshell.org>
    Paolo Bonzini  <bonzini@gnu.org>

Support all Java parser class modifiers.
* data/java.m4 (b4_percent_define_get3): New.
(b4_final_if, b4_strictfp_if): New.
* data/lalr1.java (final, strictfp, extends, implements): Support.
* doc/bison.texinfo (final, strictfp, extends, implements): Add
documentation.
* tests/java.at (AT_CHECK_JAVA_MINIMAL): New.
(AT_CHECK_JAVA_MINIMAL_W_LEXER): New.
(AT_CHECK_JAVA_GREP): New.
(Java parser class modifiers): New test.
(Java parser class extends and implements): New test.

Model exception propagation better with throws and lex_throws.
* data/java.m4 (b4_list2): New.
(throws): Change default.
* data/lalr1.java (yyaction): Add throws.
(parse): Add lex_throws in addition to throws.
* doc/bison.texinfo (throws, lex_throws): Add documentation.
* tests/java.at (Java throws specifications): New test.

Improve documentation for Java parsers.
* doc/bison.texinfo (Java Parsers): Add subsections.
Don't quote first argument of %define.
(Java Bison Interface): Document output files.  Move documentation
of parser class and merge into Java Parser Interface.  Document
features that error out.  Document directives with no effect.
Move note about Javadoc higher.
(Java Semantic Values): Explicitly mention stype.
Document that generic types cannot be used.
(Java Location Values): Use @deftypeivar.  Document constructors.
Correct return value for toString.
(Java Parser Interface): List undocumented constants/fields.
Move documentation of fields added by %parse-param closer to list
of members.  Document that token names are added as fields.
Document constructors accurately.  Remove error method.
(Java Scanner Interface): Move note on %pure-parser to Java Bison
Interface.  Describe %code lexer and yylex accutately.
Remove documentation that does not match the code.
(Java Action Features): New.
(Java Differences): Add reference.  Add item on semantic values.
Add note about @{ ... @}.  Clarify %% epilogue placement.
(Java Declarations Summary): New.

Fix Java skeleton.
* data/java.m4 (b4_prefix): Correct quoting for m4_define_default.
(b4_remove_comma): Quote test argument.
* tests/java.at (Java parser class and package names): New test.
(Java %parse-param and %lex-param): New test.
(Java stype, position_class and location_class): New test.

16 years agocommit missing ChangeLog entry
Paolo Bonzini [Fri, 31 Oct 2008 13:32:55 +0000 (14:32 +0100)] 
commit missing ChangeLog entry

16 years agoCorrect visible errors in generated Javadoc.
Di-an Jan [Tue, 28 Oct 2008 17:38:06 +0000 (18:38 +0100)] 
Correct visible errors in generated Javadoc.

2008-10-27  Di-an Jan  <dianj@freeshell.org>

    * data/lalr1.jave: Update copyright years.
    (YYParser): Correct name of "generated from" file in Javadoc:
    use b4_file_name instead of @ofile@.
    (Location constructor): Correct Javadoc parameter name.
    (yylloc): Add missing opening m4 quote after b4_location_if.
    This removes a stray [ in the Javadoc of Lexer.getStartPos.
    (Lexer.yyerror): Fix incorrect m4 and Javadoc.
    (YYParser constructor): Correct Javadoc parameter name.

16 years agoAlways put auxiliary code files in the same dir as other output files.
Joel E. Denny [Thu, 30 Oct 2008 19:35:01 +0000 (15:35 -0400)] 
Always put auxiliary code files in the same dir as other output files.

* src/files.c (compute_file_name_parts): When the user specifies
--output but not --file-prefix, extract the directory prefix from the
file prefix not from the grammar file name.  This affects the location
of files like location.hh generated by the C++ skeleton.  The includes
in the other output files require this fix.
* tests/output.at (AT_CHECK_OUTPUT): Automatically create directories
for expected output files.
(Output files): Add a test for the above.

16 years ago* gnulib: Update submodule to HEAD.
Joel E. Denny [Wed, 29 Oct 2008 14:22:01 +0000 (10:22 -0400)] 
* gnulib: Update submodule to HEAD.

16 years agoUpdate copyright year.
Joel E. Denny [Wed, 29 Oct 2008 02:08:52 +0000 (22:08 -0400)] 
Update copyright year.

* src/files.c: Here.

16 years agoDon't overwrite the input file.
Di-an Jan [Wed, 29 Oct 2008 01:38:32 +0000 (21:38 -0400)] 
Don't overwrite the input file.

* src/files.c (output_file_name_check): Fatal error if using input file
for output.
* tests/output.at: (AT_CHECK_CONFLICTING_OUTPUT): Add return status
argument.
(Conflicting output files): Add test.

16 years agoSpace changes.
Akim Demaille [Tue, 21 Oct 2008 21:20:10 +0000 (16:20 -0500)] 
Space changes.

* data/lalr1.cc: Formatting changes.

16 years agoDon't define debugging functions when !YYDEBUG.
Akim Demaille [Tue, 21 Oct 2008 21:14:23 +0000 (16:14 -0500)] 
Don't define debugging functions when !YYDEBUG.

* data/lalr1.cc (debug_stream, set_debug_stream)
(debug_level_type, debug_level, set_debug_level): Don't
declare them when YYDEBUG is not defined.
The implementation are already YYDEBUG-aware.

16 years agoPrefer "continue" for empty loop bodies.
Akim Demaille [Tue, 21 Oct 2008 20:56:12 +0000 (15:56 -0500)] 
Prefer "continue" for empty loop bodies.

* etc/bench.pl.in: Use "continue" instead of {}.

16 years agoSpace and comments changes.
Akim Demaille [Tue, 21 Oct 2008 20:37:26 +0000 (15:37 -0500)] 
Space and comments changes.

* data/c++.m4, data/glr.c, data/lalr1.cc: Copyright year changes.
* data/c.m4, data/lalr1.cc: Space changes.

16 years agoMake gnulib a submodule.
Akim Demaille [Mon, 25 Aug 2008 15:04:30 +0000 (17:04 +0200)] 
Make gnulib a submodule.

* gnulib: New.
* .gitmodules (gnulib): New.

16 years agoFix yyerror_range for user-defined location type in C++.
Joel E. Denny [Sat, 18 Oct 2008 16:46:12 +0000 (12:46 -0400)] 
Fix yyerror_range for user-defined location type in C++.

Reported by Georg Sauthoff at
<http://lists.gnu.org/archive/html/bug-bison/2008-08/msg00008.html>.
* data/lalr1.cc (parse): Change type of yyerror_range to location_type.
* THANKS (Georg Sauthoff): Add.

16 years agoUpdate several administrative files mainly to facilitate releasing.
Joel E. Denny [Sat, 18 Oct 2008 16:17:35 +0000 (12:17 -0400)] 
Update several administrative files mainly to facilitate releasing.

* HACKING (Administrivia): Make the git-merge-changelog notes more
helpful.
(Test suite): Don't say lalr1.cc is not exercised in the test suite.
(Release Procedure): Update for git and add numerous details that were
previously missing.
* Makefile.am (EXTRA_DIST): Remove Makefile.cfg and Makefile.maint.
* maint.mk (announcement): Don't list bison as a bootstrap tool so
that announcements don't claim we bootstrapped with whatever bison
happened to be in PATH.  Add flex as a bootstrap tool.
* Makefile.maint: Remove, previously replaced by maint.mk.
* Makefile.cfg: Remove, and migrate settings to...
* cfg.mk: ... here for the sake of `make announcement'.
* bootstrap.conf (gnulib_modules): Add announce-gen.
* README: Say GNU Bison instead of just Bison.  Suggested by Karl
Berry.

16 years agosmall but important bugfixes for the Java skeleton
Paolo Bonzini [Thu, 9 Oct 2008 19:26:29 +0000 (21:26 +0200)] 
small but important bugfixes for the Java skeleton

2008-10-08  Di-an Jan  <dianj@freeshell.org>  (tiny change)

Small but important bugfixes for the Java skeleton.
* data/lalr1.java (yyerror): Change Location to b4_location_type.
(yy_symbol_print): Call toString on yyvaluep.

16 years agoClarify UPDATED use.
Akim Demaille [Fri, 29 Aug 2008 08:11:10 +0000 (10:11 +0200)] 
Clarify UPDATED use.

* doc/bison.texinfo: It refers to the last edition of this file,
not to the release date of Bison.
Reported by Joel E. Denny.

16 years agoUpdate README.
Akim Demaille [Fri, 29 Aug 2008 08:06:04 +0000 (10:06 +0200)] 
Update README.

* README: Update FAQ pointer.
Reported by Joel E. Denny.

16 years agoResync m4sugar from autoconf.
Eric Blake [Thu, 28 Aug 2008 02:44:41 +0000 (20:44 -0600)] 
Resync m4sugar from autoconf.

* data/m4sugar/m4sugar.m4 (m4_defn, m4_popdef, m4_undefine)
(m4_init): Adjust to latest m4.git changes.
(m4_mapall_sep, _m4_list_cmp, m4_version_compare): Reduce side
effects.
* data/m4sugar/foreach.m4 (_m4_shiftn): Fix off-by-one bug.
(_m4_list_cmp): Reduce side effects.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoCheck yyerrok in calc.at.
Akim Demaille [Mon, 4 Aug 2008 21:23:27 +0000 (23:23 +0200)] 
Check yyerrok in calc.at.

* tests/calc.at (calc.y): Use yyerrok on "( error )".
(AT_CHECK_CALC): Add a check that ensures that yyerrok works as
expected.

16 years agoSupport yyerrok in lalr1.cc.
Akim Demaille [Mon, 4 Aug 2008 21:19:26 +0000 (23:19 +0200)] 
Support yyerrok in lalr1.cc.

YYBACKUP is still to import back into lalr1.cc.

* data/lalr1.cc (yyerrork, yyclearin, YYRECOVERING): Define.

16 years agoFor maintainer-check*, don't recompile for a $(VERSION) update.
Joel E. Denny [Wed, 27 Aug 2008 03:43:03 +0000 (23:43 -0400)] 
For maintainer-check*, don't recompile for a $(VERSION) update.

* cfg.mk: New file.
(_is-dist-target): Override the one in GNUmakefile.
* Makefile.am (EXTRA_DIST): Add cfg.mk.

16 years agoUpdate for recent change to gnulib.
Joel E. Denny [Tue, 26 Aug 2008 07:33:55 +0000 (03:33 -0400)] 
Update for recent change to gnulib.
* src/parse-gram.y: Don't include strverscmp.h.  It comes from
string.h now.

16 years agoRemaining m4sugar merge from autoconf.
Eric Blake [Fri, 15 Aug 2008 17:46:20 +0000 (11:46 -0600)] 
Remaining m4sugar merge from autoconf.

* data/m4sugar/m4sugar.m4: Copy entire file from autoconf.
* data/m4sugar/foreach.m4: New file, copied from autoconf.
* data/Makefile.am (dist_m4sugar_DATA): Distribute it.
* src/output.c (output_skeleton): Tell m4 how to find it.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoPartial m4sugar merge from autoconf: m4_map.
Eric Blake [Fri, 15 Aug 2008 16:59:32 +0000 (10:59 -0600)] 
Partial m4sugar merge from autoconf: m4_map.

* data/m4sugar/m4sugar.m4 (m4_fst): Delete.
(m4_map, m4_map_sep, _m4_map): Rewrite more efficiently.
(m4_apply, _m4_apply, m4_mapall, m4_mapall_sep): New macros.
* data/java.m4 (b4_token_enums): Use more efficient short-circuit
for empty list.
* data/c.m4 (b4_token_defines, b4_token_enums, b4_c_ansi_formals):
Likewise.
(b4_parse_param_for): Avoid m4_fst, now that autoconf no longer
declares it.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoKeep .version and PACKAGE_VERSION in sync.
Joel E. Denny [Thu, 7 Aug 2008 22:37:07 +0000 (18:37 -0400)] 
Keep .version and PACKAGE_VERSION in sync.

* Makefile.am ($(top_srcdir)/.version): Declare configure as a
dependency, and add comments justifying this in more detail.  Discussed
starting at
<http://lists.gnu.org/archive/html/bison-patches/2008-07/msg00022.html>.

16 years agoPartial m4sugar merge from autoconf: m4_shiftn.
Eric Blake [Thu, 7 Aug 2008 03:22:06 +0000 (21:22 -0600)] 
Partial m4sugar merge from autoconf: m4_shiftn.

* data/m4sugar/m4sugar.m4 (m4_shiftn): Faster implementation.
(m4_shift2, m4_shift3): New macros.
(m4_case, m4_bmatch, m4_bpatsubsts, m4_join): Adjust clients.
* data/c.m4 (b4_c_function_def, b4_c_ansi_function_def)
(b4_c_ansi_function_decl, b4_c_function_call): Likewise.
* data/java.m4 (b4_remove_comma): Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>