Как получить предыдущий TOKEN_RULE в VisitTerminal? - PullRequest
0 голосов
/ 15 октября 2019

Для этой грамматики:

ACTION_ESCAPE
   : EscAny -> type (ACTION_CONTENT)

В visitTerminal (узел TerminalNode) вызов ANTLRv4Lexer.VOCABULARY.getSymbolicName(node.getSymbol().getType()) дает мне имя токена ACTION_CONTENT, но как мне получить ACTION_ESCAPE / EscAny

1 Ответ

1 голос
/ 15 октября 2019

Вы можете получить тип правила, соответствующего вводу EscAny, поскольку вы явно изменили значение токена на ACTION_CONTENT. Единственный способ идентифицировать токен - это тип токена.

Если вы хотите использовать оригинальный тип, не заменяйте его в первую очередь.

...