我在語法文件以下詞法規則: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