]> git.saurik.com Git - bison.git/log
bison.git
12 years ago%printer: support both yyo and yyoutput.
Akim Demaille [Mon, 16 Apr 2012 15:03:19 +0000 (17:03 +0200)] 
%printer: support both yyo and yyoutput.

lalr1.cc used to support yyo, but not yyoutput.  Support both,
but document only yyoutput (at least until there is some consensus
on this).

* data/c.m4 (yy_symbol_value_print): Also support yyo.
* data/glr.cc  (yy_symbol_value_print_): Support both yyo and yyoutput.
* data/lalr1.cc: Also support yyoutput.
* doc/bison.texinfo: Explicitly use yyoutput in the examples.
* examples/mfcalc/mfcalc.test: Test the -p option.

12 years agodoc: mfcalc: demonstrate %printer.
Akim Demaille [Sun, 8 Apr 2012 08:17:55 +0000 (10:17 +0200)] 
doc: mfcalc: demonstrate %printer.

* doc/bison.texinfo (Printer Decl): New.
Number mfcalc.y snippets so that they are output in
the proper order.
(The mfcalc Main): Use yydebug.
(Debugging): Simplify the text.
(Enabling Traces, Mfcalc Traces, The YYPRINT Macro): New.
(Table of Symbols): Document YYPRINT and YYFPRINTF.

12 years agotests: style changes.
Akim Demaille [Mon, 16 Apr 2012 14:34:00 +0000 (16:34 +0200)] 
tests: style changes.

* tests/input.at: Use "print" in %printer instead of "destroy".
It is unused, so we don't care, yet it is less surprising.
* tests/actions.at: Comment changes.

12 years agotests: fix bison wrapper.
Akim Demaille [Sun, 8 Apr 2012 10:07:23 +0000 (12:07 +0200)] 
tests: fix bison wrapper.

* tests/bison.in (PERL): Fix.

12 years agodoc: fix some invalid @ref.
Akim Demaille [Sun, 8 Apr 2012 08:17:58 +0000 (10:17 +0200)] 
doc: fix some invalid @ref.

* doc/bison.texinfo: Fix incorrect @ref uses.

12 years agobuild: extexi: support out-of-order blocks.
Akim Demaille [Sun, 8 Apr 2012 07:45:12 +0000 (09:45 +0200)] 
build: extexi: support out-of-order blocks.

* examples/extexi (%file_output): Remove.
(&process): Accept "FILE: BLOCK-NUM" requests.

12 years agobuild: look for Perl in configure.
Akim Demaille [Sun, 8 Apr 2012 06:58:43 +0000 (08:58 +0200)] 
build: look for Perl in configure.

Bison uses "/usr/bin/perl" or "perl" in several places, and it does
not appear to be a problem.  But, at least to make it simpler to
change PERL on the make command line, check for perl in configure.

* configure.ac (PERL): New.
* doc/Doxyfile.in, doc/local.mk, examples/local.mk,
* tests/bison.in: Use it.

12 years agomaint: rewrite extexi in Perl.
Akim Demaille [Sat, 7 Apr 2012 16:58:57 +0000 (18:58 +0200)] 
maint: rewrite extexi in Perl.

* examples/extexi: Rewrite in Perl.
* examples/local.mk (extract): Adjust.

12 years agobuild: simplify clean.
Akim Demaille [Sat, 7 Apr 2012 12:44:07 +0000 (14:44 +0200)] 
build: simplify clean.

* doc/local.mk (CLEANFILES): Since the previous commit,
there a no longer such files.
* Makefile.in (CLEANFILES): Initialize here.

12 years agobuild: fix distcheck issues.
Akim Demaille [Sun, 1 Apr 2012 13:09:54 +0000 (15:09 +0200)] 
build: fix distcheck issues.

For some reason it seems that texi2dvi -o no longer forces --clean
mode, so we have stray TeX compilation files staying in top_builddir
since TeX is run from there.

While at it, upgrade the generation of the (completely obsolete)
reference card.  Target PDF.

* doc/local.mk (TEXI2DVI): Pass --build-dir.
(CLEANDIRS): More accurate.
(doc/refcard.dvi): Replace with...
(doc/refcard.pdf): this.
Adjust dependencies.

