bnfc icon indicating copy to clipboard operation
bnfc copied to clipboard

BNF Converter

Results 101 bnfc issues
Sort by recently updated
recently updated
newest added

Given grammar: ``` Priv. Decl ::= "private" "{" [Decl] "}" ; separator Decl ";" ; layout "private" ; ``` The following is accepted but should not, without top-level layout: ```...

Haskell
layout
discussion

This fails in some backends: ``` CNil. Chars ::= ; cSg. Chars ::= Char ; CSnoc. Chars ::= Chars Dot Char ; define cSg c = CSnoc CNil (Dot ".")...

define
position
token
Haskell/Functor
AST

BNFC generates various names (files, directories, classes, ...) based on the filename of the input grammar (e.g. `Lang.cf`). Not all backends will be able to deal with all legal choices...

The GADT version of the Haskell backend does not appear to respect `--text-token` or `--functor`; I don't know GADTs well enough to know if the functor representation is possible (though...

Haskell/GADT
lexer
Haskell/Functor

Here is a partial grammar of SQL that I'd like to add to the example suite: https://github.com/GrammaticalFramework/gf-contrib/blob/master/query-converter/MinSQL.bnf SQL has case-insensitive keywords. This is a feature we could add to BNFC...

lexer
LBNF
examples

This came up in an old issue I was looking at, concerning Cabal integration. (By the way, Stack integration may or may not work automatically if Cabal integration is added....

The `--functor` CLI option adds position information to the generated AST. It seems to do so except for `token`s. The language `position token` makes tokens include position info. Is there...

We would like the following aspects supported by a feature that allows us to define lists: 1. Concerning even AST: - several list categories for one category - non-empty vs....

enhancement
lists

When using the parser generated by the grammar fragment ``` position token TokLet {"let"}; position token TokIn {"in"}; ELet. Expr ::= TokLet "{" [Expr] "}" TokIn Expr; layout "let"; layout...

position
layout
token
AST

If we create a [tree-sitter](https://tree-sitter.github.io/tree-sitter/) backend, we could get basic editor support for all languages using BNFC with almost no work. Tree-sitter grammars are the defacto way of implementing highlighting...