]> git.saurik.com Git - bison.git/log
bison.git
15 years agobison: factoring.
Akim Demaille [Mon, 20 Apr 2009 21:38:07 +0000 (23:38 +0200)] 
bison: factoring.

* src/output.c (token_definitions_output): Use symbol_id_get
instead of duplicating its logic.
* TODO (YYERRCODE): Extend.

15 years agovariables: prefer error-verbose to error_verbose.
Akim Demaille [Mon, 20 Apr 2009 10:25:47 +0000 (12:25 +0200)] 
variables: prefer error-verbose to error_verbose.

* data/bison.m4 (b4_error_verbose_if): Based on error-verbose
instead of error_verbose.
* src/scan-gram.l (%error-verbose): Map the error-verbose
variable.
* doc/bison.texinfo: Promote %define error-verbose instead of
%error-verbose.
* tests/actions.at: Prefer %define error-verbose to %error-verbose.

15 years agoRegen.
Akim Demaille [Mon, 20 Apr 2009 11:09:51 +0000 (13:09 +0200)] 
Regen.

* src/parse-gram.h, src/parse-gram.c: Regen.

15 years agovariables: accept dashes.
Akim Demaille [Mon, 20 Apr 2009 10:24:23 +0000 (12:24 +0200)] 
variables: accept dashes.

* data/bison.m4 (b4_percent_define_if_define_): Also map dashes to
underscores.
* 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.

15 years agoConsistently refer to Yacc, not YACC.
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/.

15 years agoPacify make maintainer-check-posix.
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.

15 years agoDocument semicolon warnings.
Joel E. Denny [Sat, 4 Apr 2009 06:10:33 +0000 (02:10 -0400)] 
Document semicolon warnings.

* NEWS (2.5): Here.
(cherry picked from commit a2d0567444f8ab1fc079796169a9845fec62ed0f)

15 years agoFix ChangeLog.
Akim Demaille [Tue, 14 Apr 2009 06:18:24 +0000 (08:18 +0200)] 
Fix ChangeLog.

15 years agovariables: use `parse.assert' instead of `assert'.
Akim Demaille [Tue, 14 Apr 2009 04:52:31 +0000 (06:52 +0200)] 
variables: use `parse.assert' instead of `assert'.

* TODO (assert): Remove.
* data/bison.m4 (b4_assert_if): Replace with...
(b4_parse_assert_if): this.
* data/lalr1.cc, data/variant.hh, tests/c++.at: Adjust.
* doc/bison.texinfo (Decl Summary): Document parse.assert.

15 years agovariables: use `parse.assert' instead of `debug'.
Akim Demaille [Tue, 14 Apr 2009 04:51:01 +0000 (06:51 +0200)] 
variables: use `parse.assert' instead of `debug'.

* src/getargs.c (getargs): Map -t to %define trace.parse.
* src/scan-gram.l (%debug): Map to %define trace.parse.
* data/bison.m4 (b4_percent_define_if_define): Map `.' in variable
names to `_' in macro names.
(b4_debug_if): Replace with...
(b4_parse_trace_if): this.
* data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java,
* data/yacc.c: Adjust.
* doc/bison.texinfo (Decl Summary): Document %debug as obsoleted.
Use @code to label the variable list.
Document the variable parse.trace.
(Tracing): Promote the parse.trace variable.
* TODO: %printer is not documented.

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 agosubmodules: update to latest
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>
(cherry picked from commit 7ba0d59da0ec8f6876a66ea81bb9f9190ddec358)

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>
(cherry picked from commit ab3a683f0560e4ec24a06754386ee8c76da6ef67)

15 years ago* NEWS (2.5): New section. Describe new -D/--define feature.
Joel E. Denny [Mon, 6 Apr 2009 21:35:41 +0000 (17:35 -0400)] 
* NEWS (2.5): New section.  Describe new -D/--define feature.

15 years agoRegen.
Akim Demaille [Sun, 5 Apr 2009 20:19:20 +0000 (22:19 +0200)] 
Regen.

