IR
IR(Intermediate Representation、中間表現(ちゅうかんひょうげん))
コンパイラからバイナリ、ネイティブコードに変換する際に生成する中間コード
バイトコードとも呼ばれる
中間言語(機械が解釈できる“機械語”と人間が読み書きできるソース言語の中間状態の言語)
code:図.mermaid
%%{init:{'theme':'neutral'}}%%
flowchart LR
Aソースコード--->|コンパイラ|B"中間表現(IR)<br/><br/>(バイトコード)"--->|"JITコンパイラ(VM)"|C"ネイティブコード(機械語)"
いろいろなバイトコード
Javaバイトコード
Cranelift IR
Emacs バイトコード
LLVM IR
WebAssembly
p-code
CIL(MSIL)
確認用
Q. なぜIRがあるのか
参考
中間表現 - Wikipedia
LLVM
仮想マシン(VM)