gpt4 book ai didi

parser-generator - 什么解析器生成器软件在 C# 上运行,使用左递归解析语言并可以生成抽象语法树?

转载 作者:行者123 更新时间:2023-12-03 01:02:33 25 4
gpt4 key购买 nike

我花了一上午的时间来了解 ANTLR 的基础知识,结果发现它只是 LL。我需要在语法中保留左递归,以便语法树具有从左到右的关联性。

编辑2:最近我需要另一个解析器生成器。虽然 MPLex 和 MPPG 可以工作,但它们的配置时间有点长,所以我想我会再看一遍。这次我遇到了 Hime Parser Generator - 在大约一两个小时内,我就有了一个解析器将基本表达式转换为可以编译和调用的 LINQ 表达式。它非常简单,我推荐它而不是 MPLEX 和 MPPG。

编辑1:GOLD Parser 可以满足我的需要,但其源代码不可用,因此无法使用它。

MPLex 和 MPPG 是 Microsoft 官方产品,分别是 Lex/Flex 和 Bison/Yacc。关于它们的文档不多,而且它们并不完全是上述开源项目的克隆,但可以用它们来做我需要的事情。如果你不必处理现实世界的政治,我会推荐 GOLD,因为它有一个很好的调试 GUI 和一切,但如果你被迫使用开源或微软官方项目,MPLex 和 MPPG可能是要走的路。请注意,上述两个应用程序实际上只是 GPLEX 和 GPPG 的衍生物。后两者可能比微软的衍生产品更新,因为我认为微软放弃了该项目。我能找到的有关 Microsoft 衍生产品的唯一文档包含在 VS 2008 SDK 的两个 PDF 文件中。尽管 VS 2010 SDK 附带了 exe,但 Microsoft 仍拿出了 pdf 来解释其用法。不过,看起来 2012 年将不会提供 pdf 文件和 exe 文件。

最佳答案

生成 C# 代码的更流行的方法之一是:GOLD Parsing System (LALR)。

有关许多解析器生成器的比较,请参阅:http://en.wikipedia.org/wiki/Comparison_of_parser_generators

关于parser-generator - 什么解析器生成器软件在 C# 上运行,使用左递归解析语言并可以生成抽象语法树?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11567051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com