This issue was first discussed in the mailing list
The lbnf reference specify that "An identifier is a nonempty sequence of letters, starting with a capital letter." but bnfc will accept a rule such as cat . Type = "Foo";, generating invalid haskell code.
Instead, bnfc should detect the invalid identifier and print a error message.
This issue was first discussed in the mailing list
The lbnf reference specify that "An identifier is a nonempty sequence of letters, starting with a capital letter." but bnfc will accept a rule such as
cat . Type = "Foo";, generating invalid haskell code.Instead, bnfc should detect the invalid identifier and print a error message.