我正在使用http://pyparsing.wikispaces.com/file/view/ebnf.py来转换我的ebnf定义。
ebnf def如下所示:
TEST = A, SPACE, A;
A = "AA" | "BB";
SPACE = " ";如果我加载文件并尝试解析一个字符串,如下所示:
e = ebnf.parse(ebnf_file)
e['TEST'].leaveWhitespace().parseString('AA BB') # same without leaveWhitespace()我得到了:
ParseException: Expected " " (at char 3), (line:1, col:4)有谁有想法/解决方案吗?
发布于 2011-09-20 05:05:52
leaveWhitespace()必须应用于原始的包含空格的标签,因此请尝试以下操作:
e = ebnf.parse(ebnf_file)
e['SPACE'] = e['SPACE'].leaveWhitespace()
e['TEST'].parseString('AA BB')https://stackoverflow.com/questions/7476676
复制相似问题