Метаданные времени выполнения ANTLR3 - PullRequest
2 голосов
/ 04 марта 2010

Как я могу узнать во время синтаксического анализа, какое правило в настоящее время соответствует? Я хотел бы автоматически создать XML (или другую объектную иерархию), представляющую проанализированный ввод, используя имена правил, без необходимости использования грамматических действий или деревьев.

Возможно ли это?

Большое спасибо, Яаков

1 Ответ

0 голосов
/ 04 марта 2010

AFAIK, это невозможно. Но почему бы вам не использовать встроенную в ANTLR конструкцию дерева? В части options{ } вашей грамматики добавьте output=AST; и используйте правила переписывания, где это применимо. Смотри: http://www.antlr.org/wiki/display/~admin/2008/11/30/Example+tree+rewriting+with+patterns

...