100 Commits
Author SHA1 Message Date
Akim DemailleandAkim Demaille aebb55eb92 glr.c: reduce variable scopes.
* data/glr.c: Where appropriate, fuse variable declarations followed
by assignments by variable declarations with a value.
Where appropriate, introduce new scopes to limit variable spans.
2012-05-09 10:44:23 +02:00
Akim DemailleandAkim Demaille 2091988f7e c++: locations: provide convenience constructors.
* data/location.cc (position::position): Accept file, line and
column as arguments with default values.
Always qualify initial line and column literals as unsigned.
(location::location): Provide convenience constructors.
(cherry picked from commit 0634493cdd)

Conflicts:

	ChangeLog-2012
	data/location.cc
2012-03-31 11:23:45 +02:00
Akim DemailleandAkim Demaille 05061eca7c tests: minor fixes/simplifications
* tests/local.at (AT_BISON_CHECK_NO_XML): Simplify sed programs,
quotation, and default value assignments.
Ensure a proper value to the numeric variables.
Reported by Lie Yan.
http://lists.gnu.org/archive/html/bug-bison/2012-03/msg00000.html
2012-03-13 12:01:45 +01:00
Akim DemailleandAkim Demaille dd31e17d7e tests: minor fixes/simplifications
* tests/local.at (AT_BISON_CHECK_NO_XML): Simplify sed programs,
quotation, and default value assignments.
Ensure a proper value to the numeric variables.
Reported by Lie Yan.
http://lists.gnu.org/archive/html/bug-bison/2012-03/msg00000.html
2012-03-13 10:19:14 +01:00
Akim Demaille 16d94f45c9 tests: be robust to POSIXLY_CORRECT being defined.
* tests/local.at (AT_BISON_CHECK_NO_XML): Check if
POSIXLY_CORRECT is defined, not if it is defined to 1.
Reported by Lie Yan.
http://lists.gnu.org/archive/html/bug-bison/2012-03/msg00000.html
2012-03-09 08:41:32 +01:00
Akim Demaille 06e0e52ca4 tests: be robust to quote style.
See <http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00120.html>.

	* src/main.c (main): Define the quoting style we use.
	* tests/atlocal.in: Use ASCII style quotes during the tests.
(cherry picked from commit 39ac121457)
2012-03-09 08:28:31 +01:00
Akim Demaille f0f62c8c4d maint: update gnulib.
* gnulib: update.
	* src/scan-gram.l: Don't use the (former version of) STREQ.
2012-03-09 08:28:31 +01:00
Akim Demaille a17187e563 tests: remove quote magic from the bison test wrapper.
Basically, revert 4c4d35394d.

	* tests/bison.in: Leave bison's stderr as is.
2012-03-09 08:04:31 +01:00
Akim Demaille 39ac121457 tests: be robust to quote style.
See <http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00120.html>.

	* src/main.c (main): Define the quoting style we use.
	* tests/atlocal.in: Use ASCII style quotes during the tests.
2012-03-09 08:04:31 +01:00
Akim Demaille 4663cb4d0c avoid direct strncmp calls.
Before this change, bison would accept either .tab and _tab equivalently,
whatever the current platform.  Besides, it was not obeying everywhere
to the possible definition of TAB_EXT to something else than .tab.

For consistency, handle only TAB_EXT (".tab" on non DJGPP platforms).
Support for "_tab" is neither documented, nor tested.

	* src/system.h (STRNCMP_LIT): New.
	From Jim Meyering.
	(STRPREFIX_LIT): New.
	* src/files.c, src/getargs.c: Use it.
2012-03-09 07:33:23 +01:00
Akim Demaille c14ceb55b9 tests: be robust to POSIXLY_CORRECT being defined.
* tests/local.at (AT_BISON_CHECK_NO_XML): Check if
POSIXLY_CORRECT is defined, not if it is defined to 1.
Reported by Lie Yan.
http://lists.gnu.org/archive/html/bug-bison/2012-03/msg00000.html
2012-03-06 09:16:38 +01:00
Akim Demaille 2a55930762 build: comment changes.
* Makefile.am, examples/calc++/local.mk, examples/local.mk,
	* examples/mfcalc/local.mk, examples/rpcalc/local.mk,
	* lib/local.mk, src/local.mk, tests/local.mk:
	Make the copyright licenses more uniform.