12 years agobuild: don't rely on $< in non-pattern rules.
Akim Demaille [Sun, 1 Apr 2012 12:27:23 +0000 (14:27 +0200)] 
build: don't rely on $< in non-pattern rules.

* doc/local.mk, tests/local.mk: here.
Reported by Stefano Lattarini.

12 years agodoc: upgrade Doxyfile.
Akim Demaille [Sun, 1 Apr 2012 12:16:12 +0000 (14:16 +0200)] 
doc: upgrade Doxyfile.

* doc/Doxyfile.in: Run doxygen -u.
Prompted by Tim Landscheidt.

12 years agodoc: help Doxygen find our files.
Akim Demaille [Sun, 1 Apr 2012 12:14:19 +0000 (14:14 +0200)] 
doc: help Doxygen find our files.

* doc/Doxyfile.in (INCLUDE_PATH): here.

12 years agoFix Doxygen generation and clean-up.
Tim Landscheidt [Tue, 27 Mar 2012 19:28:02 +0000 (19:28 +0000)] 
Fix Doxygen generation and clean-up.

* doc/Doxyfile.in: Amend OUTPUT_DIRECTORY.
* doc/local.mk (html-local): Amend working directory.
(CLEANDIRS): Fix "html", remove "latex".

12 years agoFix Doxygen comment.
Tim Landscheidt [Tue, 27 Mar 2012 19:40:36 +0000 (19:40 +0000)] 
Fix Doxygen comment.

* src/InadequacyList.h: s#</t>#</tt>#.

12 years agoc++: more YY_NULL
Akim Demaille [Sun, 1 Apr 2012 11:15:41 +0000 (13:15 +0200)] 
c++: more YY_NULL

Caught by maintainer-check-g++.
* data/glr.c, data/lalr1.cc, data/yacc.c, tests/cxx-type.at,
* tests/glr-regression.at, tests/push.at:
When simple to do, avoid expliciting the null ptr.
Otherwise use YY_NULL.

12 years agoMerge remote-tracking branch 'origin/maint'
Akim Demaille [Sun, 1 Apr 2012 10:56:55 +0000 (12:56 +0200)] 
Merge remote-tracking branch 'origin/maint'

* origin/maint:
  bump to 2012 in skeletons.
  build: remove ancient Autoconf tests.
  doc: c++: complete the location documentation.
  c++: locations: provide convenience constructors.
  c++: locations: remove useless "inline".
  glr: do not use locations when they are not requested
  c++: use nullptr for C++11.
  build: simplify and improve the compiler warnings for tests.
  gnulib: update.
  maint: formatting changes.
  NEWS: update.
  Java: Fix syntax error handling without error token.
  tests: beware of -pedantic on large #line numbers.
  tests: when using the C++ compiler, use its flags too.

Conflicts:
data/glr.c
data/glr.cc
data/lalr1.cc
data/location.cc
data/yacc.c
tests/Makefile.am

12 years agobump to 2012 in skeletons.
Akim Demaille [Sun, 1 Apr 2012 10:15:19 +0000 (12:15 +0200)] 
bump to 2012 in skeletons.

* data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java,
* data/location.cc, data/yacc.c: Bump copyright year ranges.

12 years agobuild: remove ancient Autoconf tests.
Akim Demaille [Sun, 1 Apr 2012 09:14:28 +0000 (11:14 +0200)] 
build: remove ancient Autoconf tests.

lib/subpipe.c was removed in 47fa574761319b0a422691223c9b8a9a72f36aa2.

* m4/subpipe.m4: Remove.
* configure.ac (BISON_PREREQ_SUBPIPE): Remove.

12 years agodoc: c++: complete the location documentation.
Akim Demaille [Sat, 31 Mar 2012 07:46:12 +0000 (09:46 +0200)] 
doc: c++: complete the location documentation.

* data/location.cc (position::initialize, location::initialize):
Also accept line and column, with default values.
* doc/bison.texinfo (C++ position, C++ location): New nodes.
Describe more thoroughly these classes.
Fix several Texinfo misuses.

12 years agoc++: locations: provide convenience constructors.
Akim Demaille [Tue, 23 Sep 2008 11:49:41 +0000 (13:49 +0200)] 
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 0634493cdde92cbdb8d9fb95a5bebe596bb53798)

Conflicts:

ChangeLog-2012
data/location.cc

