Skip to content

Releases: BNFC/bnfc

v2.8.3

27 Aug 20:55
Compare
Choose a tag to compare

Main new feature:

  • Agda backend: generates bindings to output of Haskell backend

Backend-independent features:

  • 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]

C backend:

  • supports now the -l option to give error locations [#238]
  • correct function names in generated skeletons [#239]
  • handle regular expression difference (subtraction) correctly [#237]

Haskell backend:

  • generates now more fine-grained Makefile that invokes bnfc on changed .cf file
  • uses qualified import of AST in generated printer [fixes #128,#228]
  • printer code no longer produces deprecation warning concerning OverlappingInstances [#233]
  • --cnf: fixed problem with Any type in generated code [#216]
  • --cnf: generated test program now same name (Test) as without --cnf
  • --glr: correct module header in .y file [#252]

Binaries (see below):

  • bnfc-2.8.3-mac.binary: Binary compiled under Mac OS X Mojave, x86 64bit processor
  • bnfc.exe: Binary compiled under Windows 10, x86 64bit processor

v2.8.2

04 Nov 22:58
Compare
Choose a tag to compare

Main new feature:

  • Java: An experimental ANTLR4 backend [#155]

Backend-independent features:

  • 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 and C++ backends:

  • 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 backend:

  • Generated code mostly hlint-warning free
  • Small fixes [#166,#170,#222]

Other backends:

  • 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

Further:

Thanks to the many contributers to this version!

v2.8.1

04 Nov 13:24
Compare
Choose a tag to compare
  • Fix compatibility with GHC 7.10.2 and Alex 3.14

v2.8

24 May 10:22
Compare
Choose a tag to compare
  • 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

v2.7.1

27 Mar 17:35
Compare
Choose a tag to compare
  • 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

v2.7.0.1

27 Mar 17:34
Compare
Choose a tag to compare
  • Fix problem with the latest version of alex

v2.7.0.0

27 Mar 17:32
Compare
Choose a tag to compare
  • 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

v2.5.0.0

27 Mar 17:29
Compare
Choose a tag to compare
Fix the Makefile and version number