BNF Grammars

Backus-Naur Form (BNF) grammars are used as a tool for describing language and command syntax, for example:

select-statement : SELECT select-list FROM table-name [ restriction ] [ ordering ]

restriction : WHERE search-condition

ordering : ORDER BY sort-order

A BNF definition states that the named item given before the colon is written as described after the colon. For example, an ordering is written as ORDER BY followed by a sort-order (which may be defined elsewhere).

BNF expression

What it means

named-construction : expression

Declares that a named-construction is written as expression.

named-construction : expression1 expression2

Declares that a named-construction is written as either expression1 or expression2.


The word word, written literally.

exp1 exp2

exp1 followed by exp2.


exp is optional.

[ exp1 | exp2 ]

Either exp1 or exp2 or nothing.


exp is an entity or name that you specify.

exp +

expression, repeated one or more times.

exp *

expression, repeated zero, one or more times.