12 years agoc++: locations: remove useless "inline".
Akim Demaille [Fri, 30 Mar 2012 14:45:47 +0000 (16:45 +0200)] 
c++: locations: remove useless "inline".

* data/location.cc: "inline" is implicit when defining
methods in the class definition.

12 years agoglr: do not use locations when they are not requested
Akim Demaille [Sat, 31 Mar 2012 07:45:59 +0000 (09:45 +0200)] 
glr: do not use locations when they are not requested

When the test suite runs with -O2 and warnings enabled, G++
complains of locations being used, but not initialized.
The simplest is to not use locations.

* data/glr.c (b4_locuser_formals, b4_locuser_args): New.
Use them when locations should not be used.
Use b4_locations_if where appropriate.
(yyuserAction): Modify the order to the arguments to make
it more alike the other routines, and to make use of
b4_locuser_args simpler.

12 years agoc++: use nullptr for C++11.
Akim Demaille [Fri, 30 Mar 2012 13:50:45 +0000 (15:50 +0200)] 
c++: use nullptr for C++11.

C++11 introduces "nullptr" which plays the role of C's NULL, in
replacement of "0".  Fix the C++ skeletons to avoid warnings about
uses of "0" in place of "nullptr", and improve C skeletons to also use
this "nullptr" when compiled with a C++11 compiler.

* configure.ac: More C++ warnings.
* NEWS (2.5.1): Document this.
* data/c++.m4, data/c.m4 (b4_null_define): New.
(b4_null): Use YY_NULL instead of 0.
* data/glr.c, data/lalr1.cc, data/location.cc, data/yacc.c:
Call b4_null_define/b4_null where appropriate.
Use YY_NULL instead of NULL.
* data/location.cc (initialize): Accept a default argument,
YY_NULL.
* tests/actions.at, tests/calc.at: Adjust.

* data/glr.c, lib/libiberty.h, src/system.h (__attribute__):
Do not disable it when __STRICT_ANSI__ is defined, as, for
instance, it disables the __attribute__((unused)) which
protects us from some compiler warnings.
This was already done elsewhere in Bison, in 2001, see
4a0d89369599a2cea01f4fbdf791f426a02cb5a3.
* tests/regression.at: Adjust output.

12 years agobuild: simplify and improve the compiler warnings for tests.
Akim Demaille [Tue, 27 Mar 2012 14:20:34 +0000 (16:20 +0200)] 
build: simplify and improve the compiler warnings for tests.

* configure.ac (warn_common, warn_c, warn_cxx): New.
Use them to compute independently the options supported
by the C and C++ compilers.
Don't AC_SUBST the variables passed to gl_WARN_ADD: it
does it for us.
(WARN_CFLAGS_TEST, WARN_CXXFLAGS_TEST): Don't aggregate
$WARN_CFLAGS and $WARN_CXXFLAGS in them now, leave it
to atlocal.in.
(O0CFLAGS, O0CXXFLAGS): Move their definition to...
* tests/atlocal.in: here.
Be more systematic between C and C++.
Reorder to factor between variables.
Propagate all of the variables when --compile-c-with-cxx.

12 years agognulib: update.
Akim Demaille [Fri, 30 Mar 2012 11:41:01 +0000 (13:41 +0200)] 
gnulib: update.

12 years agomaint: formatting changes.
Akim Demaille [Thu, 29 Mar 2012 12:57:25 +0000 (14:57 +0200)] 
maint: formatting changes.

* src/system.h: Indent CPP directives using cppi.

12 years agoNEWS: update.
Akim Demaille [Tue, 20 Mar 2012 08:27:00 +0000 (09:27 +0100)] 
NEWS: update.

* NEWS: Java fixes, more about the doc changes, liby issues.

12 years agoJava: Fix syntax error handling without error token.
Tim Landscheidt [Sun, 12 Feb 2012 01:29:41 +0000 (01:29 +0000)] 
Java: Fix syntax error handling without error token.

* data/lalr1.java (YYParser::parse): Here.
* tests/java.at: Add test case.

12 years agotests: beware of -pedantic on large #line numbers.
Akim Demaille [Sat, 24 Mar 2012 13:11:06 +0000 (14:11 +0100)] 
tests: beware of -pedantic on large #line numbers.

