BNF - Syntax Diagrams
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.
A recursive example: