John Backus, a programming language designer at IBM, proposed a metalanguage of “metalinguistic formulas” to describe the syntax of the new programming language IAL, known today as ALGOL 58 (1959). His notation was first used in the ALGOL 60 report.

BNF is a notation for Chomsky’s context-free grammars. Apparently, Backus was familiar with Chomsky’s work.

Further development of ALGOL led to ALGOL 60. In the committee’s 1963 report, Peter Naur called Backus’s notation Backus normal form. Donald Knuth argued that BNF should rather be read as Backus–Naur form, as it is “not a normal form in the conventional sense”, BNF is described by Peter Naur in the ALGOL 60 report as metalinguistic formula.

The Backus-Naur Form (BNF) is a convenient means for writing down the grammar of a context-free language. Niklaus Wirth’s Extended Backus-Naur Form (EBNF) 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.

Wirth syntax notation (WSN) is a metasyntax, that is, a formal way to describe formal languages. Originally proposed by Niklaus Wirth in 1977 as an alternative to Backus–Naur form (BNF). It has several advantages over BNF in that it contains an explicit iteration construct, and it avoids the use of an explicit symbol for the empty string (such as

WSN has been used in several international standards, starting with ISO 10303-21

The ISO 14977 standard finally defines a common uniform precise EBNF syntax, such that not every textbook and standard has to define its own BNF flavour, but can easily reference a comprehensive standard EBNF form.

**Documents**

J.W. Backus Syntax and_Semantics of the Proposed_International Algebraic Language

Revised Report on the Algorithmic Language Algol 60

What can we do about the Unnecessary Diversity of Notation for Syntactic Definitions?, Wirth, 1977

Wirth syntax notation – Wikipedia

ISO- 14977 paper

s026153_ISO_IEC_14977_1996(E) standard

BNF WAS HERE: Vadim Zaytsev