なんでそんなもん作ったの?
大昔にこんなものを作りました。
何かというと、Brainfuck の各トークンをアイマスの我那覇響ちゃんへの愛を叫ぶ言葉に置換して、コーディングできるようにしたものです。
ずいぶん前に話題になったおっぱい言語みたいなやつですね。
で、これ自体は WinForms のコードビハインドにゴリゴリ実装した、「MVVM? WPF? なにそれ、おいしいの?」状態のなかなかなシロモノです。
そんなものなので、ずっとリファインしたかったんです。
また、当時から時が経ち、 .Net Core がリリースされて、 C# でマルチプラットフォームに対応するのが劇的に簡単になりました。
というわけで、リファインするにあたって、次のような目標を立てました。
- 解析する部分はクラスライブラリとして外に出す
- フレームワークは .Net Core としてマルチプラットフォームで実行できるようにする
- トークンの定義を設定ファイルに切り出し、ユーザが好きにカスタマイズできるようにする
BFCore 爆誕
そして、出来上がったものがこちら。(キュー〇ー3分クッキング)
上記の目標は一応達成できました。
ちなみに、フレームワークは .Net Core から .Net Standard 1.3 まで落としました。
サンプルアプリとして、 BFCore を使用してリファインした響ちゃんマジ天使言語もあります。
まあ、笑ってやってください。
実装に関してはそんなに工夫してないというか、まあ、ごり押しに近いです。
プルリクエストなど頂ければ泣いて喜びます。
使い勝手がいいかはあまりわかりません。
というか、他の人の感想が知りたくて、宣伝のために記事を書いたようなものだったり……
使い方に関しては、 GitHub の README に詳しく書いているので、そちらを参考にしてください。
さいごに
内容がめちゃくちゃ薄くて申し訳ありません。
直接は関係ありませんが、 GitHub の Actions で master にマージしたら自動で Nuget に公開されるようにしました。
たぶん、こっちのほうが需要が高い気がするので、そちらについてまたあとで記事にしたいと思います。
それでは。