◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

BrainFuck Part.3 <[+-.,]>YouTube動画>4本 ニコニコ動画>1本 ->画像>6枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1231384158/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん
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/
2デフォルトの名無しさん
2009/01/08(木) 12:11:32
Brainfuck(ブレインファック)はプログラミング言語の一つ。
名称が良いものではないため、Brainf*ckと呼称するのが一般的。

開発者Urban Müllerがコンパイラがなるべく小さくなる言語として考案した。
実際、Müllerが開発したコンパイラのサイズは123バイト(キロバイトではない!)、
インタプリタは98バイトとなっている。

処理系には十分なサイズのbyte型配列とその要素のひとつを指すポインタがある。
ポインタを「>」「<」命令で移動させながら、そのポインタが指す値を増減させて
処理を進めていく(Hello world参照)。

実用性はほとんど無いように思われるが、これだけでチューリングマシンで実行可能な
あらゆるプログラムが記述できる(チューリング完全である)とされている。
3デフォルトの名無しさん
2009/01/08(木) 12:20:32
<>参考サイト
http://ja.wikipedia.org/wiki/Brainfuck
http://vipprog.net/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E/Brainfuck.html

<>実行環境等
Cソースに変換するコンパイラ(超高速)
http://esoteric.sange.fi/brainfuck/impl/compilers/BF2C.c

JavaScript版インタプリタ(超低速)
http://cfs.maxn.jp/neta/onlineBrainFuck.html

VHDLで書かれたBF-CPU(BIOS付き)
http://www.clifford.at/bfcpu/bfcpu.html

<>例
Hello world!
+++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.+++.------.--------.>+.

>>1
++++++++[>++++++++<-]>--..-------------.<+++++[>++++++<-]>.+++++.+.
4デフォルトの名無しさん
2009/01/08(木) 12:25:23
<>亜種

長門有希
(リンク先行方不明)

neko mimi Fu**
http://d.hatena.ne.jp/tokuhirom/20041015/p14

Misa
http://homepage2.nifty.com/kujira_niku/okayu/misa.html

あえぎ声記述言語
http://vipprog.tumblr.com/post/35257076/brainf-ck

※置換ネタは無意味なので控えましょう
5デフォルトの名無しさん
2009/01/08(木) 13:14:46
こんな本が出てるらしい

http://book.mycom.co.jp/book/978-4-8399-2784-4/978-4-8399-2784-4.shtml
> あなたは「+-><.,[]」の8つの記号しかないプログラミング言語や、
> 空白だけで構成されるプログラミング言語があるのをご存じだろうか。
> 本書では、そんな奇妙な言語(Esoteric Language)を題材に
> プログラミング言語の作り方を解説します。
6デフォルトの名無しさん
2009/01/08(木) 13:15:32
1-2 サンプルプログラムに特化した言語、HQ9+
1-3 8つの命令ですべてを記述する言語、Brainf*ck
1-4 決して印刷できない言語、Whitespace
2-1 きらめく星空のような言語、Starry
2-2 Unicodeを悪ノリした言語、Bolic
付録 Esoteric Language傑作選
 新次元のプログラミング言語、Befunge
 文字を一種類しか使わない言語、Wierd
 英文学的プログラミング言語、Shakespeare
 数値を「調理」する言語、Chef
 関数だけでできている言語、Unlambda
 ちょっと草植えときますね型言語、Grass
 1キロバイトでコンパイラが書ける言語、False8
 0次元のプログラミング言語、NULL
 A, AAA言語、AAAAAAAAAAAAAA!!!!
 普通の言語に似て非なる言語、INTERCAL
 地獄から来た言語、Malbolge
 風にたなびく煙のような言語、KEMURI
 データをドライブする言語、Taxi4
7デフォルトの名無しさん
2009/01/08(木) 13:19:17
Amazon.co.jp: Rubyで作る奇妙なプログラミング言語 ~Esoteric Language~: 原 悠: 本
http://www.amazon.co.jp/dp/4839927847
BrainFuck Part.3 <[+-.,]>YouTube動画>4本 ニコニコ動画>1本 ->画像>6枚

>内容紹介
>あなたは「+-><.,[]」の8つの記号しかないプログラミング言語や、空白だけで構成されるプログラミング言語があるのをご存じだろうか。
>本書では、そんな奇妙な言語(Esoteric Language)を題材にプログラミング言語の作り方を解説します。

[esobook] Brainf*ckとWhitespaceの本を書きましたwwww - Greenbear Diary (2008-12-08)
http://mono.kmc.gr.jp/~yhara/d/?date=20081208#p01

> 第一部ではHQ9+から始まり、Brainf*ck、Whitespaceを題材にインタプリタ・VM方式の処理系を作る
> 第二部では本書オリジナル言語であるStarry、Bolicを題材に新しいプログラミング言語の作り方を解説
> 付録では本編で取り上げられなかった13個のEsoteric Languageをちょっとずつ紹介 (Grassもあるよ!)
8デフォルトの名無しさん
2009/01/08(木) 13:21:41
punctfuck.rb

