Boost Spirit の Qi(バージョン 2) から X3(バージョン 3) への移行では Grammar が無くなった2020年06月08日 12時02分39秒

BOOST に収録されている Spirit パーサ。C++ のみでパーサが書ける。

Qi の名前で通っているのはバージョン 2。バージョン 3 は X3 の名で出ている。X3 が出て、既に二年ぐらいは経っているようだ。

X3 のが出て結構経つのは知っていたが、Qi だけでも大きいので X3 には手を付けていなかった。

今回チュートリアルを読んでみると、Rule が強化され、それに伴ってGrammar が無くなったのが大きな変更点の様だ。

Qi 時代から、Rule と Grammar はかなり類似点があった。X3 になって、構文のクラスをマクロと auto 変数使って定義をするようになる。それらの拡張により、grammar を書く必要が無くなった様だ。

X3 の rule は Qi と比べると簡潔になり、読みやすく見通しが良くなった。

ただ、複数の grammar を使ったりして複雑だと移行に手間取りそうだ。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2020/06/08/9255425/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。