如何在 visitTerminal 中获取上一个 TOKEN_RULE?
How to get previous TOKEN_RULE in visitTerminal?
对于这个语法:
ACTION_ESCAPE
: EscAny -> type (ACTION_CONTENT)
在 visitTerminal(TerminalNode node) 中,对 ANTLRv4Lexer.VOCABULARY.getSymbolicName(node.getSymbol().getType())
的调用为我提供了令牌名称 ACTION_CONTENT
,但如何获得 ACTION_ESCAPE
/EscAny
?
您无法获取与输入 EscAny
匹配的规则类型,因为您已明确将标记值更改为 ACTION_CONTENT
。识别令牌的唯一方法是令牌类型。
如果你想要原来的类型,那么一开始就不要替换它。
对于这个语法:
ACTION_ESCAPE
: EscAny -> type (ACTION_CONTENT)
在 visitTerminal(TerminalNode node) 中,对 ANTLRv4Lexer.VOCABULARY.getSymbolicName(node.getSymbol().getType())
的调用为我提供了令牌名称 ACTION_CONTENT
,但如何获得 ACTION_ESCAPE
/EscAny
?
您无法获取与输入 EscAny
匹配的规则类型,因为您已明确将标记值更改为 ACTION_CONTENT
。识别令牌的唯一方法是令牌类型。
如果你想要原来的类型,那么一开始就不要替换它。