我尝试使用Python3目标跟随Antlr4 reference book,但我陷入了计算器示例。在Antlr4 docs上说
AntLR的Python实现尽可能接近Java,所以你不应该发现很难适应Python的例子
但我还没有得到它。
java代码访问者使用.visit
方法,在python中我没有这种方法。我认为这是因为在java中,访问方法具有令牌的参数重载。在python中,我们有visitProg()
,visitAssign()
,visitId()
等。但现在我无法写value = self.visit(ctx.expr())
,因为我们不知道访问的内容是什么?
或者我错过了某处的指示?
答案 0 :(得分:2)
Python2 / 3目标还没有实现访问者。我试图自己实现它,并向该antlr人发送一个pull请求,看看我是否正确执行了。请点击此处的拉取请求:https://github.com/antlr/antlr4-python3/pull/6