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

スキャッタロード記述構文では標準の BNF 表記を使用します。

以下のテーブルに、スキャッタロード記述の構文を記述するために使用されるバッカスナウア記法(BNF)シンボルをまとめます。

表 8-1 BNF 記法

シンボル 説明
" 二重引用符は、通常は BNF 構文の一部である文字が定義の中でリテラル文字として使用されることを示す場合に使用します。たとえば、定義 B"+"C は、パターン B+C のみに置き換えられます。また、定義 B+C は、パターン BCBBC、または BBBC に置き換えられます。
A ::= B AB として定義します。以下に例を示します。 A::= B"+" | C は、AB+ または C のいずれかと等価であることを意味します。::= は、上位の構造体をそのコンポーネントによって定義するために使用されます。各コンポーネントには、さらに単純なコンポーネントに関連してそれを定義する ::= 定義を使用することもできます。たとえば、A::= BB::= C | D は、A の定義が パターン C または D に等しいことを意味します。
[A] オプションの要素 A を表します。たとえば、A::= B[C]D の場合、定義 A BD または BCD として解釈されます。
A+ 要素 A が 1 つ以上あることを表します。たとえば、A::= B+ の場合、 定義 A B、 BB、または BBB として解釈されます。
A* 要素 A が 0 個以上あることを表します。
A | B 要素 A または B のどちらかが出現する可能性があり、両方出現することはないことを意味します。
(A B) 要素 A および B が一緒にグループ化されることを意味します。このシンボルは、| 演算子が使用される場合、または複雑なパターンが繰り返される場合に特に便利です。たとえば、A::=(B C)+ (D | E) の場合、定義 A BCD、 BCEBCBCDBCBCEBCBCBCD、または BCBCBCE のいずれかに解釈されます。
関連する参考文書
8.2 スキャッタファイルの構文
8.4.3 実行領域の属性
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.