2010-09-13 80 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