* tests/local.at (AT_TEST_TABLES_AND_PARSE): Don't pass -pedantic
when compiling large canonical-LR parsers.
Reported by Tys Lefering.
http://lists.gnu.org/archive/html/bug-bison/2012-03/msg00025.html
(cherry picked from commit 8ec3110a9ed4e4d26327bbccfc25278c374fd99a)

12 years agotests: when using the C++ compiler, use its flags too.
Akim Demaille [Fri, 23 Mar 2012 15:05:15 +0000 (16:05 +0100)] 
tests: when using the C++ compiler, use its flags too.

* tests/local.at: Go for colors.
(--compile-c-with-cxx): New option.
We used to pass "CC=$CXX" as command line argument,
but it was not possible to adjust CFLAGS accordingly
in atlocal, since it is loaded before assignments on
the command line are honored (so that the command line
takes precedence).
* tests/atlocal.in: Implement it.
* tests/local.mk: Use it.
(cherry picked from commit ac3f2e33b464a168b84ddb8a2da2195a6656dd19)

Conflicts:

tests/local.mk

12 years agotests: style changes in the Makefile.
Akim Demaille [Sat, 24 Mar 2012 13:26:24 +0000 (14:26 +0100)] 
tests: style changes in the Makefile.

* tests/local.mk: Prefer passing variable assignment by
the command line, instead of the environment, so that it
is reported in the logs.
Prefer single quotes for shell literal strings.

12 years agotests: beware of -pedantic on large #line numbers.
Akim Demaille [Sat, 24 Mar 2012 13:11:06 +0000 (14:11 +0100)] 
tests: beware of -pedantic on large #line numbers.

* tests/local.at (AT_TEST_TABLES_AND_PARSE): Don't pass -pedantic
when compiling large canonical-LR parsers.
Reported by Tys Lefering.
http://lists.gnu.org/archive/html/bug-bison/2012-03/msg00025.html

12 years agotests: when using the C++ compiler, use its flags too.
Akim Demaille [Fri, 23 Mar 2012 15:05:15 +0000 (16:05 +0100)] 
tests: when using the C++ compiler, use its flags too.

* tests/local.at: Go for colors.
(--compile-c-with-cxx): New option.
We used to pass "CC=$CXX" as command line argument,
but it was not possible to adjust CFLAGS accordingly
in atlocal, since it is loaded before assignments on
the command line are honored (so that the command line
takes precedence).
* tests/atlocal.in: Implement it.
* tests/local.mk: Use it.

12 years agotests: fix dependencies.
Akim Demaille [Fri, 23 Mar 2012 15:00:42 +0000 (16:00 +0100)] 
tests: fix dependencies.

* tests/local.mk (check_SCRIPTS): Add atlocal and atconfig so
that they are properly updated before running tests.
(RUN_TESTSUITE_deps): New.
Use it to factor the dependencies of "*-check" targets,
especially those that don't bounce to the regular
"check-local" target, since then they don't benefit from the
proper dependencies (such as atlocal).

12 years agoMerge remote-tracking branch 'fsf/maint'
Akim Demaille [Mon, 19 Mar 2012 10:35:46 +0000 (11:35 +0100)] 
Merge remote-tracking branch 'fsf/maint'

* fsf/maint: (404 commits)
  doc: update the --verbose report format.
  doc: spell check.
  doc: stmt, not stmnt.
  doc: save width.
  doc: reformat grammar snippets.
  doc: use only @example, not @smallexample.
  doc: style changes.
  doc: minor fixes to "Understanding" section
  tests: minor fixes/simplifications
  tests: be robust to quote style.
  maint: update gnulib.
  tests: be robust to POSIXLY_CORRECT being defined.
  doc: fix environment issues.
  regen.
  tests: fix regressions.
  glr: fix ambiguity reports.
  doc: stylistic improvements.
  maint: address sc_prohibit_doubled_word.
  maint: address sc_prohibit_always-defined_macros.
  maint: address sc_bindtextdomain, sc_program_name and sc_prohibit_HAVE_MBRTOWC.
  ...

12 years agodoc: spell fix.
Akim Demaille [Mon, 19 Mar 2012 10:15:32 +0000 (11:15 +0100)] 
doc: spell fix.

* doc/bison.texinfo: here.
Reported by Tim Landscheidt.

12 years agodoc: update the --verbose report format.
Akim Demaille [Fri, 16 Mar 2012 09:13:16 +0000 (10:13 +0100)] 
doc: update the --verbose report format.

