A notation used to describe the syntax of programming languages. It provides a structure to define how symbols can be combined to form valid strings in a langauge. Developed for FORTRAN
Concepts
BNF Rules
- Terminals are simply written out.
while - Non-terminals are enclosed in angle brackets:
<statement> - Productions are in the form:
<nonterminal> ::= <sequence of terminals or nonterminals> - We can use
|to represent or
Examples
<digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<integer> ::= <digit> | <digit><integer>
<floating point> ::= <integer>.<integer>