caperが出力するパーサの特徴

modernなC++コードを出力する。

Lemonと同様のプッシュ型パーサ。

出力ファイルはhppファイル一つだけ。

グローバル変数・スタティック変数を一切使わないクリーンな設計。

例外に対して堅牢。SemanticAction内で例外を発生させてもOK。

性能はまあまあ(だと思う)

無責任・無保証

caperの特徴

シンプルな入力ファイル

タイプセーフ

動的文法生成インターフェイス、動的解釈テーブル構築エンジン

caperおよび動的解釈テーブル構築エンジン自体の速度的性能はイマイチ

現在の注意点

開発中のバージョンです。一通りの機能は実装しましたが、安定性の検証はまだです。仕様が変更される可能性は大いにあります(特に要望によって)。おもちゃくらいの気持ちでいじってみてください。

STLオフ時の出力のStack<T>の実装がかなり不安です(特にTが複雑な型のとき)。%dont_use_stl;で動かなかったら外してみてください。C++エキスパートの添削希望。