2012-02-24 14:01:13 +01:00
Akim Demaille 59fba180a5 build: fix more example extraction issues.
* Makefile.am (dist_TESTS): New.
	(TESTS, EXTRA_DIST): Run and ship them.
	* examples/calc++/local.mk: examples/calc++/calc++.stamp no longer
        exists, don't try to ship it.
	(.yy.stamp): New recipe.
	Use it.
	* examples/calc++/local.mk, examples/mfcalc/local.mk,
	* examples/rpcalc/local.mk:
	Don't ship the sources.
	Adjust the CPPFLAGS: there is nothing left in srcdir.
	(MAINTAINERCLEANFILES): Remove, now we are in builddir.
	(TESTS): Rename as...
	(dist_TESTS): this.
2012-02-24 13:32:17 +01:00
Akim Demaille 2191bb749b maint: fix example extraction issues.
calc++: don't rely on Automake to compile a C++ parser.

Basically, revert commit 609b3d8096,
Automake 1.11.3 is not safe enough for C++ parser.

	* examples/calc++/calc++-parser.hh: Remove.
	* examples/calc++/local.mk (examples/calc++/calc++-parser.stamp):
	New.

examples: factor the extractions into a single step

extexi had to be run in the extraction directory.  Now, it can be
given the files with expected output directory.  This allows to
use $(*_extracted) variables (before we had to list again their
members, but limited to their base names).  In turn, this also
allows fusing the extraction recipes into a single one.

Also, it is currently too hard (or requires too much duplication,
since Make wants all the occurrences of the files to be prefixed with
$(srcdir)/, which is something Automake cannot support for *_SOURCES)
to work in the source tree.  So extract, and compile scanners and parsers
in the build tree.

	* examples/extexi (basename): New.
	(BEGIN): Now "file_wanted" maps base name to extracted file name.
	* examples/calc++/local.mk, examples/mfcalc/local.mk,
	* examples/rpcalc/local.mk: Fuse extraction rules into...
	* examples/local.mk: Here.
	(extract, extracted): New.
2012-02-24 11:04:45 +01:00
Akim Demaille f518dbaf46 maint: use STREQ/STRNEQ.
* doc/bison.texinfo: Space change.
	* src/system.h (STREQ, STRNEQ): New.
	* src/files.c, src/ielr.c, src/lalr.c, src/muscle-tab.c,
	* src/output.c, src/print.c, src/print_graph.c,
	* src/reader.c, src/scan-skel.l, src/tables.c,
	* src/uniqstr.c:
	Use them.
	* src/scan-gram.l: Do not use streq.h, use system.h's STREQ.
	* cfg.mk: The documentation is an exception.
2012-02-23 19:13:45 +01:00
Akim Demaille ab8932bfd9 doc: fix environment issues.
* doc/bison.texinfo: Do not use @verbatim, in particular when
	we use @group inside.
	Use @quotation instead of @display for frequently asked questions,
	it looks much nicer.
(cherry picked from commit 71b52b1342)

Conflicts:

	doc/bison.texinfo
2012-02-23 17:57:31 +01:00
Akim Demaille 71b52b1342 doc: fix environment issues.
* doc/bison.texinfo: Do not use @verbatim, in particular when
	we use @group inside.
	Use @quotation instead of @display for frequently asked questions,
	it looks much nicer.
2012-02-23 17:53:08 +01:00
Akim Demaille 6c6f6f4b23 regen.
* src/parse-gram.h, src/parse-gram.c: regen.
2012-02-23 16:10:12 +01:00
Akim Demaille da209f943b tests: fix regressions.
Exit status 63 is documented for version-mismatch.
	* bootstrap.conf (gnulib_modules): Remove sysexits.
	* src/system.h (EX_MISMATCH): Define.
	* src/parse-gram.y (version_check): Use it instead of EX_CONFIG.

Missing includes.
	* tests/calc.at, tests/named-refs.at: Include assert.h.
(cherry picked from commit 459a57a90f)
2012-02-23 16:10:08 +01:00
Akim Demaille baf22389ef maint: gitignore.
* examples/mfcalc/.gitignore, examples/rpcalc/.gitignore: Fix.
2012-02-22 14:55:32 +01:00
Akim Demaille 6f8f253b15 regen.
* src/parse-gram.c, src/parse-gram.h: regen.
2012-02-21 16:32:01 +01:00
Akim Demaille 459a57a90f tests: fix regressions.
Exit status 63 is documented for version-mismatch.
	* bootstrap.conf (gnulib_modules): Remove sysexits.
	* src/system.h (EX_MISMATCH): Define.
	* src/parse-gram.y (version_check): Use it instead of EX_CONFIG.

Missing includes.
	* tests/calc.at, tests/named-refs.at: Include assert.h.
