2012-09-08 25 views
3

說我想解析jquery選擇器的語法,並把東西變成標記。在D中解析事物的習慣用法是什麼?

我應該解析的東西作爲一個字節數組?作爲一個字符串與std.string?字符焦炭或可能有boyer-moore在phobos某處搜索? D有最快的正則表達式,所以也許是正則表達式?

如果有人可以鏈接到任何用D語言編寫的優秀解析器,那也是值得讚賞的。

+2

「一個人並不簡單解析東西d ...」 – Mehrdad

+3

我會用掛鉤 - https://github.com/PhilippeSigaud/Pegged/wiki – DejanLekic

回答

8

Pegged使用簡單的解析器發電機

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的方式,但它是一個可能會發揮作用的可能性。

相關問題