BrainFuckとは
難解プログラミング言語の一つ。
オシシメサイトはhttp://www.google.co.jp/
以下俺的見解
・スレッドタイトルに全命令が入る素敵な言語。
・1レス内に全命令のリファレンスが入る素敵な言語。
> ポインタをインクリメント
< ポインタをデクリメント
+ ポインタが示すメモリ位置のデータをインクリメント
- ポインタが示すメモリ位置のデータをデクリメント
. ポインタが示すメモリ位置のデータを出力
, ポインタが示すメモリ位置のデータに入力
[ ポインタが示すメモリ位置のデータがヌルなら対応する]までジャンプ
] ポインタが示すメモリ位置のデータがヌルじゃないなら対応する[までジャンプ
前スレ: BrainFuck Part.2 <[+-.,]>
http://pc11.2ch.net/test/read.cgi/tech/1177988460/
過去スレ: BrainFuck <[+-.,]>
http://pc11.2ch.net/test/read.cgi/tech/1036013915/
探検
BrainFuck Part.3 <[+-.,]>
■ このスレッドは過去ログ倉庫に格納されています
2009/01/08(木) 12:09:18
173デフォルトの名無しさん
2009/09/22(火) 18:50:58 うだうだ言ってないでインタプリタとコンパイラかけ
500バイト以内で書けたら合格にしてやる
500バイト以内で書けたら合格にしてやる
174デフォルトの名無しさん
2009/09/22(火) 20:51:37 既出じゃね?
175168
2009/09/22(火) 22:56:17 んが。既出なのか。ま、既出でも全然不思議ではないけど。
一応このスレの中はチェックしたつもりだったけど
前スレはチェックしてないんだよね。
>>168のプログラム言語をBTBF(BinaryTree BrainFuck)と呼ぶとして、
BTBFのコードをBFのコードに変換するトランスレータを実装しろってのは
学生向け演習問題として良問じゃね?
一応このスレの中はチェックしたつもりだったけど
前スレはチェックしてないんだよね。
>>168のプログラム言語をBTBF(BinaryTree BrainFuck)と呼ぶとして、
BTBFのコードをBFのコードに変換するトランスレータを実装しろってのは
学生向け演習問題として良問じゃね?
176デフォルトの名無しさん
2009/09/22(火) 22:59:16 >175
まだ出てなかったぞ
まだ出てなかったぞ
177デフォルトの名無しさん
2009/09/22(火) 23:06:44 コード短くする役に立つとすればこんなのかなぁ
まあいらないけど
x 直前のコマンドを*p回繰り返す
* p=*p
& *p=p
c 最も近い前方の[にジャンプ
b 最も近い後方の]にジャンプ
まあいらないけど
x 直前のコマンドを*p回繰り返す
* p=*p
& *p=p
c 最も近い前方の[にジャンプ
b 最も近い後方の]にジャンプ
178168
2009/09/22(火) 23:42:17 >>172
俺は拡張=BFの死とは思ってないんだよね。
シンプルさがBFの価値なのは同意だけど、
もっともシンプルなチューリング完全言語BFと
Cやlispといった高級言語の生産性の溝がどれだけあるかってのを
把握できるのもBFの存在価値だと思う。
だから「BF+α=lisp」のαの部分がどれだけあるのか、俺は興味があるです。
#どっちもチューリング完全だから等価って乱暴な議論はなしね。
俺は拡張=BFの死とは思ってないんだよね。
シンプルさがBFの価値なのは同意だけど、
もっともシンプルなチューリング完全言語BFと
Cやlispといった高級言語の生産性の溝がどれだけあるかってのを
把握できるのもBFの存在価値だと思う。
だから「BF+α=lisp」のαの部分がどれだけあるのか、俺は興味があるです。
#どっちもチューリング完全だから等価って乱暴な議論はなしね。
179デフォルトの名無しさん
2009/09/23(水) 00:05:02 純lispはBFと同じくらいシンプルだけど考え方が全然違うから
そんな+α的な物はない
そんな+α的な物はない
180168
2009/09/23(水) 00:08:29 ないわけはない。
チューリング完全的に考えて。
極端な話、理屈の上ではBFでlispインタプリタは書けることになっている。
それがどれくらい大変か?と言う問題はある。
lispでBFインタプリタを書くのは簡単だけど、
BFでlispインタプリタを書くのはきつそう。
チューリング完全的に考えて。
極端な話、理屈の上ではBFでlispインタプリタは書けることになっている。
それがどれくらい大変か?と言う問題はある。
lispでBFインタプリタを書くのは簡単だけど、
BFでlispインタプリタを書くのはきつそう。
181デフォルトの名無しさん
2009/09/23(水) 00:17:40 lispからbfに変換するプログラムは作れるんじゃないか?
182デフォルトの名無しさん
2009/09/23(水) 03:42:27 LISPでBFのインタプリタが簡単ねえ
真面目にシンボルをASCIIのチャーチ数表現で取り扱えば同じかそれ以上に大変だと思うけどな
真面目にシンボルをASCIIのチャーチ数表現で取り扱えば同じかそれ以上に大変だと思うけどな
183デフォルトの名無しさん
2009/09/23(水) 08:18:23 pure LISPだとBFよりもプログラム書くの難易度高いだろJK
184168
2009/09/23(水) 08:33:05 よくみたら純lispって書いてあるな。
てっきりclispのつもりで話してた。
てっきりclispのつもりで話してた。
185デフォルトの名無しさん
2009/09/23(水) 09:12:38 >>168
便利かどうか試しに実装してみようと思ったら疑問がいくつか。
・2分木メモリは値を持つの?持たないとしたらポインタがconsを指しているとき
入出力命令は何をすべき?
・+-で指すリニアなメモリとLRUで指す2分木メモリの空間はまったく別のもの?
ていうか+-廃止すべき?
自分的にはノーアイデアなんだけど、BFくらい最小のLispができそうですごく面白そうだとは思う。
便利かどうか試しに実装してみようと思ったら疑問がいくつか。
・2分木メモリは値を持つの?持たないとしたらポインタがconsを指しているとき
入出力命令は何をすべき?
・+-で指すリニアなメモリとLRUで指す2分木メモリの空間はまったく別のもの?
ていうか+-廃止すべき?
自分的にはノーアイデアなんだけど、BFくらい最小のLispができそうですごく面白そうだとは思う。
186168
2009/09/23(水) 10:30:02 メモリは値を持ちます。
後は通常のBFと同じ。
後は通常のBFと同じ。
187デフォルトの名無しさん
2009/09/23(水) 10:47:01 まずはhello worldから始めろ
プログラミング言語として使えないなら机上の空論
プログラミング言語として使えないなら机上の空論
188デフォルトの名無しさん
2009/09/23(水) 10:49:15 この板ではチューリング完全という言葉がたまに登場するが、
もちろん、このスレで使ってる人たちも、意味とか前提とか
分かって使ってるよね?
もちろん、このスレで使ってる人たちも、意味とか前提とか
分かって使ってるよね?
189185
2009/09/23(水) 12:19:47 あ、<>と+-を勘違いしてた。<>の代わりにLRUということか。
190デフォルトの名無しさん
2009/09/23(水) 16:29:57 >>188
説明して
説明して
191デフォルトの名無しさん
2009/09/23(水) 16:43:51 入出力が便利になれば使い道はあると思うとかは考える
でも、それじゃ駄目なんだよな
BFとは別物として考えなきゃいけなくなる
でも、それじゃ駄目なんだよな
BFとは別物として考えなきゃいけなくなる
192デフォルトの名無しさん
2009/09/23(水) 16:53:57 システムコールは欲しいな
193デフォルトの名無しさん
2009/09/23(水) 19:48:01 BFってpure LISPほど純粋じゃないよな。
入出力命令なんてあるし。
ある意味入出力命令がシステムコールってことになるんじゃね。
入出力命令なんてあるし。
ある意味入出力命令がシステムコールってことになるんじゃね。
194デフォルトの名無しさん
2009/09/23(水) 19:51:53195デフォルトの名無しさん
2009/09/23(水) 21:26:57 BFのシンプルな体系を壊さずに拡張する方法としては
負の方向のメモリマッピングにコンソール(.,)以外の
I/Oを割り当てることかな
[-1]に数値をストアしておいて
[-2]の位置で+-すると[-1]の回数beepとか
[-3][-4]に数値をストアしておいて
[-5]の位置で+-すると[-3][-4]の座標の白黒が反転するとか
負の方向のメモリマッピングにコンソール(.,)以外の
I/Oを割り当てることかな
[-1]に数値をストアしておいて
[-2]の位置で+-すると[-1]の回数beepとか
[-3][-4]に数値をストアしておいて
[-5]の位置で+-すると[-3][-4]の座標の白黒が反転するとか
196デフォルトの名無しさん
2009/09/24(木) 01:22:24 入出力命令をin,outにすればいい
>+++++++++[-<++++++++++>]<++++++, //in 60h
>+++++++++[-<++++++++++>]<++++++, //in 60h
197185
2009/09/24(木) 02:13:09 >>168 の提案した奴を作ってみたけど、面白い使い方がなかなか見つからないなあ。
実際のリスト構造はともかくとして、いろいろ遊んでみると、メモリ空間がL-UとR-Uの
2次元になった、という印象。可能性はすごく感じるので、なんとかしたいのだが。
実際のリスト構造はともかくとして、いろいろ遊んでみると、メモリ空間がL-UとR-Uの
2次元になった、という印象。可能性はすごく感じるので、なんとかしたいのだが。
198168
2009/09/24(木) 05:53:17 消費メモリが定数なアルゴリズムだとBTBFの有り難味はないかもね。
実行中にバンバンnewするようなプログラムや複数の可変長配列を使うアルゴリズムが
いくらか書きやすくなるんじゃないかとは思ってる。
あと、関数コールの機構もBFで実装するのはきつくても
BTBFならもしかしたらBFよりずっと楽にいけんじゃね?
実行中にバンバンnewするようなプログラムや複数の可変長配列を使うアルゴリズムが
いくらか書きやすくなるんじゃないかとは思ってる。
あと、関数コールの機構もBFで実装するのはきつくても
BTBFならもしかしたらBFよりずっと楽にいけんじゃね?
199デフォルトの名無しさん
2009/09/24(木) 21:05:22 実装は既存のBF処理系に
L: p*=2;
R: p=p*2+1;
U: p/=2
を付け加えて、ptrの初期値を1に修正するだけだな
L: p*=2;
R: p=p*2+1;
U: p/=2
を付け加えて、ptrの初期値を1に修正するだけだな
200デフォルトの名無しさん
2009/09/27(日) 23:03:26 ところで、2分木を綺麗にグラフィカルに表示するライブラリって何かいいのある?
201デフォルトの名無しさん
2009/09/27(日) 23:20:15 BFスレでその話題を振るココロは?
202デフォルトの名無しさん
2009/09/27(日) 23:43:25203デフォルトの名無しさん
2009/09/27(日) 23:56:13 そもそもBFで書かれたライブラリなんて存在するのか?
204デフォルトの名無しさん
2009/09/27(日) 23:57:21 まずbfはライブラリを作ること自体困難だろ
205デフォルトの名無しさん
2009/09/28(月) 01:51:09 まずは整数の四則演算ライブラリからだな
ライブラリというかコードスニペットレベル?
ライブラリというかコードスニペットレベル?
206デフォルトの名無しさん
2009/09/28(月) 07:02:38 前スレであったみたいに
どこのメモリに数値を入れて
どこのメモリに答えが返ってくる
って感じにすると良いんじゃない?
どこのメモリに数値を入れて
どこのメモリに答えが返ってくる
って感じにすると良いんじゃない?
207デフォルトの名無しさん
2009/09/29(火) 02:17:13 call
208デフォルトの名無しさん
2009/09/29(火) 02:31:22 任意のシステムコールさえ呼べれば何とでもなる
敢えて関数呼び出し機構を命令に加える必要はない
敢えて関数呼び出し機構を命令に加える必要はない
209デフォルトの名無しさん
2009/09/29(火) 03:23:00 文字列やポインタを渡さなくちゃならないシステムコールはどうするんだ
210デフォルトの名無しさん
2009/09/29(火) 09:22:16 システムコールとシリアル通信すればいいよ
211デフォルトの名無しさん
2009/09/29(火) 10:00:05 VRAMの上で走るBFを、
標準入出力から他のBFプロセスで制御すればいいんじゃね…?
標準入出力から他のBFプロセスで制御すればいいんじゃね…?
212デフォルトの名無しさん
2009/09/29(火) 12:15:04 それをBFの機能と言えるかが問題だな
バイナリデータですらシステムコールが可能と言えてしまうぞ
バイナリデータですらシステムコールが可能と言えてしまうぞ
213デフォルトの名無しさん
2009/09/29(火) 18:41:29 BFのデータセグメントをVRAMに置けっ場解決するのか?
ダブるバッファリングは無理か
ダブるバッファリングは無理か
214デフォルトの名無しさん
2009/09/29(火) 19:54:18 もうbf用のOS作ったら?
215デフォルトの名無しさん
2009/09/29(火) 20:22:16 OSにBF向けのインターフェースがあればいいわけだな
0番地に+すると1番地の番号のシステムコールを2,3,4,...番地の値を引数にして呼び出すみたいな
0番地に+すると1番地の番号のシステムコールを2,3,4,...番地の値を引数にして呼び出すみたいな
216デフォルトの名無しさん
2009/09/29(火) 20:26:54 そうすればハードディスクとかメモリとかにアクセスできるな
解析とかも簡単になるんじゃない?
解析とかも簡単になるんじゃない?
217デフォルトの名無しさん
2009/09/29(火) 22:14:03 まずはリンカとローダだろ。
218デフォルトの名無しさん
2009/09/30(水) 02:09:42 コード空間とメモリ空間が分離されてるからリンカやロダは不要
219デフォルトの名無しさん
2009/11/11(水) 22:18:35 何で
220デフォルトの名無しさん
2009/11/19(木) 23:41:50 brainfuckって英語でどういう意味ですか?
221デフォルトの名無しさん
2009/11/20(金) 00:06:17 のーみそこねこね
222デフォルトの名無しさん
2009/12/03(木) 18:18:34 ___
/ \
/ ⌒ ⌒\
/ ,(⌒) (⌒)、\ ひとりSMセット買ったお
| /// (__人__)/// | 今夜は楽しむおww
\ ` ヽ_ノ /
ヽ , __ , イ
/ |_"____
| l.. /l SMグッズ l
ヽ 丶-.,/ |_________|
/`ー、_ノ / /
:: .|ミ|
:: .|ミ| ::::::::
::::: ____ |ミ| ::::
:: ,. -'"´ `¨ー 、 ::
:: / ,,.-'" ヽ ヽ、 ::
:: ,,.-'"_ r‐'" ,,.-'"` ヽ、 ::
:: / ヾ ( _,,.-='==-、ヽ ヽ、
:: i へ___ ヽゝ=-'"/ _,,> ヽ
:: ./ / > ='''"  ̄ ̄ ̄ ヽ
:: / .<_ ノ''" ヽ i
:: / i 人_ ノ .l
:: ,' ' ,_,,ノエエエェェ了 /
i じエ='='='" ', / ::
', (___,,..----U / ::
ヽ、 __,,.. --------------i-'" ::
ヽ、_ __ -_'"--''"ニニニニニニニニヽ ::
`¨i三彡--''"´ ヽ ::
/ ヽ :: ┼ヽ -|r‐、. レ |
/ ヽ:: d⌒) ./| _ノ __ノ
/ \
/ ⌒ ⌒\
/ ,(⌒) (⌒)、\ ひとりSMセット買ったお
| /// (__人__)/// | 今夜は楽しむおww
\ ` ヽ_ノ /
ヽ , __ , イ
/ |_"____
| l.. /l SMグッズ l
ヽ 丶-.,/ |_________|
/`ー、_ノ / /
:: .|ミ|
:: .|ミ| ::::::::
::::: ____ |ミ| ::::
:: ,. -'"´ `¨ー 、 ::
:: / ,,.-'" ヽ ヽ、 ::
:: ,,.-'"_ r‐'" ,,.-'"` ヽ、 ::
:: / ヾ ( _,,.-='==-、ヽ ヽ、
:: i へ___ ヽゝ=-'"/ _,,> ヽ
:: ./ / > ='''"  ̄ ̄ ̄ ヽ
:: / .<_ ノ''" ヽ i
:: / i 人_ ノ .l
:: ,' ' ,_,,ノエエエェェ了 /
i じエ='='='" ', / ::
', (___,,..----U / ::
ヽ、 __,,.. --------------i-'" ::
ヽ、_ __ -_'"--''"ニニニニニニニニヽ ::
`¨i三彡--''"´ ヽ ::
/ ヽ :: ┼ヽ -|r‐、. レ |
/ ヽ:: d⌒) ./| _ノ __ノ
223デフォルトの名無しさん
2009/12/03(木) 20:02:48 あるある
224デフォルトの名無しさん
2009/12/04(金) 05:07:08 perlでBrainfuckの処理系書いてみたんだが、
Brainfuckのプログラム書くより簡単でなんだか複雑な気分だ…
Brainfuckのプログラム書くより簡単でなんだか複雑な気分だ…
225デフォルトの名無しさん
2009/12/04(金) 22:07:52 次はBrainfuckでperlの…
226デフォルトの名無しさん
2009/12/04(金) 23:22:03 Brainfuckで日本語が扱えるようにはならないものか
227デフォルトの名無しさん
2009/12/04(金) 23:35:38 そーすに記述したいってんでもあるまいし、扱えないことはないだろう?
228デフォルトの名無しさん
2009/12/05(土) 00:08:59 ShiftJISなりUTF-8なりのバイト列を吐けばいいだけだよな
229デフォルトの名無しさん
2009/12/05(土) 09:33:31 例えば、
: で、ポインタの指している値とその次のポインタの値を2バイト文字として出力する。
; で、2バイト文字を入力して、ポインタの指している値とその次のポインタの値に代入する。
ってのはどうよ?
: で、ポインタの指している値とその次のポインタの値を2バイト文字として出力する。
; で、2バイト文字を入力して、ポインタの指している値とその次のポインタの値に代入する。
ってのはどうよ?
230デフォルトの名無しさん
2009/12/05(土) 11:01:11 .>.<と,>,<で十分じゃないか
231229
2009/12/05(土) 16:21:32 とりあえず実行してみた。
>++++++++++[<+++++++++++++>-]
+++[>+++++<-]>[<++++++++++++>-]<--->
>++++++++++[<+++++++++++++>-]
>++++[>++++<-]>[<+++[<+++++>-]>-]<<+>
>++++++++++[<+++++++++++++>-]
>++++++++++++++[<++++++++++++++>-]<+++++>
>++++++++++[<+++++++++++++>-]
>++++++++++++++[<++++++++++++++>-]<----->
>++++++++++[<+++++++++++++>-]
>++++++++++++++[<++++++++++++++>-]<+++++++++>
>++++++++++++[<++++++++++++>-]
>+++++++++++++[<+++++++++++++>-]<------->
>++++++++++++[<+++++++++++>-]<++++++>
>++++++++[<++++++++>-]<+++++>
>++++++++++[<+++++++++++++>-]<->
>++++++++[<+++++++++>-]<+
<<<<<<<<<<<<<<<
:>>:>>:>>:>>:>>:>>:>>:>>:
メモリに"こんにちは世界!"を表わす
82,B1,82,F1,81,C9,81,BF,82,CD,90,A2,8A,45,81,49
がメモリに積まれて、最後の方の":"命令で、Shift-JIS形式の文字が表示される。
作ってから思ったけど、これって既出?
>++++++++++[<+++++++++++++>-]
+++[>+++++<-]>[<++++++++++++>-]<--->
>++++++++++[<+++++++++++++>-]
>++++[>++++<-]>[<+++[<+++++>-]>-]<<+>
>++++++++++[<+++++++++++++>-]
>++++++++++++++[<++++++++++++++>-]<+++++>
>++++++++++[<+++++++++++++>-]
>++++++++++++++[<++++++++++++++>-]<----->
>++++++++++[<+++++++++++++>-]
>++++++++++++++[<++++++++++++++>-]<+++++++++>
>++++++++++++[<++++++++++++>-]
>+++++++++++++[<+++++++++++++>-]<------->
>++++++++++++[<+++++++++++>-]<++++++>
>++++++++[<++++++++>-]<+++++>
>++++++++++[<+++++++++++++>-]<->
>++++++++[<+++++++++>-]<+
<<<<<<<<<<<<<<<
:>>:>>:>>:>>:>>:>>:>>:>>:
メモリに"こんにちは世界!"を表わす
82,B1,82,F1,81,C9,81,BF,82,CD,90,A2,8A,45,81,49
がメモリに積まれて、最後の方の":"命令で、Shift-JIS形式の文字が表示される。
作ってから思ったけど、これって既出?
232デフォルトの名無しさん
2009/12/05(土) 17:03:48 うん。
233デフォルトの名無しさん
2009/12/05(土) 17:46:50234デフォルトの名無しさん
2009/12/05(土) 22:50:53 馬鹿だなぁ
:>
が顔に見えるってギャグだろどうせ
:>
が顔に見えるってギャグだろどうせ
235デフォルトの名無しさん
2009/12/06(日) 10:05:30 海外風な顔文字か。
[:<]<
[:<]<
236デフォルトの名無しさん
2009/12/06(日) 23:24:24 BFで : を .>.< に置き換えるBFプロプロセッサ書けばいいよ
237デフォルトの名無しさん
2009/12/08(火) 12:47:34 まだBFなんてやってんのかよだっせー
時代は純粋関数型言語Unlambdaだぜ
時代は純粋関数型言語Unlambdaだぜ
238デフォルトの名無しさん
2009/12/09(水) 03:11:58239デフォルトの名無しさん
2009/12/09(水) 18:02:48 bfユーザが理解できるようにトランスレータはbfで書こうぜ
240デフォルトの名無しさん
2009/12/22(火) 13:47:48 #defineしまくればCでも書けるかな
241デフォルトの名無しさん
2010/01/02(土) 17:42:21 esotope-bfcって凄いな
自分で作る気が失せる出来
自分で作る気が失せる出来
242デフォルトの名無しさん
2010/01/02(土) 17:58:44243デフォルトの名無しさん
2010/01/03(日) 00:13:20 まだまだだな
例示のプログラムのmやpはいらん
例示のプログラムのmやpはいらん
244デフォルトの名無しさん
2010/01/03(日) 08:07:28 そのへんは削除するようにする(した)って書いてるよ
245デフォルトの名無しさん
2010/01/09(土) 00:17:46 #include <stdio.h>
int main(int argc, char *argv[])
{
int c;
while ((c=getchar()) != EOF) {
while (c) {
putchar('+');
c--;
}
puts(".>");
}
}
int main(int argc, char *argv[])
{
int c;
while ((c=getchar()) != EOF) {
while (c) {
putchar('+');
c--;
}
puts(".>");
}
}
246デフォルトの名無しさん
2010/01/09(土) 02:25:08 俺にもHello Worldが作れた!
247245
2010/01/09(土) 19:43:17 修正
#include <stdio.h>
int main(int argc, char *argv[]){
int c,d;
int l = 0;
while ((c=getchar()) != EOF) {
d = c-l;
if (d>0) {
while (d--) {
putchar('+');
}
} else {
while (d++) {
putchar('-');
}
}
puts(".");
l = c;
}
}
#include <stdio.h>
int main(int argc, char *argv[]){
int c,d;
int l = 0;
while ((c=getchar()) != EOF) {
d = c-l;
if (d>0) {
while (d--) {
putchar('+');
}
} else {
while (d++) {
putchar('-');
}
}
puts(".");
l = c;
}
}
248デフォルトの名無しさん
2010/01/10(日) 04:01:44 最適化されたBFのソースを吐くなら、まだ修正する意味もあるかもしれないな。
249デフォルトの名無しさん
2010/01/15(金) 16:34:45 最小ブレインファック問題の計算複雑性ってどの程度?
250デフォルトの名無しさん
2010/01/16(土) 09:18:43251デフォルトの名無しさん
2010/01/16(土) 17:09:01 >>249
直感的には、NP完全
直感的には、NP完全
252デフォルトの名無しさん
2010/01/16(土) 20:19:33253デフォルトの名無しさん
2010/01/17(日) 12:19:05254253
2010/01/17(日) 12:23:29 いや、計算不可能かもしれない。ごめん。
無限ループかと思えるくらいに長い時間をかけて、最小BFとなるパターンと、単なる無限ループを区別するには
停止可能性の判定が必要になってくる。
無限ループかと思えるくらいに長い時間をかけて、最小BFとなるパターンと、単なる無限ループを区別するには
停止可能性の判定が必要になってくる。
255デフォルトの名無しさん
2010/01/17(日) 19:49:19 プログラムの等価性判定って計算不可能だよね?
だとすれば、最小BFが計算できればその最小BF同士の比較によって等価性判定ができちゃうので計算不可能だと思う。
だとすれば、最小BFが計算できればその最小BF同士の比較によって等価性判定ができちゃうので計算不可能だと思う。
256245
2010/01/20(水) 22:10:00 short bf_opt1(char *bfcode, char *optbfcode)
{
int prevcode;
int deletecode;
/*ここに最適化処理を書きます。*/
/*1 ムダなコードの取り除き*/
while (*bfcode) {
if (prevcode == '>' && *bfcode == '<') {
*bfcode = *(-1 +bfcode) = ' ';
deletecode = deletecode+2;
}
if (prevcode == '+' && *bfcode == '-') {
*bfcode = *(-1 +bfcode) = ' ';
deletecode = deletecode+2;
}
prevcode = *bfcode++;
}
strcpy(optbfcode, bfcode);
return deletecode = deletecode+2;
}
{
int prevcode;
int deletecode;
/*ここに最適化処理を書きます。*/
/*1 ムダなコードの取り除き*/
while (*bfcode) {
if (prevcode == '>' && *bfcode == '<') {
*bfcode = *(-1 +bfcode) = ' ';
deletecode = deletecode+2;
}
if (prevcode == '+' && *bfcode == '-') {
*bfcode = *(-1 +bfcode) = ' ';
deletecode = deletecode+2;
}
prevcode = *bfcode++;
}
strcpy(optbfcode, bfcode);
return deletecode = deletecode+2;
}
257デフォルトの名無しさん
2010/02/21(日) 14:34:22 ほ
258デフォルトの名無しさん
2010/02/21(日) 18:32:02 スーパーpre記法のシンタックス・ハイライトが Brainfuck, Clojureに対応しました - はてなダイアリー日記
http://d.hatena.ne.jp/hatenadiary/20100219/1266571864
http://d.hatena.ne.jp/hatenadiary/20100219/1266571864
259デフォルトの名無しさん
2010/02/22(月) 17:35:51 何やってんだw
260デフォルトの名無しさん
2010/02/27(土) 15:51:14 bfがインタプリタ作るのが簡単な言語とはよく言われていたが、
シンタックスハイライト作るのも簡単ってのは斜め上だなぁ。気づかなかった。
シンタックスハイライト作るのも簡単ってのは斜め上だなぁ。気づかなかった。
261デフォルトの名無しさん
2010/03/03(水) 16:39:55 プログラマーが仕事をサボっている兆候一覧
「Dvorakでもかなり早く打てるようになってきたぞ」
「念のためうちのサーバーでもGopherをサポートできるようにしときました」
「XHTML、HTML、さらにHAIKUにも準拠しています」
「brainfuckのシンタックスハイライトに対応しました」 ← new!
「Dvorakでもかなり早く打てるようになってきたぞ」
「念のためうちのサーバーでもGopherをサポートできるようにしときました」
「XHTML、HTML、さらにHAIKUにも準拠しています」
「brainfuckのシンタックスハイライトに対応しました」 ← new!
262デフォルトの名無しさん
2010/04/10(土) 11:57:14 +[+] //まだまだ終わらせないコード
263デフォルトの名無しさん
2010/04/14(水) 01:57:52 そのコードいずれオーバーフローして止まるぞ
264デフォルトの名無しさん
2010/04/14(水) 02:03:54 +[-+]
265デフォルトの名無しさん
2010/04/14(水) 09:13:58266デフォルトの名無しさん
2010/04/14(水) 16:52:59267デフォルトの名無しさん
2010/04/14(水) 17:08:11 今日じゃねえかwww
268デフォルトの名無しさん
2010/05/13(木) 00:26:54 一ヶ月前だ
269デフォルトの名無しさん
2010/05/13(木) 16:03:27 今となっては昔のことだが
270デフォルトの名無しさん
2010/05/19(水) 23:22:02 Brainfuckというものがあったそうな
271デフォルトの名無しさん
2010/05/20(木) 00:20:07 湯水のごとく記号を使い、小さなプログラムを組んではスレに納めていたそうな
272デフォルトの名無しさん
2010/05/24(月) 15:35:19 ttp://twitter.com/YewShmz/status/14212364028
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【給食無償化】国が全額負担 自維公3党、近く合意へ★2 [ぐれ★]
- 【サッカー】Jリーグ、43億円の赤字予算を承認 ★2 [鉄チーズ烏★]
- 40代教員、1億8600万円分の暗号資産だまし取られる 「警察手帳のような物」見せられ−滋賀県草津市 [蚤の市★]
- 上野動物園の双子パンダ、1月末に中国に返還へ 国内でパンダ不在に ★4 [蚤の市★]
- 【ラブホ】小川晶前市長、出直し立候補意向 周囲に伝達 群馬・前橋市長選 [ぐれ★]
- なだぎ武、イベントチケットが売れず悲鳴「10枚しか売れておりません」 [muffin★]
- しっとり歌い上げる系地下アイドルの供給が増えてもいいんじゃないか
- 維新・吉村はん「国民よ思い出せ! 悪夢の民主党時代を!!」 [592058334]
- 女子トイレに浸入→自作の張り紙を勝手に設置→その裏に録画状態のスマホをセットし盗撮した男を逮捕
- 楽しく生きると決めたんだが
- レズだけどひま
- 日本、ガチで終焉。資材高騰と人手不足で全国各地で再開発ストップwwwwwwwwwwwwwwwww [271912485]
