ANTLR4:在 python 的标签中使用 getText()

ANTLR4: Use getText() in label of python

我目前在使用 ANTLR4 时遇到了一个问题。我之前使用过 ANTLR4 并在 Java 中生成了 类。每当我找到要执行的标签时,我就可以:ctx.label.getText() 获取标签中的文本。

现在我想在 Python3 中做同样的事情,但是,它不起作用。 例如在这个语法中,当我尝试访问值时。

expression
    : LPARENS expression RPARENS       
    | ...                                     
    | value=(INTEGER | FLOAT | BOOLEAN | STRING | HOLE)                         
    ;

尝试访问 ctx.value.getText() 时出现以下错误:

print(ctx.value.getText()) AttributeError: 'CommonToken' object has no attribute 'getText'

因为我在使用 antlr4 和 python 方面还很陌生,想知道有什么解决方法。

在令牌的情况下,value=TOKEN,它是 .text:

print(ctx.value.text)

在解析器规则的情况下,value=expression,那么它是 value.getText(),我相信。