The description of the elements subscribes to the following conventions:
UPPER_CASE non-quoted words must appear as typed;
an italicized word must be replaced with a member of its class;
The quotes ( " ), braces ( {, } ) and brackets ( [, ] ) must appear as typed;
< e1 | e2 | ... | en > means you must pick exactly one of the ei;
@ @ means that what appears between the @'s is optional.
{class}+ means 1 or more of class
{class}* means 0 or more of class