* doc/bison.texinfo (Understanding): Adjust to match the
current format.
(cherry picked from commit 29e20e22e0ecd5bf4c31c4ff32599ea5f404d136)

12 years agodoc: spell check.
Akim Demaille [Mon, 19 Mar 2012 09:41:25 +0000 (10:41 +0100)] 
doc: spell check.

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

Conflicts:

doc/bison.texinfo

12 years agodoc: stmt, not stmnt.
Akim Demaille [Fri, 16 Mar 2012 13:31:44 +0000 (14:31 +0100)] 
doc: stmt, not stmnt.

* doc/bison.texinfo: s/stmnt/stmt/g.  This is a
much more common abbreviation for "statement".
(cherry picked from commit 0860e38311eb80b0cba0b026d1fe7a8c81ffeec6)

12 years agodoc: save width.
Akim Demaille [Fri, 16 Mar 2012 13:29:43 +0000 (14:29 +0100)] 
doc: save width.

* doc/bison.texinfo (Language and Grammar): Use the same
layout for an example in all the versions, i.e., keep
as general case what used to be used only for Info.
(cherry picked from commit 1d280c0999ada8fc3fb0a96d01530948642f4444)

12 years agodoc: reformat grammar snippets.
Akim Demaille [Fri, 16 Mar 2012 13:26:00 +0000 (14:26 +0100)] 
doc: reformat grammar snippets.

* doc/bison.texinfo: Convert the grammar examples to
use a narrower style.  This helps fitting into the
@smallbook constraints.
http://lists.gnu.org/archive/html/bison-patches/2012-03/msg00011.html
(cherry picked from commit 5e9b6624d78e7390a05e2c6b0708cc4944fb1861)

Conflicts:

doc/bison.texinfo

12 years agodoc: use only @example, not @smallexample.
Akim Demaille [Thu, 15 Mar 2012 14:40:04 +0000 (15:40 +0100)] 
doc: use only @example, not @smallexample.

* doc/bison.texinfo: Convert all @smallexamples into @examples.
Adjust layout where needed.
(cherry picked from commit c93f22fcf703f6e9613c3b1b5129879bc1e79618)

Conflicts:

doc/bison.texinfo

12 years agodoc: style changes.
Akim Demaille [Thu, 15 Mar 2012 14:36:20 +0000 (15:36 +0100)] 
doc: style changes.

* doc/bison.texinfo: Avoid line width issues with TeX.
Upgrade ancient messages.
Move some comments to better looking places.
Add more @group.
(Mfcalc Symbol Table): Reduce variable scopes.
Prefer size_t for sizes.
Prefer declarations with an initial value.
Fix a @group environment.
(cherry picked from commit aaaa2aaef40eed197ebbd0bd45d8a66606cdb19c)

Conflicts:

doc/bison.texinfo

12 years agodoc: minor fixes to "Understanding" section
Paul Eggert [Sat, 17 Mar 2012 19:52:47 +0000 (12:52 -0700)] 
doc: minor fixes to "Understanding" section

* doc/bison.texinfo (Understanding): Minor wording fixes and
improvements.  Fixes problems reported in
<https://savannah.gnu.org/patch/?4306>.
(cherry picked from commit 35880c82dc7a774fc2eefc956c3db97b65082607)

12 years agodoc: update the --verbose report format.
Akim Demaille [Fri, 16 Mar 2012 09:13:16 +0000 (10:13 +0100)] 
doc: update the --verbose report format.

* doc/bison.texinfo (Understanding): Adjust to match the
current format.

12 years agodoc: spell check.
Akim Demaille [Mon, 19 Mar 2012 09:41:25 +0000 (10:41 +0100)] 
doc: spell check.

* doc/bison.texinfo: here.

12 years agodoc: stmt, not stmnt.
Akim Demaille [Fri, 16 Mar 2012 13:31:44 +0000 (14:31 +0100)] 
doc: stmt, not stmnt.

* doc/bison.texinfo: s/stmnt/stmt/g.  This is a
much more common abbreviation for "statement".

12 years agodoc: save width.
Akim Demaille [Fri, 16 Mar 2012 13:29:43 +0000 (14:29 +0100)] 
doc: save width.

