ホームページ  >  記事  >  高級言語で書かれたソースプログラムをターゲットプログラムに変換できるものは何ですか?

高級言語で書かれたソースプログラムをターゲットプログラムに変換できるものは何ですか?

青灯夜游
青灯夜游オリジナル
2020-11-03 17:02:4156435ブラウズ

高級言語で書かれたソースプログラムをターゲットプログラムに変換するのが「コンパイラ」です。コンパイラとは、高級プログラミング言語で書かれたソース プログラムを機械語形式の同等のターゲット プログラムに翻訳する翻訳プログラムを指します。コンパイラは高級プログラミング言語で書かれたソース プログラムを入力として受け取り、アセンブリ言語を使用します。入力としてまたは機械語を使用し、出力としてターゲット プログラムを表します。

高級言語で書かれたソースプログラムをターゲットプログラムに変換できるものは何ですか?

#高級言語で書かれたソースプログラムをターゲットプログラムに変換するのが「コンパイラ」です。高級言語で書かれたプログラムを「ソースプログラム」、バイナリコードで表現されたプログラムを「ターゲットプログラム」といい、ソースプログラムを機械が認識できるターゲットプログラムに変換することを「ターゲットプログラム」といいます。 「コンパイラ」によって完成します。

コンパイラ、コンパイルプログラムはコンパイラとも呼ばれ、高級プログラミング言語で書かれたソースプログラムを機械語形式の同等のターゲットプログラムに翻訳する翻訳プログラムを指します。コンパイラは、生成的実装アプローチを使用して実装される翻訳プログラムです。

コンパイラは、高級プログラミング言語で記述されたソース プログラムを入力として受け取り、アセンブリ言語または機械語で表現されたターゲット プログラムを出力として受け取ります。コンパイルされたターゲット プログラムは、通常、実行中のプログラムのサポートを受けて実行し、初期データを処理し、必要な計算結果を計算するために、実行段階も通過します。

特長

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

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

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

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

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