Akim Demaille [Thu, 19 Jul 2012 13:38:29 +0000 (15:38 +0200)]
maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
Akim Demaille [Thu, 19 Jul 2012 13:24:23 +0000 (15:24 +0200)]
version 2.6
* NEWS: Record release date.
Akim Demaille [Thu, 19 Jul 2012 13:20:20 +0000 (15:20 +0200)]
maint: prepare for release 2.6
* NEWS: here.
Akim Demaille [Wed, 18 Jul 2012 16:33:25 +0000 (18:33 +0200)]
maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
Akim Demaille [Wed, 18 Jul 2012 16:19:32 +0000 (18:19 +0200)]
version 2.5.91
* NEWS: Record release date.
Akim Demaille [Wed, 18 Jul 2012 16:19:12 +0000 (18:19 +0200)]
maint: prepare NEWS.
Akim Demaille [Wed, 18 Jul 2012 15:56:30 +0000 (17:56 +0200)]
maint: fix spaces.
* build-aux/Makefile.am: here.
Akim Demaille [Tue, 17 Jul 2012 13:20:11 +0000 (15:20 +0200)]
tests: adjust to case where the C compiler is actually a C++ compiler
* tests/atlocal.in (CC_IS_CXX): New.
* tests/headers.at (Several parsers): Use it.
Akim Demaille [Tue, 17 Jul 2012 13:19:37 +0000 (15:19 +0200)]
tests: fix dependencies
* tests/Makefile.am: we need atconfig and atlocal to be up to date
when calling testsuite.
Akim Demaille [Tue, 17 Jul 2012 13:11:47 +0000 (15:11 +0200)]
doc: fix Texinfo command
* doc/bison.texi: In parens, use @pxref.
Akim Demaille [Tue, 17 Jul 2012 08:45:00 +0000 (10:45 +0200)]
maint: Valgrind on OS X.
* configure.ac (VALGRIND_PREBISON): New.
* tests/Makefile.am (maintainer-check-valgrind): Use it.
* etc/darwin11.4.0.supp: New.
* configure.ac, etc/Makefile.am: Use it.
* configure.ac: Disable Valgrind on Mac OS X.
* README-hacking: Explain why.
Akim Demaille [Tue, 17 Jul 2012 12:25:26 +0000 (14:25 +0200)]
tests: be sure that backups are safe.
* tests/local.at (at_save_special_files): here.
Akim Demaille [Tue, 17 Jul 2012 12:08:53 +0000 (14:08 +0200)]
maint: dead comment.
* etc/README: here.
Akim Demaille [Tue, 17 Jul 2012 11:40:26 +0000 (13:40 +0200)]
tests: refactor for legibility.
* tests/local.at (AT_BISON_CHECK_WARNINGS, AT_BISON_CHECK_WARNINGS_):
New.
Akim Demaille [Tue, 17 Jul 2012 10:45:29 +0000 (12:45 +0200)]
tests: refactor the bison invocations.
* tests/local.at (m4_null_if, AT_BISON_CHECK_): New.
Akim Demaille [Tue, 17 Jul 2012 08:35:58 +0000 (10:35 +0200)]
maint: fix syntax-check ignore patterns.
* cfg.mk: here.
Akim Demaille [Tue, 17 Jul 2012 07:49:57 +0000 (09:49 +0200)]
gnulib: update
Akim Demaille [Mon, 16 Jul 2012 18:40:18 +0000 (20:40 +0200)]
gnulib: update.
* gnulib: Update so that gitlog-to-changelog support --srcdir.
* Makefile.am: Use it.
Akim Demaille [Fri, 6 Jul 2012 13:03:27 +0000 (15:03 +0200)]
gnulib: update
* bootstrap, build-aux/.gitignore, gnulib, m4/.gitignore: update.
Akim Demaille [Fri, 6 Jul 2012 08:14:49 +0000 (10:14 +0200)]
maint: update release instructions
* README-hacking: here.
Akim Demaille [Thu, 5 Jul 2012 14:29:06 +0000 (16:29 +0200)]
maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
Akim Demaille [Thu, 5 Jul 2012 14:20:44 +0000 (16:20 +0200)]
version 2.5.90
* NEWS: Record release date.
Akim Demaille [Thu, 5 Jul 2012 14:09:17 +0000 (16:09 +0200)]
build: fix gen-ChangeLog call.
* Makefile.am: Be sure to catch errors, and fix option name
Akim Demaille [Thu, 5 Jul 2012 13:24:34 +0000 (15:24 +0200)]
gnulib: update.
* gnulib/build-aux/do-release-commit-and-tag: Fix.
Akim Demaille [Thu, 5 Jul 2012 12:27:09 +0000 (14:27 +0200)]
tests: fix SKIP_IF for Java.
* tests/local.at (AT_JAVA_COMPILE): here.
Akim Demaille [Thu, 5 Jul 2012 10:33:42 +0000 (12:33 +0200)]
api.prefix: incompatible with %name-prefix.
* data/bison.m4: Make it incompatible.
* tests/input.at: Check that it is.
Akim Demaille [Thu, 5 Jul 2012 10:33:37 +0000 (12:33 +0200)]
api.prefix: strengthen the tests and fix push-parsers.
* tests/calc.at: Check api.prefix in addition to %name-prefix.
* tests/headers.at: Check push parsers and pure interface.
* tests/local.at: Use YYLTYPE renamed.
* data/yacc.c (b4_declare_yyparse_push_): Handle api.prefix.
* doc/bison.texi: Style changes.
Akim Demaille [Thu, 5 Jul 2012 09:11:38 +0000 (11:11 +0200)]
skeletons: style changes.
* data/bison.m4: Define default values after having defined
the support macros.
Kill a dead comment.
Akim Demaille [Thu, 5 Jul 2012 08:30:47 +0000 (10:30 +0200)]
NEWS: minor changes.
* NEWS: style changes.
Akim Demaille [Thu, 5 Jul 2012 08:30:09 +0000 (10:30 +0200)]
api.prefix: improve the documentation for YYDEBUG.
* doc/bison.texi: Explain how api.prefix is applied to YYDEBUG.
Akim Demaille [Thu, 5 Jul 2012 07:37:20 +0000 (09:37 +0200)]
gnulib: update.
* bootstrap, gnulib: Update.
* cfg.mk (syntax-check): Don't check "error" usage in bison.texi.
Akim Demaille [Wed, 4 Jul 2012 10:04:19 +0000 (12:04 +0200)]
tests: headers.at: strengthen.
* tests/headers.at (Several headers): Be stricter when checking
the exported macros.
Akim Demaille [Wed, 4 Jul 2012 10:00:24 +0000 (12:00 +0200)]
glr.cc: do not override C++ definitions by C macros.
* data/glr.c: here.
* data/glr.cc: Fix overquotation.
* tests/headers.at: Comment changes.
Akim Demaille [Wed, 4 Jul 2012 09:41:06 +0000 (11:41 +0200)]
YYLLOC_DEFAULT: factor, and don't export it in headers.
* data/c++.m4, data/c.m4 (b4_yylloc_default_define): New.
* data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c: Use it.
* data/glr.cc: Do not define YYLLOC_DEFAULT in the header file,
but in the implementation one.
Akim Demaille [Wed, 4 Jul 2012 09:04:52 +0000 (11:04 +0200)]
api.prefix: do not use #define to handle YYSTYPE_IS_TRIVIAL etc.
The following mixture is insane:
#define YYSTYPE_IS_TRIVIAL PREFIX_STYPE_IS_TRIVIAL
#if (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)
since, of course YYSTYPE_IS_TRIVIAL is defined. Instead we could
define YYSTYPE_IS_TRIVIAL as PREFIX_STYPE_IS_TRIVIAL only when the
later is defined, but let's avoid stacking CPP on top of M4: rather, use
#if (defined PREFIX_STYPE_IS_TRIVIAL && PREFIX_STYPE_IS_TRIVIAL)
* data/glr.c, data/yacc.c: Use YYSTYPE_IS_TRIVIAL, YYSTYPE_IS_DECLARED,
YYLTYPE_IS_TRIVIAL and YYLTYPE_IS_DECLARED under their api.prefix-renamed
name.
Akim Demaille [Wed, 4 Jul 2012 10:04:07 +0000 (12:04 +0200)]
tests: portability fixes.
Reported by Hydra.
* tests/headers.at (Several headers): Be sure to include config.h
in the files to compile.
Akim Demaille [Wed, 4 Jul 2012 07:57:40 +0000 (09:57 +0200)]
c++: fewer #includes in the headers.
* data/lalr1.cc: Define YY_NULL in the *.cc file, it is not needed
in the header.
* data/location.cc: iosfwd suffices.
Akim Demaille [Mon, 2 Jul 2012 12:55:54 +0000 (14:55 +0200)]
glr.cc: formatting changes.
* data/glr.cc: here.
Akim Demaille [Mon, 2 Jul 2012 10:11:51 +0000 (12:11 +0200)]
tests: more logs.
* tests/headers.at (Several parsers): Here.
Akim Demaille [Mon, 2 Jul 2012 12:56:22 +0000 (14:56 +0200)]
api.prefix: also rename YYDEBUG.
The testsuite in master has shown weird errors for the "Mulitple
Parsers" tests: the caller of p5.parse() received some apparently
random value, while tracing p5.parse() showed that the function was
consistently returning 0.
It happens when mixing several parser headers, some generated without
%debug, others with. In particular the C++ parser was generated with
%debug, i.e., with:
#ifndef YYDEBUG
# define YYDEBUG 1
#endif
and compiled separatedly. Yet, its header was included after the one
of another parser, this time without %debug, i.e., with
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
in its header. As a result, the parser was compiled with YYDEBUG set,
but its header was used without. Since the layout of the objects are
then completely different, boom.
Therefore, do not change the value of YYDEBUG. Rather, use it as a
default value for <API.PREFIX>DEBUG.
* data/c.m4 (b4_YYDEBUG_define): New.
(b4_declare_yydebug): Rename as...
(b4_yydebug_declare): this, for consistency.
* data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c: Use it.
* NEWS: Document it.
Akim Demaille [Mon, 2 Jul 2012 07:26:22 +0000 (09:26 +0200)]
NEWS: spell check.
* NEWS: here.
Akim Demaille [Tue, 26 Jun 2012 08:09:10 +0000 (10:09 +0200)]
api.prefix.
* data/c.m4 (b4_api_prefix, b4_api_PREFIX): New.
(b4_prefix, b4_union_name, b4_token_enums, b4_declare_yylstype): Use them.
* data/glr.c, data/yacc.c, data/glr.cc, data/lalr1.cc: Use them to change
the prefix of exported preprocessor symbols.
* src/getargs.c (usage): Ditto.
* tests/headers.at (Several parsers): New.
* tests/local.at (AT_API_PREFIX): New.
AT_YYSTYPE, AT_YYLTYPE): Adjust.
* doc/bison.texi (Multiple Parsers): Move documentation of %name-prefix to...
(Table of Symbols): here.
(Multiple Parsers): Document api.prefix.
(%define Summary): Point to it.
Use @code for variable names.
(Bison Options): -p/--name-prefix are obsoleted.
* NEWS: Announce api.prefix.
Akim Demaille [Thu, 28 Jun 2012 12:54:45 +0000 (14:54 +0200)]
tests: use the generalized default yylex.
* tests/actions.at, tests/glr-regression.at, tests/regression.at: here.
Akim Demaille [Thu, 28 Jun 2012 12:20:17 +0000 (14:20 +0200)]
tests: AT_YYERROR_DEFINE: prepare for list of ints.
* tests/local.at (AT_YYERROR_DEFINE): Don't add quotes, check their
presence to detect char/int types.
* tests/actions.at, tests/conflicts.at, tests/glr-regression.at,
* tests/push.at, tests/regression.at: Adjust.
Akim Demaille [Mon, 25 Jun 2012 14:55:11 +0000 (16:55 +0200)]
skeletons: no longer define YYLSP_NEEDED.
* data/c.m4, data/glr.cc: here.
* NEWS, TODO: Adjust.
Akim Demaille [Mon, 25 Jun 2012 14:52:30 +0000 (16:52 +0200)]
c++: do not export YYTOKEN_TABLE and YYERROR_VERBOSE.
* src/output.c (prepare_symbols): Do not define b4_token_table.
(prepare): Define b4_token_table_flag.
* data/bison.m4 (b4_token_table_if): New.
Arm it when error-verbose.
* data/glr.c, data/yacc.c (YYTOKEN_TABLE): Remove.
Use m4.
* data/lalr1.cc: Likewise.
(YYERROR_VERBOSE): Remove.
* NEWS, doc/bison.texi: Document this.
Akim Demaille [Tue, 26 Jun 2012 14:55:23 +0000 (16:55 +0200)]
maint: use *.texi.
This is more consistent with the other packages, and Automake-NG
supports only *.texi.
* doc/bison.texinfo: Rename as...
* doc/bison.texi: this.
* doc/Makefile.am, examples/calc++/Makefile.am: Adjust.
Akim Demaille [Tue, 26 Jun 2012 12:05:56 +0000 (14:05 +0200)]
tests: do not output m4 set up.
* tests/local.at (AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS):
Use a diversion to avoid outputting comments etc.
Removes 17k lines from testsuite (10% of the number of lines).
Akim Demaille [Tue, 26 Jun 2012 09:54:13 +0000 (11:54 +0200)]
tests: use the generic yyerror function.
* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Factor.
Use AT_YYERROR_DEFINE.
Therefore, instead of using stdout, use and check stderr.
* tests/glr-regression.at (Uninitialized location when reporting ambiguity):
Use AT_YYERROR_DEFINE.
Akim Demaille [Tue, 26 Jun 2012 08:20:35 +0000 (10:20 +0200)]
tests: use assert instead of plain abort.
* tests/actions.at, tests/calc.at, tests/conflicts.at,
* tests/cxx-type.at, tests/glr-regression.at, tests/input.at,
* tests/named-refs.at, tests/regression.at, tests/torture.at,
* tests/local.at:
Prefer assert to abort.
Akim Demaille [Tue, 26 Jun 2012 08:09:10 +0000 (10:09 +0200)]
tests: improve the generic yylex implementation.
* tests/local.at (AT_YYSTYPE, AT_YYLTYPE): New.
(AT_YYLEX_FORMALS): Use them.
(AT_YYLEX_DEFINE): Be independent of the location implementation.
Akim Demaille [Mon, 25 Jun 2012 14:37:18 +0000 (16:37 +0200)]
tests: generalize the compilation macros.
* tests/local.at (AT_COMPILE, AT_COMPILE_CXX): If OUTPUT ends with ".o",
then append the "natural" extension for the input file (.c or .cc).
If there is no source, pass -c.
* tests/headers.at, tests/input.at, tests/regression.at: Adjust.
Akim Demaille [Tue, 26 Jun 2012 07:35:31 +0000 (09:35 +0200)]
tests: fix confusion between api.prefix and name-prefix.
* tests/local.at (AT_NAME_PREFIX): Take api.prefix into account.
(AT_API_PREFIX): Rename as...
(AT_API_prefix): this.
Do not take %name-prefix into account.
Fix misuses.
Akim Demaille [Tue, 26 Jun 2012 07:37:27 +0000 (09:37 +0200)]
maint: gitignores.
Akim Demaille [Mon, 25 Jun 2012 08:15:44 +0000 (10:15 +0200)]
yacc: work around the ylwrap limitation.
* data/yacc.c (b4_shared_declarations): Include the header guards.
Do not include the header in the *.c file, duplicate it.
* NEWS (Future Changes): Extend, and announce the forthcoming change
about the use of the parser header.
Akim Demaille [Fri, 22 Jun 2012 10:08:02 +0000 (12:08 +0200)]
tests: more uniformity.
* tests/local.at (AT_LEX_FORMALS, AT_LEX_ARGS, AT_LEX_PRE_FORMALS)
(AT_LEX_PRE_ARGS): Rename as...
(AT_YYLEX_FORMALS, AT_YYLEX_ARGS, AT_YYLEX_PRE_FORMALS)
(AT_YYLEX_PRE_ARGS): these, for consistency.
(AT_API_PREFIX): Take %name-prefix into account.
(AT_YYLEX_PROTOTYPE): New.
Use it.
* tests/actions.at, tests/calc.at, tests/cxx-type.at: Adjust to
use them.
Akim Demaille [Fri, 22 Jun 2012 09:34:37 +0000 (11:34 +0200)]
tests: handle locations in a more generic way.
* tests/local.at (AT_YYERROR_PROTOTYPE): New.
Use it.
* tests/cxx-type.at: Extensive revamp to use a more traditional
quotation scheme, and to use the generic yyerror implementation.
Prefer Autotest macros to CPP macros.
* tests/java.at: .
Akim Demaille [Fri, 22 Jun 2012 08:20:28 +0000 (10:20 +0200)]
tests: handle locations in the generic yyerror functions.
* tests/local.at (AT_YYERROR_DECLARE_EXTERN, AT_YYERROR_DECLARE)
(AT_YYERROR_DEFINE): Handle locations for C and C++.
* tests/calc.at: Use it for C++ (as C has extra arguments which
are not yet handled by AT_BISON_OPTION_PUSHDEFS).
* tests/actions.at: Adjust.
Akim Demaille [Fri, 22 Jun 2012 07:41:36 +0000 (09:41 +0200)]
tests: fix AT_CHECK_CALC.
* tests/calc.at (AT_CHECK_CALC): Contrary to its documentation,
the test was skipped if given a second argument.
Unused feature, remove it.
Akim Demaille [Thu, 21 Jun 2012 21:05:05 +0000 (23:05 +0200)]
tests: improve infrastructure
* tests/local.at (AT_LANG): Use c++ instead of cxx for C++.
Adjust dependencies.
(AT_YYERROR_DECLARE_EXTERN, AT_YYERROR_DECLARE): Issue nothing
for C++/Java.
(AT_YYERROR_DEFINE): Use m4_case.
(AT_JAVA_COMPILE): Use AT_SKIP_IF.
Akim Demaille [Thu, 21 Jun 2012 16:26:44 +0000 (18:26 +0200)]
tests: factor.
* tests/glr-regression.at, tests/output.at, tests/push.at,
* tests/regression.at, tests/torture.at, tests/actions.at:
Use AT_YYLEX_* and AT_YYERROR_*.
Akim Demaille [Sun, 17 Jun 2012 10:12:52 +0000 (12:12 +0200)]
skeletons: minor style changes
* data/glr.c, data/yacc.c: here.
Akim Demaille [Sun, 17 Jun 2012 18:39:17 +0000 (20:39 +0200)]
tests: AT_LANG.
* tests/local.at (AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS):
Define/undefine AT_LANGE
(AT_LANG_COMPILE): New.
(AT_FULL_COMPILE): Use AT_LANG.
Akim Demaille [Sun, 17 Jun 2012 10:10:44 +0000 (12:10 +0200)]
c skeletons: factor the declaration of yylloc and yylval.
There is one difference: now, even without --defines, we generate
extern declarations for these variables. The factoring is worth it.
* data/c.m4 (b4_declare_yylstype): Declare them.
* data/glr.c, data/yacc.c: Adjust.
Akim Demaille [Sun, 17 Jun 2012 08:54:15 +0000 (10:54 +0200)]
news: condemn YYPARSE_PARAM and YYLEX_PARAM.
* NEWS: here.
(Bison 1.875): Add %parse-param and %lex-param.
* doc/bison.texinfo: Spello.
Akim Demaille [Wed, 20 Jun 2012 08:02:11 +0000 (10:02 +0200)]
maint: regen.
* Makefile.am (regen): New target.
(cherry picked from commit
71bff31edd4ddbfe3c350933652bb0e3a4a7f3e2)
Akim Demaille [Tue, 19 Jun 2012 15:01:35 +0000 (17:01 +0200)]
maint: formatting changes.
* NEWS: Fix indentation of code snippets.
Untabify.
Akim Demaille [Sun, 17 Jun 2012 16:52:59 +0000 (18:52 +0200)]
tests: support api.prefix.
* tests/local.at (AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS):
Define AT_API_PREFIX.
(AT_YYERROR_DEFINE, AT_YYERROR_DECLARE_EXTERN, AT_YYLEX_DECLARE_EXTERN)
(AT_YYLEX_DEFINE): Use it.
* tests/input.at, tests/regression.at, tests/torture.at: Add
AT_BISON_OPTION_PUSHDEFS/POPDEFS.
Akim Demaille [Sun, 17 Jun 2012 16:04:19 +0000 (18:04 +0200)]
tests: pacify font-lock-mode.
* tests/local.at: here.
Akim Demaille [Sun, 17 Jun 2012 16:03:24 +0000 (18:03 +0200)]
tests: remove test covered elsewhere.
* tests/headers.at (%union and --defines): Remove, pretty useless and
insignificant.
Akim Demaille [Sun, 17 Jun 2012 16:01:14 +0000 (18:01 +0200)]
tests: factor the declaration/definition of yyerror and yylex.
* tests/local.at (AT_YYERROR_DECLARE, AT_YYERROR_DECLARE_EXTERN)
(AT_YYERROR_DEFINE, AT_YYLEX_DECLARE, AT_YYLEX_DECLARE_EXTERN)
(AT_YYLEX_DEFINE): New.
Must be used inside AT_BISON_OPTION_PUSHDEFS/POPDEFS pair.
* tests/actions.at, tests/conflicts.at, tests/glr-regression.at,
* tests/headers.at, tests/input.at, tests/named-refs.at,
* tests/regression.at, tests/skeletons.at, tests/synclines.at,
* tests/torture.at: Use them.
Akim Demaille [Sun, 17 Jun 2012 09:17:46 +0000 (11:17 +0200)]
regen.
Akim Demaille [Sun, 17 Jun 2012 09:19:51 +0000 (11:19 +0200)]
tests: portability issues.
* tests/calc.at (AT_CALC_MAIN): Missing include reported by Hydra.
Akim Demaille [Mon, 11 Jun 2012 14:47:46 +0000 (16:47 +0200)]
tests: call the parser from another compilation unit.
In order to improve the testing of %defines, which exports the
interface of the generated parser, change the calc.at tests so that
when %defines is passed, main will be in another compilation unit. It
loads the generated header.
* tests/calc.at (AT_CALC_MAIN): New.
Includes the definition of the global variables.
Therefore, now declare them from the %requires section of the parser.
Adjust to yydebug and yyparse being renamed by %name-prefix.
Akim Demaille [Fri, 15 Jun 2012 13:19:16 +0000 (15:19 +0200)]
glr.c, yacc.c: declare yydebug in the header.
* data/c.m4 (b4_declare_yydebug): New.
* data/glr.c, data/yacc.c (b4_shared_declarations): Use it.
Remove the corresponding code from the parser body.
* NEWS: Doc this.
Akim Demaille [Fri, 15 Jun 2012 12:21:16 +0000 (14:21 +0200)]
skeletons: use header guards.
* data/glr.c, data/glr.cc, data/yacc.c: here.
* NEWS: Document it.
Akim Demaille [Mon, 11 Jun 2012 14:45:45 +0000 (16:45 +0200)]
tests: improve AT_FULL_COMPILE.
* tests/local.at: Accept a third argument.
Simplify quotation pattern.
Calls for better refactoring, but will suffice for a while.
Akim Demaille [Mon, 11 Jun 2012 14:43:42 +0000 (16:43 +0200)]
tests: reorder.
* tests/calc.at (power): Move its definition, as a preparation for
forthcoming changes.
And space changes.
Akim Demaille [Tue, 12 Jun 2012 16:14:49 +0000 (18:14 +0200)]
tests: strengthen the test on generated headers inclusion
* tests/headers.at (AT_TEST_CPP_GUARD_H): Accept Bison directives.
(Invalid CPP headers): Check glr.
Akim Demaille [Tue, 12 Jun 2012 14:15:14 +0000 (16:15 +0200)]
yacc.c: instead of duplicating y.tab.h inside y.tac.c, include it.
This is already what glr.c and lalr1.cc do.
* data/yacc.c: here.
Akim Demaille [Tue, 12 Jun 2012 12:40:18 +0000 (14:40 +0200)]
yacc.c: factor.
yacc.c used to include two almost identical sections: one for the *.h
file, and another for the *.c file. The main difference is that in
the *.c file we used the yy* names (as %name-prefix is handled by
"#define yy* <prefix>*" before), while the *.hh used <prefix>* names.
Keep only the later. If this is troublesome, b4_shared_declarations
can easily take the desired prefix as argument.
* data/yacc.c (b4_shared_declarations): New.
Use it to factor duplicated declarations.
Akim Demaille [Tue, 12 Jun 2012 08:55:18 +0000 (10:55 +0200)]
skeletons: factor yacc.c and glr.c.
yacc.c and glr.c share common declarations. Their YYLTYPE are exactly
equal, and their YYSTYPE are sufficiently alike to be fused (its
declaration was protected by YYSTYPE_IS_DECLARED in yacc.c, but not in
glr.c). Besides, yacc.c duplicated the definitions of YYLTYPE and
YYSTYPE (*.h/*.c).
* data/c.m4 (b4_declare_yylstype): New.
* data/yacc.c, data/glr.c: Use it.
Akim Demaille [Tue, 12 Jun 2012 07:27:12 +0000 (09:27 +0200)]
glr.c: minor refactoring.
* data/glr.c (b4_shared_declarations): Move from the generated file
section, to the M4 prologue.
Akim Demaille [Fri, 8 Jun 2012 07:02:09 +0000 (09:02 +0200)]
tests: remove all the -On flags.
* tests/atlocal.in: Here.
Reported by Gilles Espinasse.
Akim Demaille [Fri, 8 Jun 2012 07:00:58 +0000 (09:00 +0200)]
maint: fix spello.
* README-hacking: Here.
* THANKS: Reported by Gilles Espinasse.
Akim Demaille [Thu, 7 Jun 2012 12:41:56 +0000 (14:41 +0200)]
maint: improve release procedure instructions.
* gnulib: Update, in particular (README-release).
* bootstrap.conf: don't require gendocs, provided by gnu-web-doc-update,
provided by readme-release.
* README-hacking: Update accordingly.
Akim Demaille [Tue, 5 Jun 2012 09:07:50 +0000 (11:07 +0200)]
gnulib: update readme-release.
* gnulib (readme-release): Now includes the modules it promotes.
* bootstrap.conf: Simplify accordingly.
Akim Demaille [Tue, 5 Jun 2012 09:09:07 +0000 (11:09 +0200)]
maint: cfg.mk: manual title.
* cfg.mk (manuel_title): New.
Akim Demaille [Tue, 5 Jun 2012 09:08:41 +0000 (11:08 +0200)]
maint: cfg.mk: simplify
* cfg.mk: Remove bits provided by maint.mk.
Akim Demaille [Tue, 5 Jun 2012 08:16:02 +0000 (10:16 +0200)]
maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
Akim Demaille [Tue, 5 Jun 2012 08:03:25 +0000 (10:03 +0200)]
version 2.5.1
* NEWS: Record release date.
Akim Demaille [Tue, 5 Jun 2012 07:50:16 +0000 (09:50 +0200)]
NEWS: prepare for 2.5.1.
* NEWS: Be compliant with do-release-commit-and-tag.
Akim Demaille [Wed, 23 May 2012 13:17:35 +0000 (15:17 +0200)]
maint: update release procedure
* bootstrap.conf: Request do-release-commit-and-tag and readme-release.
* README-hacking: Adjust.
Jim Meyering [Tue, 5 Jun 2012 07:02:36 +0000 (09:02 +0200)]
maint: fix comment typos
Using http://github.com/lyda/misspell-check, massage its
output into sed commands to perform the suggested changes.
Initially, I filtered out the THRU->Through changes, because
that failed to retain capitalization in the grammar token.
Instead, do this manually, beforehand:
sed -i s/THRU/THROUGH/ tests/existing.at
git ls-files|misspellings -f -|perl -nl \
-e '/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/ or next;' \
-e '($file,$n,$l,$r)=($1,$2,$3,$4); $q="'\''"; $r=~s/$q/$q\\$q$q/g;'\
-e 'print "sed -i $q${n}s!$l!$r!$q $file"'|bash
Akim Demaille [Wed, 23 May 2012 12:41:37 +0000 (14:41 +0200)]
maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
Akim Demaille [Tue, 22 May 2012 20:47:41 +0000 (22:47 +0200)]
Bison 2.5.1_rc2.
* NEWS: Update.
Akim Demaille [Tue, 22 May 2012 15:29:38 +0000 (17:29 +0200)]
doc: fixes.
* doc/bison.texinfo: Fix errors spotted by syntax-check.
Akim Demaille [Tue, 22 May 2012 14:47:08 +0000 (16:47 +0200)]
build: fix ChangeLog generation.
* gnulib: Update to get newest gitlog-to-changelog.
* bootstrap: Update.
* Makefile.am (gen-ChangeLog): Fix for Bison's git log style.
Akim Demaille [Mon, 21 May 2012 12:21:51 +0000 (14:21 +0200)]
c++: compute the header guards.
This is a frequent request. Recently pointed out by Wei Song,
<http://lists.gnu.org/archive/html/help-bison/2012-05/msg00002.html>.
* data/c.m4 (b4_tocpp, b4_cpp_guard, b4_cpp_guard_open)
(b4_cpp_guard_close): New.
* data/lalr1.cc, data/location.cc, data/stack.hh: Use them.
* TODO (Header Guards): Move to...
* NEWS: here.
Formatting changes.
Akim Demaille [Mon, 21 May 2012 11:12:34 +0000 (13:12 +0200)]
skeletons: remove support for unused directive.
* src/scan-skel.l (@dir_prefix@): Remove support, has never been
used, not even in the commit that introduced it,
2b81e969ea04c1a6502928ba7e847ec8ff7dcb2f.