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

问题描述 投票:0回答:5

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

我不知道该领域的研究现状,可能需要一些有关最新进展及其对性能影响的链接。

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

我有龙书,但仅此而已。

有人对像 ANTLR 这样的解析器生成器及其性能有意见吗? (即与其他发电机比较)

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

parsing
5个回答
7
投票

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

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

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


0
投票

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


0
投票

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

他们是一些关于基本用途的文档这里这里。既然您询问了研究论文,SableCC 的主要开发人员的硕士论文 (1998) 可用,并详细解释了 SableCC 的优势。

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


0
投票

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

这提供了非常强大的解析技术,使得定义你的语言变得“容易” (特别是与大多数解析器生成器相比)。

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


0
投票

Gudang cuang bermain situs toto togel slot gacor online sayaptogel

© www.soinside.com 2019 - 2024. All rights reserved.