$___,@_,@__,$_=(@@__="")=~//,?#=~/$/,->(_){_<(__="####"=~/$/)**__&&(@@__<<
_;@__[_+@_])},[*$<]*@@__;@__[$___];$____,$_,@___,$__,@__=$_[@_+($_+?!=~/!/
)..-@_],$`,[],[],->(_){(__=$_[_];__=~/[><+\-\.,]/?$__<<$_[_]:__==?[?(@___,
$__=$__,[]):__==?]?$__=@___<<$__:__==$\?$\:_)&&@__[_+@_]};@__[$___];@___,
$_,@@_,@__=[],[],$___,->(_){$_[@@_]||=$___;({?>=>->{@@_+=@_},?<=>->{@@_-=
@_},?+=>->{$_[@@_]+=@_},?-=>->{$_[@@_]-=@_},?.=>->{$><<@@__[$_[@@_]]},?,=>
->{$____=~/^./&&($____=$';$_[@@_]=@@__=~/#{((__,=[*?/..?:]&[$&];__)||(__,=
[*?@...?[]&[$&];__)||(__,=[*?`...?{]&[$&];__))&&__!=?{?$&:'\\'+$&}/)},$\=>
->{$\}}[$__[_]]||->{$_[@@_]!=$___&&(@___<<[$__,_-@_];$__=$__[_];@__[$___]
*@___,($__,_)=@___);""})[]&&@__[_+@_]};@__[$___]

■[Ruby] 記号だけで brainfuck インタプリタ
http://d.hatena.ne.jp/ku-ma-me/20080626/p1
9デフォルトの名無しさん
2009/01/08(木) 13:24:43
今までに作ったソフト - Nintendo DSでプログラミング
http://void-main.org/dsprogram/index.php?%E4%BB%8A%E3%81%BE%E3%81%A7%E3%81%AB%E4%BD%9C%E3%81%A3%E3%81%9F%E3%82%BD%E3%83%95%E3%83%88
10デフォルトの名無しさん
2009/01/08(木) 13:34:15
http://www.esolangs.org/wiki/Quantum_brainfuck
11デフォルトの名無しさん
2009/01/08(木) 13:36:49
http://hoznas.blogspot.com/2008/06/brainfukexcel.html
http://unkun.ikaduchi.com/excel_bf/index.html
12デフォルトの名無しさん
2009/01/08(木) 13:42:24
http://www.hevanet.com/cristofd/brainfuck/




#…今指すメモリに西暦の上2桁入力
 次のメモリに下2桁
 次のメモリに月入力
 次のメモリに日入力
#
> >[> > >+<<<-]> > >+[<+++++++++++++>-]+++++<[> >+>+<<<-]> > >[<<<+> > >-]<<[>>
+>+<<<-]> > >[<<<+> > >-]<<[->-> >-<<[[>+<-]> >+<<]>[<+>-]>[<<<<[> >+>+<<<-]> >
>[<<<+> > >-]> >+<+]<<<]>[>+<-]<<[>+>+<<-]>[<+>-]> >[<->-]> >[<<<<+> > > >-]<<<
[-]<<<<<<++[> > > > >+<<<<<-]> >+++++[> > >+<<<-]> > > >+++++++<[> >+>+<<<-]> >
>[<<<+> > >-]<<[> >+>+<<<-]> > >[<<<+> > >-]<<[->-> >-<<[[>+<-]> >+<<]>[<+>-]>[
<<<<[> >+>+<<<-]> > >[<<<+> > >-]> >+<+]<<<]>[>+<-]<<[>+>+<<-]>[<+>-]> >[<->-]>
>[<<<<+> > > >-]<<++++++++[<++++++>-]<.

今日の曜日を計算
0…月曜日 1…火曜日 ・・・ 6…日曜日

閏年の厳密な計算が面倒だったので2008~2011までしか通用しないのと、
除算は前スレの誰かのを流用しただけなので、もっと短くできる。(メモリを破壊してもいいので)
13デフォルトの名無しさん
2009/01/08(木) 13:47:25
http://lab.moyo.biz/garage/brainfuck/index.xsp

http://brainfuck.sourceforge.net/results0.html




http://www.jmuk.org/diary/2007/03/01/0
>shebang 行の解釈は execve(2)、つまりカーネルが行なう。
>やったことがないなら man execve してみるといいと思う。ちゃんと解説してあります。

