BNF - Syntax Diagrams

From TRCCompSci - AQA Computer Science
Revision as of 16:43, 18 February 2018 by AJackson (talk | contribs) (BNF)
Jump to: navigation, search

BNF

Backus Naur Form is a way of describing the syntax of a value to form a new value.
For example:
<digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
This declares that <digit> can only be the numbers 0-9, specifically 0 OR 1 OR 2 OR 3 etc.

This notation can also be recursive:
<integer> ::= <digit> | <digit><integer>
This states that an integer can be a digit or a digit followed by another integer.

Quiz

To see if you remember what you have learned about BNF, take this quick test either by yourself, or with friends: https://play.kahoot.it/#/?quizId=cad3ec51-29de-45d6-968d-6a95958553f2

Syntax Diagrams

These are a diagram approach similar to BNF, they also describe the syntax allowed.

Syntaxdiagram.gif

A recursive example:

Recursivesyntax.jpg