4 プログラムとプログラム言語

プログラムは,最終的には'0'と'1'のビット列である機械語に変換されて実行される.しかし,どれも 同じような方法で.機械語に変換される訳ではない.

4.0.0.1 アセンブリ言語

機械語のビットパターンを人間に分かりやすいように記述した言語である.人間が書いた プログラムは,機械語と1対1の関係があり,簡単に機械語に直せる.これは,アセンブラー というプログラムで機械語に直す.諸君が学習したCASL IIはアセンブリ言語の一つであ る.

4.0.0.2 高級言語

人間に分かりやすいプログラミング言語である.マシン語と1対1の関係はなく,コンパイ ラーが記述内容に従いマシン語に翻訳する.同じ言語で書いた同一のプログラムでも,コ ンパイラーが異なれば,異なるマシン語になる.諸君が学習したC言語やFortranは高級言 語である.

4.0.0.3 インタプリタ

高級言語のコンパイラーは実行に先立って,すべて機械語に変換する.変換した機械語を 一気に実行するために,計算速度は速い.それに対して,インタプリタは,実行時にプロ グラムの各行ごと,機械語に変換して実行を行う.私は,インタプリタであるプログラミ ング言語PerlやPHPをよく使う.

4.0.0.4 中間言語

高級言語とインタプリタの中間的な方法で機械語に変換する.プログラムは実行に先立っ て,機械語に近い中間言語に変換する.CPUが異なってもこの中間言語は,同一とする. このようにすることにより,インタプリタより高速に動作させることができる.また,高 級言語のようにCPU毎に機械語を用意する必要もない.プログラミング言語Javaがこの方 式で実行されることが多い.


ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成19年12月14日


no counter