Joel E. Denny [Thu, 30 Apr 2009 01:48:21 +0000 (21:48 -0400)]
Rename lr.default_reductions to lr.default-reductions.
* NEWS (2.5): Here.
* doc/bison.texinfo: Here.
* src/lalr.c (initialize_LA): Here.
* src/print.c (print_reductions): Here.
* src/reader.c (reader): Here.
* src/tables.c (action_row): Here.
* tests/input.at (%define enum variables): Here.
* tests/reduce.at (AT_TEST_LR_DEFAULT_REDUCTIONS): Here.
Joel E. Denny [Thu, 30 Apr 2009 00:50:01 +0000 (20:50 -0400)]
Pacify ./configure --enable-gcc-warnings.
* tests/input.at (Symbols): Prototype yyerror and yylex.
Akim Demaille [Tue, 21 Apr 2009 20:17:25 +0000 (22:17 +0200)]
tests: check the use of dashes and periods in symbols.
* tests/input.at (Symbol): New test group.
(cherry picked from commit
746ee38c7cff93ad1fc97da6f06f124f394fb437)
Joel E. Denny [Thu, 30 Apr 2009 00:05:32 +0000 (20:05 -0400)]
Document how `%define "var" "value"' is not M4-friendly.
* src/parse-gram.y (variable): In comments here.
Joel E. Denny [Thu, 30 Apr 2009 00:03:52 +0000 (20:03 -0400)]
Add copyright updates missed during previous cherry pick.
* src/output.c: Here.
* src/parse-gram.y: Here.
* src/scan-gram.l: Here.
Akim Demaille [Mon, 20 Apr 2009 10:24:23 +0000 (12:24 +0200)]
variables: accept dashes.
* src/scan-gram.l ({id}): Also accept dashes after the initial
letter.
({directive}): Use {id}.
* src/parse-gram.y: Comment and formatting changes.
* doc/bison.texinfo (Symbols): Adjust the lexical definitions of
symbols.
* src/complain.h, src/complain.c (yacc_at): New.
* src/symtab.c (symbol_new): Use yacc_at to report inappropriate
symbol names.
* src/output.c (token_definitions_output): Do not #define token
names with dashes.
(cherry picked from commit
4f646c3794c45940aaf96d5409eff02a2c74978e)
Conflicts:
data/bison.m4
src/parse-gram.y
Joel E. Denny [Fri, 24 Apr 2009 06:13:26 +0000 (02:13 -0400)]
Clean up recent patches a little.
Reported by Akim Demaille.
* doc/bison.texinfo (Understanding): Fix typos.
* src/print.c (print_reductions): Don't use negated variable.
Joel E. Denny [Fri, 24 Apr 2009 05:42:58 +0000 (01:42 -0400)]
List accepted values for a %define enum variable with an invalid value.
Suggested by Akim Demaille at
<http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00082.html>.
* data/bison.m4 (_b4_percent_define_check_values): Implement.
* src/muscle_tab.c (muscle_percent_define_check_values): Implement.
* tests/input.at (%define lr.default_reductions invalid values): Merge
into...
(%define enum variables): ... here, and update output.
Joel E. Denny [Thu, 23 Apr 2009 07:18:03 +0000 (03:18 -0400)]
Rename "default rule" to "default reduction".
This includes changing variable names in code, changing
comments, and renaming %define lr.default_rules to %define
lr.default_reductions.
* NEWS (2.5): Update IELR documentation.
* data/glr.c, data/lalr1.cc, data/lalr1.java, data/yacc.c:
Adjust YYDEFACT and yydefact_ documentation.
* doc/bison.texinfo (Decl Summary): Adjust lr.default_reductions
and lr.type documentation. Make some other wording
improvements.
(Glossary): Adjust cross-references and Default Reduction
definition.
* src/lalr.c (state_lookahead_tokens_count): Adjust code.
Remove a confusing comment pointed out by Akim Demaille.
(initialize_LA): Adjust code.
* src/print-xml.c (print_reductions): Adjust code.
* src/print.c (print_reductions): Adjust code.
* src/reader.c (reader): Adjust code.
* src/tables.c (action_row): Adjust code.
(token_actions): Adjust code.
* src/tables.h: Adjust YYDEFACT documentation.
* tests/input.at (%define lr.default_rules invalid values):
Rename test group to...
(%define lr.default_reductions invalid values): ... this, and
update grammar file and expected output.
* tests/reduce.at (AT_TEST_LR_DEFAULT_RULES): Rename to...
(AT_TEST_LR_DEFAULT_REDUCTIONS): ... this, and update.
Joel E. Denny [Tue, 21 Apr 2009 09:12:01 +0000 (05:12 -0400)]
Document %define lr.type and lr.default_rules.
* NEWS (2.5): Add an entry.
* src/getargs.c (usage): Mention IELR(1) and canonical LR(1)
besides just LALR(1) and GLR(1).
* doc/bison.texinfo (Introduction): Likewise.
(Language and Grammar): Bison is no longer limited to LALR(1)
restrictions.
(GLR parsing): Say deterministic or LR(1) rather than LALR(1)
when trying to distinguish from GLR. Talk about LR(1) grammars
rather than LALR(1) grammars.
(Decl Summary): In %define api.push_pull entry, say it applies
to deterministic parsers in C rather than LALR(1) parsers in C.
Add lr.default_rules entry.
Add lr.type entry.
(Mystery Conflicts): Bison is no longer limited to LALR(1)
restrictions.
(Generalized LR Parsing): Same changes as for the previous GLR
section.
(Memory Management): Say deterministic rather than LALR(1).
(Understanding): Correct some bison output.
Index discussion of "accepting state".
Say deterministic rather than LALR(1).
(Bison Options): In --yacc entry, say deterministic rather than
LALR(1).
In --report, --graph, and --xml entries, just don't mention
LALR(1).
(C++ Parsers): Say deterministic rather than LALR(1).
(Table of Symbols): Likewise in YYSTACK_USE_ALLOCA entry.
(Glossary): Add Accepting State, Consistent State, Default Rule,
and IELR(1) definitions.
In Generalized LR (GLR) definition, make same changes as in
previous GLR sections.
In LALR(1) definition, say Bison uses LALR(1) by default rather
than implying Bison is limited to LALR(1).
(LocalWords): Add IELR.
Joel E. Denny [Tue, 21 Apr 2009 07:40:16 +0000 (03:40 -0400)]
Finish implementing %define lr.type.
Its value can be "LALR", "IELR", or "canonical LR".
* lib/timevar.def (TV_IELR_PHASE1): New var.
(TV_IELR_PHASE2): New var.
(TV_IELR_PHASE3): New var.
(TV_IELR_PHASE4): New var.
* src/Makefile.am (bison_SOURCES): Add AnnotationList.c,
AnnotationList.h, InadequacyList.c, InadequacyList.h, Sbitset.c,
Sbitset.h, ielr.h, and ielr.c.
* src/getargs.h, src/getargs.c (enum trace, trace_args,
trace_types): Add trace_ielr.
* src/lalr.h, src/lalr.c (ngotos): Export it.
(F): Rename to...
(goto_follows): ... this, update all uses, and export it.
(set_goto_map): Export it.
(map_goto): Export it.
(compute_lookahead_tokens): Don't free goto_follows yet. Now
handled in ielr.
(initialize_LA): Export it. Move lookback allocation to...
(lalr): ... here because, for canonical LR, initialize_LA must
be invoked but lookback and much of the rest of LALR isn't
needed.
* main.c (main): Instead of lalr, invoke ielr, which invokes
lalr.
* src/reader.c (reader): Default lr.type to "LALR".
Default lr.default_rules to "accepting" if lr.type is "canonical
LR". Leave the default as "all" otherwise.
Check for a valid lr.type value.
* src/state.h, src/state.c (struct state_list): Add state_list
member.
(state_new): Initialize state_list member to NULL.
(state_new_isocore): New function, exported.
* tests/existing.at (AT_TEST_EXISTING_GRAMMAR): New macro that
exercises all values of lr.type.
(GNU AWK Grammar): Rename test group to...
(GNU AWK 3.1.0 Grammar): ... this, and extend to use
AT_TEST_EXISTING_GRAMMAR.
(GNU Cim Grammar): Extend to use AT_TEST_EXISTING_GRAMMAR.
(GNU pic Grammar): Rename test group to...
(GNU pic (Groff 1.18.1) Grammar): ... this, and extend to use
AT_TEST_EXISTING_GRAMMAR.
* tests/reduce.at (AT_TEST_LR_TYPE): New macro that exercises
all values of lr.type.
(Single State Split): New test groups using AT_TEST_LR_TYPE.
(Lane Split): Likewise.
(Complex Lane Split): Likewise.
(Split During Added Lookahead Propagation): Likewise.
Joel E. Denny [Tue, 21 Apr 2009 06:10:57 +0000 (02:10 -0400)]
Add new files for IELR and canonical LR implementation.
* src/AnnotationList.c: New.
* src/AnnotationList.h: New.
* src/InadequacyList.c: New.
* src/InadequacyList.h: New.
* src/Sbitset.c: New.
* src/Sbitset.h: New.
* src/ielr.c: New.
* src/ielr.h: New.
Joel E. Denny [Mon, 20 Apr 2009 04:55:50 +0000 (00:55 -0400)]
Implement %define lr.default_rules.
Its value describes the states that are permitted to contain
default rules: "all", "consistent", or "accepting".
* src/reader.c (reader): Default lr.default_rules to "all".
Check for a valid lr.default_rules value.
* src/lalr.c (state_lookahead_tokens_count): If lr.default_rules
is "accepting", then only mark the accepting state as
consistent.
(initialize_LA): Tell state_lookahead_tokens_count whether
lr.default_rules is "accepting".
* src/tables.c (action_row): If lr.default_rules is not "all",
then disable default rules in inconsistent states.
* src/print.c (print_reductions): Use this opportunity to
perform some assertions about whether lr.default_rules was
obeyed correctly.
* tests/local.at (AT_TEST_TABLES_AND_PARSE): New macro that
helps with checking the parser tables for a grammar.
* tests/input.at (%define lr.default_rules invalid values): New
test group.
* tests/reduce.at (AT_TEST_LR_DEFAULT_RULES): New macro using
AT_TEST_TABLES_AND_PARSE.
(`no %define lr.default_rules'): New test group generated by
AT_TEST_LR_DEFAULT_RULES.
(`%define lr.default_rules "all"'): Likewise.
(`%define lr.default_rules "consistent"'): Likewise.
(`%define lr.default_rules "accepting"'): Likewise.
Akim Demaille [Mon, 20 Apr 2009 10:53:46 +0000 (12:53 +0200)]
Consistently refer to Yacc, not YACC.
* src/getargs.c (usage, warnings_args): s/YACC/Yacc/.
Joel E. Denny [Fri, 17 Apr 2009 20:14:17 +0000 (16:14 -0400)]
Pacify make maintainer-check-posix.
* tests/input.at (%define, --define): Move bison command-line
options before grammar file name.
Joel E. Denny [Sat, 4 Apr 2009 06:10:33 +0000 (02:10 -0400)]
Document semicolon warnings.
* NEWS (2.5): Here.
Akim Demaille [Mon, 8 Dec 2008 09:26:38 +0000 (10:26 +0100)]
Fix portability issue in the test suite.
* tests/local.at (AT_MATCHES_CHECK): New.
Based on Perl instead of Sed. Sed has too many portability
pitfalls, not ever Sed is GNU Sed.
* tests/actions.at (Fix user actions without a trailing semicolon):
Use it.
(cherry picked from commit
6617622c9aaa6ec3a9de5b0867421e2849b68b2f)
Di-an Jan [Mon, 8 Dec 2008 05:54:45 +0000 (21:54 -0800)]
Implement the FIXME that ends an user action with a semicolon
if it seems necessary.
* src/scan-code.l (flex rules section): Flag cpp directive from
any `#' to the first unescaped end-of-line. Semicolon is not
needed after `;', `{', '}', or cpp directives and is needed after
any other token (whitespaces and comments have no effect).
* tests/actions.at (Fix user actions without a trailing semicolon):
New test.
* tests/input.at (AT_CHECK_UNUSED_VALUES): Add semicolons to
to make user actions complete statements.
Adjust column numbers in error messages.
* tests/regression.at (Fix user actions without a trailing semicolon):
Remove. Covered by new test.
(cherry picked from commit
e8cd1ad655bcc704b06fb2f191dc3ac1df32b796)
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.
Eric Blake [Fri, 10 Apr 2009 13:36:49 +0000 (07:36 -0600)]
submodules: update to latest
* submodules/autoconf: Use latest upstream Autoconf.
Signed-off-by: Eric Blake <ebb9@byu.net>
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>
(cherry picked from commit
ab3a683f0560e4ec24a06754386ee8c76da6ef67)
Joel E. Denny [Mon, 6 Apr 2009 10:22:27 +0000 (06:22 -0400)]
* NEWS (2.5): Describe new -D/--define feature.
Akim Demaille [Tue, 12 Aug 2008 19:48:44 +0000 (21:48 +0200)]
--trace=muscles
* src/getargs.h, src/getargs.c (trace_muscle): New.
(trace_types, trace_args): Support it.
* src/output.c (output_skeleton): Use it.
(cherry picked from commit
5263bea9f7d576c20938619af2197eb5b47a90c3)
Akim Demaille [Tue, 12 Aug 2008 19:11:53 +0000 (21:11 +0200)]
muscles_output.
* src/output.c (muscles_output): New, extracted from...
(output_skeleton): here.
Adjust.
Akim Demaille [Fri, 21 Nov 2008 20:21:52 +0000 (21:21 +0100)]
Display the changes in cross-options.texi.
* build-aux/cross-options.pl ($sep): New, to separate items.
* doc/Makefile.am ($(srcdir)/cross-options.texi): Use diff to display
the changes.
Di-an Jan [Thu, 20 Nov 2008 20:36:30 +0000 (12:36 -0800)]
Improves options in the manual.
* doc/bison.texinfo (-g, -x): Add space before argument.
(Option Cross Key): Implement FIXME: listing directives also.
* build-aux/cross-options.pl: Read from <STDIN> rather than <>.
(Short Option): Special case -d. Put arguments inside @option.
(Bison Directive): Add column, automatically extracted from
src/scan-gram.l (actual name passed as the first argument)
with special case for %define.
* doc/Makefile.am (doc/cross-options.texi): Pass src/scan-gram.l
to build-aux/cross-options.pl.
* src/getargs.c (usage): Document limitations of cross-options.pl.
* src/scan-gram.l: Likewise.
Akim Demaille [Wed, 31 Dec 2008 15:55:12 +0000 (16:55 +0100)]
Copyright years.
* data/glr.c: Add 2007 and 2008 here, consistenly with the comments.
Akim Demaille [Mon, 8 Dec 2008 12:58:37 +0000 (13:58 +0100)]
Really add autoconf as a submodule.
* submodules/autoconf: New.
(cherry picked from commit
e5fa6147efaf1f15b832b6f62b09638979bc82ef)
Akim Demaille [Sun, 7 Dec 2008 21:14:11 +0000 (22:14 +0100)]
Install autoconf as a submodule to get m4sugar.
* .gitmodules: Add submodules/autoconf.
* data/m4sugar/foreach.m4, data/m4sugar/m4sugar.m4: Now links into
submodules/autoconf.
(cherry picked from commit
6c63b895fbfda2182e148a95aff855e303bdbc30)
Joel E. Denny [Mon, 17 Nov 2008 15:51:17 +0000 (10:51 -0500)]
Simplify last patch slightly.
* src/getargs.c (getargs): Here.
(cherry picked from commit
9ce405ce1dd2ff7d495dafe6201b87669549f98b)
Joel E. Denny [Mon, 17 Nov 2008 15:36:28 +0000 (10:36 -0500)]
Fix last warning from --enable-gcc-warnings.
* src/getargs.c (getargs): Don't assign const address to non-const
pointer.
(cherry picked from commit
a8beef7e6a9f6b75fa249d59b4c79585190540b6)
Di-an Jan [Mon, 17 Nov 2008 10:01:41 +0000 (11:01 +0100)]
Handle --enable-gcc-warnings.
* src/getargs.c (command_line_location): Set parameters to void.
Akim Demaille [Mon, 25 Aug 2008 11:43:00 +0000 (13:43 +0200)]
AT_FULL_COMPILE.
* tests/actions.at, tests/regression.at: Use it.
Akim Demaille [Tue, 29 Jul 2008 11:30:02 +0000 (13:30 +0200)]
Pass command line location to skeleton_arg and language_argmatch.
* src/getargs.h, src/getargs.c (skeleton_arg, language_argmatch):
The location argument is now mandatory.
Adjust all dependencies.
(getargs): Use command_line_location.
Akim Demaille [Tue, 29 Jul 2008 10:52:19 +0000 (12:52 +0200)]
-D, --define.
* src/getargs.c (usage): Document -D.
Fix help string for --locations.
(command_line_location): New.
(short_options, long_options, getargs): Support -D, --define.
(getargs): Move -d support at the right place.
* doc/bison.texinfo (Bison Options): Update.
* tests/input.at (%define, --define): New.
(cherry picked from commit
58697c6d89f2db69aa2321fe92fc388f87bf2a3c)
Akim Demaille [Tue, 29 Jul 2008 10:47:41 +0000 (12:47 +0200)]
Initialize the muscle table before parsing the command line.
* src/getargs.c (quotearg.h, muscle_tab.h): Include.
(getargs): Define file_name.
* src/main.c (main): Initialize muscle_tab before calling
getargs.
* src/muscle_tab.c (muscle_init): No longer define file_name, as
its value is not available yet.
Akim Demaille [Thu, 7 Aug 2008 18:46:28 +0000 (20:46 +0200)]
Require the generation of parse-gram.output.
* src/Makefile.am (YACC): Pass --report=all.
(cherry picked from commit
432ac57aaae89de7a4305dc72c5a5b716c6defc4)
Joel E. Denny [Mon, 6 Apr 2009 08:28:29 +0000 (04:28 -0400)]
* NEWS (2.5): New stub.
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.
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)
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)
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 @.
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 @.
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.
Joel E. Denny [Sat, 4 Apr 2009 06:45:01 +0000 (02:45 -0400)]
* ChangeLog: Update copyright.
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.
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.
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)
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)
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.
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.
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.
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.
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.
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 +=.
Akim Demaille [Thu, 12 Feb 2009 08:51:53 +0000 (09:51 +0100)]
Update gnulib.
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.
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.
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.
Joel E. Denny [Thu, 11 Dec 2008 19:25:10 +0000 (14:25 -0500)]
* gnulib: Update submodule to HEAD.
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.
Akim Demaille [Wed, 5 Nov 2008 06:00:04 +0000 (07:00 +0100)]
Spelling fixes.
* NEWS: s/than/that/.
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>
Joel E. Denny [Wed, 19 Nov 2008 17:14:37 +0000 (12:14 -0500)]
* NEWS: Clarify a little.
Joel E. Denny [Wed, 19 Nov 2008 17:06:34 +0000 (12:06 -0500)]
* NEWS: Update for recent changes.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
Joel E. Denny [Sun, 2 Nov 2008 21:55:49 +0000 (16:55 -0500)]
* NEWS: Version 2.4.
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.
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.
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.
Paolo Bonzini [Fri, 31 Oct 2008 13:32:55 +0000 (14:32 +0100)]
commit missing ChangeLog entry
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.
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.
Joel E. Denny [Wed, 29 Oct 2008 14:22:01 +0000 (10:22 -0400)]
* gnulib: Update submodule to HEAD.
Joel E. Denny [Wed, 29 Oct 2008 02:08:52 +0000 (22:08 -0400)]
Update copyright year.
* src/files.c: Here.
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.
Akim Demaille [Tue, 21 Oct 2008 21:20:10 +0000 (16:20 -0500)]
Space changes.
* data/lalr1.cc: Formatting changes.
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.
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 {}.
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.
Akim Demaille [Mon, 25 Aug 2008 15:04:30 +0000 (17:04 +0200)]
Make gnulib a submodule.
* gnulib: New.
* .gitmodules (gnulib): New.
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.
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.
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.
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.
Akim Demaille [Fri, 29 Aug 2008 08:06:04 +0000 (10:06 +0200)]
Update README.
* README: Update FAQ pointer.
Reported by Joel E. Denny.
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>
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.
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.
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.
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.