Re: Bison 3.5 released [stable]

2019-12-15 Thread Dennis Clarke

On 12/15/19 3:47 AM, Akim Demaille wrote:




Le 15 déc. 2019 à 08:55, Dennis Clarke  a écrit :

On 12/14/19 11:17 AM, Akim Demaille wrote:

Le 13 déc. 2019 à 19:37, Dennis Clarke  a écrit :

On 12/13/19 12:57 PM, Hans Åberg wrote:

On 13 Dec 2019, at 18:15, Akim Demaille  wrote:

https://ftp.gnu.org/gnu/bison/bison-3.5.tar.xz




Oh well .. close but no cigar :


## - ##
## Test results. ##
## - ##

ERROR: 440 tests were run,
1 failed unexpectedly.
173 tests were skipped.


./torture.at:393: COLUMNS=1000; export COLUMNS;  bison --color=no -fno-caret -v 
-o input.c input.y
./torture.at:394: $CC $CFLAGS $CPPFLAGS  $LDFLAGS -o input input.c $LIBS
stderr:
"input.c", line 15084: internal compiler error: Out of memory
cc: acomp failed for input.c
stdout:
./torture.at:394: exit code was 2, expected 0


:) :) :)

I don't think I will fix this one.  Cheers!



Ha.

I know what caused that.  Well gee ... I will try again without
a massive load on the same server and see what happens.

Dennis




Re: Bison 3.5 released [stable]

2019-12-15 Thread Akim Demaille



> Le 15 déc. 2019 à 08:55, Dennis Clarke  a écrit :
> 
> On 12/14/19 11:17 AM, Akim Demaille wrote:
>>> Le 13 déc. 2019 à 19:37, Dennis Clarke  a écrit :
>>> 
>>> On 12/13/19 12:57 PM, Hans Åberg wrote:
> On 13 Dec 2019, at 18:15, Akim Demaille  wrote:
> 
> https://ftp.gnu.org/gnu/bison/bison-3.5.tar.xz
>>> 
> 
> Oh well .. close but no cigar :
> 
> 
> ## - ##
> ## Test results. ##
> ## - ##
> 
> ERROR: 440 tests were run,
> 1 failed unexpectedly.
> 173 tests were skipped.

./torture.at:393: COLUMNS=1000; export COLUMNS;  bison --color=no -fno-caret -v 
-o input.c input.y
./torture.at:394: $CC $CFLAGS $CPPFLAGS  $LDFLAGS -o input input.c $LIBS
stderr:
"input.c", line 15084: internal compiler error: Out of memory
cc: acomp failed for input.c
stdout:
./torture.at:394: exit code was 2, expected 0


:) :) :)

I don't think I will fix this one.  Cheers!


Re: Bison 3.5 released [stable]

2019-12-14 Thread Dennis Clarke

On 12/14/19 11:17 AM, Akim Demaille wrote:




Le 13 déc. 2019 à 19:37, Dennis Clarke  a écrit :

On 12/13/19 12:57 PM, Hans Åberg wrote:

On 13 Dec 2019, at 18:15, Akim Demaille  wrote:

https://ftp.gnu.org/gnu/bison/bison-3.5.tar.xz




Oh well .. close but no cigar :


## - ##
## Test results. ##
## - ##

ERROR: 440 tests were run,
1 failed unexpectedly.
173 tests were skipped.



--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
GreyBeard and suspenders optional


bison-3.5_Oracle_sparc64vii+.002_testsuite.log.xz
Description: application/xz


Re: Bison 3.5 released [stable]

2019-12-14 Thread Dennis Clarke

On 12/14/19 11:17 AM, Akim Demaille wrote:




Le 13 déc. 2019 à 19:37, Dennis Clarke  a écrit :

On 12/13/19 12:57 PM, Hans Åberg wrote:

On 13 Dec 2019, at 18:15, Akim Demaille  wrote:

https://ftp.gnu.org/gnu/bison/bison-3.5.tar.xz


Also sadly, on ye old Solaris 10 sparcv9 I see :

FAIL: examples/c/reccalc/reccalc


reccalc: PASS: 1
reccalc: PASS: 2
reccalc: PASS: 3
reccalc: PASS: 4
.././examples/c/reccalc/reccalc.test: line 37: seq: command not found
reccalc: FAIL: 5 (expected status: 0, effective: 1)
syntax error, unexpected end-of-line, expecting + or - or number or string
reccalc: PASS: 6
reccalc: PASS: 7
FAIL examples/c/reccalc/reccalc.test (exit status: 1)