* doc/bison.texinfo (Language and Grammar): Use the same
layout for an example in all the versions, i.e., keep
as general case what used to be used only for Info.

12 years agodoc: reformat grammar snippets.
Akim Demaille [Fri, 16 Mar 2012 13:26:00 +0000 (14:26 +0100)] 
doc: reformat grammar snippets.

* doc/bison.texinfo: Convert the grammar examples to
use a narrower style.  This helps fitting into the
@smallbook constraints.
http://lists.gnu.org/archive/html/bison-patches/2012-03/msg00011.html

12 years agodoc: use only @example, not @smallexample.
Akim Demaille [Thu, 15 Mar 2012 14:40:04 +0000 (15:40 +0100)] 
doc: use only @example, not @smallexample.

* doc/bison.texinfo: Convert all @smallexamples into @examples.
Adjust layout where needed.

12 years agodoc: style changes.
Akim Demaille [Thu, 15 Mar 2012 14:36:20 +0000 (15:36 +0100)] 
doc: style changes.

* doc/bison.texinfo: Avoid line width issues with TeX.
Upgrade ancient messages.
Move some comments to better looking places.
Add more @group.
(Mfcalc Symbol Table): Reduce variable scopes.
Prefer size_t for sizes.
Prefer declarations with an initial value.
Fix a @group environment.

12 years agoc.m4: better newline control with b4_parse_param_use.
Akim Demaille [Thu, 15 Mar 2012 13:42:15 +0000 (14:42 +0100)] 
c.m4: better newline control with b4_parse_param_use.

* data/c.m4: Use m4_ifvaln instead of m4_ifval where
applicable.
(b4_parse_param_use): Switch order between two nested
"if"s to avoid useless empty lines.
Adjust callers to avoid useless lines.

12 years agoglr.c: remove (broken) support for YYPRINT.
Akim Demaille [Thu, 15 Mar 2012 13:34:06 +0000 (14:34 +0100)] 
glr.c: remove (broken) support for YYPRINT.

YYPRINT uses yytoknum which glr does not define.  Since YYPRINT
is considered obsolete, and did not work, don't fix its support,
remove it from glr.c.

* data/c.m4 (yy_symbol_value_print): Use YYPRINT only for yacc.c.
* TODO: Done.

12 years agodoc: minor fixes to "Understanding" section
Paul Eggert [Sat, 17 Mar 2012 19:52:47 +0000 (12:52 -0700)] 
doc: minor fixes to "Understanding" section

* doc/bison.texinfo (Understanding): Minor wording fixes and
improvements.  Fixes problems reported in
<https://savannah.gnu.org/patch/?4306>.

12 years agoTODO: update.
Akim Demaille [Thu, 15 Mar 2012 12:56:07 +0000 (13:56 +0100)] 
TODO: update.

12 years agognulib: update.
Akim Demaille [Thu, 15 Mar 2012 12:47:19 +0000 (13:47 +0100)] 
gnulib: update.

12 years agotests: minor fixes/simplifications
Akim Demaille [Wed, 22 Feb 2012 13:42:59 +0000 (14:42 +0100)] 
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

12 years agomaint: fix distcheck.
Akim Demaille [Tue, 13 Mar 2012 10:58:46 +0000 (11:58 +0100)] 
maint: fix distcheck.

* examples/local.mk (MAINTAINERCLEANFILES): Complete, and rename as...
(CLEANFILES): this,
* examples/calc++/local.mk, examples/mfcalc/local.mk,
* examples/rpcalc/local.mk (CLEANFILES): Add the generated files.

12 years agotests: minor fixes/simplifications
Akim Demaille [Wed, 22 Feb 2012 13:42:59 +0000 (14:42 +0100)] 
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

12 years agotests: be robust to POSIXLY_CORRECT being defined.
Akim Demaille [Tue, 6 Mar 2012 08:09:02 +0000 (09:09 +0100)] 
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

12 years agotests: be robust to quote style.
Akim Demaille [Wed, 8 Feb 2012 13:44:24 +0000 (14:44 +0100)] 
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 39ac121457237a14437ee7d7bae28e368a201a7a)

12 years agomaint: update gnulib.
Akim Demaille [Fri, 9 Mar 2012 07:11:17 +0000 (08:11 +0100)] 
maint: update gnulib.