だと。シェルはカーネルに丸投げするだけみたいだ。
つまり、1行目を除いてからアプリに投げるカーネルを作ってやれば、おk(違
#勉強になった。
14デフォルトの名無しさん
2009/01/08(木) 13:58:25
http://groups.google.co.jp/group/brainfunck?hl=ja


>++++++++++[>+++++
+++>+++++++++++>++
++++++++++[<]>-]>--
.>>---.<--..<++.>+++.
15デフォルトの名無しさん
2009/01/08(木) 13:59:38
module brainfuck;
const(ubyte)[] brainfuck(const(char)[] code)(in const(ubyte)[] input = []) {
ubyte[] output, mem = new ubyte[100];
uint ptr, readptr;
mixin(_brainfuck(code));
return output;
}
private const(char)[] _brainfuck(const(char)[] code) {
char[] o = "".dup;
foreach(c; code) {
switch(c) {
case '>': o ~= "if(++ptr >= mem.length) mem.length = mem.length * 2;"; break;
case '<': o ~= "--ptr;"; break;
case '+': o ~= "++mem[ptr];"; break;
case '-': o ~= "--mem[ptr];"; break;
case '.': o ~= "output ~= mem[ptr];"; break;
case ',': o ~= "mem[ptr] = readptr < input.length ? input[readptr++] : 0;"; break;
case '[': o ~= "while(mem[ptr] != 0) {"; break;
case ']': o ~= "}"; break;
default: break;
}
}
return o;
}
unittest {
assert(brainfuck!("+++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.+++.------.--------.>+.") == cast(ubyte[])"Hello, world!");
}
16デフォルトの名無しさん
2009/01/08(木) 14:00:38
>++++++++++[>+>+++>++++++++++++[<]>-]> > >++++........<<+++.---.> >..<++..
..>...<<+++.---.> >..<....>...<..................>..<.............>...<.................>..<<+++.---.>
>.......<...>..<..>..<..>.....<..................>..<............>.....<..>..<..>..<<+++.---.> >..<..
..>..<..>....<...>..<...>..<...>..<.>..<.>....<..>......<.>..<...>..<.>..<...>..<.>..<.>..<<++
+.---.> >..<.....>..<.>..<......>......<...>..<.>...<...>..<...>..<...>..<...>..<.>..<......>...<<
+++.---.> >..<....>...<.>..<.....>..<...>..<...>..<.>..<....>..<...>..<...>..<...>..<.>..<...>..
<.>..<.>..<<+++.---.> >........<..>..<......>....<.>...<.>..<.>..<....>..<...>..<....>.....<...>
.....<..>..<...>..
17デフォルトの名無しさん
2009/01/08(木) 14:02:02
http://www.nishiohirokazu.org/blog/2007/02/grinedit_6.html
18デフォルトの名無しさん
2009/01/08(木) 14:05:00
GZip+Base64

H4sICFJPkEYAAIGfdzVLMjdCRnIyAJWV63ECMQyE/9/MVSKUCjRuxOP+28jntc6CC0wSAcaWVmu9
Dlprj9YM6bFWX9J88I7wfplrRS6zQeDdIh5C2XksimIRg8doXR+z4ikqAJZsHBC0HpLzYJFvlw1O
1g4QlsCJ2xciMAhkOsILTJ9QCHk1jE/hGTYL//vSfVQGEMygz4PMuH7lwd4b6SDAbVTGlS9kYCc4
PcE7O4UeM0YREztwpaM4MyXkusDHVLUsCQifBNMGYJQQ44apQgmDstTdLz1hpzKUecJsS1dnOkFm
WJGNHChzLobi037sC4d/bth5fGhZ9YsVk4dr2SvxbnS7vNY87j7da9VupZLVohAAoiCpPo89eYS8
mjA3su6aIcqAwCZN8gxobrdzhJF7ew5BGFs8bB5EOldpsICpTZZljRvkXeO35xHBVW/rpnN1Evv7
7lXPLLtvegrL9e4mYtdFsBrqbLdY8AMsV2nkAIrpGQswiVCqMkAmCBG9UkAgpb96iVlgdLkXC1ln
nXZ98utDld7U6Pl6Zf1aiIoI+wX9T9wwVuRycLmjgQIVekuFiJbOpcn5cDSzplINPYU2/aoW9bOd
gkkpOslnf3R7ISZ1wGL1zFwV8szWfv6OKY0vNa+odF7Su2HSPD5++ZsZ31FFeUKKBgAA
19デフォルトの名無しさん
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っていう呼び方を推奨する。
因みに日本語訳は、”魚の骨”だ。解説は要らないと思う。
20デフォルトの名無しさん
2009/01/08(木) 14:24:15
>>1
+++++++++[>+++[>+++++<-]<-]>>++.<++++++[>+++++++<-]>.
21デフォルトの名無しさん
2009/01/08(木) 15:49:57
すみませんoctaveのプログラムについて聞きたいのですが・・・
どこで聞いたらいいでしょうか??この板にくるのは初めてなもんでorz
スレチですみません、誰か心やさしい人教えてください
22デフォルトの名無しさん
2009/01/08(木) 15:57:11
データ解析ツールoctaveを語ろう
http://pc11.2ch.net/test/read.cgi/unix/1086016412/
23デフォルトの名無しさん
2009/01/08(木) 16:15:31
>>22
ありがとうございます!
24デフォルトの名無しさん
2009/01/08(木) 21:44:16
前スレでBFの出力すぐ見たいっていう話があったので
ブックマークレット作ってみることにした
25デフォルトの名無しさん
2009/01/08(木) 22:27:07
無限ループ判断をどうするかで悩んだら凡人決定
26デフォルトの名無しさん
2009/01/08(木) 23:12:08
テストコード
+++++++++++++++++++++++++++++++++++++++++++++++++.
27デフォルトの名無しさん
2009/01/08(木) 23:13:19
テストコード
,[.>,]
28デフォルトの名無しさん
2009/01/09(金) 00:06:51
BFコードが無限ループする前にJavaScriptが無限ループしてます orz
29デフォルトの名無しさん
2009/01/09(金) 00:17:41
無限ループするかどうか判定するブックマークレット
30デフォルトの名無しさん
2009/01/09(金) 00:34:13
無限ループする無限ループするかどうか判定するブックマークレット
31デフォルトの名無しさん
2009/01/09(金) 00:41:51
無限ループするかどうか判定するブックマークレットが無限ループするか判定させてみよう
32デフォルトの名無しさん
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());
33デフォルトの名無しさん
2009/01/09(金) 01:47:57
ブックマークを作成してURLに上の改行取り除いたものをまるごと保存してください
その後BFコードを選択してブックマークを選ぶと実行されます
デフォルトでデバッグモードで起動しますがデバッグをキャンセルすると
その場所から残りをリアルタイムで実行されます

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

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

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


IE6のブックマークレットの文字数制限
http://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限定)
http://d.hatena.ne.jp/hasegawayosuke/20080116/p1
(この設定はセキュリティ的に心配あり)

頑張って文字数削るかIE6を捨てよう
39デフォルトの名無しさん
2009/01/09(金) 08:49:31
回避方法?
http://subsimple.com/bookmarklets/tips.asp#ScriptInclusion
40デフォルトの名無しさん
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]));
の方が安定するかもしれない
(無限ループもどきが減ると思う)
41デフォルトの名無しさん
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])
42デフォルトの名無しさん
2009/01/09(金) 13:25:35
よく見たらその中のwhile中のcontinueが変
JavaScriptスレ池とか言われそうなので
一通り直したらまたうpするかも知れません
43デフォルトの名無しさん
2009/01/09(金) 13:43:17
やはり内側のcontinueが外まで抜けることを期待してたバグだった
pushの位置が原因じゃなかったんだな
まさにBFコードが無限ループする前にJavaScriptが無限(ry
いままで良く動いてたなwww
44デフォルトの名無しさん
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());

