在D中解析事物的惯用方法是什么?

时间:2012-09-08 23:43:43

标签: d

假设我想解析jquery选择器语法并将其转换为标记。

我应该将事物解析为字节数组吗?作为std.string的字符串? Char的char或者也许是在phobos的某个地方进行的boyer-moore搜索? D有最快的正则表达式,所以可能正则表达式?

如果有人可以链接到用D编写的任何好的解析器,也会受到赞赏。

2 个答案:

答案 0 :(得分:8)

Pegged使用解析器生成器很简单

答案 1 :(得分:2)

我在dom.d文件中写了一个小的CSS选择器:

https://github.com/adamdruppe/misc-stuff-including-D-programming-language-web-stuff

如果你想玩它,只需抓住文件dom.d和characterencodings.d。

我这样做的方法是使用std.string。我不会称之为惯用语甚至是好的......但是编写这本书并为我完成工作很简单。选择器字符串很短,我不认为速度无论如何都不重要。

对于html解析器,我用char做了那个char。更惯用的方法可能是在输入范围上进行模板化并返回输出范围。我刚刚为一个玩具例子做了更多这样的事情:

http://arsdnet.net/dcode/lex.d

同样,我不会说这是理想的D方式......甚至是一种好的D方式,但这是一种可以使用的可能性。