|
3番地コード(英: Three-address code)とは、コンパイラにおける中間言語の一種で、コンパイラ最適化の実装に使われる。2つの入力と1つの出力のアドレス(メモリまたはレジスタ)を指定する形式であるため、3番地コードと呼ばれる。 == 概要 == 3番地コードの各命令は、4-タプル(命令コード、オペランド1、オペランド2、結果)で表現される。これは、次のような一般形式で表される。 : ここで、''x''、''y''、''z'' は変数や定数、あるいはコンパイラが生成した一時変数である。''op'' は命令(コード)であり、算術演算に相当する。複数の演算で構成される次のような式があるとする。 : これをそのまま3番地コードの1命令で表現することはできない。そのため、次のような2つの命令に分解される。 : : オペランド数が違っていても「3番地コード」という呼び方をすることもある。3番地コードの本質は、各命令が正確に1つの基本的演算を実装している点であり、入出力オペランドには利用可能なレジスタが指定される。 3番地コードを改良したものを静的単一代入形 (SSA) と呼ぶ。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「3番地コード」の詳細全文を読む スポンサード リンク
|