bnfc
bnfc copied to clipboard
BNF Converter
In order to be able to provide better error messages to the users, we would like to say `Error E occured on line 25, col 55` However, currently the positions...
To make the `bnfc-system-tests` run faster (currently >1h): - [ ] Do not run all variants of all backends on all parameterized tests. Select a representative case to run all...
BNFC 2.5., with -java option Consider the following grammar: ``` Label. Category ::= Integer; ``` The generated parser accepts the string ``` 1111111111 ``` but fails in ``` 11111111112 ```...
Here, for example, are hardwired separators '/' in the expected values: https://github.com/BNFC/bnfc/blob/1c491a42a0c60e98ad5635d01b589bd20c2186d1/source/src/BNFC/Backend/Haskell/HsOpts.hs#L120-L123 This should be changed to be system-agnostic so that it works under Windows as well. (There are more...
The number of levels in e.g. ``` coercions Exp 15; ``` could be figured out automatically such that we only need to write ``` coercions Exp; ``` Also, the levels...
Supporting parameterized syntax and parsing would be helpful for implementing compilation by micro-passes. E.g. consider a fragment of C with local variables, expressions, statements, and function definitions; we might want...
Currently, C and C++ parsers leak the entire syntax tree whenever a syntax error is encountered. Bison provides a mechanism for handling destruction when syntax fails to parse [Destructors](https://www.gnu.org/software/bison/manual/html_node/Destructor-Decl.html). However,...
While most of the generated files depend on the grammar and might frequently change, the `Makefile` only depends on name of the `.cf` file and parameters like `-d`. It is...
To make something like this possible : ``` CU. CompilationUnit ::= [PackageDecl] {ImportDeclaration} {TypeDeclaration} ``` giving rise to ``` data CompilationUnit = CU [PackageDecl] (Maybe ImportDeclaration) (Maybe TypeDeclaration) ```
Create a test suite from all examples in the book to make sure that, if we were to break compatibility with the book, we'd know it.