Andreas Abel

Results 583 issues of Andreas Abel

Currently, the delimiters for lists with layout are hardwired to the Haskell ones, `{ ; }`. This could be relaxed, by analysing which form of list layout keywords are followed....

enhancement
layout

The pragma e.g. `coercions Exp 3` should issue a warning if the grammar contains variants of `Exp` outside of the range 1-3. This is more likely a mistake than intention....

LBNF
error-reporting

[ Haskell ] Name created test parser as file, not Main (+) avoids conflicts with user-written Main module (-) harder to compile, needs ghc -main-is option Not sure whether this...

[ WIP #302 ] isUsedCat distinguishes between Internal and Parsable Haskell: prevent internal user token types to become part of the lexer. TODO: exclude them also from being mentioned in...

The C backend generates code for several entrypoints, but `bison` allows only one `start` symbol. Currently, the generated code for the other entrypoints is superfluous and maybe confusing. Maybe several...

enhancement
C++
C
parser
entrypoints

Haskell: if no `entrypoints` are given, everything is an entry point. Maybe we should have a special `entrypoints *` for that purpose, and otherwise default to the first category (like...

Haskell
LBNF
parser
error-reporting
language-change
entrypoints

The Haskell backend does not generate parsers for the token categories. These should be also listed as entrypoints, there is no good reason why not.

enhancement
Haskell
C++
C
Java
Java/ANTLR
parser
entrypoints

E.g. this should fail BNFC's well-formedness check. ``` separator nonempty Integer "," ; terminator Integer "" ; ```

bug
lists
LBNF

Declarations like ``` terminator Stm ""; separator Fun ""; ``` do not offer any information besides that `[Stm]` and `[Fun]` should be supported as list categories. These declaration could be...

enhancement
lists
LBNF

The following grammar should parse `⟦ ab c`. ``` Whatever. Main ::= Uni Foo Bar; token Uni '⟦' ; token Foo letter letter; token Bar (char - 'a'); ``` This...

bug
OCaml
C++
C
Java
Java/ANTLR
lexer