45デフォルトの名無しさん
2009/01/09(金) 13:54:46
最初のconfirmはうざければ取っても問題ないと思う
未定義命令もエラー出さずにスキップして良いかもしれない
FizzBuzzもちゃんと一瞬で終わるようになったよ
++++++[->++++> >+>+>-<<<<<]>[<++++> >+++>++++> >+++>+
++++>+++++> > > > > >++> >++<<<<<<<<<<<<<<-]<++++>+++
>-->+++>-> >--->++> > >+++++[->++>++<<]<<<<<<<<<<[->-
[> > > > > > >]>[<+++>.>.> > > >..> > >+<]<<<<<-[> > > >]>[<+
++++>.>.>..> > >+<]> > > >+<-[<<<]<[[-<<+> >]> > >+>+<<<<<
<[-> >+>+>-<<<<]<]>>[[-]<]>[> > >[>.<<.<<<]<[.<<<<]>]>.<<<<
<<<<<<<]
46デフォルトの名無しさん
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
47デフォルトの名無しさん
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
に似てきた(入力は無いみたいだけど)
48デフォルトの名無しさん
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文字くらい削れた。
49デフォルトの名無しさん
2009/01/09(金) 15:34:29
>>48
この大きさだとIE6のbookmarkletに入りますかね
50デフォルトの名無しさん
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がない。
51デフォルトの名無しさん
2009/01/09(金) 19:00:32
>>50

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

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

を食わせてみたら本来 00 00 08 08 となるべきところ
なにもでなかった
59デフォルトの名無しさん
2009/01/10(土) 18:00:58
>>+++++[-<++++++>]<+[-<++>]<.>+++[-<------>]<-.........>++++++[-<++++++++>]<
.>>+++++++++++[-<++>]<+[-<-->]<.+++++++++++++++.-----------------...........
.>+++[-<++++++>]<+.>+++++[-<++++++>]<+.>+++++++++++[-<--->]<.---------------
--.+++.-........+.---...........>+++++++++++[-<--->]<.>+++++++++++[-<+++>]<.
...+++.++++++++++++++++.>+++[-<------>]<-...>++++++[-<++++++++>]<.>>++++++++
+++[-<++>]<+[-<-->]<.+++++++++++++++.---------------......+++++++++++++++++.
>+++++[-<++++++>]<+.>+++++++++++[-<--->]<.---------------.+.++++++++++++++++
.>+++[-<------>]<-.............>++++++[-<++++++++>]<.>>+++++++++++[-<++>]<+[
-<-->]<.+++++++++++++++.---------------.....+++++++++++++++++.>+++++[-<+++++
+>]<+.>+++++++++++[-<--->]<.--------------.++++++++++++++++.>+++++++++++++[-
<---->]<.>+++++++++++[-<+++>]<.................>++++++[-<++++++++>]<.>>+++++
++++++[-<++>]<+[-<-->]<.+++++++++++++++.-----------------..>+++[-<++++++>]<+
.>+++++[-<++++++>]<+.>+++++++++++[-<--->]<.--------------.---....+++.+++++++
+++++++++.>+++[-<------>]<-..........>++++++[-<++++++++>]<.>>+++++++++++[-<+
+>]<+[-<-->]<.+++++++++++++++.---------------.....>+++++++[-<----->]<.>+++++
++[-<+++++>]<.+++++++++++++++++.>+++++[-<++++++>]<+.>+++++++++++[-<--->]<.--
------------.>++++++[-<------>]<.

http://lowreal.net/logs/2006/09/04/3
60デフォルトの名無しさん
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
61デフォルトの名無しさん
2009/01/10(土) 18:18:46
>>59
>+++++++++[-<++++++++++++>]<+.--------.+++++++++++
++++.>+++[-<------>]<-.>+++++++++++++[-<----->]<.>
+++++++++++++++++[-<++>]<.++++.>++++++++++[-<-----
->]<.
62デフォルトの名無しさん
2009/01/10(土) 18:24:30
>++++[<++++++++>-]>++++++++[<++++++>-]<++.<.> +.<.> ++.<.> ++.<.> >++ [<--->-]
<..<.> .++.<.> --.>++ [<+++>-]<.<.> >++ [<--->-]<.>++[<++++>-]<.<.> >++[<--->-]
<-.+.<.> -.>+++[<++>-]<+.<.> >++ [<--->-]<.--.<.> ++.++++.<.> ---.---.<.> +++.
-.<.> +.+++.<.> --.--.<.> ++.++++.<.> ---.-----.<.> +++++.+.<.> .>++ [<--->-]
<.<.> >++ [<+++>-]<.----.<.> ++++.++.<.> -.-----.<.> +++++.+.<.> .--.

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

