classの実装
bjam_grammarにclassを実装しました。
class文の差分
組み込みルールINSTANCEの差分
class作成時に実際にやっていることは、
- 「class@クラス名」のモジュールを作る
- モジュール内に変数__name__(クラス名)と__bases__(基底クラス名のリスト)を設定する
- 基底クラスのルールを「基底クラス名.ルール名」の名前でインポートする
だけです。
インスタンス化を行う組み込みルールINSTANCEも実装しましたが、コンストラクタの呼び出し等はclass.jamによるライブラリサポートが必要です。
というわけで、次はinclude文を実装しようと思います。