中間言語とは何ですか?

コンピュータープログラミングでは、ヒューマン読み取り可能なソースコードがコンパイラによって解析された場合、コンパイラは多くの場合、ソースコマンドをネイティブマシンコードではなく、コンパイラやその他のソフトウェアツールによってさらに処理、最適化、またはコンパイルできる一連の命令に変換します。作成されたファイルには、中間言語であると言われる指示が含まれています。これは、コンパイラが使用する言語は、より大きなオペレーティングシステムにとって意味がなく、プログラマが最初にコードを書くために使用される言語ではなく、プログラムの執筆と実行の間のブリッジとして機能する言語です。中間言語は、コンパイラが非常に正確な最適化を行うことを可能にするために使用されるために時々使用されるため、プログラムはより効率的に実行されますが、異なる互換性のないシステム間でポータブルな出力ファイルを生成するためにも使用できます。言語の実際の構文は、マシンコードまたは他のタイプの人間以外のrに似ることができますEadable bytecode、または言語は、既存のクロスプラットフォームコンピュータープログラミング言語にすぎない場合があります。

コンパイラの最適化に使用すると、言語コンパイラはソースコードファイルで各ステートメントを取得し、コマンドを中間言語に分割します。単一の人間読み取り可能なプログラミングステートメントは、多数の機械言語の命令に分解できるため、中間言語は、コンパイラが最初にネイティブの実装やライブラリにバインドすることなく最適化を行うことができるコードの領域を特定するために使用できるレベルの抽象化を作成します。完了したら、中間コードファイルをさらにコンパイルしてネイティブバイナリファイルを作成するか、インタープリターとして知られる別のプログラムで実行できます。これにより、必要に応じてネイティブ命令にコンパイルしてコードを実行します。

Java®などの一部の言語は、Intermeを使用しています最適化されているが、他のコンピューターシステムにも移植可能なコンパイルされたファイルを作成するための語学言語。このタイプのコードは、Bytecodeとして知られている場合があり、マシンコードまたはアセンブリ言語に似ています。 ByteCodeは、プラットフォームに依存しない方法でファイルに保存されます。つまり、インタープリターを実行できるコンピューターシステムまたはデバイスに転送できます。 ByteCodeがシステム上にあると、解釈されたプログラムとして実行するか、ターゲットシステムでネイティブに実行するようにコンパイルできます。

場合によっては、コンピューター言語は、インタラクティブなWebアプリケーションなど、特定の目的に向けて簡単にプログラムできるように設計されていますが、設計者は異なるシステムにカスタムコンパイラ、通訳者、プラグインを含めたくありません。これらの場合、コンパイラの中間言語は、既にクロスプラットフォーム通訳を確立している既存の言語にすることができます。この場合、結果として生じる中間言語は人間が読みやすいです。コンピュータープログラムの一例中間言語としても使用されるNG言語はJavaScript®であり、2011年の時点で、あらゆるプラットフォーム上のほぼすべてのWebブラウザーで実行できるという利点があります。

他の言語

この記事は参考になりましたか? フィードバックをお寄せいただきありがとうございます フィードバックをお寄せいただきありがとうございます

どのように我々は助けることができます? どのように我々は助けることができます?