## Notations

The syntax of the language is given in BNF-like notation. Terminal
symbols are set in typewriter font (like this).
Non-terminal symbols are set in italic font (like that).
Square brackets […] denote optional components. Curly brackets
{…} denotes zero, one or several repetitions of the enclosed
components. Curly bracket with a trailing plus sign {…}^{+}
denote one or several repetitions of the enclosed components.
Parentheses (…) denote grouping.