Backus Naur Form (BNF)
BNF
is a commonly used methodology to describe the syntax of
programming languages. Originally, BNF stood for "Backus
Normal Form. It was named after John Backus who had used BNF
to describe the syntax of ALGOL 60. In 1964, Donald Knuth
renamed the syntax "Backus Naur Form" to honor the contributions made
by Peter Naur1.
For
more information:
- "Specifying Syntax" (PDF) -
chapter 1 of Formal
Syntax and Sematics of Programming Languages: A Laboratory Based
Approach by Kenneth Slonneger and Barry L. Kurtz,
Addison-Wesley, 1995.
- BNF
for ALGOL-60 - The BNF description of the ALGOL-60
programming language
- The BNF Web Club - BNF
descriptions of several langauges including: SQL, Java, Ada, and LISP.
- BNF and C++ - An introduction to
BNF and simple example of C++
- What is BNF? - an introduction by
Th. Estier
- Grammar
Tutorial - Robert B. Heckendorn gives a brief overview
Reference:
1. "Backus
Normal Form vs. Backus Naur Form" by Donald E. Knuth. Communications
of the ACM, Vol.
7, No. 12, December 1964.