All programming language grammars at http://www.lykkenborg.no/ are written in ISO/IEC 14977:1996 EBNF notation.
Using the grammars
Usually, you start by clicking the goal symbol CompilationUnit at the top of the document and continue clicking in a top-down fashion. But you could also click the goal symbol Input and continue in a bottom-up order. Read other rule definitions by clicking on the rule name. It is also possible to find the rules that references terminal and nonterminal symbols, by looking up the symbol in the index.
The grammars uses the following BNF-style conventions:
- [x] denotes zero or one occurrences of x.
- (x y) denotes grouping of x and y.
- x | y means one of either x or y.
- x, y means both x and y.
- x - y means x but not y.