\r\n\r\n
コンパイラと解釈器は、コンパイラがソースコードを実行可能なマシンコードにコンパイルし、解釈器が各命令を解釈して実行し、マシン/ターゲットコードを生成しない点で、高度な言語プログラムを翻訳します。コンパイラの仕事は使い捨てで、プログラムがコンパイルされると。後で実行するために保存できますが、プログラムが実行されるたびに解釈する必要があります。コンパイラの場合はターゲットコードを生成し、解釈器ではターゲットコードを生成しない。中間コードのみを生成します。コンパイラは基本的にプログラムを処理するが,解釈器は命令に従ってプログラムを処理する.コンパイラでは、プログラムの実行速度が速く、解釈では文ごとの解釈と実行に時間がかかるため、遅くなります。コンパイラでは、デバッグプロセスは解釈器でデバッグするよりもずっと困難です。コンパイラは、実行時にソースコードを必要としませんが、解釈器の場合は、プログラムを実行するために完全なソースファイルが必要です。コンパイラは、生成されたマシンコードがかなり大きいため、より多くのメモリが必要ですが、解釈器には追加のメモリは必要ありません。コンパイラでは、プログラム内のエラーは完全なソースコードを分析した後に表示されますが、解釈器では、解釈の行ごとにエラーが表示されます。コンパイラの場合、コンパイルされたコードはコンピュータハードウェアによって実行され、解釈器では、中間コードは別のプログラムによって処理されます。プログラミングシーンでは、コンパイラはプログラムの構文をチェックしますが、解釈器はプログラムのキーワードを検証します。コンパイラには、実行時にコードを変更できるコード最適化の範囲があります。この2つの方法は、プログラマーがよく使用しているもので、独自の規範と利点があります。
ターゲット | 翻訳 | コンパイラ |
入力 | 解釈器は単一の命令を入力とする。 | コンパイラはプログラム全体を入力します。 |
ターゲットコード | インタプリタでは中間ターゲットコードは生成されません。 | 中間ターゲットコードはコンパイラで生成されます |
せいぎょぶん | 解釈器では条件制御文の実行が遅い。 | 条件制御文はコンパイラで迅速に実行されます |
へんかん | 上級プログラムは毎回低レベルプログラムに変換されます。 | プログラムは毎回コンパイラでコンパイルする必要はありません。 |
コンパイラは、ある高度な言語で作成されたソースコードをコンピュータが理解できるマシンコードに処理する専門的なプログラムです。このマシンコードは実際にはバイナリ言語で記述されており,プロセッサはそれを理解して実行することができる。ソースコードを記述するために、プログラマはC言語、C++言語、またはPascal言語を使用してプログラムを記述し、いくつかのプログラミングエディタを使用します。次に、ソースコードを記述するのに適した言語のコンパイラを使用してプログラムを実行します。コンパイラの入力は完全なプログラムです。まず分析し、処理します。入力されたソースコードに対して、文法や文法分析を含む多くの分析を実行します。この2つのステップを完了した後、コンパイラの最終的なタスクはマシンコードを生成することです。このコンパイルの出力はターゲットコードであり、実行可能です。プログラムは一度だけコンパイルされ、プログラムが実行されるたびにコンパイルする必要はありません。
解釈器は,ある高度な言語で記述されたプログラムソースコードに対して逐条文(逐行)翻訳を実行するプログラムである.解釈器は、プログラムが与えられたときに、その行を受け入れ、解釈し、実行します。解釈器は、ソースコードを解釈した後に中間コードを生成し、実行する。コンパイルフェーズもマシンコードも生成されていません。これが、解釈器がプログラム全体を行ごとに翻訳し、実行する方法です。コマンドごとに直ちに実行する必要がある場合は、これが優先です。特にコードテストが完了した後に役立ちます。プログラムが実行されるたびに、解釈器は同じように解釈されます。
コンピュータアーキテクチャとそれに関連する用語の理解は、上記の2つの用語が類似しており、それらの間には様々な違いがあるが、常に互いに類似しているように見える面倒なタスクである可能性がある。そこで,本稿ではそれらの違いを説明し,明確な認識を確立するのに役立つことを試みた。