Problem Solving: Backus-Naur Form
Backus-Naur Form (also known as Backus Normal Form (BNF) or BNF for short) is a notation technique to express syntax of languages in computing. The expression is put in lists and can be used to see if syntax that is written is valid. Backus-Naur means "not in normal form compared to convention".
Structure and Layout
[edit | edit source]Symbols
[edit | edit source]BNF is represented using the following symbols:
::= 'is defined as' | 'or' <> category names
The way that these symbols are laid out are as such:
<Parent Expression> ::= <Child Expression 1> | <Child Expression 2>
In plain English, the expression above means "The parent expression is defined as the child expression 1 or the child expression 2". This means that to make up the parent expression, it must have a child expression and a child expression is made up of other things.
Example
[edit | edit source]In this example, The BNF structure is breaking down the syntax to create
Practice Questions
[edit | edit source]
Using the BNF from the example above about addresses, state whether each input is a valid input. 15 Jubilee Lane Blackpool England FY98 5ER Answer: YES 15 Jubilee Lane Blackpool England FY423 5ER Answer: NO 32 Parkstone Road Syston England Leicester LE7 3ZY Answer: NO |