ネイティブルール実装中
BBv2でテストしながら、ネイティブルールを実装中です。
今日は以下のモジュールを実装しました。
テストで文法や組み込みルールのバグや未実装項目も見つかったので、あわせて対応しています。
- BINDRULEの呼び出しに対応
- インスタンスメソッドの呼び出しに対応
- BACKTRACEのアルゴリズムを修正
- MATCHを全体一致でなく部分一致に修正
- 変数展開修飾子のパースで末尾にゴミが付いていたのを修正
- メソッド内からのメソッド呼び出しに対応
VC8のIDEからデバッグしているのですが、bjamのスタックトレースやモジュール/ターゲットの一覧、変数/ルールテーブルなどが視覚的に確認できて面白いです。
ただ、デバッガが直接対応しているSTLコンテナや文字列は中身が見えるものの、Boost.Optionalに入れると見えなくなるのが難点です。
デバッガの表示を拡張できた気がするんですが、面倒そうですよねぇ。
Boost.Optionalだらけのコードなので、結構イライラします。