BrainFuck Part.3 <[+-.,]>

■ このスレッドは過去ログ倉庫に格納されています
2009/01/08(木) 12:09:18
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/
2009/01/08(木) 14:13:48
= で式の終了。q でプログラムの終了。
プログラムが終了しないときは = → 実行 → q → 実行 で終了するはず。

123+45 * 6+ (200+ 12 *( 99 -90) / 4 )*77 *=

を入れたらちゃんと17872を出すからバグはないと信じたい。



なんか凄いな、Brainfuck。C言語で
int main(){char a;scanf("%c",&a);a++;printf("%c",a);return 0;}
っていうプログラムも、BFにかかれば、
,+.
になっちまうんだもんな。すごいよBrainfuck。すごいよUrban Muller。

あ、あとBrainfuckをBrainf*ckって言ってるサイトが多いから、
Brainfでぐぐっても結構引っ掛かるんだよな。
だから、Brainfっていう呼び方を推奨する。
因みに日本語訳は、”魚の骨”だ。解説は要らないと思う。
2009/01/08(木) 14:24:15
>>1
+++++++++[>+++[>+++++<-]<-]>>++.<++++++[>+++++++<-]>.
2009/01/08(木) 15:49:57
すみませんoctaveのプログラムについて聞きたいのですが・・・
どこで聞いたらいいでしょうか??この板にくるのは初めてなもんでorz
スレチですみません、誰か心やさしい人教えてください
2009/01/08(木) 15:57:11
データ解析ツールoctaveを語ろう
http://pc11.2ch.net/test/read.cgi/unix/1086016412/
2009/01/08(木) 16:15:31
>>22
ありがとうございます!
2009/01/08(木) 21:44:16
前スレでBFの出力すぐ見たいっていう話があったので
ブックマークレット作ってみることにした
2009/01/08(木) 22:27:07
無限ループ判断をどうするかで悩んだら凡人決定
2009/01/08(木) 23:12:08
テストコード
+++++++++++++++++++++++++++++++++++++++++++++++++.
2009/01/08(木) 23:13:19
テストコード
,[.>,]
2009/01/09(金) 00:06:51
BFコードが無限ループする前にJavaScriptが無限ループしてます orz
2009/01/09(金) 00:17:41
無限ループするかどうか判定するブックマークレット
2009/01/09(金) 00:34:13
無限ループする無限ループするかどうか判定するブックマークレット
2009/01/09(金) 00:41:51
無限ループするかどうか判定するブックマークレットが無限ループするか判定させてみよう
2009/01/09(金) 01:45:02
javascript:(function(bf){a='........\t.\r..\n.................. !"#$%&\'
()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmn
opqrstuvwxyz{|}~........................................................
...........................................................................';
p='';m=0;b=[0];i=0;s=[];o=[];c='';z=1;d=function(e){r=e+'\n('+c+') at '+i+
'\ns: '+s.join(',')+'\nm: '+m+'\nb['+b.join(',')+']\n'+o.join('');if(z){if
(!confirm(r)){z=0;}}else{alert(r);}};if(confirm('このコードは '+bf.length+
' 文字あります ( loop 除く )\n実行に時間がかかる場合がございます')){while
(i<bf.length){c=bf.charAt(i);if(c==','){p=prompt('入力(とりあえず1文字目のみ
有効)','');b[m]=(p&&p.length)?p.charAt(0).charCodeAt():0;}else if(c=='.')
{o.push(a.charAt(b[m] % 256));}else if(c=='['){if(!b[m]){k=0;j=i+1;while
(j<bf.length){f=bf.charAt(j);if(f=='['){k++;}else if(f==']'){if(!k){i=j+1;
continue;}else{k--;}}j++;}if(j>=bf.length){return d('対応する]が見つかりません');
}}else{s.push(i);}}else if(c==']'){if(!b[m]){s.pop();}else{i=s.pop();continue;}}
else if(c=='<'){if(--m<0){return d('未定義メモリ参照');}}else if(c=='>'){if
(++m>=b.length){b.push(0);}}else if(c=='+'){b[m]++;}else if(c=='-'){b[m]--;}
else if(c!=' '&&c!='\t'&&c!='\r'&&c!='\n'){return d('未定義命令');}if(z){d
('debug');}i++;}return d('正常終了');}})(document.selection?document.selection
.createRange().text:document.getSelection());
2009/01/09(金) 01:47:57
ブックマークを作成してURLに上の改行取り除いたものをまるごと保存してください
その後BFコードを選択してブックマークを選ぶと実行されます
デフォルトでデバッグモードで起動しますがデバッグをキャンセルすると
その場所から残りをリアルタイムで実行されます

とりあえず FireFox3 では動いた
IE6 だと JavaScript 単体では動くがブックマークレットにすると動かない
たぶんどこかの文字をエスケープする必要があると思う
2009/01/09(金) 01:49:00
コントロールキャラクタ等は全部「.」表示されます
2バイトコードは試したけどまだうまくいっていないので
同様に「.」表示されます
2009/01/09(金) 07:26:31
すげーけど使い勝手悪いね
2009/01/09(金) 07:39:02
alertのpopupじゃなくてwindowのpopupしようとしたら
popupブロックに引っ掛かったのでとりあえずalertにした感じ

改良予定としてはpopupじゃなく画面分割でデバッグ出来て
ここみたいに
ttp://cfs.maxn.jp/neta/onlineBrainFuck.html
実行位置が目視で判るようにしつつワークレジスタも表示出来るといいですね

FireFoxだと動いてIEで動かないときってFireBugでデバッグ出来ないから困りますね orz
2009/01/09(金) 07:41:34
FizzBuzzとか時間掛かるコードだと無限ループしてなくても
FireFoxのwatchdogにつかまって警告でてワロス
2009/01/09(金) 08:46:23
>>33


IE6のブックマークレットの文字数制限
ttp://subsimple.com/bookmarklets/rules.asp
The Number of Characters
There is a limit to the number of characters your bookmarklet can contain.
The problem is, this limit differs between browser versions.
These are my findings on the number of characters supported by different browsers:

Browser Max chars
Netscape > 2000
Firefox > 2000
Opera > 2000
IE 4 2084
IE 5 2084
IE 6 508
IE 6 SP 2 488
IE 7 beta 2 2084

ブックマークレットを外部ファイルに書く方法(IE限定)
ttp://d.hatena.ne.jp/hasegawayosuke/20080116/p1
(この設定はセキュリティ的に心配あり)

頑張って文字数削るかIE6を捨てよう
2009/01/09(金) 08:49:31
回避方法?
ttp://subsimple.com/bookmarklets/tips.asp#ScriptInclusion
2009/01/09(金) 12:46:24
>>32
バグというか仕様の解釈の違いだろうけど
b[m]++; → ++b[m]&=255;
b[m]--; → --b[m]&=255;
o.push(a.charAt(b[m] % 256)); → o.push(a.charAt(b[m]));
の方が安定するかもしれない
(無限ループもどきが減ると思う)
2009/01/09(金) 13:08:31
もうひとつあった
0の状態で[]に突入せずスルーするケースで(そういう書き方が存在するんだね)落ちてる
if(c=='['){}中の
if(!b[m])のelse節にs.push(i);があるけどそこは取ってif(!b[m])の前に移す
if(c=='['){s.push(i);if(!b[m])
2009/01/09(金) 13:25:35
よく見たらその中のwhile中のcontinueが変
JavaScriptスレ池とか言われそうなので
一通り直したらまたうpするかも知れません
2009/01/09(金) 13:43:17
やはり内側のcontinueが外まで抜けることを期待してたバグだった
pushの位置が原因じゃなかったんだな
まさにBFコードが無限ループする前にJavaScriptが無限(ry
いままで良く動いてたなwww
2009/01/09(金) 13:53:21
という訳でバグ修正版うp

javascript:(function(bf){a='........\t.\r..\n.................. !
"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`
abcdefghijklmnopqrstuvwxyz{|}~...................................
.................................................................
...............................';p=c='';m=i=0;b=[0];s=[];o=[];z=1
;d=function(e){r=e+'\n('+c+') at '+i+'\ns: '+s.join(',')+'\nm: '+
m+'\nb['+b.join(',')+']\n'+o.join('');if(z){if(!confirm(r)){z=0;}
}else{alert(r);}};if(confirm('このコードは '+bf.length+' 文字あり
ます ( loop 除く )\n実行に時間がかかる場合がございます')){while(i
<bf.length){c=bf.charAt(i);if(c==','){p=prompt('入力(とりあえず1
文字目のみ有効)','');b[m]=(p&&p.length)?p.charAt(0).charCodeAt():
0;}else if(c=='.'){o.push(a.charAt(b[m]));}else if(c=='['){if(!b[
m]){k=0;j=i;while(++j<bf.length){f=bf.charAt(j);if(f=='['){k++;}e
lse if(f==']'){if(!k){i=j+1;break;}else{k--;}}}if(j>=bf.length){r
eturn d('対応する]が見つかりません');}continue;}else{s.push(i);}}
else if(c==']'){t=s.pop();if(b[m]){i=t;continue;}}else if(c=='<')
{if(--m<0){return d('未定義メモリ参照');}}else if(c=='>'){if(++m>
=b.length){b.push(0);}}else if(c=='+'){++b[m];b[m]&=255;}else if(
c=='-'){--b[m];b[m]&=255;}else if(c!=' '&&c!='\t'&&c!='\r'&&c!='\
n'){return d('未定義命令');}if(z){d('debug');}i++;}return d('正常
終了');}})(document.selection?document.selection.createRange().te
xt:document.getSelection());

2009/01/09(金) 13:54:46
最初のconfirmはうざければ取っても問題ないと思う
未定義命令もエラー出さずにスキップして良いかもしれない
FizzBuzzもちゃんと一瞬で終わるようになったよ
++++++[->++++> >+>+>-<<<<<]>[<++++> >+++>++++> >+++>+
++++>+++++> > > > > >++> >++<<<<<<<<<<<<<<-]<++++>+++
>-->+++>-> >--->++> > >+++++[->++>++<<]<<<<<<<<<<[->-
[> > > > > > >]>[<+++>.>.> > > >..> > >+<]<<<<<-[> > > >]>[<+
++++>.>.>..> > >+<]> > > >+<-[<<<]<[[-<<+> >]> > >+>+<<<<<
<[-> >+>+>-<<<<]<]>>[[-]<]>[> > >[>.<<.<<<]<[.<<<<]>]>.<<<<
<<<<<<<]
2009/01/09(金) 14:32:52
エラー処理とか>>40とか無視して短く書いてみた。cscript.exeで動作確認。

var prompt=function(x,y){return'a'};
var alert=function(s){WScript.Echo(s)};
//var alert=print; //for SpiderMonkey, V8, etc
(function(bf){
j=[];s=[];for(i=0;i<bf.length;++i){switch(bf.charAt(i)){case'[':s.push(i);break;case']':j[j[i]=s.pop()]=i;}}
o=[];p='';b=[0],m=0;
for(i=0;i<bf.length;++i){
switch(bf.charAt(i)){
case'>':b[++m]=b[m]||0;break;
case'<':--m;break;
case'+':++b[m];break;
case'-':--b[m];break;
case'[':b[m]||(i=j[i]);break;
case']':b[m]&&(i=j[i]);break;
case',':p=prompt('>','');b[m]=(p&&p.length)?p.charCodeAt(0):0;break;
case'.':o.push(String.fromCharCode(b[m]))
}}alert(o.join(''));return;
})('++++++++[>++++++++<-]>+.');
//})(document.selection?document.selection.createRange().text:document.getSelection());

けどまだ本体部分600字近くあるな。。orz
2009/01/09(金) 15:19:57
javascript:x=document;y=x.selection?x.selection.createRange().text:x.getSele
ction();w=y.length;m=i=0;b=[0];s=[];o=[];while(i<w){c=y.charCodeAt(i);if(c==
44){p=prompt();b[m]=(p&&p.length)?p.charCodeAt(0):0}if(c==46){o.push(b[m])}i
f(c==91){if(b[m]){s.push(i)}else{k=0;j=i;while(++j<w){f=y.charAt(j);if(f=='[
'){k++}if(f==']'){if(k){k--}else{i=j;break}}}if(j>=w){break}}}if(c==93){t=s.
pop();if(b[m]){i=t-1}}if(c==60){--m}if(c==62){if(++m>=b.length){b.push(0)}}i
f(c==43){++b[m]}if(c==45){--b[m]}i++}alert(o.join());

もう一息
っつーか前スレの
http://pc11.2ch.net/test/read.cgi/tech/1177988460/283
に似てきた(入力は無いみたいだけど)
2009/01/09(金) 15:20:49
var prompt=function(x,y){return'a'};
var alert=function(s){WScript.Echo(s)};
//var alert=print; //for SpiderMonkey, V8, etc
(function(bf){
j=s=[];b=[i=m=0];o=p="";bf=bf.split("");
for(i in bf)if(bf[i]=='[')s.push(i),if(bf[i]==']')j[j[i]=s.pop()]=i;
for(i=0;i<bf.length;++i)
(c=bf[i])=='>'?b[++m]=b[m]||0:
c=='<'?--m:
c=='+'?++b[m]:
c=='-'?--b[m]:
c=='['?b[m]||(i=j[i]):
c==']'?b[m]&&(i=j[i]):
c==','?b[m]=((p=prompt('>',''))&&p.length)?p.charAt(0):0:
c=='.'?o+=String.fromCharCode(b[m]):void(0);

alert(o);
})('++++++++[>++++++++<-]>+.');
//})((S=(D=document).selection)?D.S.createRange().text:D.getSelection());

>>46を勝手に短くしてみた。100文字くらい削れた。
2009/01/09(金) 15:34:29
>>48
この大きさだとIE6のbookmarkletに入りますかね
2009/01/09(金) 18:32:42
>>48
おおお勉強になった。でもなんかエラー出たので微修正。

javascript:(function(bf){j=s=[];o=p='';b=[m=0];bf=bf.split('');
for(i in bf)(c=bf[i])=='['?s.push(i):c==']'?j[j[i]=s.pop()]=i:0;
for(i=0;c=bf[i],i<bf.length;++i)
c=='>'?b[++m]=b[m]||0:
c=='<'?--m:c=='+'?++b[m]:
c=='-'?--b[m]:
c=='['?b[m]||(i=j[i]):
c==']'?b[m]&&(i=j[i]):
c==','?(b[m]=((p=prompt('>',''))&&p.length)?p.charCodeAt(0):0):
c=='.'?o+=String.fromCharCode(b[m]):0;alert(o)
})((S=(D=document).selection)?S.createRange().text:D.getSelection());

IE7とFirefoxで確認したけど肝心のIE6がない。
2009/01/09(金) 19:00:32
>>50

>>16 とか動きます?
52デフォルトの名無しさん
垢版 |
2009/01/09(金) 19:14:15
[]の対応がおかしいっぽ
2009/01/09(金) 20:50:36
Rubyで作る奇妙なプログラミング言語
~Esoteric Language~
たちよみしてきた
Brainfuck
じゃなくて
Brainfsck
だっていうのは本当なんだろうか
2009/01/09(金) 21:44:07
本家Wikipediaでbrainfsckで検索するとbrainfuckへ誘導されるから
元々あったネタなんだなと思ったんだけどどうなんだろ。
2009/01/10(土) 00:03:49
>>51
j=s=[];をj=[];s=[];にしたら直った。
でもプロポーショナルフォントで表示されて残念なことになってたw
2009/01/10(土) 00:36:09
「brainfsck -brainfuck」でぐぐると7万件くらい引っかかるから
あっちではそこそこ知られてるネタなんだと思うけど
出所はわからなかった
2009/01/10(土) 02:04:24
>>50 >>55
IE6でも動きました!!やっと制限がなくなって嬉しいです!!
すぐ結果が見れて素敵です
あと必要なのはUNICODE対応くらいでしょうか
2009/01/10(土) 07:15:46

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

を食わせてみたら本来 00 00 08 08 となるべきところ
なにもでなかった
2009/01/10(土) 18:00:58
>>+++++[-<++++++>]<+[-<++>]<.>+++[-<------>]<-.........>++++++[-<++++++++>]<
.>>+++++++++++[-<++>]<+[-<-->]<.+++++++++++++++.-----------------...........
.>+++[-<++++++>]<+.>+++++[-<++++++>]<+.>+++++++++++[-<--->]<.---------------
--.+++.-........+.---...........>+++++++++++[-<--->]<.>+++++++++++[-<+++>]<.
...+++.++++++++++++++++.>+++[-<------>]<-...>++++++[-<++++++++>]<.>>++++++++
+++[-<++>]<+[-<-->]<.+++++++++++++++.---------------......+++++++++++++++++.
>+++++[-<++++++>]<+.>+++++++++++[-<--->]<.---------------.+.++++++++++++++++
.>+++[-<------>]<-.............>++++++[-<++++++++>]<.>>+++++++++++[-<++>]<+[
-<-->]<.+++++++++++++++.---------------.....+++++++++++++++++.>+++++[-<+++++
+>]<+.>+++++++++++[-<--->]<.--------------.++++++++++++++++.>+++++++++++++[-
<---->]<.>+++++++++++[-<+++>]<.................>++++++[-<++++++++>]<.>>+++++
++++++[-<++>]<+[-<-->]<.+++++++++++++++.-----------------..>+++[-<++++++>]<+
.>+++++[-<++++++>]<+.>+++++++++++[-<--->]<.--------------.---....+++.+++++++
+++++++++.>+++[-<------>]<-..........>++++++[-<++++++++>]<.>>+++++++++++[-<+
+>]<+[-<-->]<.+++++++++++++++.---------------.....>+++++++[-<----->]<.>+++++
++[-<+++++>]<.+++++++++++++++++.>+++++[-<++++++>]<+.>+++++++++++[-<--->]<.--
------------.>++++++[-<------>]<.

http://lowreal.net/logs/2006/09/04/3
2009/01/10(土) 18:11:22
>++++[<++++++++>-] // 0 pm2 = ' '
>+++++++[<++++++++>-]<+>+++++++++> // 1 pm1 = '9' p0 = 9
>++++++++++[<++++++++++>-]<-- // 1 p1= 98 p2 = 0
[ >[-]<[->+>+<<]>>[-<<+>>]<- // 2 p2 = p1 m 1
[ >[-]<<[->>+>+<<<]>>>[-<<<+>>>]<+ // 3 p3 = p1 p 1 p4 = 0
[ >>[-]>[-]<<[>+>+<<-]>>[<<+>>-]< // 5 p5 = p4 p6 = 0
>[-]+<[>-<[-]]>[-< // 5 if (p5 == 0) then
<<<[->>+>>+<<<<]>>>>[-<<<<+>>>>]<<+> // 5 p4 = p2 p 1
>]<
<- // 4 p4 m= 1
<- ] // 3 p3 m= 1
> >[-]+<[[-]>-< ]>[-< // 4 if (p4 == 0) then
>>[-]+<< // 4 p6 = 1
<<[-]+>> // 4 p2 = 1
>]<
<<- ] // 2 p2 m= 1
>>>> >[-]+<[[-]>-< ]>[-< // 6 if (p6 == 0) then
<<<<<<<.> // 0 print pm1
>>[-]++++++[<<++++++++>>-] // 2 p2 = 0 p0 p= 48
<<.>> // 2 print p0
++++++[<<-------->>-] // 2 p2 = 0 p0 m= 48
<<<<.>>>>>>>> // 6 print pm2
>]<
<<<<<- // 1 p1 m= 1
>>[-]<<<[->>+>+<<<]>>>[-<<<+>>>]< // 2 p2 = p0 p3 = 0
>+<[[-]>-< // 2 if (p2 == 0) then
<<->> // 2 p0 m= 1
]>[-< // 2 else
<<+++++++++ // 0 p0 p= 9
<->>> // 2 pm1 m= 1
>]<
< ] // 1 http://labs.cybozu.co.jp/blog/kazuho/archives/2006/06/bf_prime.php
2009/01/10(土) 18:18:46
>>59
>+++++++++[-<++++++++++++>]<+.--------.+++++++++++
++++.>+++[-<------>]<-.>+++++++++++++[-<----->]<.>
+++++++++++++++++[-<++>]<.++++.>++++++++++[-<-----
->]<.
2009/01/10(土) 18:24:30
>++++[<++++++++>-]>++++++++[<++++++>-]<++.<.> +.<.> ++.<.> ++.<.> >++ [<--->-]
<..<.> .++.<.> --.>++ [<+++>-]<.<.> >++ [<--->-]<.>++[<++++>-]<.<.> >++[<--->-]
<-.+.<.> -.>+++[<++>-]<+.<.> >++ [<--->-]<.--.<.> ++.++++.<.> ---.---.<.> +++.
-.<.> +.+++.<.> --.--.<.> ++.++++.<.> ---.-----.<.> +++++.+.<.> .>++ [<--->-]
<.<.> >++ [<+++>-]<.----.<.> ++++.++.<.> -.-----.<.> +++++.+.<.> .--.

http://labs.cybozu.co.jp/blog/takesako/2006/06/bpencode.html
2009/01/10(土) 19:00:44
>++++[<++++++++>-]>+++++++[<++++++++>-]<+>+++++++++>>++++++++++[<++++++++++>-]
<--[>[-]<[->+>+<<]>>[-<<+>>]<-[>[-]<<[->>+>+<<<]>>>[-<<<+>>>]<+[>>[-]>[-]
<<[>+>+<<-]>>[<<+>>-]<>[-]+<[>-<[-]]>[-<<<<[->>+>>+<<<<]>>>>[-<<<<+>>>>]<<+>>]
<<-<-]> >[-]+<[[-]>-< ]>[-<>>[-]+<<<<[-]+>>>]<<<-]>>>> >[-]+<[[-]>-< ]
>[-<<<<<<<<.>>>[-]++++++[<<++++++++>>-]<<.>>++++++[<<-------->>-]
<<<<.>>>>>>>>>]<<<<<<->>[-]<<<[->>+>+<<<]>>>[-<<<+>>>]<>+<[[-]>-<<<->>]
>[-<<<+++++++++<->>>>]<<]
2009/01/10(土) 23:43:54
お、なんか賑わってるねぇ。
前DAT、前々DAT誰か持ってたら
保管庫でもつくっとくかな
2009/01/10(土) 23:51:28
これでいいのか
ttp://ranobe.com/up/src/up330615.zip
2009/01/10(土) 23:56:34
+[<++>-]

+[-<++>]
は意味的には同じですか?
2009/01/11(日) 00:54:03
>>65
ありがとう
思いのほか早くて驚いたw
2009/01/11(日) 00:56:49
受け取れたようなので消しといた。
2009/01/11(日) 14:01:36
>>66
一緒じゃね
2009/01/14(水) 10:04:19
ז
71デフォルトの名無しさん
垢版 |
2009/01/14(水) 13:24:37
++++[>++++[>+++++>++++>+++++>+++++<<<<-]<-]>>-----.>+.>+++.>-.
2009/01/14(水) 21:45:10
2048コア位のBFCPUまだー?
2009/01/14(水) 22:03:43
.NET用のアセンブリにするコンパイラ書いてみた
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8636.txt
世の中には既に同じようなものがあるみたいだけど気にしない
2009/01/15(木) 15:22:25
BFで書かれてるのかとワクワクしちゃったじゃないか…
2009/01/21(水) 16:59:37
置換ネタで、いいなぁって思うのは
ソース見ても一見、大した意味のない文章に見える所だと思う。
だからやたら出回ってる置換ネタの九割は意味なし。
その点長門は秀逸
2009/01/21(水) 17:55:47
http://natu.txt-nifty.com/natsutan/2008/03/brainfuck_d62c.html
http://blog.livedoor.jp/naoya_t/archives/cat_50030990.html
2009/01/21(水) 19:47:05
misaじゃね?
2009/02/10(火) 15:00:45
みさみさ?
2009/02/15(日) 03:35:54
ttp://thumb.vipper.org/vfile/vip1110508.jpg
2009/02/15(日) 11:41:04
抜いた
2009/02/15(日) 13:34:23
魂が?w
2009/02/15(日) 14:31:34
>>79
++++++[>++++++<-]>[>+>+<<-]>--->>++++
+++++[<+++++++++>-]<--------------.++
+++++++++.---.+++++.---------------.++
++++++++++++.--.++++.----------------.
++++++++++++++++<.>
2009/03/15(日) 02:48:14
sage
2009/03/15(日) 14:53:08
age
2009/03/21(土) 19:00:51
sagi
2009/03/23(月) 17:43:14
いい加減飽きただろうがどうしても置換ネタ

> → r(right)
< → l(left)
+ → p(plus)
- → m(minus)
[ → s(start)
] → e(end)
. → o(output)
, → i(input)
BFの命令を上の表で対応する英字から始まる任意の英単語に置換して英文を作る。解釈の際に、記号や表で対応関係に無い英字から始まる英単語は無視される。
例) pineapple → +
例) She must go east. → [-]

Hello, world!↓
2009/03/23(月) 20:55:06
普通に「読めない文字はスルーする」という従来通りの挙動でいいのでは
2009/03/23(月) 22:18:12
無駄に英文が長くなる  却下
2009/03/23(月) 22:19:31
88は86に対するレスね >>87でいいと思う
2009/03/23(月) 23:14:10
なんとか意味の通じる英文を・・・と考えての仕様だろうが
残念ながら君には50音版を作ってもらう
2009/03/24(火) 00:31:18

+ → E
- → A
> → T
< → I
[ → S
] → N
. → R
, → U
2009/03/24(火) 18:17:48
>>91
-<[<>+.,
2009/03/24(火) 19:15:54
>>92
[<+][,.,
2009/03/26(木) 21:34:05
+ → いろはにほへと
- → ちりぬるを
> → わかよたれそ
< → つねならむ
[ → うゐのおくやま
] → けふこえて
. → あさきゆめみし
, → ゑひもせす
濁音・半濁音・小文字は清音と一緒
「ん」はスルー
2009/03/27(金) 04:37:11
ルール考えるのはいいけど、
それで自分でプログラム書いてみろってばさ。
2009/03/28(土) 15:17:10
Urban Muellerさんに言ってるんだな
2009/03/30(月) 23:42:15
もう痴漢ネタは秋田
2009/04/10(金) 11:23:47
ほしゅ
2009/04/16(木) 22:58:24
ほしゅう
2009/04/25(土) 15:59:46
ごしゅう
2009/05/08(金) 00:39:19
2009/05/15(金) 21:03:39
+
2009/05/17(日) 20:47:00
[]
2009/05/17(日) 23:05:24
> > > > > >
2009/06/04(木) 21:57:56
無ネタ
106デフォルトの名無しさん
垢版 |
2009/06/13(土) 16:24:34
+++[>+++<-]>[>+>+<<-]>->>++++++++++[<++++++++++>-]<------------.++++++<.>.<.>--.++<.>
2009/06/20(土) 16:17:42
]
2009/06/22(月) 01:30:36
2009/08/02(日) 21:49:41

              _.。ャぁて丕刀フ7ゎ。._
           ,.ィ炙ヲi≠┴⇒弍j込ス>。
.        ,ィ升ヲナ'´           `゙'<弖心、
.        ;夕フア´                \ホi心.
       んfiУ                ▽ij∧
       从j'Y                   ∨iハ
.       斤W                      kい
     |友カ                    }ソ川
.       い叭                   仄ガ
.     Wi从                  从ノリ
.      ∀t△                 ∧fリ/
       ゙マじへ、             /リiУ
        \夊id、_             ,.イ!刋/
         `マ才i「≧ェ。。.。。っ夭テ少'゚
           `゚'' ミ芝玉竺壬云=‐'´
                    ̄ ̄
2009/08/03(月) 22:46:35
一応BFとして動くな
2009/08/03(月) 23:31:46
[と]の個数があってればなんでも一応動くだろ
2009/08/03(月) 23:52:00
個数が合っててもネスト構造がおかしかったら処理系によっては動かないだろ
2009/08/04(火) 00:49:19
あー言い間違えた。そうそうそういうことが言いたかった
2009/08/04(火) 16:49:05
というかム板じゃない他スレにも貼ってあったから無視したが
これはコードだったのか
2009/08/04(火) 17:49:22
BFコードとして解釈できないレスの方が珍しい
2009/08/04(火) 19:41:55
処理系によっては動くおかしなネスト構造ってどういうやつ?
2009/08/04(火) 21:46:45
[ ] ] [ [ ]
とかじゃね

処理系によっては過剰の ] をプログラムの終了と解釈するとかもあるので
そのような処理系の場合は正常に終了する
2009/08/04(火) 21:47:47
ん、ちょっと言い間違えた
終了するかはともかく、正常に実行される
2009/08/18(火) 21:46:42
BrainFuckでライブラリを書けば、どんな言語、どんな環境にも極めて簡単にポーティング可能!
BrainFuckライブラリを充実させることこそ我々の急務ではないだろうか!
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況