+[-<++>]
は意味的には同じですか?
67デフォルトの名無しさん
2009/01/11(日) 00:54:03
>>65
ありがとう
思いのほか早くて驚いたw
68デフォルトの名無しさん
2009/01/11(日) 00:56:49
受け取れたようなので消しといた。
69デフォルトの名無しさん
2009/01/11(日) 14:01:36
>>66
一緒じゃね
70デフォルトの名無しさん
2009/01/14(水) 10:04:19
ז
71デフォルトの名無しさん
2009/01/14(水) 13:24:37
++++[>++++[>+++++>++++>+++++>+++++<<<<-]<-]>>-----.>+.>+++.>-.
72デフォルトの名無しさん
2009/01/14(水) 21:45:10
2048コア位のBFCPUまだー?
73デフォルトの名無しさん
2009/01/14(水) 22:03:43
.NET用のアセンブリにするコンパイラ書いてみた
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8636.txt
世の中には既に同じようなものがあるみたいだけど気にしない
74デフォルトの名無しさん
2009/01/15(木) 15:22:25
BFで書かれてるのかとワクワクしちゃったじゃないか…
75デフォルトの名無しさん
2009/01/21(水) 16:59:37
置換ネタで、いいなぁって思うのは
ソース見ても一見、大した意味のない文章に見える所だと思う。
だからやたら出回ってる置換ネタの九割は意味なし。
その点長門は秀逸
76デフォルトの名無しさん
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
77デフォルトの名無しさん
2009/01/21(水) 19:47:05
misaじゃね?
78デフォルトの名無しさん
2009/02/10(火) 15:00:45
みさみさ?
79デフォルトの名無しさん
2009/02/15(日) 03:35:54
BrainFuck Part.3 <[+-.,]>YouTube動画>4本 ニコニコ動画>1本 ->画像>6枚
80デフォルトの名無しさん
2009/02/15(日) 11:41:04
抜いた
81デフォルトの名無しさん
2009/02/15(日) 13:34:23
魂が?w
82デフォルトの名無しさん
2009/02/15(日) 14:31:34
>>79
++++++[>++++++<-]>[>+>+<<-]>--->>++++
+++++[<+++++++++>-]<--------------.++
+++++++++.---.+++++.---------------.++
++++++++++++.--.++++.----------------.
++++++++++++++++<.>
83デフォルトの名無しさん
2009/03/15(日) 02:48:14
sage
84デフォルトの名無しさん
2009/03/15(日) 14:53:08
age
85デフォルトの名無しさん
2009/03/21(土) 19:00:51
sagi
86デフォルトの名無しさん
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!↓
87デフォルトの名無しさん
2009/03/23(月) 20:55:06
普通に「読めない文字はスルーする」という従来通りの挙動でいいのでは
88デフォルトの名無しさん
2009/03/23(月) 22:18:12
無駄に英文が長くなる  却下
89デフォルトの名無しさん
2009/03/23(月) 22:19:31
88は86に対するレスね >>87でいいと思う
90デフォルトの名無しさん
2009/03/23(月) 23:14:10
なんとか意味の通じる英文を・・・と考えての仕様だろうが
残念ながら君には50音版を作ってもらう
91デフォルトの名無しさん
2009/03/24(火) 00:31:18

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

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

処理系によっては過剰の ] をプログラムの終了と解釈するとかもあるので
そのような処理系の場合は正常に終了する
118デフォルトの名無しさん
2009/08/04(火) 21:47:47
ん、ちょっと言い間違えた
終了するかはともかく、正常に実行される
119デフォルトの名無しさん
2009/08/18(火) 21:46:42
BrainFuckでライブラリを書けば、どんな言語、どんな環境にも極めて簡単にポーティング可能!
BrainFuckライブラリを充実させることこそ我々の急務ではないだろうか!
120デフォルトの名無しさん
2009/08/18(火) 23:36:08
再入可能どころか再配置可能も怪しいぞ
121デフォルトの名無しさん
2009/08/20(木) 06:23:46
>>120
BrainFuckはチューリング完全だから、気合でなんとかすればよろし。
122デフォルトの名無しさん
2009/08/25(火) 18:52:06
>>120
相対位置でできれば良いんじゃない?
123デフォルトの名無しさん
2009/08/25(火) 23:08:59
まずは再入、再配置のライブラリを書いてみようか?

124デフォルトの名無しさん
2009/08/26(水) 02:46:50
>>123
そうするとメタプログラミング
みたいになるんじゃないか?
125デフォルトの名無しさん
2009/08/26(水) 11:09:01
中間言語→BFにコンパイルするコンパイラを作ればいいんじゃね
逆ポーランド記法な言語からのコンパイラならなんとかできるかな
126デフォルトの名無しさん
2009/08/26(水) 11:30:45
>>125
だったらBFのソースを
全部その言語で書かなきゃいけなくなるんじゃ?
127デフォルトの名無しさん
2009/08/26(水) 22:42:52
どうせ有限なんだから時間さえあればいける
128デフォルトの名無しさん
2009/08/26(水) 23:31:10
ついでにBrainFuckを逆アセンブル?してCソースにするコンパイラもよろしく。
129デフォルトの名無しさん
2009/08/26(水) 23:43:45
それは最適化しなくていいなら簡単
130デフォルトの名無しさん
2009/08/27(木) 00:02:29
もちろん可能な限り元のコードの意味を推測して、それらしいコードを復元してほしい。
131デフォルトの名無しさん
2009/08/27(木) 00:22:41
今JSでそういうの書いてる
132デフォルトの名無しさん
2009/08/27(木) 17:47:54
期待
133デフォルトの名無しさん
2009/08/27(木) 19:07:31
がんばってくれ
134デフォルトの名無しさん
2009/08/27(木) 23:43:54
前スレより
http://www.clifford.at/bfcpu/bfcomp.html
A compiler for a c-like high-level language which generates brainf*ck code
135デフォルトの名無しさん
2009/08/29(土) 21:39:59
まだか?
136名無しさん@そうだ選挙に行こう
2009/08/30(日) 08:20:26
>>128
guy shirts
137デフォルトの名無しさん
2009/08/31(月) 23:10:26
>134
linuxか・・・
138デフォルトの名無しさん
2009/09/01(火) 23:56:37
BrainFuckでビジービーバーゲームをやるのも面白いかもしれない。
http://ja.wikipedia.org/wiki/%E3%83%93%E3%82%B8%E3%83%BC%E3%83%93%E3%83%BC%E3%83%90%E3%83%BC

