Andreas Abel

Results 583 issues of 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...

bug
internal rules
lexer
parser

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...

enhancement
lexer
LBNF

Given this `.cf` file: ``` Start. S ::= [[E]] ; Atom. E ::= Integer; separator E "*" ; separator [E] "+" ; ``` and this test input: ``` 5 *...

bug
OCaml
Haskell
C
Java
Haskell/GADT
lists

``` comment "--(" "--)"; ``` reports ``` Warning: comment delimiters longer than 2 characters ignored in Haskell: --( - --) ```

enhancement
OCaml
comments

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:...

enhancement
C++
position

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...

enhancement
Testing

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...

Testing
Windows

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...

enhancement
LBNF

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...

enhancement

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...

enhancement