ディレクティブ
ディレクティブ(英: Directive)は、プログラミングにおいてコマンドのような意味で使われる用語であり、プログラミング言語の一部の構成要素(例えば、コンパイラやアセンブラに処理方法を指示する記述など)を指すこともある。
アセンブリ言語
アセンブリ言語では、対象プラットフォームに関する情報を指示するディレクティブや、セクション(命令部、データ部)の境界を示すディレクティブなどがある。例えば、"ALIGN" というディレクティブがよく使われるが、これはそのセクションでのワード境界を維持するよう必要なバイトを挿入するものである。つまり、ソースコード上に書かれていながら、生成されるコードとは一対一の対応がないものをディレクティブと呼ぶとも言える。
C言語のプリプロセッサ
C言語やC++には、単純なマクロプリプロセッサがある。ソース上のプリプロセッサへの指示の記述を「プリプロセッサディレクティブ」と呼ぶ(#define
や #include
など)。
文法的に似たものとして、C# の #region
などもディレクティブと呼ばれるが、これらは必ずしもプリプロセッサで処理されるわけではない。
他の高級言語での用法
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]。