【发布时间】:2012-10-30 13:44:51
【问题描述】:
我是 ANTLR 新手,并尝试在 ANTLRWorks1.4.3 中遵循语法。
grammar TextGra;
element : starttag (element)* endtag
;
starttag: '<' TAGNAME '>';
endtag : '</' TAGNAME '>';
TAGNAME : ('a'..'z')|('A'..'Z')|('0'..'9');
WS : (' '|'\r'|'\n')+ {skip();} ;
当尝试像这样解析简单的 xml 片段时
<a><b><c></c></b></a>
丢失了最后两个 endtag 元素,如何处理这种情况?或者这是错误的方式? 在我的情况下不能限制标记名称与其他 xml 解析代码相比。 或者语法可以使用 $0 来引用以前匹配的标记吗?(如在正则表达式中)。 在这种情况下,通过前一个匹配的开始标签来决定结束标签中的标签名。 谢谢大家的回复!
【问题讨论】:
标签: xml antlr antlrworks