0

ANTLR で Javascript ソース処理ツールを構築したいと考えています。Mozilla の Javascript エンジン Spidermonkey はすでに Javascript を解析して AST (それ自体が Javascript オブジェクト ツリー) を出力できるため、必要なのは ANTLR のツリー文法機能を利用してその AST を解析することだけです。独自の Javascript ソース パーサー文法を作成する必要はありません。

しかし、問題は、ANTLR のツリー文法が認識できる形式に外部 AST をどのようにインポートするかということです。The Definitive ANTLR Referenceによると、おそらく独自のTreeAdaptorを作成する必要があります。しかし、どのメソッドをオーバーライドする必要がありますか? Spidermonkey の AST は、さまざまなノード タイプがさまざまなステートメントに使用される異種ツリーです。この異種ツリーを、単一のCommonTreeタイプがすべてのノードに使用されるANTLR が処理できるツリー形式に手動でマッピングする必要があります。

私の ANTLR ターゲット言語は Javascript でも何でもかまいません (Spidermonkey によって生成される AST は Javascript オブジェクト ツリーであるため)。

4

0 に答える 0