Skip to main content

コンパイラとは何ですか?

compilerコンパイラは、人間の読み取り可能なテキストファイルをコンピューターがより簡単に理解できるフォームに変換する特別なタイプのコンピュータープログラムです。最も基本的なレベルでは、コンピューターは1とA 0の2つのことしか理解できません。このレベルでは、人間は非常にゆっくり動作し、1Sおよび0Sの長い文字列に含まれる情報を理解できません。コンパイラは、このギャップを橋渡しするコンピュータープログラムです。最初は、コンパイラはシンボルを

ビット、1、0Sにのみ変換できる非常にシンプルなプログラムでした。プログラムも非常にシンプルで、元々はコンピューターが理解できるデータに手で翻訳された一連の手順で構成されていました。これは非常に時間のかかるタスクであったため、このタスクの一部は自動化またはプログラムされており、最初のコンパイラが作成されました。このプログラムは、ステップバイステッププログラムを実行するために必要な手順を組み立て、コンパイルしました。新しいバージョンを使用すると、より多くのルールをコンパイラプログラムに追加して、人間のプログラマーがより自然な言語構造を操作できるようにすることができます。これにより、執筆プログラムが容易になり、より多くの人々がプログラムを書くことができました。より多くの人々がプログラムを書き始めたとき、より洗練されたコンパイラを作るために、プログラムの執筆に関するより多くのアイデアが提供され、使用されました。このようにして、コンパイラプログラムは進化し、改善し、使いやすくなり続けています。特定の言語構造は他のタスクよりも特定のタスクに適しているため、特定のタスクまたは言語用に特定のコンパイラが開発されました。一部のコンパイラは、MultiStage

またはMultiple Pass

です。最初のパスは非常に自然な言語を取り、コンピューターの理解可能な言語に近づくことができます。2番目または3番目のパスでは、実行可能ファイルである最終段階に移動できます。multistageコンパイラの中間出力は、通常、コンピューターで使用できないため、擬似コードと呼ばれます。擬似コードは、コンピュータープログラムのように非常に構造化されており、自由に流れるのではなく、より自然な言語のように冗長です。最終出力は、コンピューターによって実際に実行または実行されるものであるため、

実行可能ファイル

と呼ばれます。このようにタスクを分割すると、各サブタスクが異なるため、より洗練されたコンパイラを簡単に書き込むことができました。また、コンピューターが何を求められているかを理解するのに苦労した場所をコンピューターが指摘しやすくなりました。compilerプログラムを理解する際にコンパイラを制限するエラーは、

構文エラー

と呼ばれます。プログラムの機能の方法のエラーロジックエラー。ロジックエラーは、見つけて修正するのがはるかに困難です。構文エラーはスペルミスのようなものですが、ロジックエラーは文法エラーに少し似ています。クロスコンパイラを使用すると、特定のメーカーによって設計されたあるコンピューター向けに記述されたテキストファイルセットを、別のメーカーが別のコンピューターでコンパイルして実行するように設計されています。たとえば、Intelコンピューターで実行するために書かれたプログラムは、Motorolaが開発したコンピューターで実行するためにクロスコンパイルされる場合があります。これは頻繁にうまく機能しません。コンピュータープログラムが動作するレベルでは、コンピューターハードウェアがあなたに似ている場合でも、非常に異なって見えることがあります。crossクロスコンピレーションは、あるコンピューターを別のコンピューターにエミュレートすることとは異なります。コンピューターが別のコンピューターをエミュレートしている場合、それは他のコンピューターのふりをしています。2つのプログラムが一度に実行されているため、エミュレーションはクロスコンピレーションよりも遅くなることがよくあります。これは、他のコンピューターと実行中のプログラムのふりをしているプログラムです。ただし、クロスコンピレーションが機能するには、両方のオリジナルが必要ですプログラムと、プログラムが異なるコンピューターで実行するために機能することができる元のコンピューターと十分に類似したコンピューターを説明する自然言語テキスト。これは常に可能であるとは限らないため、両方のテクニックが使用されています。