ディレクティブ
プログラミングにおけるディレクティブ(英: directive、指示・指令・等)は、手続き型プログラムの構成要素の一つを指す用語であり、〔手続き型プログラムの〕制御部にあって、その性質によって手続き部の起動・終了を従わせる[1]、とJISにはあるが、これは従来の言語のそれを説明したもので、手続き型言語ではないHaskellの処理系Glasgow Haskell Compilerにも、全く同様なpragmaというものがある[2]。
アセンブリ言語
[編集]アセンブラディレクティブ(英: assembler directive)[3]は、〔アセンブリ言語において〕環境に関する情報や領域(英: section)の境界を提示してプログラムのアセンブルを制御する[4]。
例えば多くのアセンブラでは、ALIGNディレクティブで、コード内の現在の位置をワード境界に揃えるため必要なバイトを挿入する[5][6][7]。
COBOL
[編集]COBOLにおける翻訳指示(英: compiler directive)は、文字列の置換や選択機能の指定、翻訳変数の定義・並びに条件付き翻訳などの制御を行う[8][9]。
C言語
[編集]〔C言語における〕前処理指令は、C言語の翻訳の初期段階[注釈 1]で、前処理機構によって処理される[10]。
代表的なものとしては#define、#include、#error等がある[10]。
C♯
[編集]C♯において、前処理指令は、その名に反して前処理機構によっては処理されず、字句解析段階の一部として処理される[11][注釈 2]。
規格の詳細に立ち入ることは避けるが、#define等の条件付き翻訳用記号が(C言語における前処理機構がするように)字句解析段階で具体的な処理が施される一方で、#region等の制御指令によって定めた領域は翻訳段階において特別扱いされることなく、専らプログラム作成者や関連する補助機構に対して効果がある[11]。
using指令は、他の名前空間で定義されている名前空間及び型の利用が可能になり、又using別名指令によって特定の翻訳単位又は名前空間本体内で別名を使用できる[11]。
他の高水準言語での用法
[編集]Adaでは、プラグマ(英: pragma)を用いて、翻訳系に対して、手続き・関数を呼出しの場所に埋込み・展開して翻訳するよう指令できる[12][13]。
脚註
[編集]註釈
[編集]出典
[編集]- ↑ JISX0128 1988.
- ↑ https://downloads.haskell.org/~ghc/latest/docs/users_guide/exts/pragmas.html 2025年10月31日閲覧。
- ↑ FSF-AD.
- ↑ JISX0007 2001.
- ↑ ARM-ALIGN 1997.
- ↑ Johnson 2009.
- ↑ NASMA 2017.
- ↑ IBM-COBOL.
- ↑ JISX3002 2011.
- 1 2 JISX3010 2003.
- 1 2 3 4 JISX3015 2008.
- ↑ 筧 1980.
- ↑ 筧 1981.
参考文献
[編集]- 筧 捷彦「Ada: 米国国防総省新言語」『情報処理』第21巻第9号、情報処理学会、1980年9月15日、NAID 110002753820、2022年10月10日閲覧。
- 筧 捷彦「プログラミング言語の最新の動向: 13. ADA」『情報処理』第22巻第6号、情報処理学会、1981年6月15日、2022年10月10日閲覧。
- “Assembler Directives”. Free Software Foundation, Inc.. 2020年6月4日閲覧。
- “IBM Enterprise COBOL for z/OS V6.2 資料”. IBM Enterprise COBOL for z/OS V6.2 資料. IBM. 2020年6月4日閲覧。
- “ARM Software Development Toolkit Reference Guide”. ARM Information Center. ARM (1997年). 2020年6月4日閲覧。
- “using ディレクティブ (C# リファレンス)”. using ディレクティブ - C# リファレンス. Microsoft (2015年7月20日). 2020年6月4日閲覧。
- 規格
- JIS X 0128:1988「プログラム構成要素及びその表記法」(日本産業標準調査会、経済産業省)
- JIS X 0007:2001「情報処理用語−プログラミング」(日本産業標準調査会、経済産業省)
- JIS X 3010:2003「プログラミング言語C」(日本産業標準調査会、経済産業省)
- JIS X 3002:2011「電子計算機プログラム言語COBOL」(日本産業標準調査会、経済産業省)
- JIS X 3015:2008「プログラミング言語C#」(日本産業標準調査会、経済産業省)
- 資料
- Peter Johnson (2009年). “Yasm User Manual” (英語). 2019年12月21日閲覧。
- NASM Authors (2017年). “NASM - The Netwide Assembler” (英語). 2019年12月21日閲覧。