ホームページ >よくある問題 >高級言語で書かれたソースプログラムをターゲットプログラムに翻訳できるシステムソフトウェアとは何ですか?

高級言語で書かれたソースプログラムをターゲットプログラムに翻訳できるシステムソフトウェアとは何ですか?

青灯夜游
青灯夜游オリジナル
2021-01-22 17:36:0127293ブラウズ

高級言語で書かれたソースプログラムをターゲットプログラムに翻訳するシステムソフトウェアが「コンパイラ」です。コンパイラは、生成実装アプローチを使用して実装された変換プログラムであり、高級プログラミング言語で記述されたソース プログラムを入力として受け取り、アセンブリ言語または機械語で表現されたターゲット プログラムを出力として使用します。

高級言語で書かれたソースプログラムをターゲットプログラムに翻訳できるシステムソフトウェアとは何ですか?

このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。

高級言語で書かれたソースプログラムをターゲットプログラムに翻訳するシステムソフトウェアが「コンパイラ」です。

コンパイラ、コンパイル プログラム (コンパイラとも呼ばれる) は、高級プログラミング言語で書かれたソース プログラムを、機械語形式の同等のターゲット プログラムに翻訳する翻訳プログラムを指します。コンパイラは、生成的実装アプローチを使用して実装される翻訳プログラムです。高級プログラミング言語で書かれたソースプログラムを入力とし、アセンブリ言語や機械語で表現されたターゲットプログラムを出力とします。コンパイルされたターゲット プログラムは、通常、実行中のプログラムのサポートを受けて実行し、初期データを処理し、必要な計算結果を計算するために、実行段階も通過します。

機能:

コンパイラはソース プログラムを解析し、それをターゲット プログラムに合成する必要があります。まず、ソース プログラムの正当性をチェックし、それをいくつかの基本コンポーネントに分解し、次に、これらの基本コンポーネントに基づいて、対応する同等のターゲット プログラム部分を確立します。これらのタスクを完了するために、コンパイラは分析フェーズ中にいくつかのテーブルを作成し、分析および合成中に簡単に参照および処理できるようにソース プログラムを中間言語形式に変換する必要があります。

データ構造の分析と合成で使用される主なデータ構造には、シンボル テーブル、定数テーブル、中間言語プログラムなどがあります。シンボル テーブルは、ソース プログラムで使用される識別子とその属性で構成されます。属性には、型 (変数、配列、構造体、関数、プロシージャなど)、型 (整数、実数型、文字列、複合型など) が含まれます。 、ラベル)など)、およびターゲット プログラムで必要なその他の情報。定数テーブルは、ソース プログラムで使用される定数 (定数のマシン表現を含む)、および定数に割り当てられたターゲット プログラムのアドレスで構成されます。中間言語プログラムは、ソース プログラムをターゲット プログラムに変換する前に導入されるプログラムの中間形式であり、その表現の選択は、コンパイラが後でそれをどのように使用および処理するかによって決まります。一般的に使用される中間言語形式には、ポーランド語表現、トリプル、クアドルプル、および間接トリプルが含まれます。

ソースプログラムの一部の解析は、字句解析、構文解析、意味解析の3つのステップで行われます。字句解析は、字句解析プログラム (スキャナーとも呼ばれます) によって完了します。そのタスクは、単語 (つまり、識別子、定数、予約語、さまざまな演算子、句読点など) を識別し、記号テーブルと定数テーブルを作成し、変換 ソースプログラムをコンパイラが解析・処理しやすい内部形式に変換します。構文アナライザーはコンパイラーの中核部分であり、その主な役割は、ソース プログラムが言語の文法規則に従って文法的であるかどうかをチェックすることです。文法的でない場合は構文エラーメッセージが出力され、文法的である場合はソースプログラムの文法構造を分解して中間言語形式の内部プログラムを構築します。文法分析の目的は、単語がどのように文を形成し、ステートメントがどのようにプログラムを形成するかを理解することです。意味解析プログラムは、法的なプログラム構造が意味的に正しいかどうかをさらにチェックし、識別子や定数が正しく使用されていることを確認し、必要な情報を収集してシンボルテーブルや中間言語プログラムに保存し、対応する意味処理を実行することを目的としています。

関連する推奨事項: 「プログラミング学習

以上が高級言語で書かれたソースプログラムをターゲットプログラムに翻訳できるシステムソフトウェアとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。