「中間言語」の版間の差分
ナビゲーションに移動
検索に移動
3行目: | 3行目: | ||
[[プログラマー]]が書いた[[ソースコード]]は人間が書く都合上、文法ミスなどが発生するが、文法チェックや構文解析などの比較的重い処理を事前にやっておき、問題がなければ中間言語として保存しておくことで、[[インタプリタ]]における実行速度を高速化したり、[[コンパイラ]]においてプラットフォームに依存しない最適化を行う際に用いられる。 | [[プログラマー]]が書いた[[ソースコード]]は人間が書く都合上、文法ミスなどが発生するが、文法チェックや構文解析などの比較的重い処理を事前にやっておき、問題がなければ中間言語として保存しておくことで、[[インタプリタ]]における実行速度を高速化したり、[[コンパイラ]]においてプラットフォームに依存しない最適化を行う際に用いられる。 | ||
− | 中間言語のうち、1[[バイト]]の[[オペコード]] | + | 中間言語のうち、1[[バイト]]の[[オペコード]]と続くパラメーター(オプションなのでパラメーターが無いこともある)で表す、かなりマシン語に近い実装形式を[[バイトコード]]という。 |
ただし、近年では1[[バイト]]の[[オペコード]]で表現する実装形式でなくとも[[バイトコード]]と呼ばれることが多くなっており、よほどの偏屈相手でも無い限り、バイトコードと中間言語と区別する必要はない。 | ただし、近年では1[[バイト]]の[[オペコード]]で表現する実装形式でなくとも[[バイトコード]]と呼ばれることが多くなっており、よほどの偏屈相手でも無い限り、バイトコードと中間言語と区別する必要はない。 | ||
なお、偏屈な[[マイクロソフト]]は[[.NET Framework]]で用いる中間言語([[共通中間言語]])に可変長の[[オペコード]](と言ってもせいぜい2バイトだが)を採用し「[[マネージドコード]]」と名乗っている。 | なお、偏屈な[[マイクロソフト]]は[[.NET Framework]]で用いる中間言語([[共通中間言語]])に可変長の[[オペコード]](と言ってもせいぜい2バイトだが)を採用し「[[マネージドコード]]」と名乗っている。 |
2012年4月24日 (火) 13:37時点における版
中間言語(intermediate language)とは、プログラミング言語をもちいて書かれたソースコードを、コンピュータが理解できる唯一の言葉であるマシン語に直接変換せず、中間的な形式に置き換えたもののことである。中間コード(intermediate code)と呼ばれることもある。
プログラマーが書いたソースコードは人間が書く都合上、文法ミスなどが発生するが、文法チェックや構文解析などの比較的重い処理を事前にやっておき、問題がなければ中間言語として保存しておくことで、インタプリタにおける実行速度を高速化したり、コンパイラにおいてプラットフォームに依存しない最適化を行う際に用いられる。
中間言語のうち、1バイトのオペコードと続くパラメーター(オプションなのでパラメーターが無いこともある)で表す、かなりマシン語に近い実装形式をバイトコードという。 ただし、近年では1バイトのオペコードで表現する実装形式でなくともバイトコードと呼ばれることが多くなっており、よほどの偏屈相手でも無い限り、バイトコードと中間言語と区別する必要はない。 なお、偏屈なマイクロソフトは.NET Frameworkで用いる中間言語(共通中間言語)に可変長のオペコード(と言ってもせいぜい2バイトだが)を採用し「マネージドコード」と名乗っている。
関連項目
参考文献
外部リンク
」