ここでやるのはスレチかな?
139デフォルトの名無しさん
2009/09/02(水) 07:09:25
>>138
ビジービーバーゲームって
http://www.infonet.co.jp/ueyama/ip/history/turing.html
でおk?
140デフォルトの名無しさん
2009/09/02(水) 07:31:28
>>139
それはチューリングマシンの説明で、ビジービーバーゲームとは違う。ビジービーバーの要点は
>停止するまでにテープに 1 を最も多く出力するような n-状態チューリングマシンを見つけ出そう、というゲーム
だよ。


141デフォルトの名無しさん
2009/09/02(水) 07:43:26
>>140
だったらチューリングマシンで
1が多く出力される遷移関数を考えるってこと?
142デフォルトの名無しさん
2009/09/02(水) 07:56:56
ビジービーバーゲームの説明はそれでおk。
普通はチューリングマシンでやるところをBrainFuckでやってみようと。
143デフォルトの名無しさん
2009/09/02(水) 08:03:58
まず遷移関数をどうやって
BFプログラムに変換するかが問題だな
144デフォルトの名無しさん
2009/09/02(水) 17:55:03
状態数は、BFでいえばコードのバイト数と似たようなもんだよ。
だから、

同じバイト数のBFコードで、
より大きな10進数を標準出力に生成する

こんな競技になる。
145デフォルトの名無しさん
2009/09/02(水) 18:01:24
+[.]

じゃあかんの
146デフォルトの名無しさん
2009/09/02(水) 18:24:18
>>145
それだと無限ループになって
つまらないだろ
147デフォルトの名無しさん
2009/09/02(水) 19:06:13
つまんないけど最強だろ
148デフォルトの名無しさん
2009/09/02(水) 19:10:37
ビジービーバーゲームでのプログラムは停止しなきゃいけないんだ。
じゃなきゃ比較なんて出来ないからな。
149デフォルトの名無しさん
2009/09/02(水) 20:00:00
じゃこれ
[>+.]
ポインタがオーバーフローすれば止まる
150デフォルトの名無しさん
2009/09/02(水) 20:03:58
>>149
でも、処理系によっては
ループするぞ
151デフォルトの名無しさん
2009/09/02(水) 20:52:53
>>149
ビジービーバーを考えるときは、
テープの長さに限界は考えないよ。
152デフォルトの名無しさん
2009/09/02(水) 21:58:45
後出しルールうざい
153デフォルトの名無しさん
2009/09/02(水) 22:41:24
後出しルールって言うか>>138のリンク先に全部書いてあるのに読んでないのが悪いんだと思うんだが
154デフォルトの名無しさん
2009/09/02(水) 22:51:29
てか、一般的なBFの話をするなら無限長のテープじゃないとダメだろ
実装ではしょうがないかもしれないけどさ
155デフォルトの名無しさん
2009/09/02(水) 22:56:09
テープの長さが有限だとチューリング完全にならない
156デフォルトの名無しさん
2009/09/02(水) 23:28:56
そうそう、実際の処理系じゃなくて理想の処理系で動かさないと。
157デフォルトの名無しさん
2009/09/02(水) 23:37:01
なあ、詳しい人教えてくれ。
ある100状態のチューリングマシンがあって、
そのチューリングマシンがΣ(100)ステップ後に停止したとする。
このチューリングマシンがΣ(100)ステップ後に停止することを証明しようとしたら、
その証明は少なくともΣ(100)文字程度のオーダーの長さになる。
これは正しい?

158デフォルトの名無しさん
2009/09/03(木) 03:57:09
>>157
一番ゆるい条件を与えるならそうなるんじゃね。
オーダーは定数倍を無視するから。
遷移を全部書き出して示せばいいだけだからね。
159デフォルトの名無しさん
2009/09/04(金) 22:47:53
160デフォルトの名無しさん
2009/09/06(日) 18:28:26
ho
161デフォルトの名無しさん
2009/09/08(火) 00:22:48
h
162デフォルトの名無しさん
2009/09/10(木) 07:01:39
ho
163デフォルトの名無しさん
2009/09/10(木) 15:59:52
++++++[>++++++<-]>[>+>+<<-]>--->>++++
+++++[<+++++++++>-]<--------------.++
+++++++++.---.+++++.---------------.++
++++++++++++.--.++++.----------------.
++++++++++++++++<.>
164デフォルトの名無しさん
2009/09/10(木) 19:50:09
>>163
グロ注意
165デフォルトの名無しさん
2009/09/15(火) 22:01:45
166デフォルトの名無しさん
2009/09/18(金) 23:51:37
+[ほ+]
167デフォルトの名無しさん
2009/09/21(月) 19:44:06
ho
168デフォルトの名無しさん
2009/09/22(火) 07:00:44
俺的にBrainFuckの文法に最小限の拡張を加えて最大限パワーアップさせるには
どうしたらいいか考えてみた結果次のようになった。
まず、メモリはテープではなく無限の高さを持つ2分木のようなものを想定。

L ポインタを2分木メモリの左の子へ移動
R ポインタを2分木メモリの右の子へ移動
U ポインタを2分木メモリの親へ移動
+ BFと同様
- BFと同様
. BFと同様
, BFと同様
[ BFと同様
] BFと同様

まあ、大体BFでlispのconsセルが使えるようなイメージ。

169デフォルトの名無しさん
2009/09/22(火) 14:13:50
そんなもん普通のBFの範囲でできるがな
170デフォルトの名無しさん
2009/09/22(火) 14:17:53
BFはチューリング完全だから
変わらないぞ
171デフォルトの名無しさん
2009/09/22(火) 16:31:49
この拡張でコードが劇的に短くなる例が欲しいな
172デフォルトの名無しさん
2009/09/22(火) 17:20:27
んで、最終的にアセンブリやCになる・・・と
拡張=BFの死なんだよな