Yep, as you saw, it's a rather common tool.  I'll install the following thingy, 
so that we no longer have this problem if seq is not available.  Cheers!

commit 0c0baa50955acf236269157c34fc64f443942b3d
Author: Akim Demaille 
Date:   Sat Dec 14 17:11:52 2019 +0100

 tests: don't fail if seq is no available
 
 As is the case on Solaris.

 Reported by Dennis Clarke.
 https://lists.gnu.org/archive/html/bug-bison/2019-12/msg00011.html
 
 * examples/c/reccalc/reccalc.test: Skip if there is no seq.


diff --git a/examples/c/reccalc/reccalc.test b/examples/c/reccalc/reccalc.test
index 5d95b4e0..a4b2591c 100644
--- a/examples/c/reccalc/reccalc.test
+++ b/examples/c/reccalc/reccalc.test
@@ -15,6 +15,8 @@
  # You should have received a copy of the GNU General Public License
  # along with this program.  If not, see .
  
+seq 0 >/dev/null || exit 77

+
  cat >input <

Making progress however :

490: Many lookahead tokens   FAILED (torture.at:394)

I'll be back with all the data later.




--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
GreyBeard and suspenders optional





Re: Bison 3.5 released [stable]

2019-12-14 Thread Dennis Clarke

On 12/14/19 11:17 AM, Akim Demaille wrote:




Le 13 déc. 2019 à 19:37, Dennis Clarke  a écrit :

On 12/13/19 12:57 PM, Hans Åberg wrote:

On 13 Dec 2019, at 18:15, Akim Demaille  wrote:

https://ftp.gnu.org/gnu/bison/bison-3.5.tar.xz


Also sadly, on ye old Solaris 10 sparcv9 I see :

FAIL: examples/c/reccalc/reccalc


reccalc: PASS: 1
reccalc: PASS: 2
reccalc: PASS: 3
reccalc: PASS: 4
.././examples/c/reccalc/reccalc.test: line 37: seq: command not found
reccalc: FAIL: 5 (expected status: 0, effective: 1)
syntax error, unexpected end-of-line, expecting + or - or number or string
reccalc: PASS: 6
reccalc: PASS: 7
FAIL examples/c/reccalc/reccalc.test (exit status: 1)


Yep, as you saw, it's a rather common tool.  


Ah you are a wonderful man but what I was going to do was fetch a
reasonable flavour of the thingy and with a reasonable license and
build the damn thingy for the old Solaris boxen.

However we could also, just because it is so small, slide it into
the test harness area if and only if it does not exist locally on
the machine doing the bison build. Sort of a configure lets look
and see and if we can not find it then use a local copy and keep
the tests because we all love tests! We need tests. Let the tests
run free!  :)


--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
GreyBeard and suspenders optional



Re: Bison 3.5 released [stable]

2019-12-14 Thread Hans Åberg


> On 14 Dec 2019, at 17:19, Akim Demaille  wrote:
> 
>> Le 13 déc. 2019 à 18:57, Hans Åberg  a écrit :
>> 
>> 
>>> On 13 Dec 2019, at 18:15, Akim Demaille  wrote:
>>> 
>>> https://ftp.gnu.org/gnu/bison/bison-3.5.tar.xz
>> 
>> Still, 'make install-pdf’ does not work, because the rule is not in the 
>> Makefile of a number of *po directories.
> 
> Gee...  Some day, some month, some year, some century, the full series of 
> tools will be fixed on this regard.

BTW, recent Automake seems fine figuring out include files from the compiler. I 
do not how it would work on complex project like Bison though.




Re: Bison 3.5 released [stable]

2019-12-14 Thread Akim Demaille



> Le 13 déc. 2019 à 19:37, Dennis Clarke  a écrit :
> 
> On 12/13/19 12:57 PM, Hans Åberg wrote:
>>> On 13 Dec 2019, at 18:15, Akim Demaille  wrote:
>>> 
>>> https://ftp.gnu.org/gnu/bison/bison-3.5.tar.xz
> 
> Also sadly, on ye old Solaris 10 sparcv9 I see :
> 
> FAIL: examples/c/reccalc/reccalc
> 
> 
> reccalc: PASS: 1
> reccalc: PASS: 2
> reccalc: PASS: 3
> reccalc: PASS: 4
> .././examples/c/reccalc/reccalc.test: line 37: seq: command not found
> reccalc: FAIL: 5 (expected status: 0, effective: 1)
> syntax error, unexpected end-of-line, expecting + or - or number or string
> reccalc: PASS: 6
> reccalc: PASS: 7
> FAIL examples/c/reccalc/reccalc.test (exit status: 1)

