我在语法文件以下词法规则:mismatchedtoken ANTLR的语法谓词
LINE : 'F' | 'G';
RULE : (('->' ('F' | 'G')) => 'F' | 'G')
| LINE LINE + | LINE * (ROTATE + LINE+)+ ;
fragment ROTATE : ('/' | '\\');
基本上,我试图匹配的制作,看起来像的F - > F/F \˚F\ F/F。它成功匹配上面的东西,但我猜我的语法谓词有问题,因为G - > G会产生MismatchedTokenException。谓词用于消除在' - >'的lhs上的单个字母之间的歧义,我希望将其识别为LINE令牌,而在rhs上的那些符号应该是RULE。
任何想法我做错了什么?
不宜行片段太? – 2010-05-05 13:32:33
@安德斯:不,我的语法的其他部分需要它作为标记 – varzan 2010-05-15 16:14:10