![]() Module ErrM is only generated for backwards compatibility. The Err monad is now defined as Either String.Deriving IsString instances for Ident-like token types ( #192).New option -text-token to use Data.Text instead of String in the generated lexer ( #167).The Haskell backend has seen the following improvements: They are used in the generated printers but treated like “” in the generated parsers ( #70). List separators consisting just of whitespace are now accepted.Pragma position token now supported by all maintained backends with the exception of C++/NoSTL.Pragma define now supported by all maintained backends (Agda, Haskell, Haskell/GADT, C, C++, Java).Generated code systematically tries to avoid clashes with language keywords or standard library names ( #278, #289). ![]() Error messages of BNFC concerning rule or category names are now equipped with the error location.New sanity checks ( #186, #213, #214) and deprecation warnings.New option -check that only performs sanity checks on the given LBNF grammar file, without calling any backend ( #286).Beyond that, the focus of this release has been increased robustness and predictability of the BNFC tool: This release adds the OCaml/Menhir backend, a variant of the OCaml backend that uses parser generator menhir instead of ocamlyacc. C/C++: instead of _SYMB_nnn, more readable token names in lexer & parser.all: printers render braces on their own line.all: defined constructors involving list expressions work now.C/C++/Java: Pre/post/mixfix lists are now printed correctly.Ocaml: fixed translation of nested defined constructors.Java: defined constructor now reside in AbsynDef.java.C++: defined constructors now reside in Absyn.C: removed errorneous defined constructors from Skeleton.c.C: fixed a space leak when parsing from a string in memory.Haskell: added missing import, regression introduced in 2.9.1 by.Haskell: print correctly, removed method prtList.Haskell: fixes in layout preprocessor.Haskell-GADT: generated code is warning free.C/C++ backends now create reentrant parsers.C: new methods free_* and clone_* to deallocate and clone syntax trees.Haskell: layout keywords can now be stacked on the same line ,.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |