Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9266

C# で Brain Fuck のインタプリタ作って Nuget に公開した

$
0
0

なんでそんなもん作ったの?

大昔にこんなものを作りました。

響ちゃんマジ天使言語

何かというと、Brain Fuck の各トークンをアイマスの我那覇響ちゃんへの愛を叫ぶ言葉に置換して、コーディングできるようにしたものです。
ずいぶん前に話題になったおっぱい言語みたいなやつですね。

で、これ自体は WinForms のコードビハインドにゴリゴリ実装した、「MVVM? WPF? なにそれ、おいしいの?」状態のなかなかなシロモノです。
そんなものなので、ずっとリファインしたかったんです。

また、当時から時が経ち、 .Net Core がリリースされて、 C# でマルチプラットフォームに対応するのが劇的に簡単になりました。

というわけで、リファインするにあたって、次のような目標を立てました。

  • 解析する部分はクラスライブラリとして外に出す
  • フレームワークは .Net Core としてマルチプラットフォームで実行できるようにする
  • トークンの定義を設定ファイルに切り出し、ユーザが好きにカスタマイズできるようにする

BFCore 爆誕

そして、出来上がったものがこちら。(キュー〇ー3分クッキング)

ソースコードはこちら
Nuget はこちら

上記の目標は一応達成できました。
ちなみに、フレームワークは .Net Core から .Net Standard 1.3 まで落としました。

サンプルアプリとして、 BFCore を使用してリファインした響ちゃんマジ天使言語もあります。
まあ、笑ってやってください。

実装に関してはそんなに工夫してないというか、まあ、ごり押しに近いです。
プルリクエストなど頂ければ泣いて喜びます。

使い勝手がいいかはあまりわかりません。
というか、他の人の感想が知りたくて、宣伝のために記事を書いたようなものだったり……

使い方に関しては、 GitHub の README に詳しく書いているので、そちらを参考にしてください。

さいごに

内容がめちゃくちゃ薄くて申し訳ありません。
直接は関係ありませんが、 GitHub の Actions で master にマージしたら自動で Nuget に公開されるようにしました。
たぶん、こっちのほうが需要が高い気がするので、そちらについてまたあとで記事にしたいと思います。

それでは。


Viewing all articles
Browse latest Browse all 9266

Trending Articles