コンテンツにスキップ

ディレクティブ

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。YOUJI (会話 | 投稿記録) による 2011年2月17日 (木) 23:04個人設定で未設定ならUTC)時点の版 (関連項目: {{DEFAULTSORT:}})であり、現在の版とは大きく異なる場合があります。

ディレクティブ: 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]

関連項目