The characters |, (, ), [, ], and * are special.
Terminal symbols are strings of any characters embedded in quotes (").
Nonterminal symbols are strings of nonspecial italic characters.
Alternative items are separated by a vertical bar (|).
Optional items are enclosed in brackets.
Items are grouped by enclosing them in parentheses.
A * following an item means 0 or more occurrences of the item.
For example, consider the following pattern:
"a " "very" (", " " very")* [" cold " "and"] " rainy " ("day" | "night")
An infinite number of strings match this pattern. A few of them are:
a very rainy day a very, very rainy day a very cold and rainy day a very, very, very cold and rainy night