2012-02-21 15:42:13 +01:00
Akim Demaille 4c4d35394d tests: post-process stderr to normalize quotes.
* tests/bison.in: Save bison's stderr, and convert gettextized
	quotes to plain ASCII.
2012-02-21 15:42:13 +01:00
Akim Demaille 71cbc1ac1a glr: fix ambiguity reports.
* tests/glr-regression.at (Ambiguity reports): New.
(cherry picked from commit a6b2f4fc02)
2012-02-21 14:44:15 +01:00
Akim Demaille a6b2f4fc02 glr: fix ambiguity reports.
Fix a regression introduced in commit
783aa653f4.

	* tests/glr-regression.at (Ambiguity reports): New.
	* data/glr.c (yyreportTree): Fix an offset error.
2012-02-21 14:41:31 +01:00
Akim Demaille 98842516e1 doc: stylistic improvements.
* doc/bison.texinfo: Prefer "continue" to empty loop bodies.
	Add some @group/@end group to avoid poor page breaks.
(cherry picked from commit d4fca42763)

Conflicts:

	doc/bison.texinfo
2012-02-19 18:29:05 +01:00
Akim Demaille 14f4455e43 maint: address sc_prohibit_doubled_word.
* data/yacc.c, doc/bison.texinfo: Reword to avoid having to
	disable that check.
	* cfg.mk: No longer skip this test.
(cherry picked from commit 762caaf639)

Conflicts:

	data/yacc.c
2012-02-19 18:26:01 +01:00
Akim Demaille 43e9e2a113 maint: address sc_prohibit_always-defined_macros.
* cfg.mk: No longer skip it, except where EXIT_SUCCESS is used
	as a witness for stdlib.h.
	Skip this test when appropriate.
	* data/yacc.c: Drop a note about why EXIT_SUCCESS is defined here.

Conflicts:

	cfg.mk
2012-02-19 18:25:24 +01:00
Akim Demaille a055b2f07d maint: address sc_bindtextdomain, sc_program_name and sc_prohibit_HAVE_MBRTOWC.
* bootstrap.conf (gnulib_modules): Require progname.
	* src/complain.c, src/getargs.c, src/getargs.h, src/main.c: Use it.
	* cfg.mk (exclude): New.
	Use it.
	Skip lib/main.c for bindtextdomain and set_program_name.
(cherry picked from commit 4d699f44e6)

Conflicts:

	cfg.mk
2012-02-19 18:24:17 +01:00
Akim Demaille 95f14eb228 maint: remove stray file.
* config.hin: Remove.
(cherry picked from commit 222342aa67)
2012-02-19 18:21:56 +01:00
Akim Demaille d4fca42763 doc: stylistic improvements.
* doc/bison.texinfo: Prefer "continue" to empty loop bodies.
	Add some @group/@end group to avoid poor page breaks.
2012-02-19 18:17:19 +01:00
Akim Demaille 24ec083743 doc: check the rpcalc.
* doc/bison.texinfo: Tag rpcalc.y snippets.
	Add missing includes.
	(Rpcalc Rules): Don't issue leading tabs.
	Complete an Info menu.
	Use @result.
	* examples/rpcalc/local.mk: New.
	* examples/rpcalc/rpcalc.test: New.
	* examples/local.mk: Use them.
	* examples/mfcalc/mfcalc.test: Remove dup test.
	* examples/test: Disable debug traces.
2012-02-19 13:16:15 +01:00
Akim Demaille e7b94cc360 regen.
* src/parse-gram.c, src/parse-gram.h: Regen.
2012-02-19 12:56:14 +01:00
Akim Demaille 762caaf639 maint: address sc_prohibit_doubled_word.
* data/yacc.c, doc/bison.texinfo: Reword to avoid having to
	disable that check.
	* cfg.mk: No longer skip this test.
2012-02-19 12:54:09 +01:00
Akim Demaille db3458d6ea maint: address sc_prohibit_always-defined_macros.
* cfg.mk: No longer skip it, except where EXIT_SUCCESS is used
	as a witness for stdlib.h.
	Skip this test when appropriate.
	* data/yacc.c: Drop a note about why EXIT_SUCCESS is defined here.
2012-02-19 12:54:06 +01:00
Akim Demaille 4d699f44e6 maint: address sc_bindtextdomain, sc_program_name and sc_prohibit_HAVE_MBRTOWC.
* bootstrap.conf (gnulib_modules): Require progname.
	* src/complain.c, src/getargs.c, src/getargs.h, src/main.c: Use it.
	* cfg.mk (exclude): New.
	Use it.
	Skip lib/main.c for bindtextdomain and set_program_name.
