09:16 Jan 3
A vertical bar separates alternative items (use one only) unless it appears in boldface, in which case
it stands for itself, e.g.,
timing_mode_operator ::= -> | <- | <-> | <-X-> | ->X<-
e) Square brackets enclose optional items unless it appears in boldface, in which case it stands for
itself. For example:
result_definition ::= RESULT ( [ result_sequence ] )
indicates result_sequence is an optional syntax item for result_definition, whereas
pin_range ::= pin_name [ range_expression ] pin_name
indicates square brackets are part of the syntax for pin_range.
f) Braces enclose a repeated item unless it appears in boldface, in which case it stands for itself. The
item may appear zero or more times; the repetitions occur from left to right as with an equivalent
left-recursive rule. Thus, the following two rules are equivalent:
comma_expression_list ::= expression { , expression }
comma_expression_list ::= expression | comma_expression_list , expression
g) Parenthesis enclose items within a group (use one only) unless it appears in boldface, in which case
it stands for itself. In the following example:
bus ::= ( BUS physical_name { attribute } ( { net_ref } | { pin_ref } { node_ref } ) ) |