Can BNF consist of zero rules? I am trying to use BNF to describe its own grammar to get used to it. What I can not find any information about is whether BNF must consist of zero or more rules or one or more rules. The difference would be:

&lt;grammar&gt; ::= &lt;grammar&gt; &lt;rule&gt; | &lt;rule&gt;


vs.

&lt;grammar&gt; ::= &lt;grammar&gt; &lt;rule&gt; | ""


The only difference I can see is that an empty language can be described by an emtpy BNF in the second case, but must use &lt;grammar&gt; ::= "" in the first case.
Concretely speaking, the Backus-Naur form is a notation for context-free grammars, applied to the (formal) description of languages at the syntactical level.

While there are extended versions of BNF that have been standardized, the BNF itself hasn't, so there is no way of determining if the empty grammar is "legal" BNF.

As a mathematical object, the possibility of an empty grammar will depend on the definition (of grammar) used. A grammar that has no productions is usually said to define the empty language, but any grammar whose set of possible terminal derivations is empty is also a candidate definition of the empty language.