(c) Or.
This operation allows us to specify alternatives in the pattern.
If the 'I' symbol appears between two characters, then there is a match i f and only i f
either of the characters appears in the text.
(d) Closure.
This operation allows parts of a pattern to be repeated arbitrarily. I f we have the
closure symbol '*', then there is a match if and only if the symbol occurs zero or more
times. I f we have the closure symbol '+', then there is a match i f the symbol occurs
one or more times. Closure will be denoted by placing the * or + symbol after the
character, set, or group to be repeated.
2.2 7064 Grammar
The 7064 command language is formally described by a "grammar", i.e. a set of "production
rules" that concisely describes the set of strings that are valid 7064 command sequences.
The rules consists of: "terminal" symbols like '(', ';', 7064 command names, and digits;
"non-terminal" symbols like <cmd>, <unsigned integer const>, and <trig_cmd>, which are
internal to the grammar, are "metasymbols", which describe the meaning of the productions.
Within production rules, character literals are enclosed i n single quotes " i n order to
distinguish them from metasymbols.
One non-terminal symbol (in this case <cmdlist>) is "distinguished" in the sense that a string
of terminal symbols is a valid 7064 command if there is some way to use the productions to
"derive" that string from the distinguished non-terminal symbol (i.e. <cmdlist>) by replacing
(in any number of steps) a non-terminal by any of the "or" clauses on the right-hand side of
a production for that non-terminal symbol.
B-2