jquery セレクター構文を解析して、トークンに変換したいとします。
物事をバイトの配列として解析する必要がありますか? std.string の文字列として? Char by char またはフォボスのどこかにボイヤームーア検索があるのでしょうか? D は最速の正規表現を持っているので、おそらく正規表現ですか?
誰かが D で書かれた優れたパーサーにリンクできれば、それもありがたいです。
jquery セレクター構文を解析して、トークンに変換したいとします。
物事をバイトの配列として解析する必要がありますか? std.string の文字列として? Char by char またはフォボスのどこかにボイヤームーア検索があるのでしょうか? D は最速の正規表現を持っているので、おそらく正規表現ですか?
誰かが D で書かれた優れたパーサーにリンクできれば、それもありがたいです。
Peggedは使いやすいパーサー ジェネレーターです
dom.d ファイルに小さな CSS セレクターを書きました。
https://github.com/adamdruppe/misc-stuff-included-D-programming-language-web-stuff
試してみたい場合は、ファイル dom.d と characterencodings.d だけを取得してください。
私が行った方法は、std.string を使用することです。私はこれを慣用的または良いとは呼びません...しかし、書くのは簡単で、仕事をやり遂げました。セレクター文字列は非常に短いので、とにかく速度はそれほど重要ではないと思います。
html パーサーでは、その文字を 1 文字ずつ処理しました。より慣用的な方法は、おそらく入力範囲でテンプレート化され、出力範囲を返すことです。少し前に、おもちゃの例として次のようなことをしました。
http://arsdnet.net/dcode/lex.d
繰り返しますが、これが理想的な D の方法だとは言いません... あるいは良い D の方法でさえありませんが、機能させることができる 1 つの可能性です。