以下是有问题的警告讯息:
BB_LLVM2AST.g:120:15:决策可以使用多个替代方案匹配输入,例如“'a'..'z'”:1,2 结果,对该输入禁用了备选方案2
以下是规则:
fragment
IDENTIFIER
:
((LOWERCHARS)+ (('0'..'9')+)? PERIOD?)+
| ('0'..'9')+
;
以下是其他规则:
fragment
LOWERCHARS
:
('a'..'z')
;
fragment
PERIOD
:
'.'
;
所以,我尝试使用语法谓词,但仍然有相同的警告信息。
fragment
IDENTIFIER
:
(LOWERCHARS) => ((LOWERCHARS)+ (INT)? PERIOD?)+
|(INT) => INT
;
我拿出一个INT片段,在那里盲目地试图摆脱警告。我不明白如何使用备选方案input such as "'a'..'z'
替代('0'..'9')
。另外,我该怎么做才能摆脱这种警告?我讨厌警告信息。