* src/parse-gram.h, src/parse-gram.c: Regen.

15 years agorename muscle_tab.* as muscle-tab.* for consistency.
Akim Demaille [Sun, 5 Apr 2009 20:18:06 +0000 (22:18 +0200)] 
rename muscle_tab.* as muscle-tab.* for consistency.

* src/muscle_tab.h, src/muscle_tab.c: Rename as...
* src/muscle-tab.h, src/muscle-tab.c: these.
* src/getargs.c, src/local.mk, src/main.c, src/output.c,
* src/parse-gram.y, src/reader.c, src/scan-code.l: Adjust.

15 years agoMakefile: introduce $(BISON).
Akim Demaille [Sun, 5 Apr 2009 20:13:06 +0000 (22:13 +0200)] 
Makefile: introduce $(BISON).

* src/local.mk (BISON): New.
(YACC): Use it.

15 years agoparser: handle %locations as %define locations.
Akim Demaille [Sun, 5 Apr 2009 20:05:08 +0000 (22:05 +0200)] 
parser: handle %locations as %define locations.

* src/getargs.h, src/getargs.c (locations_flag): Remove.
* src/getargs.c, src/scan-code.l: Use muscle_percent_define_ensure
to set "locations" to true.
* src/output.c (prepare): Don't output "locations".
* src/scan-gram.l (%locations): Handle it as a %<flag>.
* src/parse-gram.y: It's no longer a token.
Don't handle it.
* data/bison.m4 (b4_locations_if): Define it with
b4_percent_define_if_define.
* data/c.m4, data/glr.cc: Adjust.

15 years agoRegen.
Akim Demaille [Sun, 5 Apr 2009 19:51:51 +0000 (21:51 +0200)] 
Regen.

* src/parse-gram.c: Regen.

15 years agomuscle: factor the handling of obsolete of obsolete directives.
Akim Demaille [Sun, 5 Apr 2009 19:48:45 +0000 (21:48 +0200)] 
muscle: factor the handling of obsolete of obsolete directives.

Suggested by Joel E. Denny.

