8

抽象構文ツリーを構築する ANTLR3 文法があります。ANTLR4へのアップグレードを検討しています。ただし、ANTLR4 は解析ツリーのみを構築し、抽象構文ツリーは構築しないようです。たとえば、output=ASTオプションが認識されなくなりました。さらに、「The Definitive ANTLR4 reference」のテキストには「AST」「抽象構文」も登場しません。

私は何かが欠けているのだろうかと思っています。

私のアプリケーションは現在、ANTLR3 によって生成された AST をクロールする方法を認識しています。解析ツリーを処理するように変更することは不可能ではありませんが、少し手間がかかります。その道を歩み始める前に、それが必要であることを確認したい.

4

1 に答える 1

7

ANTLR 4 は、任意の AST 演算子や書き換え規則に基づく AST ではなく、文法に基づく解析ツリーを生成します。これにより、ANTLR 4 は、文法を使用してコードに実装できるリスナーおよびビジター インターフェイスを自動的に生成できます。

この変更は、既存のアプリケーションをバージョン 3 からアップグレードするユーザーにとっては劇的なものになる可能性がありますが、全体として、新しいシステムは使用と (特に) 保守がはるかに簡単です。

于 2013-04-04T23:48:52.073 に答える