2012-02-19 12:31:10 +01:00
Akim Demaille 222342aa67 maint: remove stray file.
* config.hin: Remove.
2012-02-19 12:30:52 +01:00
Akim Demaille a7497ca6b6 bitset: fix an incorrect error message.
* lib/bitset_stats.c: here.
	Reported by Stefano Lattarini.
2012-02-19 10:31:20 +01:00
Akim Demaille e0e2b93355 maint: address some syntax-issues remaining after cherry-picking from master.
* cfg.mk: Skip bison generated files, 2.5 is generating trailing
	blanks.  This is already fixed in master.
	* tests/conflicts.at, tests/java.at: Fix white space issues.
2012-02-19 10:29:24 +01:00
Akim Demaille f95faa25ae regen.
* src/parse-gram.c, src/parse-gram.h: Regen.
2012-02-19 10:22:51 +01:00
Akim Demaille bd65f25570 bitset: fix an incorrect error message.
* lib/bitset_stats.c: here.
	Reported by Stefano Lattarini.
2012-02-19 10:21:32 +01:00
Akim Demaille fe40b679d7 maint: remove trailing empty lines.
* cfg.mk: No longer skip sc_prohibit_empty_lines_at_EOF, except
	for parse-gram.h (generated).
	* examples/mfcalc/.gitignore, lib/.gitignore, m4/.gitignore,
	* po/.gitignore, runtime-po/.gitignore: Remove trailing/leading
	empty lines.

Conflicts:

	examples/mfcalc/.gitignore
2012-02-19 10:21:29 +01:00
Akim Demaille dd5611579b maint: avoid "magic number exit".
* cfg.mk (local-checks-to-skip): No longer skip it.
	* bootstrap.conf (gnulib_modules): Add sysexits.
	* doc/bison.texinfo, etc/bench.pl.in, src/parse-gram.y,
	* src/system.h, tests/calc.at, tests/named-refs.at: Use assert
	where appropriate instead of "if (...) exit".
	Use symbolic exit status elsewhere.

Conflicts:

	doc/bison.texinfo
	src/parse-gram.y
2012-02-19 10:21:06 +01:00
Akim Demaille 24bb5f8fb7 maint: fix some syntax-check issues.
* cfg.mk (local-checks-to-skip): Remove
	sc_prohibit_quotearg_without_use, sc_prohibit_strcmp,
	sc_unmarked_diagnostics, sc_useless_cpp_parens.
	(sc_unmarked_diagnostics): Skip DJGPP.
	* data/yacc.c, src/LR0.c, src/closure.c,
	* src/flex-scanner.h, src/gram.c, src/lalr.c,
	* src/print-xml.c, src/print.c, src/print_graph.c,
	* src/reader.c, src/reduce.c, src/tables.c:
	Don't use parens with cpp's defined.
	Remove useless includes.
2012-02-19 10:21:06 +01:00
Akim Demaille 6487c0b370 maint: address a couple of syntax-check errors.
* cfg.mk (local-checks-to-skip): Remove sc_error_message_period
	and sc_error_message_uppercase.
	Address the uncovered issues.
	* po/POTFILES.in: Add missing files.
	* src/symtab.c: Remove useless includes.
	* lib/bitset_stats.c, src/files.c, tests/glr-regression.at: Use
	conformant error messages.

Conflicts:

	cfg.mk
	lib/bitset_stats.c
	tests/glr-regression.at
2012-02-19 10:21:06 +01:00
Akim Demaille 1cd5bad9b8 maint: gnulib: upgrade. 2012-02-19 10:21:06 +01:00
Akim Demaille f483f4f8ec maint: remove trailing empty lines.
* cfg.mk: No longer skip sc_prohibit_empty_lines_at_EOF, except
	for parse-gram.h (generated).
	* examples/mfcalc/.gitignore, lib/.gitignore, m4/.gitignore,
	* po/.gitignore, runtime-po/.gitignore: Remove trailing/leading
	empty lines.
2012-02-18 19:32:19 +01:00
Akim Demaille d9b968d8d6 maint: regen.
* src/parse-gram.c, src/parse-gram.h: regen.
2012-02-18 19:32:18 +01:00
Akim Demaille d0f2b7f856 maint: avoid "magic number exit".
* cfg.mk (local-checks-to-skip): No longer skip it.
	* bootstrap.conf (gnulib_modules): Add sysexits.
	* doc/bison.texinfo, etc/bench.pl.in, src/parse-gram.y,
	* src/system.h, tests/calc.at, tests/named-refs.at: Use assert
	where appropriate instead of "if (...) exit".
	Use symbolic exit status elsewhere.