* gnulib: update.
* src/scan-gram.l: Don't use the (former version of) STREQ.

12 years agotests: remove quote magic from the bison test wrapper.
Akim Demaille [Wed, 22 Feb 2012 15:11:05 +0000 (16:11 +0100)] 
tests: remove quote magic from the bison test wrapper.

Basically, revert 4c4d35394d1bdb4dc3392482ab002bc111a3378f.

* tests/bison.in: Leave bison's stderr as is.

12 years agotests: be robust to quote style.
Akim Demaille [Wed, 8 Feb 2012 13:44:24 +0000 (14:44 +0100)] 
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.

12 years agoavoid direct strncmp calls.
Akim Demaille [Thu, 23 Feb 2012 19:14:42 +0000 (20:14 +0100)] 
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.

12 years agotests: be robust to POSIXLY_CORRECT being defined.
Akim Demaille [Tue, 6 Mar 2012 08:09:02 +0000 (09:09 +0100)] 
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

12 years agobuild: comment changes.
Akim Demaille [Fri, 24 Feb 2012 13:00:22 +0000 (14:00 +0100)] 
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.

12 years agobuild: fix more example extraction issues.
Akim Demaille [Fri, 24 Feb 2012 11:10:07 +0000 (12:10 +0100)] 
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.

12 years agomaint: fix example extraction issues.
Akim Demaille [Wed, 22 Feb 2012 13:42:39 +0000 (14:42 +0100)] 
maint: fix example extraction issues.

calc++: don't rely on Automake to compile a C++ parser.

Basically, revert commit 609b3d8096fb0cc1fa4d908b6e1a860ced260bda,
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.

12 years agomaint: use STREQ/STRNEQ.
Akim Demaille [Thu, 23 Feb 2012 17:51:51 +0000 (18:51 +0100)] 
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.

12 years agodoc: fix environment issues.
Akim Demaille [Thu, 23 Feb 2012 16:50:29 +0000 (17:50 +0100)] 
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 71b52b1342c65a5497f6b3780481ff2deb932a56)

Conflicts:

doc/bison.texinfo

12 years agodoc: fix environment issues.
Akim Demaille [Thu, 23 Feb 2012 16:50:29 +0000 (17:50 +0100)] 
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.

12 years agoregen.
Akim Demaille [Tue, 21 Feb 2012 14:52:35 +0000 (15:52 +0100)] 
regen.

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

12 years agotests: fix regressions.
Akim Demaille [Tue, 21 Feb 2012 14:38:09 +0000 (15:38 +0100)] 
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 459a57a90ff6fc8209498b7d5bc6e33d5e633f23)

12 years agomaint: gitignore.
Akim Demaille [Wed, 22 Feb 2012 10:49:21 +0000 (11:49 +0100)] 
maint: gitignore.

* examples/mfcalc/.gitignore, examples/rpcalc/.gitignore: Fix.

12 years agoregen.
Akim Demaille [Tue, 21 Feb 2012 15:31:24 +0000 (16:31 +0100)] 
regen.

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

12 years agotests: fix regressions.
Akim Demaille [Tue, 21 Feb 2012 14:38:09 +0000 (15:38 +0100)] 
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.

12 years agotests: post-process stderr to normalize quotes.
Akim Demaille [Tue, 21 Feb 2012 14:28:46 +0000 (15:28 +0100)] 
tests: post-process stderr to normalize quotes.

* tests/bison.in: Save bison's stderr, and convert gettextized
quotes to plain ASCII.

12 years agoglr: fix ambiguity reports.
Akim Demaille [Tue, 21 Feb 2012 10:51:37 +0000 (11:51 +0100)] 
glr: fix ambiguity reports.

* tests/glr-regression.at (Ambiguity reports): New.
(cherry picked from commit a6b2f4fc020fe6e464f4a445a7851825d3d57e4d)

12 years agoglr: fix ambiguity reports.
Akim Demaille [Tue, 21 Feb 2012 10:51:37 +0000 (11:51 +0100)] 
glr: fix ambiguity reports.

Fix a regression introduced in commit
783aa653f4ca70a75919c8516b950494c612cbfe.

* tests/glr-regression.at (Ambiguity reports): New.
* data/glr.c (yyreportTree): Fix an offset error.

