我在 SO 上找到的每个解决方案都是“切换到 ANTLR4”,这并不是一个真正的选择,因为我正在使用antlr4ruby
(这是 ANTLR3,4 的意思是“for”)。
我想建立一个属性访问规则,它应该匹配这样的内容:
variable
variable.property
variable.prop.prop
etc.
这就是我所拥有的:
variable: NAME -> ^(VARIABLE NAME) | variable DOT NAME -> ^(ACCESS variable NAME);
(VARIABLE
并且ACCESS
是稍后使用的解析器标记,NAME
是一种字符串)。
这显然是左递归的,但我不知道如何解决这个问题。