【发布时间】:2012-06-26 00:37:05
【问题描述】:
我有非常简单的 XML (HTML) 解析 ANTLR 语法:
wiki: ggg+;
ggg: tag | text;
tag: '<' tx=TEXT { System.out.println($tx.getText()); } '>';
text: tx=TEXT { System.out.println($tx.getText()); };
CHAR: ~('<'|'>');
TEXT: CHAR+;
有了这样的输入:"<ggg> fff" 它工作正常。
但是当我开始处理空格时它失败了。例如:
-
" <ggg> fff "- 开始失败 -
"<ggg> <hhh> "- 在<ggg>之后失败 -
"<ggg> fff "- 工作正常 -
"<ggg> "- 最后失败
我不知道出了什么问题。也许有一些特殊的语法选项来处理这个问题。 ANTLRWorks 给了我NoViableAltException。
【问题讨论】:
标签: xml xml-parsing html-parsing antlr antlr3