2012-02-18 19:32:18 +01:00
Akim Demaille eff97eb54a maint: fix some syntax-check issues.
* cfg.mk (local-checks-to-skip): Remove
	sc_prohibit_quotearg_without_use, sc_prohibit_strcmp,
	sc_unmarked_diagnostics, sc_useless_cpp_parens.
	(sc_unmarked_diagnostics): Skip DJGPP.
	* data/yacc.c, src/LR0.c, src/closure.c,
	* src/flex-scanner.h, src/gram.c, src/lalr.c,
	* src/print-xml.c, src/print.c, src/print_graph.c,
	* src/reader.c, src/reduce.c, src/tables.c:
	Don't use parens with cpp's defined.
	Remove useless includes.
2012-02-18 18:48:33 +01:00
Akim Demaille 108df813c4 maint: address a couple of syntax-check errors.
* cfg.mk (local-checks-to-skip): Remove sc_error_message_period
	and sc_error_message_uppercase.
	Address the uncovered issues.
	* po/POTFILES.in: Add missing files.
	* src/symtab.c: Remove useless includes.
	* lib/bitset_stats.c, src/files.c, tests/glr-regression.at: Use
	conformant error messages.
2012-02-18 15:41:50 +01:00
Akim Demaille 831a4fdb5e maint: gnulib: upgrade. 2012-02-18 15:25:31 +01:00
Akim Demaille 578e34133a doc: mfcalc: fix includes.
* doc/bison.texinfo: math.h is needed early.
2012-02-17 15:49:52 +01:00
Akim Demaille 5a9c6b89d0 examples: factor the test suite.
* examples/mfcalc/test, examples/calc++/test: Extract the
	common bits into...
	* examples/test: here.
	(cwd): New.
	Use it to avoid a race on the temporary directory.
	Reported by Jim Meyering.
	* examples/mfcalc/test, examples/calc++/test: Rename into...
	* examples/mfcalc/mfcalc.test, examples/calc++/calc++.test: these.
	* examples/calc++/local.mk, examples/mfcalc/local.mk,
	* examples/local.mk: Adjust.
2012-02-17 15:49:00 +01:00
Akim Demaille c3a2e0e6dd examples: fix the test suites.
* examples/calc++/test, examples/mfcalc/test (me): Be more
	meaningfull: include the example name.
	(prog): Factor.
	(run): Avoid printf, use echo.
	Add missing parens.
	(cleanup): New.
	Call it on trap.
	Remove the previous "rm" that did the cleanup.
	Move into a private directory to avoid concurrency issues.
	Reported by Jim Meyering.
2012-02-17 10:20:03 +01:00
Akim Demaille c1192f8af3 mfcalc: extract and exercise.
* examples/mfcalc/local.mk, examples/mfcalc/test: New,
	based on calc++'s ones.
	* examples/local.mk: Include mfcalc/local.mk.
2012-02-16 15:52:14 +01:00
Akim Demaille 2e4986a88d calc++: factor for other extracted tests.
* Makefile.am (TESTS, check_PROGRAMS): Initialize here.
	* examples/local.mk (doc, extexi): Define here.
	* examples/calc++/local.mk: Adjust accordingly.
	* configure.ac: Ask for parallel-tests (for the way the logs
	are handled).
	* examples/calc++/test: As a consequence, always be verbose.
	($prog): New.
	(run): Use it.
	Sort the tests in a more natural order (simplest first).
2012-02-16 15:52:14 +01:00
Akim Demaille aeb57fb68d doc: mfcalc: send errors to stderr.
* doc/bison.texinfo (Mfcalc Lexer): New.
	(Mfcalc Main): Move the definition of main and yyerror here, for
	clarity.
	Let yyerror report on stderr.
2012-02-16 15:52:14 +01:00
Akim Demaille f9c75dd016 doc: fix mfcalc code.
* doc/bison.texinfo (Multi-function Calc): Add missing includes.
	Fix the rendering of the result: use @result and remove the
	initial tabulation in the actual code.
	Fix stylistic issues: avoid the , operator.
	Add extexi mark-up.
	* examples/extexi: Also support @smallexample.
2012-02-16 15:52:13 +01:00
Akim Demaille 0bb5783b38 tests: c++: stylistic changes.
* tests/c++.at: Don't use void for incoming arguments.
	Prefer cstdlib to stdlib.h.
