中間言語
出典: フリー百科事典『ウィキペディア(Wikipedia)』
[編集] コンピュータのプログラムにおける中間言語
中間言語(ちゅうかんげんご)は、コンピュータのプログラムにおいて、高級言語のソースコードと機械語の中間状態のこと。
人間が読むことのできる状態から、一度コンピュータ内部のデータ形式に置き換えられているが、そのままCPUが解釈して実行することはできない。BASICなどのインタプリタで実行速度の高速化のためによく利用される。
BASICの中間言語はバイトコードのような機械語的なコードではなく、字句解析のみを行い、予約語などを数値に変換しただけの状態。実行時の字句解析が不要になるが、ソースコードに戻して表示、編集することもできる。
Javaなどの中間言語(バイトコード)は、仮想CPUを想定し、そのCPUの機械語という形を取っている。バイトコードは、それを実行できるプログラムを用意することで単一のコードを複数種類のCPUで動作させることができる。
なお中間言語からは、比較的簡単にソースコードを復元、推定することが出来るものが多い。そのため、ソースコード保護の観点から、中間言語からソースコードを推定しにくい変換を行うツールなどが用いられることがある。
[編集] 言語学における中間言語
中間言語(ちゅうかんげんご)とは目標言語習得のある段階における目標言語とは様々な点で違った体系を持つ習得者に特徴的な言語のこと。
英語を例に取ると、私たち日本人が英語を話そうとした時に、その人の英語は、英語を母語とする人たちの話す英語とは違っているのが普通である。それは文法が少し間違っていたり、発音が少し違っていたり、個人によって異なる。 その異なった英語であり英語でない言語を指して中間言語と言う。
当然ながら、英語だけでなく、全ての言語において習得者に個別に中間言語は存在する。そして、中間言語は、習得者のその言語の習得レベルや学習内容、また習得者の母語や癖などに影響される。