It depends on how formally you want to describe the language. The Backus-Naur form is intended to describe context-free grammars. Therefore, if you want to describe context-free grammar, the Backus-Naur form is probably the way to go, as this is the most common known form for describing these.
However, if you want to describe your semantics or more complex grammars, you will need other tools. If you also want to describe your semantics, you need to choose between a small degree or a large power semantics based on linguistic characteristics, such as using recursion.
Note that if your grammar cannot be expressed using a context-free grammar, then BNF will not be sufficient to express your language at all, and you may need to consider the description of your language in a context-sensitive grammar.
source share