Andreas Abel
Andreas Abel
In a grammar like ``` Parsable. Exp ::= Integer ; Internal. Exp ::= String; ``` The definition of `String` should not end up in the lexer, and no parser for...
BNFC passes this ```lbnf EId. Expr ::= Ident; EAdd. Expr ::= Expr "+" Expr; token Ident (letter (letter)*); ``` but it fails in the Haskell backend: ``` happy -gca Ident/Par.y...
Given this `.cf` file: ``` Start. S ::= [[E]] ; Atom. E ::= Integer; separator E "*" ; separator [E] "+" ; ``` and this test input: ``` 5 *...
``` comment "--(" "--)"; ``` reports ``` Warning: comment delimiters longer than 2 characters ignored in Haskell: --( - --) ```
Position tokens lack support in the following backends, the test #235 fails now for these backends (since I added a position token declaration to the test case). - [x] Agda:...
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...
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...
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...