2012-02-16 15:52:13 +01:00
Akim Demaille 3f3e78dc89 maint: rely on Automake for parsers.
* Makefile.am (AM_YFLAGS): Automake looks for "-d" alone.
	Move other options in here.
	(BISON): New.
	(YACC): Use it.
	(bison_SOURCES): Now that automake can see `-d' in AM_YFLAGS,
	we can rely on it to compile and ship the parser header
	files.

Based on commit 737406a32c and
commit 3d6ca33908.
2012-02-15 13:46:05 +01:00
Akim Demaille 3d6ca33908 maint: trust Automake for parser headers.
* examples/calc++/local.mk, src/local.mk: Now that automake
	can see `-d' in AM_YFLAGS, we can rely on it to compile
	and ship the parser header files.
2012-02-15 13:33:42 +01:00
Akim Demaille 737406a32c maint: help Automake reading Yacc flags.
* Makefile.am (AM_YFLAGS): Automake looks for "-d" alone.
2012-02-15 12:55:36 +01:00
Akim Demaille 609b3d8096 calc++: rely on Automake.
Rely on $(YACC) being the bison being built, and let Automake do the
rest.  It turned out to be much more difficult than anticipated, for
various reasons, including some bad behavior from Automake 1.11.2
which (i) generates calc++-parser.h instead of calc++-parser.hh, and
(ii) leaves an #include "y.tab.h" in the generated parser instead
of #include "calc++-parser.h".

The authors of Automake appear to be aware of the problem,
http://lists.gnu.org/archive/html/automake/2011-05/msg00008.html
so a simple work around will suffice for the time being.

	* examples/calc++/y.tab.h, examples/calc++/calc++-parser.hh: New.
	To work around Automake 1.11.2 issues.
	* examples/calc++/local.mk: Remove all the rules for compilation
	with bison, leave them to Automake.
	So provide it with "calc++-parse.yy" as a source file.
	(calc_sources_generated, calc_sources_extracted): Rename as.
	(calc_generated, calc_extracted): these.
	(calc_sources): New.
	Fix them.
2012-02-15 11:31:49 +01:00
Akim Demaille 7726724a70 maint: tidy the Makefile a bit.
* src/local.mk: Put yacc related variables together.
	(AUTOMAKE_OPTIONS): Move to...
	* Makefile.am: here.
	Remove an old Emacs mode request which disables Automake support.
	* src/local.mk (YACC, AM_YFLAGS): Move to...
	* Makefile.am: here, as they will be used by other local.mks.
2012-02-14 21:27:43 +01:00
Akim Demaille 360ae94ebc maint: de-recurse the handling of examples
The directory was still using a local Makefile.am because it provides
"scoped" Make variables: these examples are not meant to use the same
CPPFLAGS etc.  If we were to use the same -I set, we'd pick up
gnulib's stdio.h for instance, which we do not want for these simple
examples.

Yet, as a result, the dependencies are less accurate, there is code
duplication, etc.  This is especially perceptible when trying to
extract more examples from the documentation, as will be done in
forthcoming changes.

In order to make the tuning of CPPFLAGS easier, discard the predefined
-I from Automake.

	* examples/calc++/Makefile.am: Rename as...
	* examples/calc++/local.mk: this.
	Adjust the paths which are now rooted in top_srcdir/top_builddir.
	Handle BISON_CXX_WORKS here, instead of the too crude previous
	approach that completely discarded the whole directory.
	($(BISON)): Remove now useless bouncing recipe.
	(calc___CPPFLAGS): New.
	Stay away from -Ilib.
	* Makefile.am, configure.ac, examples/local.mk,
	* examples/calc++/test: Adjust.

	* configure.ac: Pass nostdinc to Automake.
	* src/local.mk, lib/local.mk (AM_CPPFLAGS): Move to...
	* Makefile.am: here.

	* src/local.mk, examples/calc++/Makefile.am (BISON, BISON_IN): Factor
	to...
	* Makefile.am: here.
	* tests/local.mk: Use it.
2012-02-14 21:00:59 +01:00
Akim Demaille 72c12bfa1b variant: fix the example.
* examples/variant.yy: Adjust to "assert" being now
	"parse.assert".
2012-02-14 20:14:55 +01:00
Akim Demaille 4e8ec90f24 maint: more authors.
* AUTHORS: here.
	Suggested by Tys Lefering.
(cherry picked from commit bdf66d1db4)
2012-02-14 20:12:56 +01:00
Akim Demaille a34e8b242e maint: add license headers.
* examples/calc++/test, examples/variant.yy, AUTHORS, THANKS,
	* tests/atlocal.in, tests/bison.in: Add license headers.
	Reported by Tys Lefering.
(cherry picked from commit 3272a7256f)

Conflicts:

	examples/variant.yy
	tests/bison.in
