スキャッタロード記述構文で使用される BNF 記法

Table 3 は、形式言語の記述に使用されるバッカスナウア記法(BNF)のシンボルを示しています。

Table 3. BNF 記法 

シンボル説明
"二重引用符は、通常は BNF 構文の一部である文字が定義の中でリテラル文字として使用されることを示す場合に使用します。 例えば、定義 B"+"C は、パターン B+C のみに置き換えられます。 また、定義 B+C は、パターン(例えば、BCBBC、または BBBC)に置き換えられます。
A ::= BAB として定義します。 例えば、A::= B"+" | C は、AB+ または C のいずれかと等価であることを意味します。 ::= は、そのコンポーネントにおける上位の構成を定義するために使用されます。 各コンポーネントには、さらに単純なコンポーネントに関連してれを定義する ::= 定義を使用することもできます。 例えば、A::= BB::= C | D は、A の定義がパターン C または D に等しいことを意味します。
[A]オプションの要素 A を表します。 例えば、A::= B[C]D の場合、定義 ABD または BCD として解釈されます。
A+要素 A が 1 つ以上あることを表します。 例えば、A::= B+ の場合、定義 ABBB、または BBB として解釈されます。
A*要素 A が 0 個以上あることを表します。
A | B要素 A または B のどちらかが出現する可能性があり、両方出現することはないことを意味します。
(A B)要素 A および B が一緒にグループ化されることを意味します。 このシンボルは、| 演算子が使用される場合、または複雑なパターンが繰り返される場合に特に便利です。 例えば、A::=(B C)+ (D | E) の場合、定義 ABCDBCEBCBCDBCBCEBCBCBCD、または BCBCBCE として解釈されます。

Show/hide関連項目

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0493GJ
Non-ConfidentialID051612