generated at
2/18/2025, 7:19:58 PM
3番地コード
three-address code
IR (中間表現)
の形式の一つ
以下の4つ組
変数名
演算子
被演算子1
被演算子2
特徴
コード最適化
に適している
木構造で保存するよりも消費メモリが小さくなる
2つの入力と1つの出力のアドレスを指定する形式
なので「three-address code」
x = y <op> z
のかたちに変換する
具体例
ref
a = 2 + b * 2 / c
を変換すると以下のようになる
ir
t1 = b * 2 t2 = t1 / c a = 2 + t2
3つ組の
2番地コード
というのもある
3番地コードの変数が無い代わりにkeyになる数値が割り振られる
1. (+, b, c)
、
2. (-, 1, a)
←この
1
は数値ではなくkeyの
1
を表す
https://www.fit.ac.jp/~m-ishihara/Lectures/H22/Compiler/12/Handout.pdf
参考
https://ja.wikipedia.org/wiki/3番地コード