2012-02-14 20:12:34 +01:00
Akim Demaille b2577f024b maint: remove obsolete file.
* etc/make-ChangeLogs: Remove (used for rcs to cvs migration!).
	Reported by Tys Lefering.
(cherry picked from commit 3b4d62d526)
2012-02-14 20:09:52 +01:00
Akim Demaille bdf66d1db4 maint: more authors.
* AUTHORS: here.
	Suggested by Tys Lefering.
2012-02-14 20:08:25 +01:00
Akim Demaille 3272a7256f maint: add license headers.
* examples/calc++/test, examples/variant.yy, AUTHORS, THANKS,
	* tests/atlocal.in, tests/bison.in: Add license headers.
	Reported by Tys Lefering.
2012-02-14 20:08:20 +01:00
Akim Demaille 3b4d62d526 maint: remove obsolete file.
* etc/make-ChangeLogs: Remove (used for rcs to cvs migration!).
	Reported by Tys Lefering.
2012-02-14 20:08:11 +01:00
Akim Demaille a6552c5d2a lalr1.cc: also handle syntax_error when calling yylex.
* data/lalr1.cc (parse): Catch syntax_error around yylex and
	forward them to errlab1.
	* tests/c++.at (Syntax error as exception): Check support for
	syntax exceptions raised by the scanner.
	* NEWS, doc/bison.texinfo: Document it.
2012-02-10 09:17:45 +01:00
Akim Demaille 199a2d6d72 tests: lalr1.cc: check syntax_error.
* tests/c++.at (Syntax error as exception): New.
2012-02-10 09:17:45 +01:00
Akim Demaille a8c5aaa53e tests: don't require locations uselessly.
* tests/c++.at (Syntax error discarding no lookahead): Contrary to
	2.5, C++ parsers can work without locations.
2012-02-10 09:17:45 +01:00
Akim Demaille 9bfbf75bdf maint: more silent rules.
* tests/local.mk (TESTSUITE_AT): Include plackage.m4.
	Adjust dependencies.
	Make testsuite.at its first argument.
	(package.m4): Be silent.
	(testsuite): Be silent.
	Use $<.
2012-02-10 09:17:45 +01:00
Akim Demaille beadb220d5 skeletons: simplify the protections against "unused" warnings.
* data/c.m4 (b4_parse_param_use): Also accept optional arguments
	to "use".
	Simplify callers.
	* data/glr.c (yyuserAction): Simplify use of b4_parse_param_use.
	(yy_reduce_print): Don't use b4_parse_param_use, as all the arguments
	_are_ used.
	* data/lalr1.cc (YY_SYMBOL_PRINT): Even when disabled, "use" the
	symbol argument.
	This neutralizes a warning in yypush_ when there are no symbols
	with a semantic values.
	(yy_destroy_): Remove useless "use" of yymsg.
2012-02-10 09:17:44 +01:00
Akim Demaille f86a780785 glr: formatting changes.
* data/glr.c: Split long strings.
2012-02-10 09:17:38 +01:00
Akim Demaille 4c787a31df use a more consistent quoting style.
See <http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00120.html>.
Use quotearg as often as possible instead of leaving the choice of
the quotes to the translators.  Use shorter messages.  Factor similar
messages to a single format, to make localization easier.

	* src/files.c, src/getargs.c, src/muscle-tab.c, src/reader.c
	* src/scan-code.l, src/scan-gram.l, src/symtab.c:
	Use quote() or quotearg_colon() on printf arguments instead of
	quotes in the format string.
	* data/bison.m4: Keep sync with the changes in muscle-tab.c.

	* tests/skeletons.at, tests/input.at, tests/regression.at: Adjust
	expected messages.
(cherry picked from commit 4a9cd8f24a)

Conflicts:

	src/muscle-tab.c
2012-02-08 11:40:41 +01:00
Akim Demaille 4a9cd8f24a use a more consistent quoting style.
See <http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00120.html>.
Use quotearg as often as possible instead of leaving the choice of
the quotes to the translators.  Use shorter messages.  Factor similar
messages to a single format, to make localization easier.

	* src/files.c, src/getargs.c, src/muscle-tab.c, src/reader.c
	* src/scan-code.l, src/scan-gram.l, src/symtab.c:
	Use quote() or quotearg_colon() on printf arguments instead of
	quotes in the format string.
	* data/bison.m4: Keep sync with the changes in muscle-tab.c.

	* tests/skeletons.at, tests/input.at, tests/regression.at: Adjust
	expected messages.
2012-02-08 11:32:36 +01:00
Akim Demaille 270ff8be14 maint: remove stray debug code.
* src/Makefile.am (echo): Remove.
2012-01-31 09:42:56 +01:00
Akim Demaille 6e40b8d825 maint: space changes.
* src/Makefile.am: Use 2 leading spaces for variable definition
	spreading over several lines.
