当我在C#中工作时,我发现gppg和gplex解析器/词法分析器生成器非常适合我的需要。我想知道D编程语言是否也有类似的东西(即,在给定BNF或EBNF语法的情况下,输出D代码,将该语言分析/解析为抽象语法树的实用程序)。
我找到的最接近的是Goldie,但我在理解它时遇到了太多的问题,以至于我无法启动和运行任何东西。
发布于 2011-07-07 15:38:24
我发现Goldie对于上下文不敏感的语法来说非常棒,你确定吗?此外,http://www.wikiservice.at/d/wiki.cgi?GrammarParsers列出了一些仍在开发中的,不知道的。如果ANTLR-D仍然有效,它可能是最好的选择之一。
发布于 2011-07-16 17:44:57
Goldie可能是你最好的选择,但也有ragel可以发出D。它并不完全是你想要的(可组合状态机),尽管它可能在许多情况下都足够了,而且它真的很好。
主干版本可以使用未公开的-E开关编译成D2代码,我还不确定这是否成熟。
http://www.complang.org/ragel/
https://stackoverflow.com/questions/6589613
复制相似问题