8

Delphi 用のパーサー コードまたはパーサー コンポーネント、または入力として BNF (Backus-Naur Form) 表記を受け入れ、解析を行うための Delphi (またはパスカル) コードを生成するプログラムはありますか?

この理由は、さまざまなバージョンのGEDCOM 標準(系図に使用される) に従ってデータ セットを完全に解析しようとしており、トークンに到達するたびにファイルを状態から状態へと処理する必要があるためです。私は自動化されたプログラムが、基本的なパスカル コードをセットアップして状態から状態への処理を行うという単調な作業を行うことを好みます。

それ以外の場合は、状態構造を自分で手動で構築する必要があります。

次の質問を見ました ( TinyPGは良さそうですが、Delphi コードが必要です): BNF 文法を指定して C# を出力するパーサー ジェネレーター?

そのような獣がいない場合、この作業を容易にする他のツールはありますか?

4

1 に答える 1

6

GOLD解析システムをお勧めします。GOLD 文法は、Backus-Naur 形式と正規表現に基づいています。

資力

エンジン

Delphi 用のエンジンは、特にここにリストされています。

これは、 Rob van den Brinkによる Object Pascal に関するもので、興味深いかもしれません。

見積もり:

Rob van den Brink は、彼のエンジンを Object Pascal プログラミング言語用に更新しました。彼の実装では、プログラム テンプレートを使用して、完全に機能するプログラムを作成します。このアプローチでは、解析テーブルがソース コードに直接埋め込まれます。その結果、Compiled Grammar Table ファイルをロードする必要はありません。ダウンロードには、プログラム テンプレートといくつかの例が含まれています。

GOLDを使ったサンプルプロジェクト

GOLD は強力で、ここ(bitbucket.org)でホストされている Delphi コンパイル ユニット (dcu ファイル) デコンパイラであるdcu2pasの解析エンジンとして使用されます。で書かれていることに注意してください。

于 2012-02-23T05:28:43.047 に答える