0
对此语法:ANTLR规则优先级和丢失的令牌
CHAR : ([a-zA-ZÀ-ÿ0-9] | '.' | '_') ;
COLON : (':') ;
prefix: ('a' | 'b') ;
word : (CHAR)+ ;
nested: prefix COLON word ;
item : word ;
input : (WS | nested | word)* ;
而这种输入:
gef a:test abc
我想解析ABC像一个“字”,但这个语法,“ABC”匹配“嵌套”模式(带有“丢失:COLON”警告)
如何避免“abc”匹配“前缀COLON字”规则?
感谢 弗兰克
其实在“真”语法中,这就是我所做的。但我想更好地理解为什么存在歧义,因为“abc”与'a | b''不匹配:'[a-z] * –
我已经更新了答案。 – GRosenberg