読み方 : よつぐみけいしき
四つ組形式【quadruple】
概要

コンパイラはソースコードを機械語へ変換する過程で、「中間コード」(intermediate code)と呼ばれる表現をいったん経由することが多い。ソースコードと機械語の間には抽象度の隔たりがあり、複雑な式であっても単純な演算の連なりへ分解しておくことで、後続の処理を扱いやすくする狙いがある。四つ組形式は、この中間コードの代表的な表現方法の一つである。
例えば、「a = b + c * d」という式を処理する場合、まず乗算部分を (*, c, d, t1) という四つ組に変換する。t1は乗算結果を一時的に格納するために新しく用意した変数である。続いて、加算部分を (+, b, t1, t2)、代入を (=, t2, _, a) のように表す。演算のたびに一時変数を介して結果を受け渡すことで、複数の演算からなる式の処理順序を明確に追跡できる。
四つ組形式で中間コードを構成すると、演算結果の格納先が各命令に明記される。似た中間コードの表現に「三つ組形式」があるが、こちらは演算子と被演算子2つだけを組にし、結果は演算そのものを指す番号によって参照する仕組みである。三つ組形式では命令を並べ替えると参照番号がずれる恐れがあるのに対し、四つ組形式は結果を独立した変数として保持するため、命令の順序を入れ替えたり不要な計算を省いたりする最適化処理が行いやすくなる。
四つ組形式で整理された中間コードは、その後の最適化処理を経て、対象となるCPUの命令セットに適合した機械語へと変換される。中間コードという段階を挟むことで、対応する言語やCPUの組み合わせが増えても、コンパイラ全体の変換処理を効率よく構成できるようになる。
(2026.8.29更新)