IT資格用語解説基本情報技術者試験・コンパイラ理論
中間言語
更新日:
用語解説
中間言語又は中間表現(IR)は、ソース言語の解析結果を、特定の高水準言語と対象機械の間で扱いやすい形式に表したものです。
■ 試験で押さえるポイント
三番地コード、静的単一代入形式、バイトコード、抽象構文木に近い高水準IR等、最適化段階と目的に応じ複数レベルがあります。
フロントエンドが各ソース言語を共通IRへ変換し、バックエンドがIRから各CPU向けコードを生成すれば、言語と機種の組合せ実装を減らせます。
制御フロー、型、データ依存を明示して解析・最適化しやすくし、ソースより機械寄りでも特定CPU命令そのものとは限りません。
仮想機械で直接実行又はJITコンパイルされる中間コードもあります。目的プログラムとの境界は処理系の設計で異なります。
■ 選択肢での判断ポイント
ソースと目的コードの間に置き、複数言語・複数CPUへの移植性と最適化を助ける表現です。
例: Cと別言語を同じIRへ変換し、IR用最適化を共用した後、x86用とARM用の各バックエンドで機械語を生成します。