Dpp中的gppg / gplex等价物?

时间:2011-07-05 22:35:30

标签: parsing d abstract-syntax-tree lexical-analysis gppg

当我在C#工作时,我发现gppggplex解析器/词法分析器生成器非常适合我的需要。我想知道D编程语言是否有类似的东西(即,在BNF或EBNF中给出语法,输出将该语言解释/解析为抽象语法树的D代码)。

我发现的最接近的是Goldie,但我很难理解它,我无法正常运行。

2 个答案:

答案 0 :(得分:2)

我发现Goldie对于上下文不敏感的语法非常棒,你确定吗?此外,http://www.wikiservice.at/d/wiki.cgi?GrammarParsers列出了一些,不知道哪些仍在开发中。如果ANTLR-D仍然有效,它可能是最好的选择。

答案 1 :(得分:1)

Goldie可能是你最好的选择,但也有ragel可以排放D.它不是你所要求的(可组合的状态机),虽然它可能足以满足很多情况并且它非常好。

Trunk版本可以使用未记录的-E开关编译为D2代码,我不确定它有多成熟。

http://www.complang.org/ragel/