我在SO上找到的每个解决方案都是“切换到ANTLR4”,这不是一个真正的选择,因为我使用 // [myFraction print];
// [myFraction divide];
(这是ANTLR3,4代表“for”)。
我想建立一个属性访问规则,它应该匹配如下:
antlr4ruby
这就是我所拥有的:
variable
variable.property
variable.prop.prop
etc.
(variable: NAME -> ^(VARIABLE NAME) | variable DOT NAME -> ^(ACCESS variable NAME);
和VARIABLE
是解析器令牌供以后使用,ACCESS
是一种字符串。)
这显然是左递归的,但我不知道如何解决这个问题。