Skip to main content

中間言語とは何ですか?

computerコンピュータープログラミングでは、ヒューマン読み取り可能なソースコードがコンパイラによって解析された場合、コンパイラはしばしばソースコマンドをネイティブマシンコードではないが、コンパイラーまたはその他によってさらに処理、最適化、またはコンパイルできる一連の命令に変換します。ソフトウェアツール。作成されたファイルには、コンパイラが使用する言語は、最初にコードを書くためにプログラマーが使用する言語にも意味がないため、中間言語であると言われている指示が含まれています。は、プログラムの執筆と実行の間の橋として機能する言語です。中間言語は、コンパイラが非常に正確な最適化を行うことができるようにするために使用されるために時々使用されるため、プログラムはより効率的に実行されますが、異なる互換性のないシステム間でポータブルな出力ファイルを生成するためにも使用できます。言語の実際の構文は、マシンコードまたは他のタイプの人間以外の読み取り可能なバイトコードに似ている場合があります。または、言語は既存のクロスプラットフォームコンピュータープログラミング言語にすぎない場合があります。ソースコードファイルとコマンドを中間言語に分割します。単一の人間読み取り可能なプログラミングステートメントは、多数の機械言語の命令に分類できるため、中間言語は、コンパイラが最初にコードをバインドすることなく最適化を行うことができるコードの領域を識別するために使用できるレベルの抽象化を作成します。ネイティブの実装またはライブラリ。完了したら、中間コードファイルをさらにコンパイルしてネイティブバイナリファイルを作成するか、インタープリターとして知られる別のプログラムで実行することができます。Java&Reg;などの言語は、中間言語を使用して、最適化されているだけでなく、他のコンピューターシステムにもポータブルなコンパイルされたファイルを作成します。このタイプのコードは、Bytecodeとして知られている場合があり、マシンコードまたはアセンブリ言語に似ています。ByteCodeは、プラットフォームに依存しない方法でファイルに保存されます。つまり、インタープリターを実行できるコンピューターシステムまたはデバイスに転送できます。ByteCodeがシステム上にあると、解釈されたプログラムとして実行するか、ターゲットシステムでネイティブに実行するようにコンパイルできます。インタラクティブなWebアプリケーションなどの終了ですが、デザイナーは、異なるシステム用のカスタムコンパイラ、通訳者、またはプラグインを含めたくありません。これらの場合、コンパイラの中間言語は、既にクロスプラットフォーム通訳を確立している既存の言語にすることができます。この場合、結果として生じる中間言語は人間が読みやすいです。中間言語としても使用されるコンピュータープログラミング言語の1つの例は、JavaScript&Reg;であり、2011年の時点で、あらゆるプラットフォーム上のほぼすべてのWebブラウザーで実行できるという利点があります。