The jargon file writeup at BNF is "often incorrectly expanded as `Backus-Naur Form'." That is incorrect. update 3/3/2002: The jargon file entry has been correctly updated, but I hope some of the other info in this writeup is still useful.

The B in BNF, or Backus-Naur form, is named after its originator, John Backus. John Backus developed this formal notation for specifying programming language syntax as part of a paper he published in 1959 describing the ALGOL 58 language.

The N, however, is in honor of Peter Naur, who modified the notation for the description of ALGOL 60. Context-free grammars, which BNF describes, was discovered by Noam Chomski.

Although context-free grammars are extremely useful, they do not completely describe programming language rules. Semantic rules such as "variables must be declared before they are used" cannot be described using BNF.


Reference: Concepts of Programming Languages Fourth Edition, Robert W Sebesta, pp 107-108