Bison 3.5 is released, and features a D backend

Akim Demaille akim.demaille at gmail.com
Wed Jan 1 09:47:11 UTC 2020


Hi all!

GNU Bison 3.5 was released with a D backend
(https://savannah.gnu.org/forum/forum.php?forum_id=9639).  This 
backend is
functional, and you can get a sense of its current shape by 
looking at the
shipped example (a calculator, what did you expect?):
https://github.com/akimd/bison/blob/master/examples/d/calc.y.

Bison is an LR parser generator.  It supports not only Yacc's 
original
LALR(1) parsers, but also canonical LR and IELR(1) which are 
strictly more
powerful (meaning: they accept wider classes of languages).  It 
also
features Generalized LR, which can even parse ambiguous grammars.

The D backend currently does not support the full range of Bison 
features.
We desperately need some skilled D programmer(s) to support this 
backend.

It was first contributed by Oliver Mangold, based on Paolo 
Bonzini's Java
backend.  It was cleaned and improved thanks to H. S. Teoh, yet 
it's
certainly not yet fitting perfectly the D spirit.  Since the 
backend is
still experimental, there is flexibility: it can be changed and 
improved
until it meets the D community standards.

If you would like to contribute, please reach out to us via
bison-patches at gnu.org, or help-bison at gnu.org.

Best wishes for 2020.  Cheers!


More information about the Digitalmars-d-announce mailing list