読者です 読者をやめる 読者になる 読者になる

Spirit 10周年!

C++

10 Years of Spirit


構文解析ライブラリであるSpiritライブラリが10周年を迎えたそうです。

Spiritは10歳になった!


Spiritの誕生日を特定するのは難しい。振り返ってみると、2001年7月27日にSourceForgeにアップロードされたSpirit 1.0のヘッダファイルには以下のコメントが含まれている:

8/28/1999 オリジナル実装 [ 実行時多相バージョン ] (JDG)
4/30/2001 テンプレートメタプログラミング実装 (JDG)
5/13/2001 イテレータを使用したメジャー再設計 (JDG)
5/26/2001 G++3.0とBCC 5.5.1への移植。Vladimir Prusに感謝。
5/27/2001 DifferenceクラスとXorクラスのバグ修正 (JDG)
5/30/2001 イテレータを追加 (JDG)

そしてその後、2001年5月21日にBoost開発者MLへのオリジナルポストがある:

こんにちは。


Spiritは、テンプレートメタプログラミングの技法を使用して実装されたオブジェクト指向の再帰下降パーサージェネレータフレームワークです。Expression Templateは、完全な拡張バッカス・ナウア記法(EBNF : Extended Backus-Naur Form)の構文をC++で近似することを可能にします。EBNF文法の仕様は、他のC++コードと自由に混在させることができ、C++テンプレートのジェネレーティブな力のおかげで、すぐに実行可能です。振り返ってみると、従来のコンパイラ-コンパイラやパーサー-ジェネレータは、ソースのEBNFコードからCやC++コードへの追加の変換手順を実行する必要があった。


ドキュメントとソースコードは、 http://isis-tech.n3.net から見つけることができます。フィードバックやコメントをいただけたら幸いです。


Joel de Guzman

私は、SourfeForgeにアップロードされた2001年7月27日をSpiritの誕生日とすることを宣言しましょう。それは今から3日後です!

Spirit、誕生日おめでとう!


合わせて読みたい:

Spirit: History and Evolution (Video)