BNFC 2.9.2
Major improvements:
- Haskell: layout keywords can now be stacked on the same line [#354],
see docs
- C: new methods
free_* and clone_* to deallocate and clone syntax trees [#348]
- C/C++ backends now create reentrant parsers [#349]
Bug fixes and small improvements:
- Haskell-GADT: generated code is warning free [#346]
- Haskell: fixes in layout preprocessor [#343,#344,#345,#352,#353]
- Haskell: print
[Char] correctly, removed method prtList [#359]
- Haskell: added missing import [#368], regression introduced in 2.9.1 by [#331]
- C: fixed a space leak when parsing from a string in memory [#347]
- C: removed errorneous
defined constructors from Skeleton.c
- C++:
defined constructors now reside in Absyn [#287]
- Java:
defined constructor now reside in AbsynDef.java [#287]
- Ocaml: fixed translation of nested
defined constructors
- C/C++/Java: Pre/post/mixfix lists are now printed correctly [#358]
- all:
defined constructors involving list expressions work now [#363]
- all: printers render braces on their own line [#366]
Cosmetical changes:
- C/C++: instead of
_SYMB_nnn, more readable token names in lexer & parser