menu
ホーム > IT用語集 > コンパイラ型言語(compiler language) | IT用語
UPDATE:

コンパイラ型言語(compiler language) | IT用語

IT用語辞典

  • コンパイラ型言語は人間がプログラム言語で記述したソースコードをコンパイラという仲介ソフトによってコンピューターで実行できる形式に変換するタイプのプログラム言語

コンパイラ型言語(compiler language)とは、人間がプログラム言語で記述したソースコード(設計図)をコンパイラという仲介ソフトによって、コンピューターで実行できる形式(オブジェクトコード、ネイティブコード、マシン語や機械語と呼ぶ)に変換するタイプのプログラム言語のことです。コンパイラ型言語は、C言語、C++、Java、などが有名です。世界で初めて実用化されたコンパイラは、1957年に開発されたFortranコンパイラです。

プログラム言語を実行処理する方式は大きく2つあります。それが、インタープリタ方式とコンパイラ方式です。プログラム言語は人間が理解できるように設計された言語です。人間にとっては都合が良いのですが、コンピューターには理解することはできません。プログラム言語で記述されたソースコードは、ソフトウェアの設計図であり、コンピューターへ命令を出す指示書でもあります。したがって、ソースコードをコンピューターでも理解できる、つまりCPU(Central Processing Unit:中央処理装置)で解釈可能な形式、所謂 マシン語や機械語と呼ばれるオブジェクトコード・ネイティブコードに変換する必要があります。そのため、インタープリタやコンパイラが変換処理を行います。結果、CPUで解釈実行され、コンピューターはソースコードに従って動作することが可能になります。

コンパイラによる変換をコンパイルと呼びます。コンパイルすることで出力されたオブジェクトコードは、そのままでは実行できません。通常、オブジェクトコードは、複数のソースコードファイルから生成され、ライブラリの形を成しています。これらを実行できるよう一繋ぎに結合しなければなりません。これをリンクと呼びます。このコンパイルとリンクの全行程をビルドと言います。ビルドが完了すると実行モジュールが生成され、実行可能な形態になります。

コンパイラには、幾つかの動作タイプがあります。コンパイラが完全にCPUで解釈できる機械語を出力するタイプをネイティブコンパイラと言います。CPUで解釈する機械語を出力せずに、中間コードを出力して別のインタープリタが最終出力を担うタイプを中間言語コンパイラ、バイトコードコンパイラと言います。また、開発環境とは別の環境で実行できるコードを出力するコンパイラをクロスコンパイラと呼び、同じ環境の場合はセルフコンパイラと呼びます。

コンパイルするタイミングでコンパイラの種類が2つに分かれます。これは、コンパイルをソフトウェアの実行時に行うタイプを動的コンパイラ、実行時コンパイラ(Just In Time Compiler:JITCompiler)と呼びます。これに対して、通常のコンパイラは、事前にコンパイルしているので、プリコンパイラ、事前コンパイラ(Ahead Of Time Compiler:AOTCompiler)と呼びます。

コンパイラ型言語は、インタープリタ型言語より性能が高く実行速度が速いという長所があります。一方で、コンパイラ型言語では、ソースコードが変更された場合、実行結果を確認するためには毎回ビルドする必要があります。ソースコードが多い場合は、ビルドの時間も長くなるのでとても非効率になります。効率化を図るため、近年のコンパイラではモジュール毎に分割してコンパイルする分割方式が採用され始めています。

同じプログラム言語でインタープリタ方式かコンパイラ方式の2つをどちらか選択できるタイプに改良された言語もあります。


タグ(=記事関連ワード)

日付

投稿日:2017年11月29日
最終更新日:

関連記事

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

https://wepicks.net/itglossary-compilerlanguage/trackback/

page top