编写解析器 - 需要指南和研究论文

时间:2008-10-28 18:11:25

标签: parsing

我对实现解析器的了解有点生疏。

我不了解该地区目前的研究状况,可能需要一些有关最近进展及其对绩效影响的链接。

关于编写解析器的一般资源也是受欢迎的(教程,指南等),因为我在大学学到的很多东西我已经忘记了:)

我有龙书,但就是这样。

是否有人对ANTLR等解析器生成器及其性能有所贡献? (即与其他发电机进行比较)

编辑我的主要目标是N3表示法中的RDF / OWL / SKOS。

4 个答案:

答案 0 :(得分:7)

提及龙书和antlr意味着你已经回答了自己的问题。

如果您正在寻找其他解析器生成器,您还可以查看boost :: spirit(http://spirit.sourceforge.net/)。

根据您要实现的目标,您可能还需要考虑使用DSL,您可以自己解析或使用boo,ruby,python等脚本语言编写...

答案 1 :(得分:0)

嗯......你的要求有点不明确。虽然这个一般领域有许多最近的发展,但它们都非常专业(当然,因为该领域已经成熟)。但是,最初的解析方法并没有真正改变。您可能希望了解解析器创建工具(AntlrGold Parser中的更改,仅举几例)。

答案 2 :(得分:0)

您可能还想看看SableCC,另一个解析器生成器“为构建编译器生成功能齐全的面向对象框架”。

他们是关于基本用途herehere的一些文档。既然您询问了研究论文,SableCC's main developper's master thesis(1998)可用,并对SableCC的优势进行了更多解释。

虽然当前的稳定版本是3.2,但是开发分支v4是一个完整的重写,应该实现解析器生成器的新功能。

答案 3 :(得分:0)

如果您想为复杂语言构建自定义分析器, 考虑我们的DMS软件再造工具包。 见http://www.semanticdesigns.com/Products/DMS/DMSToolkit.html

这提供了非常强大的解析技术,使您可以“轻松”定义您的语言 (特别是与大多数解析器生成器相比)。

传统的解析器生成器可能有所帮助 解析,但他们在困难的部分提供零帮助 进程,在您解析代码后发生。 DMS提供了大量的机器来支持分析和转换 解析后的代码。