Antlr3警告:决策可以匹配多个替代方案,但我不知道如何

时间:2014-09-17 21:17:08

标签: antlr antlr3 lexer

以下是有问题的警告讯息:

  

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')。另外,我该怎么做才能摆脱这种警告?我讨厌警告信息。

0 个答案:

没有答案