0

多くの場合、文法仕様で指定されている完全な AST は優れています。他のコードが構文の詳細を取得できるからです。

このAST フォレストを見てください。

ここに画像の説明を入力

私の ANTLR 生成パーサーは、プログラミング言語を静的に分析するためのものです。したがって、ツリーvariable -> base_variable_with_function_calls -> base_variable ...には関心がありません。

$d が複合変数であるという事実だけで、十分な詳細になります。

したがって、ANTLR が暗黙的に文法規則を解析するが、中間 AST ノードを作成しないように、何らかの方法で tar ANTLR 生成規則を一時的なものとして設定できますか?

明らかに、このようなタグは、単一の息子ノードを持つプロダクションにのみ適用できます。

4

1 に答える 1

1

いいえ、ANTLR 4 はこれをサポートしていません。生成された解析ツリーには、文法に一致するすべてのトークンが含まれ、RuleNode文法によって呼び出される for every ルールが含まれます。

于 2013-09-20T02:19:03.507 に答える