読み方 : げんごしょりけい
言語処理系【language processor】言語プロセッサ
言語処理系とは?

一般的には、人間が読み書きしやすいプログラミング言語で記述されたソースコードを、機械語(マシン語)などコンピュータが解釈・実行しやすい形式のオブジェクトコードに変換するソフトウェアをこのように呼ぶことが多い。
機械語の語彙と一対一に対応するアセンブリ言語で書かれたプログラムを扱う「アセンブラ」(assembler)、人間に分かりやすい高水準言語で書かれたプログラムを扱う「コンパイラ」(compiler)、高水準言語で書かれたプログラムを機械語に変換しながら同時に実行する「インタプリタ」(interpreter)などが含まれる。
言語処理系の内部では、字句解析や構文解析、意味解析、コード生成という段階を経てソースコードが処理される。字句解析では文字の並びを「トークン」(token)と呼ばれる最小単位に分割し、構文解析ではその並び方が文法に沿っているかを確認する。意味解析では変数の型の整合性など、文法だけでは検出できない誤りを検出する。最後に、目的の言語による表現を生成する。
多くの言語処理系は単なる言語間の翻訳機能にとどまらず、標準ライブラリの読み込みやメモリ管理、例外処理、デバッグ支援などの機能も備える。生成後のプログラムが仮想マシン(VM)によって動作する方式の場合には、「バイトコード」と呼ばれる中間形式を解釈し、実行時に最適化を行う仕組みが含まれることもある。実行中に頻繁に使われる部分を実行直前に機械語へ変換する「JITコンパイル」(Just-in-Time complile)を採用する例もあり、柔軟性と性能の両立を図ることができる。