プログラミングにおける指示 (英: directive,ディレクティブ)とは, 特に手続き型プログラムの構成要素の一つを指す用語であり, 〔手続き型プログラムの〕制御部にあって,その性質によって手続き部の起動・終了を従わせる[1]。
アセンブラ指示文(英: assembler directive)[2]は,〔アセンブリ言語において〕環境に関する情報や領域(英: section)の境界を提示してプログラムのアセンブルを制御する[3]。
例えば多くのアセンブラでは,ALIGN
指示文を認識して,はコード内の現在の位置をワード境界に揃えるため必要なバイトを挿入する[4][5][6]。
COBOLにおける翻訳指示(英: compiler directiveは, 文字列の置換や選択機能の指定,翻訳変数の定義・並びに条件付き翻訳などの制御を行う[7][8]。
〔C言語における〕前処理指令は,C言語の翻訳の初期段階[注釈 1]で, 前処理機構によって処理される[9]。
代表的なものとしては#define
,#include
,#error
等がある[9]。
C#において,前処理指令は,その名に反して前処理機構によっては処理されず, 字句解析段階の一部として処理される[10][注釈 2]。
規格の詳細に立ち入ることは避けるが,
#define
等の条件付き翻訳用記号が(C言語における前処理機構がするように)
字句解析段階で具体的な処理が施される一方で,
#region
等の制御指令によって定めた領域は翻訳段階において特別扱いされることなく,
専らプログラム作成者や関連する補助機構に対して効果がある[10]。
using
指令は,他の名前空間で定義されている名前空間及び型の利用が可能になり,
又using
別名指令によって特定の翻訳単位又は名前空間本体内で別名を使用できる[10]。
Adaでは,プラグマ(英: pragma)を用いて, 翻訳系に対して,手続き・函数を呼出しの場所に埋込み・展開して翻訳するよう指令できる[11][12]。