* src/muscle_tab.h, src/muscle_tab.c (muscle_percent_define_ensure):
New, extracted from...
* src/parse-gram.y (prologue_declaration: pure-parser): here.
Remove it.
(prologue_declaration: "%<flag>"): Use
muscle_percent_define_ensure.
(%error-verbose, %pure-parser): No longer tokens.
* src/scan-gram.l (pure-parser): Return as a %<flag>.

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 agoReplace BISON_PROG_GNU_M4 with Autoconf's AC_PROG_GNU_M4.
Joel E. Denny [Sun, 5 Apr 2009 00:58:46 +0000 (20:58 -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: Make it a symbolic link to submodules/autoconf/m4/m4.m4.
* configure.ac: Update to use AC_PROG_GNU_M4.
Reported by Eric Blake.

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 agoRegen.
Akim Demaille [Fri, 3 Apr 2009 08:33:17 +0000 (10:33 +0200)] 
Regen.

* src/parse-gram.h, src/parse-gram.c: Regen.

15 years agoFactor %FLAG at scan level.
Akim Demaille [Fri, 3 Apr 2009 04:50:06 +0000 (06:50 +0200)] 
Factor %FLAG at scan level.

* src/parse-gram.y (PERCENT_DEBUG, PERCENT_ERROR_VERBOSE): Token
definitions and associated rules, replaced by....
(PERCENT_FLAG): this new token type, and rule.
* src/scan-gram.l (RETURN_PERCENT_FLAG): New.
Use it for %debug and %error-verbose.

15 years agoRegen.
Akim Demaille [Fri, 3 Apr 2009 05:07:10 +0000 (07:07 +0200)] 
Regen.

* src/parse-gram.h, src/parse-gram.c: Regen.

15 years agoUpdate ChangeLog.
Akim Demaille [Fri, 3 Apr 2009 08:29:41 +0000 (10:29 +0200)] 
Update ChangeLog.

15 years agoTreat %debug as %define debug.
Akim Demaille [Thu, 2 Apr 2009 22:32:49 +0000 (00:32 +0200)] 
Treat %debug as %define debug.

* data/bison.m4 (b4_debug_if): New.
* data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c,
* data/lalr1.java: Use it instead of b4_debug_flag.
* src/getargs.h, src/getargs.c (debug_flag): Remove.
* src/output.c (prepare): Don't output it.
* src/parse-gram.y: Treat %debug as %define debug.

15 years agoRegen.
Akim Demaille [Fri, 3 Apr 2009 05:06:08 +0000 (07:06 +0200)] 
Regen.

* src/parse-gram.h, src/parse-gram.c: Regen.

15 years agoTreat %error-verbose as %define error_verbose.
Akim Demaille [Thu, 2 Apr 2009 22:18:47 +0000 (00:18 +0200)] 
Treat %error-verbose as %define error_verbose.

This allows to pass -Derror_verbose on the command line.  Better yet, it
allows to pass -Derror_verbose=$(ERROR_VERBOSE), with ERROR_VERBOSE being
defined as false or true.

* data/bison.m4 (b4_percent_define_if_define): Instead of relying
on b4_percent_define_ifdef, for does not check the defined value,
but only whether the symbol is defined, rely on
b4_percent_define_flag_if, so that a value of "false" is processed
as a false.
If not defined, define the flag to "false".
(b4_error_verbose_if): New.
* data/glr.c, data/lalr1.cc, data/yacc.c: Use it instead of
b4_error_verbose_flag.
* src/getargs.h, src/getargs.c (error_verbose_flag): Remove.
* src/output.c (prepare): Don't output it.
* src/parse-gram.y (%error-verbose): Treat as %define error_verbose.

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 agoPacify ./configure --enable-gcc-warnings.
Joel E. Denny [Fri, 3 Apr 2009 04:32:27 +0000 (00:32 -0400)] 
Pacify ./configure --enable-gcc-warnings.

* Makefile.am (AM_CFLAGS): Remove $(WERROR_CFLAGS) because many files
in lib won't compile with it.
* src/local.mk (src_bison_CFLAGS): Use $(WERROR_CFLAGS) here only.

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 agoChangeLog: formatting changes.
Akim Demaille [Fri, 27 Mar 2009 06:28:26 +0000 (07:28 +0100)] 
ChangeLog: formatting changes.

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 [Fri, 27 Mar 2009 06:26:24 +0000 (07:26 +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 [Fri, 27 Mar 2009 06:23:53 +0000 (07:23 +0100)] 
gnulib: update.

* gnulib: Update to latest.
* src/local.mk (AM_CFLAGS): Move to...
* Makefile.am: here.
* etc/prefix-gnulib-mk (prefix_assignment): Also transform
AM_CFLAGS.

15 years agoComment changes.
Akim Demaille [Wed, 18 Feb 2009 16:57:00 +0000 (17:57 +0100)] 
Comment changes.

15 years agoShare b4_yytranslate_define.
Akim Demaille [Wed, 31 Dec 2008 16:21:56 +0000 (17:21 +0100)] 
Share b4_yytranslate_define.

* data/lalr1.cc (b4_yytranslate_define): Move to...
* data/c++.m4: here.

15 years agoUse locations in the variant example.
Akim Demaille [Wed, 31 Dec 2008 15:13:04 +0000 (16:13 +0100)] 
Use locations in the variant example.

Yes, this obfuscates the point of this example, variants only.  But glr.cc
cannot work (yet?) without locations.  This change makes it easier to use
this example with glr.cc.

* examples/variant.yy (assert): %define it.
(locations): Request them.
(yylex): Bind the location to the stage.

15 years agoDub make_TOKEN as a public type interface.
Akim Demaille [Wed, 31 Dec 2008 15:08:02 +0000 (16:08 +0100)] 
Dub make_TOKEN as a public type interface.

* data/c++.m4 (b4_symbol_constructor_declare)
(b4_symbol_constructor_define): New empty stubs.
(b4_public_types_declare, b4_public_types_define): Use them.
* data/lalr1.cc (b4_symbol_constructor_declare)
(b4_symbol_constructor_declare_)
(b4_symbol_constructor_define_, b4_symbol_constructor_define):
Move to...
* data/variant.hh: here.
Remove the "b4_variant_if" parts, as variant.hh is loaded only if
needed.
* data/lalr1.cc: No longer invoke b4_symbol_constructor_define and
b4_symbol_constructor_declare, as it is now done by
b4_public_types_define and b4_public_types_declare.

15 years agoCoding style changes.
Akim Demaille [Wed, 31 Dec 2008 14:12:50 +0000 (15:12 +0100)] 
Coding style changes.

* data/lalr1.cc (b4_symbol_constructor_declaration_)
(b4_symbol_constructor_declarations)
(b4_symbol_constructor_definition_)
(b4_symbol_constructor_definitions)
(b4_yytranslate_definition): Rename as...
(b4_symbol_constructor_declare_)
(b4_symbol_constructor_declare)
(b4_symbol_constructor_define_)
(b4_symbol_constructor_define)
(b4_yytranslate_define): these.
* data/variant.hh (b4_variant_definition): Rename as...
(b4_variant_define): this.

15 years agoFactor b4_assert_if, b4_lex_symbol_if, and b4_variant_if.
Akim Demaille [Wed, 31 Dec 2008 14:07:48 +0000 (15:07 +0100)] 
Factor b4_assert_if, b4_lex_symbol_if, and b4_variant_if.

* data/bison.m4 (b4_percent_define_if_define): New.
* data/c++.m4 (b4_variant_if): Move to...
* data/bison.m4: Here, using b4_percent_define_if_define.
* data/lalr1.cc (b4_assert_if, b4_lex_symbol_if): Move to...
* data/bison.m4: Here, using b4_percent_define_if_define.

15 years agoDub symbol_type_base as a public type.
Akim Demaille [Wed, 31 Dec 2008 13:29:25 +0000 (14:29 +0100)] 
Dub symbol_type_base as a public type.

* data/c++.m4 (b4_public_types_declare): Now define
symbol_type_base and symbol_type.
(b4_public_types_define): New.
In both cases, the definitions are taken verbatim from lalr1.cc.
* data/lalr1.cc: Adjust.

15 years agob4_public_types_declare.
Akim Demaille [Wed, 31 Dec 2008 12:46:02 +0000 (13:46 +0100)] 
b4_public_types_declare.

* data/c++.m4 (b4_public_types_declare): New.
* data/glr.cc, data/lalr1.cc: Use it.

15 years agob4_semantic_type_declare.
Akim Demaille [Wed, 31 Dec 2008 11:44:58 +0000 (12:44 +0100)] 
b4_semantic_type_declare.

* data/c++.m4 (b4_semantic_type_declare): New.
Factors and generalizes what was in glr.cc and lalr1.cc.
* data/variant.hh (b4_semantic_type_declare): Redefine it for
variants.
* data/lalr1.cc, data/glr.cc: Use it.

15 years agoUpgrade gnulib.
Akim Demaille [Wed, 25 Feb 2009 23:09:31 +0000 (00:09 +0100)] 
Upgrade gnulib.

* gnulib: Upgrade from master.
* lib/.cvsignore, lib/.gitignore, m4/.cvsignore, m4/.gitignore:
Regen.

15 years agoRemove useless arguments.
Akim Demaille [Wed, 18 Feb 2009 15:27:14 +0000 (16:27 +0100)] 
Remove useless arguments.

* data/glr.c (yy_reduce_print): $$ and @$ are not used and not
relevant.

15 years agoComment changes.
Akim Demaille [Fri, 2 Jan 2009 09:28:56 +0000 (10:28 +0100)] 
Comment changes.

* data/lalr1.cc: here.

15 years agoFix glr.cc's debug level handling.
Akim Demaille [Wed, 31 Dec 2008 16:23:35 +0000 (17:23 +0100)] 
Fix glr.cc's debug level handling.

* data/glr.cc (yydebug_): Remove, as it is actually yydebug from
glr.c which is used.
(debug_level, set_debug_level): Adjust.

15 years agoCopyright years.
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.

15 years agoStyle changes.
Akim Demaille [Wed, 31 Dec 2008 15:12:02 +0000 (16:12 +0100)] 
Style changes.

* etc/bench.pl.in (generate_grammar_list): Consitently use
location_type, not yy::location.

15 years agoComment change.
Akim Demaille [Wed, 31 Dec 2008 12:48:40 +0000 (13:48 +0100)] 
Comment change.

* data/lalr1.cc: here.

15 years agoMake yyparser::error public.
Akim Demaille [Wed, 31 Dec 2008 11:35:32 +0000 (12:35 +0100)] 
Make yyparser::error public.

* data/lalr1.cc: here.
There is no good reason to keep it private (and it is convenient
to use it from the scanner for instance).  It is already public in
glr.cc.

15 years agoComment changes.
Akim Demaille [Wed, 31 Dec 2008 11:26:00 +0000 (12:26 +0100)] 
Comment changes.

* data/glr.cc: here.

15 years agoRemove trailing blanks.
Akim Demaille [Wed, 31 Dec 2008 10:42:31 +0000 (11:42 +0100)] 
Remove trailing blanks.

The epilogue has its own ending \n, no need to add another.

* data/glr.c, data/lalr1.java, data/yacc.c: dnl when outputing the
epilogue.
* data/glr.cc: dnl when extending the epilogue.
Remove stray "private:".

15 years agoUse b4_c_modern.
Akim Demaille [Wed, 18 Feb 2009 16:54:39 +0000 (17:54 +0100)] 
Use b4_c_modern.

* data/c.m4 (b4_c_function_decl): Here.

15 years agoComment changes.
Akim Demaille [Wed, 31 Dec 2008 10:22:32 +0000 (11:22 +0100)] 
Comment changes.

* data/lalr1.cc: here.

15 years agoExtract variant.hh
Akim Demaille [Tue, 23 Dec 2008 09:44:53 +0000 (10:44 +0100)] 
Extract variant.hh

* data/variant.hh: New, extracted from...
* data/lalr1.cc: here.
Adjust.
* data/local.mk: Adjust.

15 years agoExtract stack.hh from lalr1.cc.
Akim Demaille [Tue, 23 Dec 2008 07:06:13 +0000 (08:06 +0100)] 
Extract stack.hh from lalr1.cc.

* data/stack.hh: New.
* data/lalr1.cc: Extract from here.
* data/local.mk: Adjust.

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.

15 years agoForce a large alignment of a variant structure.
Samuel Tardieu [Mon, 24 Nov 2008 14:27:49 +0000 (15:27 +0100)] 
Force a large alignment of a variant structure.

This is a temporary band-aid until Bison gets proper alignment handling.
We need it on ARM.

* data/lalr1.cc (variant): Declare the buffer as a union to force
the same alignment as "long double".

15 years agoUpdate NEWS.
Akim Demaille [Wed, 28 Jan 2009 14:45:00 +0000 (15:45 +0100)] 
Update NEWS.

* NEWS: Import changes in 2.4.1 and 2.4.2.

15 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.

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.

16 years agoPass the token type to yysyntax_error.
Akim Demaille [Thu, 11 Dec 2008 08:48:49 +0000 (09:48 +0100)] 
Pass the token type to yysyntax_error.

* data/yacc.c (yysyntax_error): Take the transated token instead
of the raw number.
Adjust callers.
* TODO: Update.

16 years agoFormatting changes.
Akim Demaille [Thu, 11 Dec 2008 08:43:19 +0000 (09:43 +0100)] 
Formatting changes.

* data/glr.c: Formatting changes.

16 years agoPropagate i18n changes into glr.c.
Akim Demaille [Thu, 11 Dec 2008 08:37:40 +0000 (09:37 +0100)] 
Propagate i18n changes into glr.c.

* TODO: Update.
* data/glr.c (yyreportSyntaxError): Use "switch" instead of
building the error message format dynamically.
* data/lalr1.java: Formatting changes.

16 years agoUse testsuite -C.
Akim Demaille [Thu, 11 Dec 2008 00:00:53 +0000 (01:00 +0100)] 
Use testsuite -C.

* tests/local.mk: Replace "cd && testsuite" by "testsuite -C".
Solves problems when top_srcdir is an absolute path.
Suggested by Eric Blake.
* configure.ac: Require Autoconf 2.62.

16 years agoSimplify the i18n of the error messages.
Akim Demaille [Wed, 10 Dec 2008 23:59:13 +0000 (00:59 +0100)] 
Simplify the i18n of the error messages.

* data/lalr1.cc: Comment changes.
* data/yacc.c (yysyntax_error): Rewrite, using a switch as in
lalr1.cc instead of building dynamically the format string.

16 years agoReally add autoconf as a submodule.
Akim Demaille [Mon, 8 Dec 2008 12:58:37 +0000 (13:58 +0100)] 
Really add autoconf as a submodule.

* submodules/autoconf: New.

16 years agoFix portability issue in the test suite.
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.

16 years agoUpdate data/README.
Akim Demaille [Mon, 8 Dec 2008 08:16:08 +0000 (09:16 +0100)] 
Update data/README.

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

16 years agoInstall autoconf as a submodule to get m4sugar.
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.

16 years agoTest token.prefix in all the skeletons.
Akim Demaille [Sun, 7 Dec 2008 12:58:06 +0000 (13:58 +0100)] 
Test token.prefix in all the skeletons.

* data/java.m4 (b4_token_enum): Use the token.prefix.
* tests/local.at (AT_BISON_OPTION_PUSHDEFS): Define AT_TOKEN_PREFIX.
* tests/calc.at (_AT_DATA_CALC_Y): Use it.
Add checks for yacc.c, glr.c, lalr1.cc and glr.cc.
* tests/java.at: Comment changes.
(AT_CHECK_JAVA_MINIMAL): Define the END token.
(Java parser class and package names): Add token.prefix check.

16 years agoFix regeneration of atconfig.
Akim Demaille [Sun, 7 Dec 2008 12:44:05 +0000 (13:44 +0100)] 
Fix regeneration of atconfig.

* tests/local.mk (tests/atconfig): The rule was incorrect, but
remove it: now that there is no tests/Makefile.am, the top-level
Makefile properly updates atconfig when needed.

16 years agoImplement the FIXME that ends an user action with a semicolon
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.

16 years agoUpdate gnulib.
Akim Demaille [Fri, 5 Dec 2008 10:19:20 +0000 (11:19 +0100)] 
Update gnulib.

* gnulib: Update from master.

16 years agoAvoid compiler warning.
Eric Blake [Fri, 5 Dec 2008 23:16:15 +0000 (16:16 -0700)] 
Avoid compiler warning.

* src/output.c (muscle_insert_item_number_table): Delete unused
function.

Signed-off-by: Eric Blake <ebb9@byu.net>
16 years agoBuild testsuite with newer autoconf.
Eric Blake [Tue, 2 Dec 2008 17:59:17 +0000 (10:59 -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 agoFixes in the ChangeLog.
Akim Demaille [Mon, 1 Dec 2008 21:56:43 +0000 (22:56 +0100)] 
Fixes in the ChangeLog.

* ChangeLog: Fix typos.
Formatting changes.

16 years agoUse b4_symbol for printers and destructors everywhere.
Akim Demaille [Fri, 28 Nov 2008 21:03:29 +0000 (22:03 +0100)] 
Use b4_symbol for printers and destructors everywhere.

* data/bison.m4 (b4_symbol_action_location): New.
* data/c.m4 (b4_symbol_actions): Remove.
Adjust all callers to use by b4_symbol_foreach and the corresponding
b4_symbol_printer/destructor macro.
* data/glr.cc: Adjust.
* data/lalr1.java: Adjust the %destructor sanity check.
* src/output.c (symbol_code_props_output): Remove, we no longer
need the b4_symbol_printers/destructors tables.

16 years agoUse b4_symbol_case_.
Akim Demaille [Fri, 28 Nov 2008 20:26:09 +0000 (21:26 +0100)] 
Use b4_symbol_case_.

* data/lalr1.cc, data/bison.m4 (b4_symbol_action): Use
b4_symbol_case_.

16 years agoMove b4_symbol based macro to bison.m4.
Akim Demaille [Fri, 28 Nov 2008 20:09:54 +0000 (21:09 +0100)] 
Move b4_symbol based macro to bison.m4.

* data/lalr1.cc (b4_symbol_, b4_symbol, b4_symbol_if)
(b4_symbol_action, b4_symbol_destructor, b4_symbol_printer)
(b4_symbol_case_, b4_symbol_foreach, b4_type_action_)
(b4_type_foreach): Move to...
* data/bison.m4: Here.
* data/lalr1.cc (b4_symbol_action): Specialize for C++: use
b4_symbol_value_template instead of b4_symbol_value.

s b4_symbols in bison.m4

16 years agob4_symbol/type_foreach.
Akim Demaille [Thu, 27 Nov 2008 21:20:11 +0000 (22:20 +0100)] 
b4_symbol/type_foreach.

* data/lalr1.cc (b4_symbol_foreach, b4_type_foreach): New.
Use them.

16 years agoUse the symbol properties to output the printer/destructor for lalr1.cc.
Akim Demaille [Thu, 27 Nov 2008 20:47:11 +0000 (21:47 +0100)] 
Use the symbol properties to output the printer/destructor for lalr1.cc.

Instead of defining complex list of tuples to define various properties of
the symbols, we now prefer to define symbols as "structs" in m4: using the
symbol key (its number), and the property name, b4_symbol gives it value.
Use this to handle destructors and printers.

* src/output.c (CODE_PROP): New.
(prepare_symbol_definitions): Use it to define the printer and
destructor related attributes of the symbols.
* data/lalr1.cc (b4_symbol_actions): Rename as...
(b4_symbol_action): this.
Use b4_symbol instead of 6 arguments.
(b4_symbol_printer, b4_symbol_destructor): New.
Use them instead of b4_symbol_actions.

16 years agoAvoid capturing variables too easily.
Akim Demaille [Thu, 27 Nov 2008 20:45:58 +0000 (21:45 +0100)] 
Avoid capturing variables too easily.

* src/muscle_tab.h (MUSCLE_INSERT_BOOL, MUSCLE_OBSTACK_SGROW): Use
v__ and p__ instead of v and p.

16 years agoRemove spurious empty line before syncline.
Akim Demaille [Thu, 27 Nov 2008 20:42:08 +0000 (21:42 +0100)] 
Remove spurious empty line before syncline.

* data/bison.m4 (b4_syncline): Don't output an empty line before
the output.

16 years agoConvert lib/Makefile.am into lib/local.mk.
Akim Demaille [Wed, 19 Nov 2008 07:24:47 +0000 (08:24 +0100)] 
Convert lib/Makefile.am into lib/local.mk.

The real problem is rather gnulib.mk, which itself is extracted from a
Makefile.am that gnulib expects to the "recursive".  The tool
prefix-gnulib-mk converts such a gnulib.mk to be non-recursive.  Also,
some AC_SUBST variables need to be adjusted.

* etc/prefix-gnulib-mk: New.
* bootstrap (slurp): Use it to convert further gnulib.mk.
* lib/Makefile.am: Rename as...
* lib/local.mk: this.
Adjust to be prefixed.
* Makefile.am, configure.ac: Adjust.
* src/local.mk (AM_CPPFLAGS): Extend it, don't define it.

16 years agos/_FLAGS/FLAGS/.
Akim Demaille [Wed, 26 Nov 2008 09:29:37 +0000 (10:29 +0100)] 
s/_FLAGS/FLAGS/.

* tests/local.mk (TESTSUITE_FLAGS, AUTOTEST_FLAGS): Rename as...
(TESTSUITEFLAGS, AUTOTESTFLAGS): these to compy with the GCS.
Reported by Eric Blake.

16 years agoUse b4_parser_tables_define in glr.cc.
Akim Demaille [Tue, 25 Nov 2008 21:01:53 +0000 (22:01 +0100)] 
Use b4_parser_tables_define in glr.cc.

* data/glr.c: Use b4_parser_tables_define instead of defining the
(deterministic integral) tables by hand.

16 years agoUse b4_parser_tables_define in Java.
Akim Demaille [Tue, 25 Nov 2008 20:58:06 +0000 (21:58 +0100)] 
Use b4_parser_tables_define in Java.

* data/java.m4 (b4_typed_parser_table): Rename as...
(b4_typed_parser_table_define): this, for consistency.
Accept a comment as $4.
Move $2 into yy*_.
(b4_integral_parser_table): Rename as...
(b4_integral_parser_table_define): this.
* data/lalr1.java: Adjust all uses.
Use b4_parser_tables_define instead of generation by hand.

16 years agoPrepare the convergence bw C style and Java table generation.
Akim Demaille [Tue, 25 Nov 2008 20:38:45 +0000 (21:38 +0100)] 
Prepare the convergence bw C style and Java table generation.

* data/bison.m4 (b4_tables_map, b4_tables_declare)
(b4_tables_define): Rename as...
(b4_integral_parser_tables_map, b4_parser_tables_declare)
(b4_parser_tables_define): these.
* data/c.m4 (b4_table_define): Rename as...
(b4_integral_parser_table_define): this.
* data/lalr1.cc: Adjust.
(b4_table_define, b4_table_declare): Rename as...
(b4_integral_parser_table_define)
(b4_integral_parser_table_declare): these.
(yyrline_): Move the comment where it is actually used.
* data/yacc.c: Adjust.
(yyrline): Use b4_integral_parser_table_define.

16 years agoRegen.
Akim Demaille [Tue, 25 Nov 2008 20:30:08 +0000 (21:30 +0100)] 
Regen.

* src/parse-gram.h, src/parse-gram.c: Regen.

16 years agoFactor the generation of the (integral) tables bw yacc.c and lalr1.cc.
Akim Demaille [Tue, 25 Nov 2008 20:25:48 +0000 (21:25 +0100)] 
Factor the generation of the (integral) tables bw yacc.c and lalr1.cc.

* data/lalr1.cc (b4_tables_map): Move to...
* data/bison.m4: here.
Update the comment for yytable during the flight.
(b4_tables_declare, b4_tables_define): New.
* data/lalr1.cc: Use them.
* data/c.m4 (b4_table_define): New.
* data/yacc.c: Use b4_tables_define instead of output the tables
by hand.
* tests/regression.at (Web2c Actions): Adjust the expected output,
the order of the tables changed.

16 years agoGet rid of (yy)rhs and (yy)prhs.
Akim Demaille [Tue, 25 Nov 2008 20:09:20 +0000 (21:09 +0100)] 
Get rid of (yy)rhs and (yy)prhs.

These tables are no longer needed in the parsers, and they don't seem to
be useful.  They are not documented either.

* src/output.c (prepare_rules): Get rid of rhs and prhs.
Adjust the computation of (yy)r2.

16 years agoRule length is unsigned.
Akim Demaille [Tue, 25 Nov 2008 20:08:42 +0000 (21:08 +0100)] 
Rule length is unsigned.

* src/gram.h, src/gram.c (rule_rhs_length): Return a size_t.

16 years agoGet rid of lalr1-split.cc.
Akim Demaille [Tue, 25 Nov 2008 19:57:58 +0000 (20:57 +0100)] 
Get rid of lalr1-split.cc.

It was no longer maintainer.

* data/lalr1-split.cc: Remove.
* etc/bench.pl.in (bench_fusion_parser): Remove.
Adjust.