ディレクティブ

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

ディレクティブ: Directive)は、プログラミングにおいてコマンドのような意味で使われる用語であり、プログラミング言語の一部の構成要素(例えば、コンパイラアセンブラに処理方法を指示する記述など)を指すこともある。

アセンブリ言語[編集]

アセンブリ言語では、対象プラットフォームに関する情報を指示するディレクティブや、セクション(命令部、データ部)の境界を示すディレクティブなどがある。例えば、"ALIGN" というディレクティブがよく使われるが、これはそのセクションでのワード境界を維持するよう必要なバイトを挿入するものである。つまり、ソースコード上に書かれていながら、生成されるコードとは一対一の対応がないものをディレクティブと呼ぶとも言える。

C言語のプリプロセッサ[編集]

C言語C++には、単純なマクロプリプロセッサがある。ソース上のプリプロセッサへの指示の記述を「プリプロセッサディレクティブ」と呼ぶ(#define#include など)。

文法的に似たものとして、C##region などもディレクティブと呼ばれるが、これらは必ずしもプリプロセッサで処理されるわけではない。

C#[編集]

C#では、以下のような複数の意味でディレクティブの用語を使用する。

プリプロセッサディレクティブは、コンパイラやコードエディタに対する処理方法の指示に利用される。 [1] #define#undef#if#endifなどのコンパイル対象指定の他、#region#endregionのような、コードエディタに対するブロックの指示機能もこれに含まれる。

using ディレクティブは、ファイル内で頻繁に利用する型やメンバを指定する機能である。 [2] 名前空間で細かく分割されたライブラリを、簡潔な記述で利用するための機能といえる。

  • using ディレクティブ : 名前空間を指定することで、その名前空間に所属する型を修飾せずに利用できる。
  • using static ディレクティブ : 完全修飾型名を指定することで、その型に所属する静的メンバを修飾せずに利用できる。
  • using エイリアス ディレクティブ : 完全修飾型名に別名(エイリアス)を指定することで、別名による型へのアクセスを利用できる。

他の高級言語での用法[編集]

Adaでは、コンパイラディレクティブを pragmas("pragmatic information" すなわち「実用情報」の略)と呼ぶ。

Turbo Pascalでは、ディレクティブを significant comments と呼ぶ。これは、文法上、ディレクティブがコメントと同じ構文であるためである。significant comment は、先頭にドル記号("$")があり、その直後に文字が続く。例えば、C言語の #include "file" は、Turbo Pascal では {$I "file"} となる。

Perlでは、キーワード "use" が "pragma" である(use strict;use utf8;)。この構文をディレクティブと呼ぶこともある[要出典]。ただし、シバンを Perl ディレクティブと呼ぶ例もある[1]

関連項目[編集]