12 years agodoc: stylistic improvements.
Akim Demaille [Sun, 19 Feb 2012 17:17:19 +0000 (18:17 +0100)] 
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 d4fca427636f15eb952974ff04e4fb046428440a)

Conflicts:

doc/bison.texinfo

12 years agomaint: address sc_prohibit_doubled_word.
Akim Demaille [Sun, 19 Feb 2012 11:54:09 +0000 (12:54 +0100)] 
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 762caaf6393d71d740ad86855a15f5000721d103)

Conflicts:

data/yacc.c

12 years agomaint: address sc_prohibit_always-defined_macros.
Akim Demaille [Sun, 19 Feb 2012 10:40:36 +0000 (11:40 +0100)] 
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

12 years agomaint: address sc_bindtextdomain, sc_program_name and sc_prohibit_HAVE_MBRTOWC.
Akim Demaille [Sun, 19 Feb 2012 10:13:04 +0000 (11:13 +0100)] 
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 4d699f44e65d29b4d49cf68d7a3b4bf856eb5d1b)

Conflicts:

cfg.mk

12 years agomaint: remove stray file.
Akim Demaille [Sun, 19 Feb 2012 11:28:42 +0000 (12:28 +0100)] 
maint: remove stray file.

* config.hin: Remove.
(cherry picked from commit 222342aa6708814c01a63ff7d568209d3705ff47)

12 years agodoc: stylistic improvements.
Akim Demaille [Sun, 19 Feb 2012 17:17:19 +0000 (18:17 +0100)] 
doc: stylistic improvements.

* doc/bison.texinfo: Prefer "continue" to empty loop bodies.
Add some @group/@end group to avoid poor page breaks.

12 years agodoc: check the rpcalc.
Akim Demaille [Sun, 19 Feb 2012 12:05:42 +0000 (13:05 +0100)] 
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.

12 years agoregen.
Akim Demaille [Sun, 19 Feb 2012 11:56:14 +0000 (12:56 +0100)] 
regen.

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

12 years agomaint: address sc_prohibit_doubled_word.
Akim Demaille [Sun, 19 Feb 2012 11:54:09 +0000 (12:54 +0100)] 
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.

12 years agomaint: address sc_prohibit_always-defined_macros.
Akim Demaille [Sun, 19 Feb 2012 10:40:36 +0000 (11:40 +0100)] 
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.

12 years agomaint: address sc_bindtextdomain, sc_program_name and sc_prohibit_HAVE_MBRTOWC.
Akim Demaille [Sun, 19 Feb 2012 10:13:04 +0000 (11:13 +0100)] 
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.

12 years agomaint: remove stray file.
Akim Demaille [Sun, 19 Feb 2012 11:28:42 +0000 (12:28 +0100)] 
maint: remove stray file.

* config.hin: Remove.

12 years agobitset: fix an incorrect error message.
Akim Demaille [Sun, 19 Feb 2012 09:18:29 +0000 (10:18 +0100)] 
bitset: fix an incorrect error message.

* lib/bitset_stats.c: here.
Reported by Stefano Lattarini.

12 years agomaint: address some syntax-issues remaining after cherry-picking from master.
Akim Demaille [Sun, 19 Feb 2012 09:27:05 +0000 (10:27 +0100)] 
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.

12 years agoregen.
Akim Demaille [Sun, 19 Feb 2012 09:22:51 +0000 (10:22 +0100)] 
regen.

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

12 years agobitset: fix an incorrect error message.
Akim Demaille [Sun, 19 Feb 2012 09:18:29 +0000 (10:18 +0100)] 
bitset: fix an incorrect error message.

* lib/bitset_stats.c: here.
Reported by Stefano Lattarini.

12 years agomaint: reenable sc_m4_quote_check
Jim Meyering [Sun, 29 Jan 2012 20:26:43 +0000 (21:26 +0100)] 
maint: reenable sc_m4_quote_check

* cfg.mk (local-checks-to-skip): Reenable sc_m4_quote_check.
* m4/dmalloc.m4: Add quotes.

Conflicts:

cfg.mk

12 years agomaint: remove trailing empty lines.
Akim Demaille [Sat, 18 Feb 2012 18:25:55 +0000 (19:25 +0100)] 
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

12 years agomaint: avoid "magic number exit".
Akim Demaille [Sat, 18 Feb 2012 18:19:26 +0000 (19:19 +0100)] 
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