2012-01-31 09:42:04 +01:00
Akim Demaille 0802356481 maint: more silent-rules.
* doc/local.mk, src/local.mk, examples/calc++/Makefile.am: Use
	$(AM_V_GEN) and $(AM_V_at) where appropriate.
(cherry picked from commit f67c0a1c35)

Conflicts:

	doc/local.mk
	examples/calc++/Makefile.am
	src/local.mk
2012-01-31 09:41:25 +01:00
Akim Demaille f67c0a1c35 maint: more silent-rules.
* doc/local.mk, src/local.mk, examples/calc++/Makefile.am: Use
	$(AM_V_GEN) and $(AM_V_at) where appropriate.
2012-01-31 09:20:50 +01:00
Akim Demaille ec94982bec tests: fix expected output.
* tests/actions.at (YYBACKUP): here.
(cherry picked from commit 888b6ddfe4)
2012-01-26 21:54:10 +01:00
Akim Demaille 888b6ddfe4 tests: fix expected output.
* tests/actions.at (YYBACKUP): here.
2012-01-26 21:52:44 +01:00
Akim Demaille 36021b239d maint: fix configure.ac
Fix commit 1890a2a816.

	* configure.ac: Fix variable assignment.
2012-01-26 21:37:15 +01:00
Akim Demaille 94556574b5 yacc: fix YYBACKUP.
Reported by David Kastrup:
https://lists.gnu.org/archive/html/bug-bison/2011-10/msg00002.html.

	* data/yacc.c (YYBACKUP): Accept rhs size.
	Restore the proper state value.
	* TODO (YYBACKUP): Make it...
	* tests/actions.at: a new test case.
	* NEWS, THANKS: Update.
(cherry picked from commit d115aad911)

Conflicts:

	TODO
	data/yacc.c
2012-01-26 21:36:35 +01:00
Akim Demaille 7aadf26359 maint: update TODO.
* TODO (Labeling the symbols): Remove, it's done ("Name references").
(cherry picked from commit 2c7f50be62)
2012-01-26 21:30:19 +01:00
Akim Demaille 48c4bf30fd maint: update THANKS.
* THANKS: Update Tys's address, on his request.
(cherry picked from commit 93ebddb11f)
2012-01-26 21:30:13 +01:00
Akim Demaille ed2e77eae6 maint: fix --gcc-warnings support.
* configure.ac: Use enable_gcc_warnings instead of enableval,
	which is valid only with AC_ARG_ENABLE.
(cherry picked from commit 1890a2a816)

Conflicts:

	configure.ac
2012-01-26 21:29:50 +01:00
Akim Demaille 8ed97fd2b2 maint: silent-rules.
* configure.ac: Ask for silent-rules support.
	Enable it by default.
(cherry picked from commit da1eb15bc9)
2012-01-26 21:28:32 +01:00
Akim Demaille e6070f227e maint: remove trailing blanks.
* src/scan-code.l: Here.
2012-01-26 21:27:49 +01:00
Akim Demaille d115aad911 yacc: fix YYBACKUP.
Reported by David Kastrup:
https://lists.gnu.org/archive/html/bug-bison/2011-10/msg00002.html.

	* data/yacc.c (YYBACKUP): Accept rhs size.
	Restore the proper state value.
	* TODO (YYBACKUP): Make it...
	* tests/actions.at: a new test case.
	* NEWS, THANKS: Update.
2012-01-26 21:18:24 +01:00
Akim Demaille 2c7f50be62 maint: update TODO.
* TODO (Labeling the symbols): Remove, it's done ("Name references").
2012-01-25 16:36:03 +01:00
Akim Demaille 93ebddb11f maint: update THANKS.
* THANKS: Update Tys's address, on his request.
2012-01-25 13:25:22 +01:00
Akim Demaille 1890a2a816 maint: fix --gcc-warnings support.
* configure.ac: Use enable_gcc_warnings instead of enableval,
	which is valid only with AC_ARG_ENABLE.
2012-01-25 13:04:43 +01:00
Akim Demaille da1eb15bc9 maint: silent-rules.
* configure.ac: Ask for silent-rules support.
	Enable it by default.
2012-01-25 12:59:02 +01:00
Akim Demaille 8bd2f687b6 maint: be more robust to gnulib's FOO_H variables.
* configure.ac: Instead of listing gnulib's variables, look for
	them among AC_SUBST variables.
2012-01-20 14:48:53 +01:00