コンピュータが直接実行できる言語は 2 進数で表現される機械語だけである。人が作成するソースプログラムをコンピュータが理解できる機械語に変換する必要がある。その作業を行うのがコンパイラ(言語プロセッサ)である。
ローダを使用してロードモジュールを主記憶装置にロードする。ローダとは、プログラムを主記憶にロードすることです。(つまり、実アドレスへの変換)
読込だソースプログラムを字句に分ける処理
字句をプログラミング言語の文法に従って解析する処理
変数や演算子が適切に使用されているかどうか調べる処理
プログラムの処理効率がよくなるようにコードを変更する処理
機械語は、 コンピュータがそれを読み込んで、 そのまま処理を進めることが出来るプログラムです。
機械語は、命令部(オペコード)と演算対象(オペランド)の値またはアドレスからなる。
【 中間言語 】(IL:Intermediate Language)
中間言語とは、コンパイラがプログラミング言語のソースコードから機械語に変換する途中で生成するプログラミング言語のことである。
ソースプログラム(原始プログラム)は、より人間の言葉に近い高水準言語で記述されており、コンピュータがそのまま実行することはできない。そのため、コンパイラによっていったん中間言語に置き換えられてから、機械語に翻訳され、実行可能なプログラムとなる。
ソースプログラムを様々な高水準言語で記述できるようになった今日、各種のソースプログラムを中間言語に置換して中間コードとし、リンケージエディタ(連係編集プログラム)により全体をまとめる作業は機械語への翻訳作業を効率よく行うのに不可欠となっている。
アセンブリ言語は機械語と 1 対 1 で対応していて、アセンブリ言語で書かれたプログラムは、 逐語訳のように機械語に翻訳されます。
アセンブラは、アセンブリ言語で書かれた原始プログラムを機械語に翻訳する言語プロセッサです。
www.it-shikaku.jp