コンパイラ,マクロとは

スポンサーリンク

鍛錬 181

コンパイラ,マクロとは

マクロとは言語処理の形態において、文字列・記号列を置換によって別の文字列・記号列に変換する手法のことをいいます。

マクロプロセッサ

マクロを実行するためのソフトウェアのことを、マクロプロセッサといいます。
マクロプロセッサは、「マクロ定義」や「マクロ呼び出し」が埋め込まれている文字列(原始テキスト)を入力として受け取ります。

マクロ定義

マクロ定義は、以下の 2 つの要素によって構成されています。

  • 置換される文字列のパターン
  • 置換される文字列を、どのように変換するのかを指示するマクロ本体

マクロ呼び出し

マクロ呼び出しとは、原始テキストに埋め込まれている、マクロを呼び出すためのパターンのことをいいます。

マクロ展開

マクロ展開とは、以下に示すマクロプロセッサによる置換操作のことをいいます。

  • マクロ呼び出しに対応する。
  • マクロ定義に従ってパターンをマクロ本体に置換し、出力テキストを作成する。
  • パターン以外の部分は、そのまま複写する。

通常、マクロ展開は様々な状況に対応した制御を行うために、マクロ変数や制御構造が含まれます。

高級プログラミング言語におけるマクロ

C言語等、マクロの機能を持つプログラミング言語は、コンパイラが原始プログラムをマクロ展開したものを、コンパイルの対象とします。

つまり高級プログラミング言語におけるマクロは、原始プログラム上の置換であり、以下に示す内容を実現することを可能とします。

  • 表現力の向上
  • 条件付きコンパイルの実現
  • 方言の吸収
  • 言語の変換・拡張
タイトルとURLをコピーしました