Schemeシェルで正規表現サポート with 鬼車


Schemeシェルで正規表現サポートするのは未踏完了後を考えていたが、ふと鬼車を試していたらあっさりと Mona に移植できた。
急遽予定を変更して正規表現サポートをまじめにやることに。


やることは

あたり。


Gauche のインターフェースをそのまま利用させていただいて

  • rxmatch-substring
  • rxmatch-end
  • rxmatch-start
  • rxmatch-before
  • rxmatch-after
  • regmatch
  • regmatch 'before
  • regmatch 'after
  • rxmatch
  • regexp->string
  • regexp?

あたりを実装。


鬼車の実績は、Rubyでも使われていることからも分かる文句無しなのだけど、更に加えて驚くべきは、鬼車の移植性の高さ。
alloca を Mona に足すだけでそのまま動いたので、かなりびっくり。
元々プラットフォーム独立性が高い文字列ライブラリとはいえ、鬼車の移植性の高さはかなりハイレベルだな。
id:shotaro_tsujiさん / shadow さんの手がけてくれている、Mona の libc がある一定以上のレベルになってきたってのも簡単に移植できた理由の一つかも。