3番地コード(英: Three-address code)とは、コンパイラにおける中間言語の一種で、コンパイラ最適化の実装に使われる。2つの入力と1つの出力のアドレス(メモリまたはレジスタ)を指定する形式であるため、3番地コードと呼ばれる。3番地コードの各命令は、4-タプル(命令コード、オペランド1、オペランド2、結果)で表現される。これは、次のような一般形式で表される。ここで、"x"、"y"、"z" は変数や定数、あるいはコンパイラが生成した一時変数である。"op" は命令(コード)であり、算術演算に相当する。複数の演算で構成される次のような式があるとする。これをそのまま3番地コードの1命令で表現することはできない。そのため、次のような2つの命令に分解される。オペランド数が違っていても「3番地コード」という呼び方をすることもある。3番地コードの本質は、各命令が正確に1つの基本的演算を実装している点であり、入出力オペランドには利用可能なレジスタが指定される。3番地コードを改良したものを静的単一代入形 (SSA) と呼ぶ。上記のC言語プログラムを3番地コードに変換すると、次のようになる。codice_1
出典:wikipedia
LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。