I'm trying to write a .bnf for a domain-specific language using GrammarKit.
In this language (as in most languages), boolean expressions can be combined and nested within parentheses with arbitrary depth, including such expressions as ((true and ((true) or(false))) and (false or true)).
I would express this using left recursion as something similar to the following:
condition ::= lparen boolean rparen | boolean (and|or) boolean
but I don't know how to make GrammarKit bnf support this.