TinyPG とは何ですか? また、どのように機能しますか? 「コンパイラ-コンパイラ」であることは知っていますが、C# で独自のコンパイラを作成するにはどうすればよいですか?
質問する
2386 次
1 に答える
8
おおよその使い方は理解できましたので、簡単に説明します。
TinyPGは完全なコンパイラ-コンパイラ IDE であり、RegExp、EBNF、および C#/VB 用の Windows GUI を備えています。TinyPG 内で独自の「コンパイラ」を開発する手順の概要を以下に示します。
正規表現を使用して端末を定義します。
- これらの ReyExp を TinyPG 内に記述します。TinyPG は、基本的に入力ソース コードからトークンを抽出します。
- 正規表現は .NET でネイティブにサポートされています。つまり、生成された「コンパイラ」コードでも .NET の正規表現が使用されます。
拡張 BNFメタ構文で非終端記号とパーサー ルールを定義します。
- TinyPG 内に EBNF を記述して、選択した言語を記述します。
- 最新のプログラミング言語を説明するいくつかの無料のBNF グラマー。
マネージ コードでコンパイラを定義します。
- TinyPG 内に C#/VB コードを記述して、トークンを選択した出力に変換します。
- BNF 文法規則ごとに 1 つの C#/VB コード ブロックのみ。
- TinyPG は、コマンドライン コンパイラを使用して、「トークナイザ + パーサー + コンパイラ」をコンパイルおよび実行できます。
TinyPG は、新しい「コンパイラ」用の C# コードを生成します。
- EBNF と共に RegEx を使用して、入力されたソース コードから解析ツリーを生成します。
- C#/VB コードを使用して、この解析ツリーを出力に変換します。
C# または VB.NET でコンパイラのフロントエンドを開発します。
- 基本的なフロント エンドは、生成された C# クラスを入力ファイルで呼び出し、出力を表示します。
まず、提供されている TinyPG のサンプル内の「単純な式 2.tpg」ファイルを開いて、電卓「コンパイラ」のデモを確認できます。
于 2009-09-07T09:33:47.110 に答える