過去ログの通り、拡張行為すればするほどBFの簡潔さが失われていき
別にBFを使う理由がなくなる
173デフォルトの名無しさん
2009/09/22(火) 18:50:58
うだうだ言ってないでインタプリタとコンパイラかけ
500バイト以内で書けたら合格にしてやる
174デフォルトの名無しさん
2009/09/22(火) 20:51:37
既出じゃね?
175168
2009/09/22(火) 22:56:17
んが。既出なのか。ま、既出でも全然不思議ではないけど。
一応このスレの中はチェックしたつもりだったけど
前スレはチェックしてないんだよね。

>>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 最も近い後方の]にジャンプ
178168
2009/09/22(火) 23:42:17
>>172
俺は拡張=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インタプリタを書くのはきつそう。
181デフォルトの名無しさん
2009/09/23(水) 00:17:40
lispからbfに変換するプログラムは作れるんじゃないか?
182デフォルトの名無しさん
2009/09/23(水) 03:42:27
LISPでBFのインタプリタが簡単ねえ
真面目にシンボルをASCIIのチャーチ数表現で取り扱えば同じかそれ以上に大変だと思うけどな
183デフォルトの名無しさん
2009/09/23(水) 08:18:23
pure LISPだとBFよりもプログラム書くの難易度高いだろJK
184168
2009/09/23(水) 08:33:05
よくみたら純lispって書いてあるな。
てっきりclispのつもりで話してた。
185デフォルトの名無しさん
2009/09/23(水) 09:12:38
>>168
便利かどうか試しに実装してみようと思ったら疑問がいくつか。
・2分木メモリは値を持つの?持たないとしたらポインタがconsを指しているとき
 入出力命令は何をすべき?
・+-で指すリニアなメモリとLRUで指す2分木メモリの空間はまったく別のもの?
 ていうか+-廃止すべき?

自分的にはノーアイデアなんだけど、BFくらい最小のLispができそうですごく面白そうだとは思う。
186168
2009/09/23(水) 10:30:02
メモリは値を持ちます。
後は通常の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とは別物として考えなきゃいけなくなる
192デフォルトの名無しさん
2009/09/23(水) 16:53:57
システムコールは欲しいな
193デフォルトの名無しさん
2009/09/23(水) 19:48:01
BFってpure LISPほど純粋じゃないよな。
入出力命令なんてあるし。
ある意味入出力命令がシステムコールってことになるんじゃね。
194デフォルトの名無しさん
2009/09/23(水) 19:51:53
>>193
それはbfが関数型言語じゃないから
純粋とか言う問題じゃないんじゃないか
195デフォルトの名無しさん
2009/09/23(水) 21:26:57
BFのシンプルな体系を壊さずに拡張する方法としては
負の方向のメモリマッピングにコンソール(.,)以外の
I/Oを割り当てることかな
[-1]に数値をストアしておいて
[-2]の位置で+-すると[-1]の回数beepとか
[-3][-4]に数値をストアしておいて
[-5]の位置で+-すると[-3][-4]の座標の白黒が反転するとか
196デフォルトの名無しさん
2009/09/24(木) 01:22:24
入出力命令をin,outにすればいい
>+++++++++[-<++++++++++>]<++++++, //in 60h
197185
2009/09/24(木) 02:13:09
>>168 の提案した奴を作ってみたけど、面白い使い方がなかなか見つからないなあ。
実際のリスト構造はともかくとして、いろいろ遊んでみると、メモリ空間がL-UとR-Uの
2次元になった、という印象。可能性はすごく感じるので、なんとかしたいのだが。
198168
2009/09/24(木) 05:53:17
消費メモリが定数なアルゴリズムだとBTBFの有り難味はないかもね。
実行中にバンバン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に修正するだけだな
200デフォルトの名無しさん
2009/09/27(日) 23:03:26
ところで、2分木を綺麗にグラフィカルに表示するライブラリって何かいいのある?
201デフォルトの名無しさん
2009/09/27(日) 23:20:15
BFスレでその話題を振るココロは?
202デフォルトの名無しさん
2009/09/27(日) 23:43:25
>>168をもうちょっと見やすくしたくて。


203デフォルトの名無しさん
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プロセスで制御すればいいんじゃね…?
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,...番地の値を引数にして呼び出すみたいな
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⌒) ./| _ノ  __ノ
223デフォルトの名無しさん
2009/12/03(木) 20:02:48
あるある
224デフォルトの名無しさん
2009/12/04(金) 05:07:08
perlで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バイト文字を入力して、ポインタの指している値とその次のポインタの値に代入する。

ってのはどうよ?
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形式の文字が表示される。

作ってから思ったけど、これって既出?
232デフォルトの名無しさん
2009/12/05(土) 17:03:48
うん。
233デフォルトの名無しさん
2009/12/05(土) 17:46:50
>>229
Shift-JISを使うために新命令は必要ないってことわかってる?
入出力は1byteずつでも、解釈はまとめてやればいい。
実際そうしてShift-JISを扱えるBF処理系も存在する。
234デフォルトの名無しさん
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だぜ
238デフォルトの名無しさん
2009/12/09(水) 03:11:58
>>237
そんなこと言うならBrainfuckユーザが容易にUnlambdaへ移行できるように
Brainfuck-to-UnlambdaトランスレータをUnlambdaで書いてくれw
239デフォルトの名無しさん
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:44
>>241
見てきた
なんじゃあのオプティマイズ
243デフォルトの名無しさん
2010/01/03(日) 00:13:20
まだまだだな
例示のプログラムの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(".>");
}
}
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;
}
}
248デフォルトの名無しさん
2010/01/10(日) 04:01:44
最適化されたBFのソースを吐くなら、まだ修正する意味もあるかもしれないな。
249デフォルトの名無しさん
2010/01/15(金) 16:34:45
最小ブレインファック問題の計算複雑性ってどの程度?
250デフォルトの名無しさん
2010/01/16(土) 09:18:43
http://d.hatena.ne.jp/KeisukeNakano/20070626/1182879045

