Я пишу индентор кода, используя ANTLR4 и Java. Я успешно сгенерировал лексер и парсер. И подход, который я использую, состоит в том, чтобы пройтись по сгенерированному дереву синтаксического анализа.
ParseTreeWalker mywalker = new ParseTreeWalker();
mywalker.walk(myListener, myTree);
Автоматически сгенерированный *BaseListener имеет методы, подобные приведенным ниже...
@Override public void enterEveryRule(ParserRuleContext ctx) { }
Я очень новичок в ANTLR. Но, как я понимаю, мне нужно расширить *BaseListener и переопределить соответствующие методы и написать код для отступа. Итак, мой вопрос: какие методы я должен переопределить для отступа во входном файле кода? Или, если есть альтернативный подход, который я должен использовать, пожалуйста, дайте мне знать.
Спасибо!