by shigemk2

当面は技術的なことしか書かない

Brainf*ck

Brainfuckで遊ぼうその2 資料

アスキーアートジェネレート アスキーアート アスキーアート | PingMag : 日本発 アート、デザイン、くらし (例のshigemk2アスキーコードはこのブログの題字から流用) BF生成ツール Brainf_cker - Brainfuck Code Generator

BrainfuckのJITコンパイラを作る(x86限定)

こちらを参考に作りました。 https://github.com/mason-/cmpimpl/blob/master/python2/bf2jit.py 実装は、ほぼ7shiさんに協力を仰ぎまくりました。 やっていることは、 Windows API関数を呼び出し、メモリを確保する メモリにx86アセンブリを書き込む 書き込…

BF->Scalaのトランスレータを実装 連続する同一処理をまとめた

@shigemk2 コードの長さ制限ですが、同じ処理の連続をまとめると緩和できると思います。たとえば++++++をreg += 6にするような感じです。— 七誌 (@7shi) 2014, 7月 30 連続する同一処理をまとめた。 だから、この実装により、++++++を reg += 6みたくしまし…

BF->Scalaのトランスレータを実行したけど失敗してる

こんな感じで、BF->Scalaのトランスレータを作成した。 とりあえずHello, worldを出力するBFファイルのトランスレートには成功してるが、 ↓のようなAAを出力するBFをScalaでトランスレートすると、エラーが出た。 $$ $$ $$ .d$$$$$$$b. $b d$P $$ $$ .d$ Y$b…

BF->JSのトランスレータとJITコンパイラを書いた

BF->JSのトランスレータを書いたけどおかしなことになっていた - by shigemk2の続き。 @shigemk2 たとえば以下のプログラムをインタプリタとトランスレータの両方で試すと、後者は入力待ちの前に$が表示されず、次から$が`に変化すると思います。bufが空だと…

BF->JSのトランスレータを書いたけどおかしなことになっていた

BF->JSのトランスレータを書いた - by shigemk2 だいたいこんなかんじです。 ++++++[>++++++<-]+[>.>,.<<] shige$ node brainfuck.js brainfuck/\$.b $hoge h$o$g$e$ $hoge h$o$g$e$ $hoge h$o$g$e$ shige$ node js/doll.js hoge $h$o$g$e$ $hoge `h`o`g`e` …

BF->JSのトランスレータを書いた

BF->JSとか言いつつ、Node.jsなんですけどね。 トランスレータは、特定言語のプログラムを別の言語に翻訳(トランスレート)したもの。 コールバック地獄回避のためにループの外でprocess.stdin.onしています。 なお、このネタを持ってLL DiverでLTします。 ソ…

brainfuckファイルをC言語にトランスレートする

標準入力から大文字を小文字に変換する

Brainf*ck

掛け算を解析して出力

brainfuckコードを解析してHello, world!を出力するプログラム

面倒なので伏せ字にしないのをお許し下さい。 ソースコード brainfuck このコード自体はHello worldプログラムの一覧 - Wikipediaに書いてある。

MacでBrainf*ckを試す

ダウンロードとインストール bff-mac-os - Fast brainfuck interpreter - Google Project Hosting Bffファイルをダウンロードします Bffファイルをパスの通ったディレクトリに配置します Bffファイルのパーミッションを755とかにします 以上。 hello world …