高級プログラミング言語で書かれたソースプログラムをターゲットプログラムに変換することをコンパイラと呼びます。コンパイラは、高級プログラミング言語で記述されたソース プログラムを入力として受け取り、アセンブリ言語または機械語で表現されたターゲット プログラムを出力として受け取ります。
#この記事の動作環境: Windows 7 システム、Dell G3 コンピューター。
高級プログラミング言語で書かれたソースプログラムをオブジェクトプログラム(.OBJ)に変換するプログラムをコンパイラといいます。
コンパイラ、コンパイルプログラムはコンパイラとも呼ばれ、高級プログラミング言語で書かれたソースプログラムを機械語形式の同等のターゲットプログラムに翻訳する翻訳プログラムを指します。コンパイラは、生成的実装アプローチを使用して実装される翻訳プログラムです。高級プログラミング言語で書かれたソースプログラムを入力とし、アセンブリ言語や機械語で表現されたターゲットプログラムを出力とします。コンパイルされたターゲット プログラムは、通常、実行中のプログラムのサポートを受けて実行し、初期データを処理し、必要な計算結果を計算するために、実行段階も通過します。
コンパイラはソース プログラムを解析し、それをターゲット プログラムに合成する必要があります。まず、ソース プログラムの正当性をチェックし、それをいくつかの基本コンポーネントに分解し、次に、これらの基本コンポーネントに基づいて、対応する同等のターゲット プログラム部分を確立します。これらのタスクを完了するために、コンパイラは分析フェーズ中にいくつかのテーブルを作成し、分析および合成中に簡単に参照および処理できるようにソース プログラムを中間言語形式に変換する必要があります。
関連拡張の紹介:
コンパイラの基本的な機能は、ソース プログラム (高級言語) をターゲット プログラムに変換することです。しかし、実用価値のあるコンパイルシステムとしては、基本的な機能に加えて、構文チェック、デバッグ対策、修正方法、カバレッジ処理、ターゲットプログラムの最適化、異言語の利用、人間とコンピュータの連携などの重要な機能も備えていなければなりません。接触。
① 文法チェック:ソースプログラムが文法的に正しいかどうかをチェックします。文法的でない場合、コンパイラは文法的エラーの場所、性質、および関連情報を指摘する必要があります。コンパイルされたプログラムでは、ユーザーが一度にできるだけ多くのエラーを検出できるようにする必要があります。
②デバッグ対策:ソースプログラムが設計者の意図に沿っているかを確認します。この目的を達成するために、コンパイラは、変数値の変更、プログラム実行中に発生した回路など、ターゲット プログラムの実行中にプログラムの動的実行に関する情報を出力できるように、コンパイルされたターゲット プログラムにいくつかの出力命令を配置する必要があります。 、など。この情報は、ユーザーがソース プログラムがアルゴリズム要件を表現しているかどうかを確認および確認するのに役立ちます。
③修正手段: ソース プログラムを修正するための簡単な手段をユーザーに提供します。コンパイラーは通常、バッチ変更手段 (一時的に変更が困難な多数のエラーを変更するために使用) とオンサイト変更手段 (実行時に一時的に変更が容易な少数のエラーを変更するために使用) を提供します。
④カバー処理:主に長いプログラムと大量のデータを伴う大規模な問題プログラムを処理するために設定されています。基本的な考え方は、一部のプログラムセグメントとデータが特定の記憶領域を共有し、そこには現在使用されているプログラムまたはデータのみが保存され、一時的に使用されない残りのプログラムとデータは、まずディスクなどの補助記憶装置に保存されます。必要に応じて動的に転送できます。
⑤ ターゲット プログラムの最適化: ターゲット プログラムの品質を向上させます。つまり、必要なストレージ領域が少なくなり、プログラムの実行時間が短くなります。最適化の目標に応じて、コンパイラは式の最適化、ループの最適化、またはグローバル プログラムの最適化の実装を選択できます。ターゲット プログラムの最適化には、ソース プログラム レベルで実行されるものと、ターゲット プログラム レベルで実行されるものがあります。
⑥異なる言語の使用: この機能は、ユーザーが複数のプログラミング言語を使用してアプリケーションを作成したり、異なる言語で作成された既存のプログラム モジュールを適用したりするのに役立ちます。最も一般的なのは、高級言語とアセンブリ言語の組み合わせです。これにより、特定の非数値処理操作を表現したり、周辺機器やハードウェア レジスタへの直接制御やアクセスを行う際の高級言語の難しさを補うことができるだけでなく、アセンブリ言語でのコア プログラムの記述が容易になり、操作効率が向上します。
⑦人間とマシンの接続: コンパイラの実装計画を決定する際に、適切に設計された機能を実現します。その目的は、ユーザーがコンパイルおよび実行段階で内部の動作状況をタイムリーに理解し、システムの動作を効果的に監視および制御できるようにすることです。初期のコンパイラの実装計画は、上記の機能をコンパイラに完全に組み込むことでした。ただし、さまざまな言語での関数のデバッグ、変更、上書き、結合を支援するために、オペレーティング システムのサポートを利用してデバッガー、エディター、および接続アセンブラーを構成するのが一般的です。ただし、コンパイラーを設計するときは、これらのサブシステムとのインターフェース方法などの問題を慎重に考慮する必要があります。
(関連する推奨事項: プログラミング ビデオ)
以上が高級プログラミング言語で書かれたソースプログラムをターゲットプログラムに翻訳することを何と言いますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。