Hello Wor.log

IT系大学生4人による備忘録のようなもの

jupyterでbrainf*ck

CPPXのXです。

jupyterのkernelsを 眺めていたらbrainfuckがいたので遊んでみました。

導入してhello worldしてという感じで進めて行きます。

インタプリタリポジトリは以下です。
4年前のものですね。

GitHub - robbielynch/ibrainfuck: A brainfuck kernel for IPython/Jupyter.

では目次です。

環境

  • python 3.6.8
  • jupyter 4.4.0
  • ipython 7.3.0

導入

適当な場所に上で貼ったリポジトリをクローンしてきます。

git clone https://github.com/robbielynch/ibrainfuck.git
cd ibrainfuck

virtualenvが入っているといいみたいなのですが、手元に入っていなかったのでmakeを使わずにコマンドをぽちぽちと打っていきました。

以下がmake bf-depsに相当する箇所です。
requirements.txtに従うと相当古いipythonが降ってくるので注意です。

pip install pyzmq jinja2 tornado jsonschema ipython --user
mkdir -p ~/.ipython/kernels/brainfuck/
echo '{"argv":["python","'`pwd`'/brainfuckkernel.py", "-f", "{connection_file}"],"display_name":"Brainfuck"}' > ~/.ipython/kernels/brainfuck/kernel.json

依存モジュールのインストールと、kernel.jsonの設定ですね。

これだけで導入は終了です。

実行

実行してみます。
適当なディレクトリに行ってください。

make bfはjupyterを立ち上げてるだけなので、そのままコマンドを打っていきます。

jupyter notebook

立ち上がったら、右側にあるNewからBrainfuckを選択します。

f:id:cppx:20190221222741p:plain

>+++[-<+++>]<++[->++>>++++<<<]>[->++++<]>[-<+<+>>]++++[-<----<+++>>]<.<+.+++++++..+++.
>>>----[-<<->>]<<.<[->>+>+<<<]++[->>++++<<]>>.>.+++.------.>++[-<---->]<.<<[--<+++>]<--.........

おわり

+++[->+++<]>++[->++++<]>[-<++<++>>]++++[-<-<++++>>]<.<.
++++++>+>>+++[-<+<++++>>]<<.<.>>[-<<->>]<++[--->+<]++<.>[-<++++>]<.>>..