psyntax 卵とにわとり問題 was psyntax と正規表現リテラルの問題
以下のような手順で解決することが分かった。
- main.ss を mosh 用ではなく psyntax 用にする
- psyntax-buildscript.ss に regexp? の登録を記述する
- expander.ss には regexp? の記述はあってはならない。
- make psyntax-update
- main.ss を Mosh 用に切り替える
- expander.ss に regexp? の記述を追記
- make
- これで psyntax.pp は regexp? を認識するようになった。
ふむぅ。問題としては手順が複雑なこと、手順を誤ると動かなくなることか。
より具体的には
- main.ss が異なる
- オリジナルの expander.ss に手を入れているのが分かりづらい
- 確実に動く psyntax.pp にすぐに戻せるようにしたい
の3つ。
main.ss が異なることに関しては builder を分けることですっきり出来そう。
というか builder を分けることで全部解決するな。
新しい仕組みで上記と同じ事をやるには
- psyntax-buildscript.ss に regexp? の記述を追加
- make
- expander-mosh.ss に regexp? を追加。
- psyntax-buildscript-mosh.ss に regexp? の記述を追加
- make
- 動作確認
簡単になったしこれならミスも防げそう。