Yep, as you saw, it's a rather common tool.  I'll install the following thingy, 
so that we no longer have this problem if seq is not available.  Cheers!

commit 0c0baa50955acf236269157c34fc64f443942b3d
Author: Akim Demaille 
Date:   Sat Dec 14 17:11:52 2019 +0100

tests: don't fail if seq is no available

As is the case on Solaris.
Reported by Dennis Clarke.
https://lists.gnu.org/archive/html/bug-bison/2019-12/msg00011.html

* examples/c/reccalc/reccalc.test: Skip if there is no seq.

diff --git a/examples/c/reccalc/reccalc.test b/examples/c/reccalc/reccalc.test
index 5d95b4e0..a4b2591c 100644
--- a/examples/c/reccalc/reccalc.test
+++ b/examples/c/reccalc/reccalc.test
@@ -15,6 +15,8 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see .
 
+seq 0 >/dev/null || exit 77
+
 cat >input <

Re: Bison 3.5 released [stable]

2019-12-14 Thread Akim Demaille



> Le 13 déc. 2019 à 18:57, Hans Åberg  a écrit :
> 
> 
>> On 13 Dec 2019, at 18:15, Akim Demaille  wrote:
>> 
>> https://ftp.gnu.org/gnu/bison/bison-3.5.tar.xz
> 
> Still, 'make install-pdf’ does not work, because the rule is not in the 
> Makefile of a number of *po directories.

Gee...  Some day, some month, some year, some century, the full series of tools 
will be fixed on this regard.

Cheers!


Re: Bison 3.5 released [stable]

2019-12-13 Thread Dennis Clarke




reccalc: PASS: 4
.././examples/c/reccalc/reccalc.test: line 37: seq: command not found
reccalc: FAIL: 5 (expected status: 0, effective: 1)
syntax error, unexpected end-of-line, expecting + or - or number or string

...


So what is this "seq" thingy ?




Sorry .. dumb question. Looks like Ulrich Drepper ported that into
coreutils a while ago and even the FreeBSD folks have it :

HISTORY
The seq command first appeared in Version 8 AT&T UNIX.  A seq
command appeared in NetBSD 3.0, and was ported to FreeBSD 9.0.
This command was based on the command of the same name in Plan 9
from Bell Labs and the GNU core utilities.  The GNU seq command
first appeared in the 1.13 shell utilities release.

Well golly gee .. the old dusty Oracle/Sun Solaris 10 has nothing like
that on hand. No surprise. Easy to fix also.


--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
GreyBeard and suspenders optional



Re: Bison 3.5 released [stable]

2019-12-13 Thread Dennis Clarke

On 12/13/19 12:57 PM, Hans Åberg wrote:



On 13 Dec 2019, at 18:15, Akim Demaille  wrote:

https://ftp.gnu.org/gnu/bison/bison-3.5.tar.xz




Also sadly, on ye old Solaris 10 sparcv9 I see :

beta$ cat  ./test-suite.log
=
   GNU Bison 3.5: ./test-suite.log
=

# TOTAL: 5
# PASS:  4
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: examples/c/reccalc/reccalc


reccalc: PASS: 1
reccalc: PASS: 2
reccalc: PASS: 3
reccalc: PASS: 4
.././examples/c/reccalc/reccalc.test: line 37: seq: command not found
reccalc: FAIL: 5 (expected status: 0, effective: 1)
syntax error, unexpected end-of-line, expecting + or - or number or string
reccalc: PASS: 6
reccalc: PASS: 7
FAIL examples/c/reccalc/reccalc.test (exit status: 1)

beta$

Not sure what the seq is that is being sought here. Seems minor.

Whatever that is it is new since 26th of May where I saw :

.
.
.
gmake[4]: Entering directory 
'/usr/local/build/bison-3.4.1.5-1dcd6_SunOS5.10_sparc64vii+.002'

PASS: examples/c/mfcalc/mfcalc.test
PASS: examples/c/rpcalc/rpcalc.test
PASS: examples/c/calc/calc.test
PASS: examples/java/Calc.test

Testsuite summary for GNU Bison 3.4.1.5-1dcd6

# TOTAL: 4
# PASS:  4
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0

.
.
.

So what is this "seq" thingy ?


--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
GreyBeard and suspenders optional





















Re: Bison 3.5 released [stable]

2019-12-13 Thread Hans Åberg


> On 13 Dec 2019, at 18:15, Akim Demaille  wrote:
> 
> https://ftp.gnu.org/gnu/bison/bison-3.5.tar.xz

Still, 'make install-pdf’ does not work, because the rule is not in the 
Makefile of a number of *po directories.





