 RealView Linker and Utilities Guide |
|
| BNF notation and syntax5.2.1. BNF notation and syntaxTable 5.1 summarizes the Backus-Naur Form (BNF) symbols that are used to describe a formal language. Table 5.1. BNF syntax | Symbol | Description |
|---|
" | Quotation marks are used to indicate that a character that is normally part of the BNF syntax is used as a literal character in the definition. The definition B"+"C, for example, can only be replaced by the pattern B+C. The definition B+C can be replaced by, for example, patterns BC, BBC, or BBBC. | A ::= B | Defines A as B. For example, A::= B"+" | C means that A is equivalent to either B+ or C. The ::= notation is used to define a higher level construct in terms of its components. Each component might also have a ::= definition that defines it in terms of even simpler components. For example, A::= B and B::= C | D means that the definition A is equivalent to the patterns C or D. | [A] | Optional element A. For example, A::= B[C]D means that the definition A can be expanded into either BD or BCD. | A+ | Element A can have one or more occurrences. For example, A::= B+ means that the definition A can be expanded into B, BB, or BBB. | A* | Element A can have zero or more occurrences. | A | B | Either element A or B can occur, but not both. | (A B) | Element A and B are grouped together. This is particularly useful when the | operator is used or when a complex pattern is repeated. For example, A::=(B C)+ (D | E) means that the definition A can be expanded into any of BCD, BCE, BCBCD, BCBCE, BCBCBCD, or BCBCBCE. |
|
|