Extended BNF (Backus-Naur Form)
The Extended Backus-Naur Form adds the regular expression syntax of regular languages to the BNF notatation, in order to allow very compact specifications. Context-free grammars are frequently used to specify programming languages, operating system commands, and other types of computer input.
Numerous variants of BNF and EBNF have been introduced and practically every compiler-design textbook and programming-language standard defines its own version. While a BNF notation can be specified in a few sentences, the proper definition of EBNF requires a little bit more explanation, and therefore frequently only BNF is used although the result is much less readable.
The ISO 14977 standard finally defines a common uniform precise EBNF syntaxt, such that not every textbook and standard has to define its own BNF flavour and can easily reference a comprehensive standard EBNF form. ( For more info on this try ... ).
Nicklaus Wirth, developer of popular languages like Pascal and Modula-2, made a contribution to the popularity of EBNF using this notation in the formal definition of that languages.
Example of EBNF notation:
symbol ::= expression