Is there a good description somewhere for the BNF format used by Grammar-Kit? I can see general documentation for Grammar-Kit and the tutorials for creating language plugins but many of them just gloss over the BNF part.
Specifically I'm investigating if it might be possible to make an IntelliJ parser for either Mercury or Oxygene. The difficulty is that Mercury has a fairly complex set of operators ( http://www.mercurylang.org/information/doc-release/mercury_ref/Builtin-Operators.html#Builtin-Operators ) and none of the example grammars in the tutorials show how to deal with precedence, and only one example briefly and incidentally mentions how to do associativity. Do we have to do it old-school and have a separate parser rule for every level of precedence?