凄いんだが、何を行ってるのか分からない( ´∀`)ハハハ
251デフォルトの名無しさん
2010/01/16(土) 17:09:01
>>249
直感的には、NP完全
252デフォルトの名無しさん
2010/01/16(土) 20:19:33
>>249
計算不可能な問題だと思う
253デフォルトの名無しさん
2010/01/17(日) 12:19:05
>>252
実質不可能って意味ではそうかもしれんが。
現実的でない時間をかけてもいいのなら、短いものから順にブルートフォースするといつかはたどり着くわけだから計算は可能。
254253
2010/01/17(日) 12:23:29
いや、計算不可能かもしれない。ごめん。

無限ループかと思えるくらいに長い時間をかけて、最小BFとなるパターンと、単なる無限ループを区別するには
停止可能性の判定が必要になってくる。
255デフォルトの名無しさん
2010/01/17(日) 19:49:19
プログラムの等価性判定って計算不可能だよね?
だとすれば、最小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;
}
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
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!
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:58
ニコニコだけど、BFのインタプリタを作ってる動画



lud20250227164226
このスレへの固定リンク: http://5chb.net/r/tech/1231384158/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「BrainFuck Part.3 <[+-.,]>YouTube動画>4本 ニコニコ動画>1本 ->画像>6枚 」を見た人も見ています:
BUCK-TICKの噂 Part.339
iPod touch 第7世代 Part3
Vue vs React vs Angular vs Svelte Part.8
Vue vs React vs Angular vs Svelte Part.9
Vue vs React vs Angular vs Svelte Part.9
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online 無課金・微課金スレ Part45
【PS4/XB1】Rainbow Six Siege/レインボーシックス シージ Part158
【名古屋】Aqours 2nd LoveLive! ~HAPPY PARTY TRAIN TOUR~ チケット発券・着弾報告スレ 2枚目【神戸】
☆・:.,;*。ベガルタ仙台。.:*:・゜☆(Part2635)
Vue vs React vs Angular vs Svelte Part.11 (438)
桃園怜奈 part7 ©bbspink.com
アブノーマルお兄さんスレ Part4 ©bbspink.com
【WWⅡ】Heroes & Generals Part8【F2P】
【DMM.R18】戦乱プリンセスG Part72 ©bbspink.com
【DMM.R18】戦国プロヴィデンス Part141 ©bbspink.com
覗き部屋☆窓女(マドンナ)☆新宿歌舞伎町 part16 ©bbspink.com
【DMM.R18】FLOWER KNIGHT GIRL ~X指定~ part1723 ©bbspink.com
DarkGDK Part.2
独り言&雑談 part50
MacBook Pro (Part 151)
【第三世代】MacBook Pro Part134【2012-2015】
【佐藤優樹】元モーニング娘。まーちゃんのソロデビューを見届けるスレ Part.332『君たちはどう(地面に足をついて🦵)生きるか』
【シノマス】シノビマスター 閃乱カグラ NEW LINK part145
バナナマン日村について語るスレ Part23 [無断転載禁止]©bbspink.com
Julia Juno Jupyter part1 [無断転載禁止]&#169;2ch.net (745)
古代VBプログラマ質問スレ(Ver.6.0 まで) part65 [転載禁止]©2ch.net (822)
★★ Java の宿題ここで答えます Part 74 ★★ [無断転載禁止]&#169;2ch.net (310)
【GPGPU】くだすれCUDAスレ part8【NVIDIA】 [無断転載禁止]&#169;2ch.net (407)
道路陥没事故、トラック運転席を下水道管内で発見か ドローンで確認 運転手の姿は確認できず 自衛隊に連携要請 ★5 [Ailuropoda melanoleuca★]
海豚専 Part.3
想いを短歌にするスレ Part.3
C vs C++ vs Rust Part.3
50歳以上の一人暮らしスレ Part.36
高校野球地方大会総合 Part.3
生活保護のCWだけど質問ある? part.344
Java入門・初心者質問スレ Part.3
★おんな酒場放浪記を語れ!二酌目☆ Part.3
【悲報】韓国さん、しれっと株価暴落中 Part.3
第104回選手権大会 最弱代表校はどこだ? part.36 修正
小説家になろうのディスコードを作らないか? Part.3
シノアリスのんびりスレッド【SINoALICE】 Part.303
【急募】このイメージビデオの女の名前教えてクレメンス Part.3
Objective-C [ObjC part:8.1];
【A.LANGE】A.ランゲ&ゾーネ part11
【佐藤優樹】まーちゃんのモーニング娘。卒業後を見届けるスレ Part.280【🗽🗽🗽🗽】
Smalltalk総合 Squeak Pharo
Rust part9
伊織もえ part8
Swift part6
Rust part10
Rust part17
Rust part21
Rust part18
Rust part22
Rust part13
Rust part29
Swift part7
Rust Part7
2 part forth
時空の歪み Part 12
【D専】 Part.4
C♯相談室 Part20
CandyDoll Part13
五十嵐裕美 part66
11:49:57 up 63 days, 12:48, 0 users, load average: 7.95, 8.70, 9.02

in 0.073460102081299 sec @0.073460102081299@0b7 on 062000