Bison 3.5 released [stable]

2019-12-13 Thread Akim Demaille
We are very happy to announce the release of Bison 3.5, the best release
ever of Bison!  Better than 3.4, although it was a big improvement over 3.3,
which was huge upgrade compared to 3.2, itself way ahead Bison 3.1.  Ethic
demands that we don't mention 3.0.  Rumor has it that Bison 3.5 is not as
good as 3.6 will be though...

Paul Eggert revised the use of integral types in both the generator and the
generated parsers.  As a consequence small parsers have a smaller footprint,
and very large automata are now possible with the default back-end (yacc.c).
If you are interested in smaller parsers, also have a look at api.token.raw.

Adrian Vogelsgesang contributed lookahead correction for C++.

The purpose of string literals has been clarified.  Indeed, they are used
for two different purposes: freeing from having to implement the keyword
matching in the scanner, and improving error messages.  Most of the time
both can be achieved at the same time, but on occasions, it does not work so
well.  We promote their use for error messages.  We still support the former
case (at least for historical skeletons), but it is _not_ a recommended
practice.  The documentation now warns against this use.  A new warning,
-Wdangling-alias, should help users who want to enforce the use of aliases
only for error messages.

An experimental back-end for the D programming language was added thanks to
Oliver Mangold and H. S. Teoh.  It is looking for active support from the D
community.

See below for more details about this release.

Happy parsing!

==

Bison is a general-purpose parser generator that converts an annotated
context-free grammar into a deterministic LR or generalized LR (GLR) parser
employing LALR(1) parser tables.  Bison can also generate IELR(1) or
canonical LR(1) parser tables.  Once you are proficient with Bison, you can
use it to develop a wide range of language parsers, from those used in
simple desk calculators to complex programming languages.

Bison is upward compatible with Yacc: all properly-written Yacc grammars
work with Bison with no change.  Anyone familiar with Yacc should be able to
use Bison with little trouble.  You need to be fluent in C, C++ or Java
programming in order to use Bison.

Here is the GNU Bison home page:
   https://gnu.org/software/bison/

==

Here are the compressed sources:
  https://ftp.gnu.org/gnu/bison/bison-3.5.tar.gz   (5.1MB)
  https://ftp.gnu.org/gnu/bison/bison-3.5.tar.xz   (3.1MB)

Here are the GPG detached signatures[*]:
  https://ftp.gnu.org/gnu/bison/bison-3.5.tar.gz.sig
  https://ftp.gnu.org/gnu/bison/bison-3.5.tar.xz.sig

Use a mirror for higher download bandwidth:
  https://www.gnu.org/order/ftp.html

[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact.  First, be sure to download both the .sig file
and the corresponding tarball.  Then, run a command like this:

  gpg --verify bison-3.5.tar.gz.sig

If that command fails because you don't have the required public key,
then run this command to import it:

  gpg --keyserver keys.gnupg.net --recv-keys 0DDCAA3278D5264E

and rerun the 'gpg --verify' command.

This release was bootstrapped with the following tools:
  Autoconf 2.69
  Automake 1.16.1
  Flex 2.6.4
  Gettext 0.19.8.1
  Gnulib v0.1-2971-gb943dd664

==

* Noteworthy changes in release 3.5 (2019-12-11) [stable]

** Backward incompatible changes

  Lone carriage-return characters (aka \r or ^M) in the grammar files are no
  longer treated as end-of-lines.  This changes the diagnostics, and in
  particular their locations.

  In C++, line numbers and columns are now represented as 'int' not
  'unsigned', so that integer overflow on positions is easily checkable via
  'gcc -fsanitize=undefined' and the like.  This affects the API for
  positions.  The default position and location classes now expose
  'counter_type' (int), used to define line and column numbers.

** Deprecated features

  The YYPRINT macro, which works only with yacc.c and only for tokens, was
  obsoleted long ago by %printer, introduced in Bison 1.50 (November 2002).
  It is deprecated and its support will be removed eventually.

** New features

*** Lookahead correction in C++

  Contributed by Adrian Vogelsgesang.

  The C++ deterministic skeleton (lalr1.cc) now supports LAC, via the
  %define variable parse.lac.

*** Variable api.token.raw: Optimized token numbers (all skeletons)

  In the generated parsers, tokens have two numbers: the "external" token
  number as returned by yylex (which starts at 257), and the "internal"
  symbol number (which starts at 3).  Each time yylex is called, a table
  lookup maps the external token number to the internal symbol number.

  When the %define variable api.token.raw is set, tokens are assigned their
  internal number, which sa