2010-09-13 47 views
0

我得到一個不匹配的組例外,當我嘗試解析「ABC」(引號是輸入的一部分)問題ANTLR的語法(詞法)

這裏是(簡化)語法 - 從幾乎一字不差Java.g示例,其他示例語法基本相同。最新版本中是否存在一些錯誤?在eclipse中使用3.2。

在此先感謝。

語法String;

options { language = C; }

rule:literal EOF;

文字 :CHARLITERAL | STRINGLITERAL ;

CHARLITERAL : '\' ' (EscapeSequence |〜( '\'' | '\\' | '\ r' | '\ n') ) '\'」 ;

串文字 : ' 「' (EscapeSequence |〜( '\\' | '」' | '\ r' | '\ n')
)* '「' ;

片段 EscapeSequence : '\\'( 'b' | 'T' | 'N' | 'F' | 'R' | '\「' | '\'' |'\ \' | ('0'..'7')('0'。'7')(012)0 0 .. 0'''' |
('0'..'7')('0'..'7') |
('0'''7') )
;

+0

我試圖糾正格式。我不確定我是否改變了某些作品的含義,很難理解這個網站上的差異。對不起,如果是。 – Skurmedel 2010-09-13 20:36:23

+0

我修正了格式。源代碼是正確的,但是打印文件丟失了轉義字符(\\)。現在應該修復。謝謝你的幫助。 – 2010-09-13 22:23:24

+0

您的語法與在Java目標中的ANTLRWorks一起工作。你仍然在C中獲得例外嗎? – WayneH 2010-09-14 00:27:22

回答

1

我很困惑這些最後的編輯,但問題是與解釋器,是一個已知的問題。報告於09.

如果代碼是爲語法生成的,它就像一個魅力。

看來很難相信這個bug已經沒有答案了,只要給出它的發生頻率。

+0

好吧,我回到了修訂版本4(您自己的)。 – 2010-09-16 10:31:14