Changelog for BNFC-2.8.3.1
2.8.3.1 Andreas Abel <andreas.abel@gu.se> November 2021
* GHC 9.2 compatibility (sanitized released source tarball)
* bump cabal-version from 1.8 to 1.10
2.8.3 Andreas Abel <andreas.abel@gu.se> August 2019
* GHC 8.8 compatibility
* Stack installation supported by provided .yaml files [#198]
* Unicode support in lexer, excl. C, C++ and Ocaml [#249]
* LBNF: support \r (carriage return) and \f (form feed) in token declaration [#257]
* LBNF: allow numbered categories (like Foo2) independent of coercions [#210]
* Agda: new (experimental) backend, providing bindings to AST/parser/printer of Haskell backend
* C: supports now the -l option to give error locations [#238]
* C: correct function names in generated skeletons [#239]
* C, C++: handle regular expression difference (subtraction) correctly [#237]
* Haskell: generates now more fine-grained Makefile that invokes bnfc on changed .cf file
* Haskell: use qualified import of AST in generated printer [#128,#228]
* Haskell: printer code no longer produces deprecation warning concerning OverlappingInstances [#233]
* Haskell/CNF: fixed problem with Any type in generated code [#216]
* Haskell/CNF: generated test program now same name (Test) as w/o --cnf
* Haskell/GLR: correct module header in .y file [#252]
2.8.2 Andreas Abel <andreas.abel@gu.se> November 2018
* GHC 8.4 compatibility [#227,#236]
* bnfc now puts current timestamp on all created files, even unchanged ones [#219]
* bnfc is now more accepting about border-line terminals [#149]
* Improved error messages [#144] in particular on undefined categories [#151]
* C: Emit correct function prototypes [#185]
* C++: Fix buffer overrun in pretty printer [#242]
* C++: Fix regression introduced in 2.8 in Skeleton.H [#164]
* C++: Replace `%name-prefix` with `%define api.prefix` in bison files [#181]
* C++: Fix a bug that appeared if you had a category named "List"
* C, C++: Add usage output to the test program [#141]
* C, C++: Fix a bug in the parser file when using -p [#172]
* C, C++, OCaml, Java: Accept ' or " as comment delimiters [#146]
* Haskell: Generated code mostly hlint-warning free
* Haskell: Small fixes [#166,#170,#222]
* Java: Add an experimental ANTLR4 backend [#155]
* Java: Add support for passing line numbers to parser [#217,#224,#226]
* OCaml: Reserved symbols now have a higher precedence than predefined
tokens as in Haskell
* Some updates of the documentation [#211,#223]
* And various small fixes [#139,#159,#195,#201,#215]
2.8.1 Grégoire Détrez <gregoire.detrez@gu.se> February 2016
* Fix compatibility with GHC 7.10.2 and Alex 3.14
* Fixed #160
2.8 Grégoire Détrez <gregoire.detrez@gu.se> May 2015
* Builds with ghc 7.10.1
* Add support for JFlex (java)
* Add an option to generate files in an other directory
* Add an experimental option that turns the AST into a parametrized
functor (in Haskell only)
* New pygment backend to generate syntax highlighters
* Bug fixes
2.7.1 Grégoire Détrez <gregoire.detrez@gu.se> October 2014
* Generated haskell code is now warning free
* Removed unused terminal in happy
* Correctly escape backslashes in symbols
* Fix problem that was preventing custom tokens to work in OCaml if
they conflict with the build-in Ident
* BNFC build is also warning free (ghc 7.4.2)
* Test programs return non-zerro exit code on parse error
2.7.0.0 Grégoire Détrez <gregoire.detrez@gu.se> September 2014
* Add token support for Ocaml
* New option parser
* Adds an optional argument to change Makefile name
* Add a --ghc option to derive Data, Typeable, Generic in Haskell
* New online documentation (https://bnfc.readthedocs.org)
* Derive ``Read`` for newtype decls in Haskell
* New option to get the version number --version
* Remove the F# backend
* Remove the Java4 backend
* New Applicative and Alternative instances to ``Err``
* Remove the coupling between building the parser and the pdf from
latex
* Improvement to the CNF Backend
* Bug fixes #92, #21, #34, #33, #90, #30, #60