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
  • 動作確認

簡単になったしこれならミスも防げそう。