1

私は Xtext が初めてで、antlr の目的が xtext にあるのか疑問に思っています。これまでに理解したように、antlr は文法に基づいてパーサーを生成し、パーサーはテキスト モデルを処理します。右?そして、エディターやエコアのような他の生成されたものはどうですか. それらを生成する xtext の背後に他のコンポーネントはありますか?

4

2 に答える 2

2

Xtext には、定義した言語のパーサーを生成するためのパーサー ジェネレーターが必要です。彼らは自分たちのものを作ることができたでしょう。彼らは代わりに ANTLR を使用することにしました。

彼らが使用するために選択した可能性のある他のサードパーティの機械はわかりません。

于 2013-01-17T00:01:20.100 に答える
0

私は 1 つの Xtext ベースのプラグインをハッキングしてきましたが、見たところ、次のように機能すると思います。Xtext には独自の BNF 構文があり、ANTLR のものと非常によく似ています。実際、それはサブセットです。

Xtext は文法を取得し、そこから ANTLR を生成します (.g ファイル)。生成された ANTLR 文法は、特定のアクションを BNF ルールに追加します。アクション コードは、Xtext ランタイムおよび (おそらく) Eclipse 自体と対話します。.g ファイルは古いバージョンの ANTLR を使用して処理され、.java ファイルが生成されます。次に、このファイルがコンパイルされます。

于 2013-01-17T17:56:06.187 に答える