Oracle® Solaris 11.2 リンカーとライブラリガイド

印刷ビューの終了

更新: 2014 年 7 月
 
 

指令の構文

mapfile 指令は、出力オブジェクトのさまざまな側面を指定するために存在します。これらの指令は共通の構文を共有しています。属性に名前と値のペアを使用し、階層およびグループを表すために {...} 構文を使用します。

mapfile 指令の構文は、次の一般的な形式に基づきます。

もっとも簡単な形式は、値を持たない指令の名前です。

        directive;

次の形式は、指令の名前に、値または空白区切りの値のリストが付いたものです。

        directive = value....;

示されている「=」代入演算子のほかに、「+=」および「-=」形式の代入も使用できます。「=」演算子は、指定された指令を、指定された値または値リストに設定します。「+=」演算子は、右側の値を現在の値に追加するために使用され、「-=」演算子は値を削除するために使用されます。

さらに複雑な指令では、複数の属性を {....} 括弧で囲んで、複数の属性を 1 つの単位としてグループ化して操作します。

        directive [name] {
                attribute [directive = value];
        ....
        } [name];

開き括弧 ({) の前に名前を置くことができ、指定されたステートメントの結果に名前を付けるために使用されます。同様に、閉じ括弧 (}) の後ろで終端のセミコロン (;) の前に、1 つ以上のオプションの名前を置くことができます。これらの名前は、定義される項目が、ほかの名前付き項目と関係があることを表すために使用されます。

グループ内の属性の形式は、上記で説明した同じ構文を使用します。つまり、単純な指令に、値が付いたものか、代入演算子 (=+=-=) の後に値が付いたものか、または空白区切りの値のリストが付いたもので、セミコロン (;) で終了します。

指令が持つ属性にはサブ属性を持たせることができます。そのような場合、サブ属性も階層を示すために、入れ子の {....} 括弧でグループ化されます。

        directive [name] {
                attribute {
                        subattribute [= value];
                ....
                };
        } [name....];

mapfile 構文の文法では、入れ子が許可される深さに制限がありません。入れ子の深さは、指令の要件のみに依存します。