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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
BrainFuckとは
 難解プログラミング言語の一つ。
 オシシメサイトはhttp://www.google.co.jp/

以下俺的見解
 ・スレッドタイトルに全命令が入る素敵な言語。
 ・1レス内に全命令のリファレンスが入る素敵な言語。
  > ポインタをインクリメント
  < ポインタをデクリメント
  + ポインタが示すメモリ位置のデータをインクリメント
  + ポインタが示すメモリ位置のデータをデクリメント
  . ポインタが示すメモリ位置のデータを出力
  , ポインタが示すメモリ位置のデータに入力
  [ ポインタが示すメモリ位置のデータがヌルなら対応する]までジャンプ
  ] ポインタが示すメモリ位置のデータがヌルじゃないなら対応する[までジャンプ

前スレ: BrainFuck <[+-.,]>
http://pc11.2ch.net/test/read.cgi/tech/1036013915/
2デフォルトの名無しさん:2007/05/01(火) 12:03:21
Brainfuck(ブレインファック)はプログラミング言語の一つ。
名称が良いものではないため、Brainf*ckと呼称するのが一般的。

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

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

実用性はほとんど無いように思われるが、これだけでチューリングマシンで実行可能なあらゆるプログラムが記述できる(チューリング完全である)とされている。

3デフォルトの名無しさん:2007/05/01(火) 12:20:08
>>1乙だぜ
4デフォルトの名無しさん:2007/05/01(火) 12:26:27
で、これで作られたアプリとかあるわけ?
5デフォルトの名無しさん:2007/05/01(火) 12:30:13
>>4
あの有名なOSがあるだろ
6デフォルトの名無しさん:2007/05/01(火) 12:30:23
>>++++[<++++[<++++>-]>-]<<--..>>+++[<++++[<->-]>-]<<-.>>++[<++++[<++++>-]>-]<<--.+++++.+.

ていうかリファレンスの + が重複してるとこ直しとけよハゲ
7デフォルトの名無しさん:2007/05/01(火) 12:37:48
>>6
良き伝統は残すもんだぜ?
8デフォルトの名無しさん:2007/05/01(火) 16:43:59
>>1乙です。
しかしこのスレで何をしろと言うのだ?
9デフォルトの名無しさん:2007/05/01(火) 17:33:03
BrainFuck電卓とか作れそう
10デフォルトの名無しさん:2007/05/01(火) 17:37:15
(゚听)イラネ



ごめん。
11デフォルトの名無しさん:2007/05/01(火) 17:45:47
BrainfuckのIDEを作るとしたらどんなかんじになるかな?
どんな機能があればいいかな?
12デフォルトの名無しさん:2007/05/01(火) 17:56:29
* ブレークポイント
* メモリダンプ
* ステップ実行

あたりは確実に欲しい
13デフォルトの名無しさん:2007/05/01(火) 20:13:35
++++++++[>++++++++<-]>--..-------------.<+++++[>++++++<-]>.+++++.+.
14デフォルトの名無しさん:2007/05/01(火) 23:15:08
IDEイラネ

# コメント
"コメントをstderrに出力"
* # メモリとポインタをリセット
? # メモリをダンプ
@ # 一命令を実行するごとにメモリをダンプのトグル
15デフォルトの名無しさん:2007/05/01(火) 23:32:56
>>12
>>14
なるほど、参考にします。
用はデバッグ系システム命令追加とメモリの可視化ですね。
16デフォルトの名無しさん:2007/05/01(火) 23:35:34
*メモリエディタ
17前スレ969:2007/05/02(水) 03:09:33
ちゃんと直ってるといいんだけど・・・

Win32ネイティブBFコンパイラ
http://up.spawn.jp/file/up18498.zip.html

文字比較
http://up.spawn.jp/file/up18499.txt.html
18デフォルトの名無しさん:2007/05/02(水) 05:45:49
で、これで作られたアプリとかあるわけ?
19デフォルトの名無しさん:2007/05/02(水) 06:06:53
効率悪すぎるって
20デフォルトの名無しさん:2007/05/02(水) 09:55:23
>18-19
そもそも効率を求めて作られた言語じゃないからな。
効率とか、アプリ作りたいとかなら別の言語行ったほうが。
これはパズルを楽しむ言語なのだよ。
21デフォルトの名無しさん:2007/05/02(水) 09:57:21
まだだ、BrainfuckCPUとその専用コンパイラ、
Brainfuckベースで思考する新たな人類が誕生すれば
効率についてはまだわからん。
22デフォルトの名無しさん:2007/05/02(水) 10:13:55
BrainfuckでCコンパイラ作った方が早い。
23デフォルトの名無しさん:2007/05/02(水) 12:47:19
てかこれの用途って計算だけ?
24デフォルトの名無しさん:2007/05/02(水) 12:49:24
もちろんです。
電計機は計算しかしません。
25デフォルトの名無しさん:2007/05/02(水) 12:50:40
ファック
26デフォルトの名無しさん:2007/05/02(水) 13:07:27
用途は計算っつーか、電子計算機そのものの研究じゃね
27デフォルトの名無しさん:2007/05/02(水) 13:49:20
BrainfuckのためだけのOSを作ろうと思います。
28デフォルトの名無しさん:2007/05/02(水) 13:51:35
計算理論・言語理論ではチューリングマシンは現役ですよね。
BFのほうが簡潔で美しいと思うのですが…
29デフォルトの名無しさん:2007/05/02(水) 13:54:48
さすがに暗号的過ぎるがなw
30デフォルトの名無しさん:2007/05/02(水) 18:28:29
直前のコマンドを回数分繰り返すコマンド1, 2, 3, 4, 5, 6, 7, 8, 9とかどうだろう・・

たとえば>>13なんかは

+7[>+7<-]>-1..-66.<+4[>+5<-]>.+4.+.

で、可読性がかなり上がりつつ、1byte = 1commandの純粋性を失わない
31デフォルトの名無しさん:2007/05/02(水) 18:40:22
>>30
それは考えたことあるけど、
数字が入ってくると美しくないな
32デフォルトの名無しさん:2007/05/02(水) 18:56:19
>>30
多分それ誰もが考える
33デフォルトの名無しさん:2007/05/02(水) 19:06:41
まあ、文字出力に+が8個以上は続いたりするからな
3430:2007/05/02(水) 19:07:06
+8で+が8回だったら汚いと思うけど、+8で+が9回ならそれなりにシンプルさを保てるような・・・
たとえば64を作りたい場合も、+88888887とかなので、brainfuck感を失ってない気がするし・・・
35デフォルトの名無しさん:2007/05/02(水) 19:19:46
>>34
この言語の仕様の美しさを君はまだ分かっていないようだな。
そうやって利便性ばかりを追求する君は間違いなくゆとり。
36デフォルトの名無しさん:2007/05/02(水) 19:33:00
>>29が暗号的だとか言うので、ちょっと改良案を考えてみたくなった・・・
前スレで次スレ案を+++++++[>+++++++<-]>+.と提案したときも、異端的すぎるとか言われたし・・・
みんな、+の数数えるの嫌いなのかなと、・・・(でも、案外そうでもないのかな・・・
37デフォルトの名無しさん:2007/05/02(水) 19:38:05
そういうのはエディタで対処すりゃいいんじゃないの。
入力の短縮とカーソル位置の連続するキャラクタの個数を表示するとかさ。
38デフォルトの名無しさん:2007/05/02(水) 19:53:11
単純にスレタイが長すぎるのはやめてほしい
39デフォルトの名無しさん:2007/05/02(水) 19:58:00
その次元での美しさのことを言い出したら[と]も美しくない。
40デフォルトの名無しさん:2007/05/02(水) 20:10:51
>>37
その案はずっと俺が考えてたやつだ。

>>39
[]は制御文としていろいろ応用が利くから必要だとおもうぜ?
41デフォルトの名無しさん:2007/05/02(水) 20:18:44
+がインクリメントというのは直感的すぎないか
42デフォルトの名無しさん:2007/05/02(水) 20:22:43
+ → メモリビットマップに1を書き込むとか止めてくれよ?
43デフォルトの名無しさん:2007/05/02(水) 20:49:12
よく見ると>>1の命令の解説、+が二個あるな
44デフォルトの名無しさん:2007/05/02(水) 23:40:26
なにを今更
45デフォルトの名無しさん:2007/05/03(木) 02:40:34
>>35
利便性を求めるのはプログラマとして当然なんじゃないの?
Brainfuckにそれを求めるのは間違ってると思うが。
46デフォルトの名無しさん:2007/05/03(木) 07:37:43
>>45
ごめんね、言い方が間違ってたね。
Brainfuckに利便性を求めると、ネタ言語的に
面白くなくなるということを言いたかったんだ。
47デフォルトの名無しさん:2007/05/03(木) 10:43:30
ネタじゃないよ。
ミュラーに謝れ!
48デフォルトの名無しさん:2007/05/03(木) 20:48:17
ネタをネタと見抜けないやつはBrainF(ry

ところで、いつごろ考案されたものなんだろう?
実装は99年のものが存在することを確認したが
49デフォルトの名無しさん:2007/05/03(木) 22:39:43
俺の汁限り最古の記録ではメソポタミア文明の
洞窟の壁画に<[+-.]>が刻まれていたというのが最古の記録だな。
それ以前は申し訳ないが把握していない。
50デフォルトの名無しさん:2007/05/04(金) 00:22:14
>>49
東南アジアの旧石器時代の遺跡から出土した動物の骨に
<[+-.]>やら骨上デバッグの跡やらが伺えると聞いた
51デフォルトの名無しさん:2007/05/04(金) 14:47:17
BrainFuckを理解するCPUと、
コンパイル時にBrainFuckに落とし込む高級言語が開発された夢を見た!
52デフォルトの名無しさん:2007/05/04(金) 15:01:38
>48
>ttp://en.wikipedia.org/wiki/Brainfuck
>Urban Muller created brainfuck in 1993 with the intention of designing a language which could be implemented with the smallest possible compiler

>51
>BrainFuckを理解するCPU
>コンパイル時にBrainFuckに落とし込む高級言語が開発された夢を見た!
おめでとう、正夢だね。
ttp://www.clifford.at/bfcpu/
53デフォルトの名無しさん:2007/05/05(土) 13:29:17
二重でBF

>++++++++[<++++++++>-]<--.-------------------......
....>++++++[<++++++++>-]<.-------------------------
------.-----------------..........+++++++++++++++++
++.-----------------.>++++++[<++++++++>-]<.--------
-------------------------.-----------------........
........+++.-...............+.---..............+++.
---.+++.
5417:2007/05/06(日) 15:35:16
BFデバッガα版 一応動く
ttp://mumei24.run.buttobi.net/cgi-bin/upload.cgi?mode=dl&file=1008
DLKey:bfd
55デフォルトの名無しさん:2007/05/06(日) 16:05:05
>>53

>+++++++++[<++++++++++>-]>++++++++[<++++++++>-]>++
++++[<+++++++>-]<+>>++++[<+++++>-]<[<.>-]<<<+.>--.
>......<.>.....<--..>++.<<++.>++.>....+.<.>---.+++
.<--.>-.+.---.+++.
短くしてみた。
56デフォルトの名無しさん:2007/05/06(日) 16:12:15
>>54
ちゃんと出来てて感動した
5753:2007/05/06(日) 17:26:34
>>55
 オ・・お疲れさま
58デフォルトの名無しさん:2007/05/06(日) 17:40:18
Brainfuck Developer使ってるが、
デバッガも、コメント機能も付いてるよ。
59デフォルトの名無しさん:2007/05/06(日) 18:26:35
BF の難読化を行うツールがあったら大変なことになりそうな気がする
6054:2007/05/06(日) 19:24:46
>>58
全然知らんかった。
かなり充実してるし、こっち使ったほうがいいな。

まあ、自分で実装してみたかったっていう自己満足的なものもあったから別にいいんだけど。
とりあえずもうちょっと使いやすくしておきたい。
6155:2007/05/06(日) 20:44:20
http://pbfi.stricter.org/
こんな物を作ってみましたよ。
皆が何度も使うとサーバに負荷が掛かるので誰か同じものを設置してください。(ソースコード公開中)
あと、MIMEタイプをapplication/xhtml+xmlにしているのでIEでは見えません。OperaかFxを使ってください。
62デフォルトの名無しさん:2007/05/07(月) 07:21:37
63デフォルトの名無しさん:2007/05/07(月) 13:47:41
>>61
なんか綺麗でいいな
64デフォルトの名無しさん:2007/05/07(月) 13:57:27
Cでなんかのツール作ろうとしてたが、
他の人がどんどん作ってるのみて、やるき失くした。。。orz
6555:2007/05/07(月) 14:15:20
>>62
有難う。
Rubyで実装し直した物のように見えるけど、C言語でCGIが組めるサーバって少ないんだろうか。
XREA.COMとかは一応使えるみたいだけど。
>>63
CSSが綺麗だとか言われたのは初めて。結構良いのかな?

-----

今日Brainfuckのソースの最適化について考えていて、或る事に気が付いた。
例えば、+と-と,はポインタの指す場所の値を変更すると云う性質を持っていて、
+と-は現在の値に対する相対的な変更であり、,は現在の値を無視する絶対的な変更である。
また、[と]と.は現在のポインタの指す場所の値を利用すると云う性質を持っている。
この事を考えると、[か]か.が実行された後、,が実行されるまでにある+と-は無駄と云う事が分かる。
(まあこの説明では>と<を無視しているけど、少し複雑になるだけで基本は変わらない。
66デフォルトの名無しさん:2007/05/07(月) 14:47:50
サブセットでいいから既存言語からのトランスレータないかなぁ。試してみるにしても手間が掛かって……
67デフォルトの名無しさん:2007/05/07(月) 18:34:17
C+bf+

int
main(){
 >>++++[<++++[<++++>-]>-]
 <<--..>>+++[<++++[<->-]>-
 ]<<-.>>++[<++++[<++++>-]>
 -]<<--.+++++.+.

 >input();
}

input(){

}
6867:2007/05/07(月) 18:35:03
ごめん
送るつもりなかったのに、送ってしまった。
気にしないで。
69デフォルトの名無しさん:2007/05/07(月) 19:56:54
>>65
rubyはソースコードを渡したり、結果を整形してるだけ。
実行は、Thomas Cortという人の書いたcのプログラム。
http://golf.shinh.org/langs.html
70デフォルトの名無しさん:2007/05/08(火) 00:49:33
javascriptでちょいちょいとインタプリタ作ったけどあんまり使い道ないのね orz

#site持ってないってのもあるけど
7155:2007/05/09(水) 04:18:43
http://pbfi.hakurei.info/
何故かさくらのレンタルサーバーでCで書いたCGIが動いたのでこっちにも置いてみる。
7254:2007/05/10(木) 04:54:19
懲りずに修正 動作が微妙に遅いな・・・。

BFデバッガβ
ttp://ten.vc/uploader/upload.cgi?mode=dl&file=528
DLKey:bfdb

要望とかあるかな?
73デフォルトの名無しさん:2007/05/10(木) 22:19:00
>>72
++[>++[>++>++<<-]<-]

を食わせてみたら本来 00 00 08 08 となるべきところ
Error: out of memoryとなった
74デフォルトの名無しさん:2007/05/10(木) 23:17:51
[]の対応がおかしくなってるみたいだな。
75デフォルトの名無しさん:2007/05/10(木) 23:55:23
>>66
http://www.clifford.at/bfcpu/

こんなのがあるよ
76デフォルトの名無しさん:2007/05/11(金) 00:29:02
7775:2007/05/11(金) 18:43:26
>>76
悪ぃ、見落としてた
78デフォルトの名無しさん:2007/05/11(金) 22:36:54
bfcコンパイラ作ろうと思ってたのだがもうあるのかよ・・・

今は超簡易OSを作ろうとしているのだがそっちもありそうな気がしてきた
79デフォルトの名無しさん:2007/05/11(金) 22:43:13
最適化コンパイラってある?
8054:2007/05/11(金) 23:23:42
81デフォルトの名無しさん:2007/05/11(金) 23:24:58
8278:2007/05/11(金) 23:36:05
>>79
上位プログラムからのコンパイラの仕様を必死に考えていたのだが
>>52が考えていたコンパイラと殆ど同じだった

そういえば、BFってメモリを1ビットにしてもチューリング完全なんだな・・・
ちょっと考えてみたら簡単に8bit版へのトランスレータが出来た
机上デバッグしかしてないからもしかしたらバグがあるかも。
8ビット版BFのソースをこの規則で変換すれば1ビットBFで動く筈

>→> > > > > > > > >
<→<<<<<<<<<
+→>[>[>[>[>[>[>[>[>+<]<+]<+]<+]<+]<+]<+]<+]+<
-→>+[>+[>+[>+[>+[>+[>+[>+[>+<]<]<]<]<]<]<]<]<
[→+[>[<+][> >[<<+][> > >[<<<+][> > > >[<<<<+][> > > > >[<<<<<+
  [> > > > > >[<<<<<<+][> > > > > > >[<<<<<<<+][> > > > > > > >[<<<<<<<<+]+[+
]→]
.→> > > > > > > >.<.<.<.<.<.<.<.<
,→>>>>>>>>,<,<,<,<,<,<,<,<
8378:2007/05/12(土) 00:21:11
ループにミスがあったんで修正。
両側に判定文を入れてもいいけど長くなるので判定文の前に戻るようにしてみた
[→+[[>[<+][> >[<<+][> > >[<<<+][> > > >[<<<<+][> > > > >[<<<<<+
  [> > > > > >[<<<<<<+][> > > > > > >[<<<<<<<+][> > > > > > > >[<<<<<<<<+]+[+
]→]+]
84デフォルトの名無しさん:2007/05/12(土) 01:03:32
BrainFuck64とか出ないよな?
85デフォルトの名無しさん:2007/05/12(土) 03:41:17
寝言はBFで32bitのメモリ空間をfuckし尽くしてから言えw
86デフォルトの名無しさん:2007/05/12(土) 06:45:13
+[>+]
ありがち
87デフォルトの名無しさん:2007/05/12(土) 07:28:20
1秒間に10回レイプ発言だーーーーーー!!
88デフォルトの名無しさん:2007/05/12(土) 08:01:37
何の話だ
89デフォルトの名無しさん:2007/05/12(土) 12:27:54
,[>,]
なんてのも、ありがちだぜ?
90デフォルトの名無しさん:2007/05/12(土) 12:30:52
ランレングス圧縮機能つきバッファを用意すれば数バイトで収まるな
91デフォルトの名無しさん:2007/05/12(土) 15:23:49
>>90
まず圧縮機能付きバッファをBFで定義じゃ
92デフォルトの名無しさん:2007/05/12(土) 15:36:35
BFでファイルにアクセスしたいけどメモリマップトI/Oみたいにするべきかな?
93デフォルトの名無しさん:2007/05/12(土) 15:59:13
>>89
それNUL入力されたら止まるじゃないか
94デフォルトの名無しさん:2007/05/12(土) 16:11:36
>>93
逆に聞くがどうやってNULL入力するんだ?
95デフォルトの名無しさん:2007/05/12(土) 16:13:45
リダイレクトやパイプ、端末によっちゃ専用の入力方法があるかもしれない。
96デフォルトの名無しさん:2007/05/12(土) 16:15:00
それは考えてなかった
9755:2007/05/12(土) 16:24:53
>>94
私が作ったインタプリタだと入出力を数字とかに切り替えられる。
0って入力すれば普通に出来るな。
98デフォルトの名無しさん:2007/05/12(土) 16:25:23
そもそも、普通の端末エミュレータならCtrl+@で入力できないか?
専用端末にはNULキーがあるのもあるし。
99デフォルトの名無しさん:2007/05/12(土) 16:43:11
Windows系は全滅だな。
100デフォルトの名無しさん:2007/05/12(土) 16:43:43
^zは何のコードだっけ?
101デフォルトの名無しさん:2007/05/12(土) 16:45:52
dosの時代にはコード入力モードがあったんだけど……
#どうやるのか忘れたよw
102デフォルトの名無しさん:2007/05/12(土) 16:54:15
SUB
10394:2007/05/12(土) 20:52:07
Ctrl+@は初めて知った・・・・・・・・
104デフォルトの名無しさん:2007/05/12(土) 23:40:51
英語キーボードだとCtrl+[なんだけど、
日本語キーボードだと[の位置に@があるからな
105デフォルトの名無しさん:2007/05/13(日) 00:10:35
>>104
いいえ。Ctrl+@は英語キーボード上ではCtrlキー+2キーとなります。
何故そうなっているかはasciiコード表を見れば直ぐに判る通り、
コントロールコードはそれに0x40足した文字で呼称されるからです。
つまり、NUL(0x00)+0x40='@'ということです。

ちなみにCtrl+[と言えば逆に、'['-0x40=0x1bとなってEscのことです。
10678:2007/05/13(日) 00:14:28
;  *ptr番目のファイルを読み込みモードで開く。0なら標準入力。
 , 読み込みモードでファイルが開かれていたらそのファイルから1バイト読み込む。開かれていなければ純BFの,と同じ
:  *ptr番目のファイルを追記モードで開く。0なら標準出力。
 . 書き込みモードでファイルが開かれていたら略
'  読み込みバッファが標準入力の時、入力があるとき1、無いとき0を*ptrに格納
 ~ *ptr番目のファイルを削除する
今書いてる処理系ではこの仕様でファイルの入出力を実装している。
変に高機能にするとBFらしくなくなる気がしたから可能な限りシンプルにしてみた
ファンクションキーやカーソルキーがややこしいのでNULLなど入力は基本的に不可、
出力は文字と改行、BS、DEL以外は無視してる
107デフォルトの名無しさん:2007/05/13(日) 00:20:10
ファイルの入出力などリダイレクトで十分です
108デフォルトの名無しさん:2007/05/13(日) 12:46:33
言語の拡張よりVMの拡張のほうがよくね?
割り込みベクタテーブルとか割り当ててAPI実装する方がバカらしくてかっこいいと思う。
109デフォルトの名無しさん:2007/05/13(日) 13:07:08
割り込みの概念入れられるのか?
入らないような気がするんだが。
110デフォルトの名無しさん:2007/05/13(日) 13:15:28
マルチスレッドとか。
111デフォルトの名無しさん:2007/05/13(日) 14:56:07
お前ら環境整備ばっかしてないでコード書けw
112デフォルトの名無しさん:2007/05/13(日) 15:02:01
オセロ作って
113デフォルトの名無しさん:2007/05/13(日) 15:05:10
>>111
えー、だって環境整備の方が簡単なんだもん(w
いやマジでネタ探しも含めて難しいよこれ、
つまんないテキスト表示するだけでもしんどいけど楽しいモニョモニョとした感じがなんとも。


11478:2007/05/13(日) 15:21:57
>>111
+
[
[-]>[-]+++++++[-<+++++++++>]<-. #output arrow mark
>>+ # set null for left and memset 1
[ # ecoh start
, # read
>[-]>[-]>[-]>[-]<<<<[->+>+<<] # copy data
>[-<+>]
+>-------- # check BS
<[->[<<.>]]>[>]<< #echo
+>[<-]>[>]<<
[ # if BS then
-<[-] # delete BS
<[>+<[-]]>[+++++++.[-]<] #delete last char
]
>-- # if Enter then end loop
[<+>-]< # copy memory
] # while(memory != space)
<<[<]> # set pointer for first address of string
[.>] # print string
<[<]< # reset pointer
]
OS作ろうとして書いてみたecho。
echo無しで1文字ずつ入力を受け付ける環境で、BSとEnterを正しく処理できる
後は# print string、# reset pointerの部分でプログラムのロードをすれば
OSとして機能し始めるのだが・・・
115デフォルトの名無しさん:2007/05/13(日) 18:43:11
., で入出力される文字列の規格作ろうよ。Xプロトコルみたいな奴を。
116デフォルトの名無しさん:2007/05/14(月) 09:22:01
ファイル入出力は欲しいなマジで。
117デフォルトの名無しさん:2007/05/14(月) 13:14:25
誰かBFでFizzBuzz書いて
118デフォルトの名無しさん:2007/05/14(月) 16:11:32
除算がなにげにめどいぞ
119デフォルトの名無しさん:2007/05/14(月) 16:45:56
余を求めるのに除算、乗算、比較が必要じゃないか?
120デフォルトの名無しさん:2007/05/14(月) 17:25:26
3,5の減算カウンタ2つ持てばいいのじゃなかろうか?

12154:2007/05/16(水) 00:39:39
12254:2007/05/16(水) 00:42:34
# A + B = C (加算)
[> > +>+<<<-]> > >[<<<+> > >-]<<[>+>+<<-]> > [<<+> > -]<

# A += B (加算)
>[<+> > +<-]>[<+>-]<<

# A - B = C (減算)
[> > +>+<<<-]> > >[<<<+> > >-]<<[>->+<<-]> > [<<+> > -]<

# A -= B (減算)
>[<-> > +<-]>[<+>-]<<

# A * B = C (乗算)
>[> > >+>+<<<<-]> > > > [<<<<+> > > > -]<[<<<<[> > +>+<<<-]> > >[<<<+> > >-]>-]<<

# A *= B (乗算)
[> > +<<-]>[> > +>+<<<-]> > >[<<<+> > >-]<[<[<<+> > > > +<<-]> > [<<+> > -]<-]<[-]<<

# A / B = C ... D (除算)
[> > >+>+<<<<-]> > > > [<<<<+> > > > -]> > +[<<<<<[-> > ->+<[[> > +<<-
]> > >+<<<]> > [<<+> >-]>-<<<<<]>+> > [<<<+> > >-]> > ]<<<[<->[> > +<<+
]> > >+<<<]> > >[<<<<<[> > +>+<<<-]> > >[<<<+> > >-]>[<<-> > -]>-]<<<<
123デフォルトの名無しさん:2007/05/16(水) 17:41:50
どこを破壊するとかも書いておいてくれるとうれしいな。
124 ◆DgG2t5Gtqk :2007/05/16(水) 17:49:01
一桁と一桁の足し算。(繰上げ可能)

ttp://brainfuck.bake-neko.net/upload/tashizan_bf.txt

なんか>が多いからとかって、書き込めないので、他リンクでスマソ。
あと、なんの工夫も無しに+とか並べまくってるからかなり短縮の余地アリ
12554:2007/05/16(水) 18:25:22
>>123
>>122のこと言ってるの?
A += BとA -= BとA *= B以外は破壊無し。
↑の3つは結果をAに入れてるからAを破壊してることになる。

>>124
前スレでもやってたけど>>の間にスペースいれると書き込める。
最近気づいたけど。
126デフォルトの名無しさん:2007/05/16(水) 18:38:05
BFコンパイラのyacc/lexの実装キボンヌ
127デフォルトの名無しさん:2007/05/16(水) 18:50:40
線形解析・・・必要なし
構文解析・・・必要なし
それがBFクオリティー
128デフォルトの名無しさん:2007/05/16(水) 21:20:01
CUIのBFキボン
129デフォルトの名無しさん:2007/05/16(水) 21:24:09
?
130128:2007/05/16(水) 21:25:56
違った、GUIだ。
131デフォルトの名無しさん:2007/05/17(木) 03:48:12
どこかにjavaアプレット版があったやうな。
132デフォルトの名無しさん:2007/05/17(木) 21:24:10
>>131
URLとしては
ttp://tool-ya.ddo.jp/program/brainfuck/index.html

但しリンク切れ。
漏れは*.jarをローカルに落として今も使ってる。
133デフォルトの名無しさん:2007/05/18(金) 00:21:34
Visual BF Builderマダー?
134デフォルトの名無しさん:2007/05/18(金) 17:51:54
>>132
(´・ω・`)黙ってうpやがな。

                   ダメだよな。。。
135 ◆DgG2t5Gtqk :2007/05/18(金) 21:04:18
できたー
++++++[->++++> >+>+>-<<<<<]>[<++++> >+++>++++> >+++>+
++++>+++++> > > > > >++> >++<<<<<<<<<<<<<<-]<++++>+++
>-->+++>-> >--->++> > >+++++[->++>++<<]<<<<<<<<<<[->-
[> > > > > > >]>[<+++>.>.> > > >..> > >+<]<<<<<-[> > > >]>[<+
++++>.>.>..> > >+<]> > > >+<-[<<<]<[[-<<+> >]> > >+>+<<<<<
<[-> >+>+>-<<<<]<]>>[[-]<]>[> > >[>.<<.<<<]<[.<<<<]>]>.<<<<
<<<<<<<]
136デフォルトの名無しさん:2007/05/18(金) 21:10:19
>>135
乙Fizz
137デフォルトの名無しさん:2007/05/18(金) 21:28:39
今さらだが、前スレの>>254の画像ない?
138デフォルトの名無しさん:2007/05/20(日) 20:01:13
>>137
今さらすぎる。
139デフォルトの名無しさん:2007/05/20(日) 20:06:10
ブービー賞オメ
http://golf.shinh.org/p.rb?FizzBuzz
140デフォルトの名無しさん:2007/05/21(月) 00:59:49
Whitespaceに負けるとはなにごとだ、と思ったが
調べてみたらWhitespaceには乗除に剰余まであるのか。
141デフォルトの名無しさん:2007/05/21(月) 01:17:26
2命令8x8種類を64キャラクタに割り当てれば長さを1/2、可読性を1/4に低減できそうだなw
142デフォルトの名無しさん:2007/05/21(月) 01:59:23
まあそういう意味じゃ単純にrunlength圧縮が一番まともな解決案だと思うんだが、
問題はまともすぎるってことなんだよな。
143デフォルトの名無しさん:2007/05/21(月) 03:18:54
>>139
ビリダントツ杉
144デフォルトの名無しさん:2007/05/21(月) 10:25:39
BFも十分にダントツ杉でつ
145デフォルトの名無しさん:2007/05/22(火) 14:41:05
ランダム函数はやっぱり欲しいよな。
146デフォルトの名無しさん:2007/05/22(火) 18:02:33
: … ポインタの指す値を元に擬似乱数を代入
147デフォルトの名無しさん:2007/05/22(火) 18:56:20
特定の番地にノイズが入ってる処理系でも作ればいいじゃない。
言語仕様でどうにかする問題じゃないよ。
148デフォルトの名無しさん:2007/05/22(火) 19:04:12
前スレに擬似乱数出力するコードがあったな
149デフォルトの名無しさん:2007/05/22(火) 19:10:45
>>147
ノイズについてkwsk
150デフォルトの名無しさん:2007/05/22(火) 19:23:40
/dev/random みたいなもんか?
しかし、それを読み出すにはどうすればいいんだろう。
151デフォルトの名無しさん:2007/05/22(火) 21:52:24
>>147
おいおい、それじゃBfじゃ無くなっちゃうじゃないか。
と思ったけど、bfgolfでも初期値が0とは限らないのな。

Wikipediaとmuppetlabsでは "an array of 30000 bytes, initially all set to zero" だし、bfgolfの結果も全て初期値が0である事を前提としてるけど。
152デフォルトの名無しさん:2007/05/24(木) 21:40:14
文法マスターしていい気になってる脱初心者はすぐ文法拡張したくなるから困ったもんだ。
そういった俗世の煩悩から開放されたとき真のBF道に一歩踏み入れたといえるだろう。
153デフォルトの名無しさん:2007/05/24(木) 22:15:03
むしろ定年するまで他の言語で働いて
その後にファックされるべき
154デフォルトの名無しさん:2007/05/25(金) 16:20:29
>>152
チューリング完全なんだから、拡張なんて必要ない、ということか
155デフォルトの名無しさん:2007/05/25(金) 16:24:39
ということはbrainfuckでbrainfuck処理系作れるのか?
156デフォルトの名無しさん:2007/05/25(金) 16:25:39
既に沢山あるではないか・・・
157デフォルトの名無しさん:2007/05/25(金) 17:13:07
http://golf.shinh.org/p.rb?example_com

Brainfuckがダントツなんだが、どうやって作ったんだ?
158デフォルトの名無しさん:2007/05/25(金) 17:20:30
普通にSample outputを表示してるだけだろ・・・
159デフォルトの名無しさん:2007/05/25(金) 17:25:35
相変わらずbashが強いな
160デフォルトの名無しさん:2007/05/25(金) 17:31:57
>>158
それだけに5982文字も使うのか?
161デフォルトの名無しさん:2007/05/25(金) 18:51:34
>>158
これは、アドレスの指すhtmlファイルを表示するプログラムではないのだろうか
162デフォルトの名無しさん:2007/05/25(金) 19:04:11
>>161
sample inputに対してsample outputを返せば、そのほかはどうでもいい
163デフォルトの名無しさん:2007/05/25(金) 19:23:21
>>160
そんなもんじゃないか?
短いのを考えるのはなかなか難しいぞ。
164デフォルトの名無しさん:2007/05/25(金) 20:20:56
テキスト表示すら一苦労というのがBFクオリティ
165デフォルトの名無しさん:2007/05/25(金) 22:15:12
BFのコードの最適化し始めると
配列の前後のゴミまで利用して手順の簡略化できちゃうから
パズル的様相を呈して来るんだよな。
166デフォルトの名無しさん:2007/05/25(金) 22:23:30
真髄はそこだったか
167デフォルトの名無しさん:2007/05/27(日) 00:27:08
5982byteは手で作って無いだろ多分。
アスキーの差を取ってその分+ or -を連打して、.していく
ようなBFソースを別の言語で自動生成してるだけだと思う。
168デフォルトの名無しさん:2007/05/27(日) 01:54:14
そりゃそんなでかいの人が手で作ってるわけないがな・・・
169デフォルトの名無しさん:2007/05/27(日) 01:55:27
変換プログラムがどれだけ短いコードを生成できるか競うってのも面白そうだな。
170デフォルトの名無しさん:2007/05/27(日) 09:44:26
そういえばBFのインタラクティブ環境がまだなかったな
171デフォルトの名無しさん:2007/05/27(日) 12:11:11
実用アプリ作ろうと思ったら、何が足りないんだ?
172デフォルトの名無しさん:2007/05/27(日) 12:25:50
>>171
根性とIO
173デフォルトの名無しさん:2007/05/27(日) 12:35:37
ファイル入出力はやっぱり必要だよな。
174デフォルトの名無しさん:2007/05/27(日) 13:49:13
標準入出力だけでいいじゃない
175デフォルトの名無しさん:2007/05/27(日) 14:23:53
0番地より前をHDDにマッピングすればいい。
176デフォルトの名無しさん:2007/05/27(日) 17:36:04
>>175

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[-]<[-]<[-]<[-]<[-]
<[-]<[-]<[-]<[-]<[-]<[-]<[-]<[-]<[-]<[-]<[-]<[-]<[-]<[-]<[-]
Windowsプログラムを削除
177デフォルトの名無しさん:2007/05/27(日) 18:18:01
[[-]<[-]+]
178デフォルトの名無しさん:2007/05/27(日) 20:55:40
>++++++++++++[-<++++++++++++>]<-------.>+++++++[-<+++++++>]<
+++.>++++++++[-<-------->]<+++++.>+++++++[-<+++++++>]<--.>++
+++++[-<------->]<++.>+++++++++[-<+++++++++>]<-------.>+++++
+++[-<-------->]<.>+++++++[-<+++++++>]<+.>+++++++[-<------->
]<-.>++++++++++[-<++++++++++>]<------.>++++++++++[-<--------
-->]<----.>++++++++[-<++++++++>]<++++++.>++++++++[-<--------
>]<------.>++++++++++[-<++++++++++>]<-------.>++++++++++[-<-
--------->]<+++++++.>++++++++[-<++++++++>]<++.>++++++++[-<--
------>]<--.>++++++++++[-<++++++++++>]<+++.>++++++++++[-<---
------->]<---.>+++++++++[-<+++++++++>]<-------...
179デフォルトの名無しさん:2007/05/27(日) 21:30:59
>>178はShift-JIS、まで読んだ。
180デフォルトの名無しさん:2007/05/27(日) 22:14:53
181デフォルトの名無しさん:2007/05/27(日) 23:24:27
>>180
ぬこたんThanks
182デフォルトの名無しさん:2007/05/28(月) 03:16:50
22バイトが606バイトまで膨らむのか
Shift_JISってやつはよく出来たBF圧縮アルゴリズムなんですなぁ
183デフォルトの名無しさん:2007/05/28(月) 11:02:31
>>180
それ面白いんだけどちょっと遅いね
184デフォルトの名無しさん:2007/05/28(月) 11:10:55
1byte目
>派 VS +派

カウンタを減らすとき
[-<*****>]派 VS [<*****>-]派
185デフォルトの名無しさん:2007/05/28(月) 11:22:55
>>183
ウェイト入れてるんじゃねーの。
一文字ずつ出てくるのを固唾を呑んで見守るというのもまた風情があってよいw
186デフォルトの名無しさん:2007/05/28(月) 17:49:53
>>184
初めはいろんなのをマネしてて後者だったが、
今は断然前者だな。忘れない内にデクリメントしとこぅ、みたいな
187122:2007/05/29(火) 03:24:06
今さらだが>>122の除算書き直した

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

*A B 0 0 0 0 0 (A=割られる数 B=割る数 *=ポインタ ABの後ろに5つの0が必要)
の状態で↑を実行したら
*A B C D (C=商 D=余り)
破壊は無し

>>186
カウンタ減らす場合だとデクリメントともう一つ
ポインタをカウンタに合わせておくことも必要 >>184の例だと後ろにある>
カウンタにポインタを合わせてデクリメントって考えなので後者
188デフォルトの名無しさん:2007/05/31(木) 16:54:00
golfはどこで遊べばいですか
189デフォルトの名無しさん:2007/05/31(木) 16:56:23
190デフォルトの名無しさん:2007/05/31(木) 17:07:36
>>189
ありがとう。しかし最後にコンテストが行われたのは2002年のようだ。
191デフォルトの名無しさん:2007/06/01(金) 16:25:27
192デフォルトの名無しさん:2007/06/01(金) 17:12:55
>>191
www
腹痛えww
193デフォルトの名無しさん:2007/06/01(金) 22:20:55
realtime competition in several languages including brainfuck.
http://golf.shinh.org/
194デフォルトの名無しさん:2007/06/04(月) 19:30:38
ネタも無いし、これ以上スレ伸びないね
195デフォルトの名無しさん:2007/06/05(火) 18:58:21
無い無い言わんと自分で提供汁
196デフォルトの名無しさん:2007/06/05(火) 19:07:17
>>195
無茶いわんでください><
197デフォルトの名無しさん:2007/06/05(火) 19:39:40
>++<
198デフォルトの名無しさん:2007/06/05(火) 21:28:41
ふつうに見たらAAだけど、BFコードとして食わせたら、
別にAAが出てくる〜的なの、誰かプリーズ
199デフォルトの名無しさん:2007/06/05(火) 21:42:53
200デフォルトの名無しさん:2007/06/05(火) 21:59:23
トライフォースを思い出した
201デフォルトの名無しさん:2007/06/06(水) 07:07:38
つーか、BFコードのAA化って簡単じゃないの?、足りなかったら関係ない文字足せるし
202デフォルトの名無しさん:2007/06/06(水) 09:09:37
>>199
感動した!
203デフォルトの名無しさん:2007/06/06(水) 15:25:06
204デフォルトの名無しさん:2007/06/06(水) 18:32:21
<+.->

ところで、BFは不の値にも対応はしてるようだけど、
ポインタのアドレスって負の値はダメなの?
つまり、いきなり最初に < を使うとエラー?
205デフォルトの名無しさん:2007/06/06(水) 18:41:41
処理系によるとしか
206デフォルトの名無しさん:2007/06/06(水) 18:57:20
バッファ二つ持たせりゃ簡単だろ。
いきなり-して255になることに依存してるコードもあったな。
207デフォルトの名無しさん:2007/06/06(水) 20:47:45
チューリング完全なBFインタプリタは負方向のアドレスにも対応してるんだろうなぁ
208デフォルトの名無しさん:2007/06/06(水) 21:35:53
正方向だけでも完全のはず
209デフォルトの名無しさん:2007/06/06(水) 21:36:52
無限大のアドレスを扱えないと完全じゃないだろ。
210デフォルトの名無しさん:2007/06/07(木) 00:21:31
実装≠言語
211デフォルトの名無しさん:2007/06/07(木) 17:24:34
            >
           + +
          +   +
         +     +
        +       +
       +         +
      [           >
     +             >
    +               +
   +>++++>+++++>++++++>+++++
  + +         +       >+++++++++>+++++++
 +           + +       >           +
+           +   +       +         +
+++++>++++++++++    +       +        [
<]>-]> > >.> >>      >       +      +
++.<<<--.> > >       .<       <     <
<+.>-.<<++.> >         >      .<    <
<.> >+++.-..>           >      >   >
++  +.--.>             >----.<<<< <
<<<.  >-    .> > > > > > >.<<.>++ ++
+.>.<< <     < < < < +.< < +++   .-
--.> > >--.> > > > > >++++++++.<<<<<<
<<.> > > > > > > >.<<<<<<<<<+++.---.>..> > > >----..
212デフォルトの名無しさん:2007/06/07(木) 22:31:00
絵が描きたいなら、2次元でプログラム書く言語あったはずだから、
それ使えばいいんじゃね。
213デフォルトの名無しさん:2007/06/08(金) 18:58:26
>>212
2次元で・・・・?
kwsk
214デフォルトの名無しさん:2007/06/08(金) 19:51:48
215デフォルトの名無しさん:2007/06/08(金) 20:54:02
2次元で構造を要求されるから、逆に自分の書きたい絵は描きにくいと思う<befunge
216デフォルトの名無しさん:2007/06/08(金) 21:42:11
いや、ループを書くときは本当にAAで輪を描く言語があったはず。
名前ど忘れしてもうたけど……。
217デフォルトの名無しさん:2007/06/08(金) 23:37:57
gikobasicじゃねーのw
あれAAじゃねーけど
218デフォルトの名無しさん:2007/06/08(金) 23:59:08
http://esoteric.voxelperfect.net/wiki/Rail
これじゃね? Matzのブログにあったやつ
219デフォルトの名無しさん:2007/06/09(土) 01:05:50
大昔WindowsでマウスでANDとかORのソケットを組み合わせる
真のヴィジュアルプログラミングなんて謳ってた開発環境があったな・・・
220デフォルトの名無しさん:2007/06/09(土) 01:10:27
視覚的プログラミングってのは意外と歴史がある
221デフォルトの名無しさん:2007/06/09(土) 02:44:43
>>219
ウィンドウズのウの時も無い頃からあるからなぁ。

222デフォルトの名無しさん:2007/06/09(土) 04:24:59
>>218
あー、それですそれです。
223デフォルトの名無しさん:2007/06/09(土) 17:33:32
IronBrainfuck
224デフォルトの名無しさん:2007/06/09(土) 17:36:27
>>23
鉄脳姦・・・?
225デフォルトの名無しさん:2007/06/10(日) 11:45:32
226デフォルトの名無しさん:2007/06/10(日) 14:39:01
  ++  ++          ++   ++
 ++  ++ ++       ++ ++   ++
 ++ ++   ++     ++   ++  ++
++                     ++
++                     ++
++      +++     ++      ++
 ++     ++  ++   ++     ++
 ++     ++ ++ ++ ++     ++
  ++     ++++ +++      ++

BFコードに違いはないんだぜ
227デフォルトの名無しさん:2007/06/10(日) 14:43:10
あるコードを実行したら別のコードが出力されて、
そのコードを実行したら元のコードが出力される
ようなことはできるかな?
228デフォルトの名無しさん:2007/06/10(日) 14:43:31
>>227
普通にできるんじゃね?
229名も無いプログラム ◆DgG2t5Gtqk :2007/06/10(日) 14:45:21
>++++++++++[>++++>+++++>++++++>+++++++++[<]>-]>>>+
+.<<+++..........>>>+.<.<<....>>.<<.....>>.<<......>>.<<.........>>>.<--.>++.
<++.<<++.>>>.<...<<--..>----.>--..<<...>..........>++...<<.>.>--.<.>..
<..........>++..<.>--..<...........>++..<.>--..<............>++...<.>--.<<++..>.>+
+.<<--..>.>--.<<..>.>..<<..>.>++...<.>--.<...>..<....>++.<<++....>.>.<<
..>..>--..<<..>.>++.<.>.<<--..>.>--..<.....>++.<.>.<.>--.<.>++.<<++..
>..>--..<<--..>...>++.<.>--.<<++..>....>++.<.
230デフォルトの名無しさん:2007/06/10(日) 15:39:34
http://golf.shinh.org/p.rb?123
コレを見てくれ。
引数、入力もなんもなしに、実行するたびに
違う数値を出力する、プログラムだが、どうやってると思う?

BF以外でも
231デフォルトの名無しさん:2007/06/10(日) 15:50:19
プロセス ID か乱数を使ってるから
BF じゃ無理だよ
232デフォルトの名無しさん:2007/06/10(日) 16:17:24
http://golf.shinh.org/p.rb?The+Golden+Ratio
挑戦してみたけど、ダメだ。
俺じゃ、レベルが違いすぎるw
233デフォルトの名無しさん:2007/06/12(火) 18:56:37
2chのトリップを解析するBFコード

  ↓
234デフォルトの名無しさん:2007/06/13(水) 16:45:29
好きな文字列キーを入力して、それによって出るトリップの
文字列を瞬時に計算し、さらにそのトリップを出すための
キーを計算して、出力してくれるプログラム

>+[,>]<[<]>[.>]
235デフォルトの名無しさん:2007/06/13(水) 18:07:04
>>234 それやるなら、
 >+[>,]<[<]>>[.>]
だろ
236 ◆w5K27BF/r2 :2007/06/16(土) 04:20:39
電卓
>,>++++++[<---------->-]<-[>++++++[<++++++++++>-]<+>,>++++++[<---------->-]<-]>+
+++++[<++++++++++>-]<+[<]>[[>]> > >-> > >[>]+[<]<<[<<<<[<]>[[>]>+<<[<]>-]>[>]> >
++++++[<-------->-]+<[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>[-]+++++++[<
++++++++>-]<+> > >[<+<<[<<[<]<+> >[>]>-]> > >+>-<]>[<->+]<<<<[-]]]]]]]]]]]>[> >>
>[>]>+<<[<]<<<-]> > > >[>]>[-<<[<]<[+]-> >[>]++++++++++<-[> > >+<<<-]>[> >[<<<+>
> > >+<-]>[<+>-]<<<-]> >[-]<[<<+> >-]<<+> >]<<[<]<<]->+<<<<<[<]<[>+<-]>[>]> > >[
<<<<[<]>[[>]>+<<[<]>-]>[>]> >++++++[<------->-]++<[>+<-[>+<--[>+<--[>[-]+<<+++[>
----<-]>--[>-++++++[<++++++++>-]<+[-]]]]]]>[>+<[> > > >[>]>+<<[<]<<<-]> > > >[>]
>[<+>-]<-<[<]<<<]>]<<<<[<]>]> > > > > >[>]<[[[>+<-]<]> >[<+>-]>[>]<]<[<<]> > > >
237236の続き ◆w5K27BF/r2 :2007/06/16(土) 04:21:34
[-[<+>+[>+<-]]>[<+>-]<<-[+<-[>+<-]> > > >-[<<<[<+> >+<-]>[<+>-]> >-]<<<[-]<+> >>
> > >[[<<<<+> > > >-]> >]<<<<<<[<<]<]>----[<+>++++[>+<-]]>[<+>-]<<-[+<-[>+<-]> >
> >-[<+> >+<-]>[<+>-]<<<<[->-> >-[<<+> >[>+<-]]>[<+>-]<<<[<<+> > >[>+>+<<-]> >[<
<+> >-]<<<+]<]> >[-]>[-]<<<<+> > > > > >[[<<<<+> > > >-]> >]<<<<<<[<<]<]> > > >>
]<<[<<]> > > >[--[<+>++[>+<-]]>[<+>-]<<-[+<-> > > >-[<<<<+> > > >-]<<<<+> > > >>
>[[<<<<+> > > >-]> >]<<<<<<[<<]<]>---[<+>+++[>+<-]]>[<+>-]<<-[+<-> > > >-[<<<<->
> > >-]<<<<+> > > > > >[[<<<<+> > > >-]> >]<<<<<<[<<]<]> > > > >]<<-[> > >++++++
++++<<<[-> > >->-<[>+<[<+>-]]<[>+<-]> >[<<<+> >++++++++++>+]<<<<]+++++++++++> >>
[<<<-> > >-]<<]<[>++++++[<++++++++>-]<-.[-]<]

 = で式の終了 空白入っててもおk
答えがマイナスだとちゃんと出力してくれないので注意
238デフォルトの名無しさん:2007/06/16(土) 06:53:16
>>236
乙乙
239デフォルトの名無しさん:2007/06/16(土) 07:12:58
>>236
すげー。
まじ乙だ
2401/3:2007/06/16(土) 12:18:45
> >+++[<+++++[<+++++++>-]>-]<<.> >>+++++[<+++++++++++[<++>-]>-]<<.>++
++> >++++[<++++[<+++++++>-]>-]<<.>++>+++++[<++++++>-]<.>+> >++++[<+++++++++
[<+++>-]>-]<<.>+> >++++[<++++[<++++++>-]>-]<<.<<<<<.>.> >> >>+>+++++++++++++[
<+++>-]<.>++>+++++++++++++[<+++>-]<.>++>+++++++++++[<+++++++++++>-
]<.> >+++++++++[<+++++++++++>-]<.>++>+++++++++++++++++[<++++++>-]<
.<<<<<.> >> >> >++> >++++[<++++[<+++++++>-]>-]<<.> >+++++++[<++++++>-]<.<<<<<<<.
> >> >> >> >+> >++++[<+++++[<+++>-]>-]<<.>+>+++++++++++[<+++>-]<.>+[
[-]>,[>+>[-]+<<-]> >[<<<+> >>[-]]<[>+>+<<-]>[<+>-]+>----------[<[-]>[-]]<[-<<+>
>]<[>+>+<<-]>[<+>-]+>-->+++++[<------>-]<[<[-]>[-]]<[-<<++> >]<[>+>+
<<-]>[<+>-]+>-->+++++++++[<----->-]<[<[-]>[-]]<[-<<+++> >]<[>+>+<<-]>[<+>-
]+> >+++++[<------------------->-]<[<[-]>[-]]<[-<<++++> >]<[>+>+<<-]
>[<+>-]+>->+++++++[<------------->-]<[<[-]>[-]]<[-<<+++++> >]<[>+>+<<-]>[<+
>-]+>--->+++++++++++[<----------->-]<[<[-]>[-]]<[-<<+
+++++> >]<[-]>[-],[>+>+<<-]>[<+>-]+>----------[<[-]>[-]]<[-<<+> >]<[>+>+<<-]>[<+>-]+>-->+
2412/3:2007/06/16(土) 12:25:14
++++[<------>-]<[<[-]>[-]]<[-<<++> >]<[>+>+<<-]>[<+>-]+>-->+++++++++[<----->-]<[<[-]>[-]]<[-
<<+++> >]<[>+>+<<-]>[<+>-]+> >+++++[<------------------->-]<[<[-]>[-]]<[-<<++++> >]<[>+>+<
<-]>[<+>-]+>->+++++++[<------------->-]<[<[-]>[-]]<[-<<+++++> >]<[>+>+<<-]>[<+>-]+>--->+++
++++++++[<----------->-]<[<[-]>[-]]<[-<<++++++> >]<[-]<[->+<]>[-<+++++++>]<[-<+>]+++++[<+++
++++>-]<<[>.>+<<[-]]>[-]>[-<<+> >]<<]<.> >> >>++++[<+++++++++++>-]<.<<<<<<.> >> >> >> > >+++++
++[<+++++++[<++>-]>-]<<.<<<<<<.>.> > > > > > >+++++++++[<+++++++>-]<.>+>+++++++[<++++++++++++
+>-]<.<<<<<<<<<<<<<<<<<<<<.> >.> >> >> > > >> > > >> > > > > > >++>+++++++++[<+++++>-]<.> >+++++[<
+++++++++++++++++++>-]<.<<..> > >+++>+++++++++++[<+++++++++++>-]<.<<<<<<<<<<.> >> > > > >
2423/3 やっぱり、まだ続きがある:2007/06/16(土) 12:33:37
> > > > ++++> +++++[<+++++++++++> -]<.> > +++++++[<+++++++++++++++++> -]<.<<<<<
<<<<<<<<<<<.<<<<<<<<<<.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > ++++[<+++
++++++[<+++> -]> -]<<.> +> > ++++[<+++++[<+++++> -]> -]<<.<<<<<<<<<<<<<<<<<<<<<
<.> > > > > > .<<<<<<<.> > .> .> > > > > > > > > > > > > > > > > > > > > > > ++++[<++++[<+++++++
> -]> -]<<.> > +++++++++[<+++++++++++++> -]<.<<<<<<<<<<<<<<<<<<<<<<<<<<<<.> > >
> > > > .> .<<<<<.> > > > > > .<<<<<.> > > > > >> > > > > >> .> > > > > > > > > > > > > +++++++[<
2434/3 まだ続きがある:2007/06/16(土) 12:37:44
+++++++++++++> -]<.<<<<<<<<<<<<<<<<<<<<<<<<<.> > > > > > .<<<<<<<.> > > > >
> > > > > > > > > > > > > > > > > > > > > > > +++++++++[<+++++> -]<.> > ++++++
+++++++[<+++>-]<.> > +++++[<+++++++>-]<.<.<<<<<<<<<<<<<<<<<<<<<<<<<<.> >
> > > > > > > > > > > > > > > > > > > > > > > > > > +> ++++[<+++++++++> -]<.> >
+++++[<+++++++++++> -]<.> ++> +++++++[<+++++++++++++> -]<.<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<.> > > > > > > > > > > > > > > > > > .> >
> > .> .<<<<<<<<<<<<<<<<<<<<<<<<<<<<.> > > > > > > .> .<<<<<.> > >
> > >.<<<<<.> > > > > > > > > > > > >.> > > > > > > > > > > > .<<<<<<<<<
<<<<<<<<<<<<<<<<.> > > > > >.<<<<<<.<.> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > +>+++++++[<++++++> -]<..<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<.> > > > > > > > > > > > > > > > > > >
2445/3 終わり:2007/06/16(土) 12:38:58
> > > > > > .> > > > > > > ++> +++++++[<+++++++> -]<.> +> ++++[<+++++++++++++>-]
<.<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<.> > > > > > > > > > > > > > > .> > > > > > >
> > > > > > > .> .<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<.> > > > > > > > > > > > > > > >
> > .> > > > > > > > > > > > > > > > > > +++++[<+++++[<+++++> -]> -]<<.<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<.> > > > > > > > > > >
> > > > > > .<<<<<<<<<<<<<<<<<<<<<<<<<<.> > > > > > > > > > > > >
> > > > > > > > > > > > > > > .<<<<<<<<<<<<<<<<<<<.<<<<<<<<<<.> > .> > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > +++> +++++++++[<
+++++> -]<.<<<<<<<<<<<<<<<<<.> > > > > > > > > > > > > > > > .> > ++++++++++.
245デフォルトの名無しさん:2007/06/16(土) 19:22:04
仮分数ワラタ
246デフォルトの名無しさん:2007/06/16(土) 21:11:01
>>245
オレだって3つに分割するつもりだったのに、
行数が多いだの、文字数が多いだの、長すぎる文章があるだの、オレのJaneちゃんが騒いで

結局こうなったんだよ
247デフォルトの名無しさん:2007/06/17(日) 00:53:41
> > と空白開けてる涙ぐましい努力に感動した。
248デフォルトの名無しさん:2007/06/17(日) 01:39:22
とりあえずロダとか使おうぜ・・・w
249デフォルトの名無しさん:2007/06/17(日) 01:40:33
ロダは残らないから直接貼りたい気も分かる
250デフォルトの名無しさん:2007/06/17(日) 03:20:34
lzh+ishで貼ろうぜ
251デフォルトの名無しさん:2007/06/17(日) 06:52:24
むしろ自分自身を伸長するBFコードを
252デフォルトの名無しさん:2007/06/17(日) 08:29:04
大抵、情報量ふえるかんな
253デフォルトの名無しさん:2007/06/17(日) 08:30:06
( )で代用汁
254デフォルトの名無しさん:2007/06/17(日) 09:09:37
それはもはやBrainfuckではない
255デフォルトの名無しさん:2007/06/17(日) 09:44:48
>>240-244を空白消して1行78文字で改行
 3,214バイト

7zで圧縮
 505バイト

Base64変換(ish変換ツールもってなかった orz)
 698バイト

これ↓
N3q8ryccAAJ9ubnIjwEAAAAAAABKAAAAAAAAAPNHOwAAPgIin9tbmLQH5OUWH/8vi9F0JxYB
2T0mBiayAKIYxLBqqDYX15FJv6qKPg/hrbNlEQLm5PfDnAu58T/X445IQkuPTZOsZs4ovneD
LQasGzi25Y4bdN9qB0DDJVmTEhTOKv/c0O5qddzZx0fQpsbcMm5GpLvFZOKT0rhLzwFPTfn2
JzOYoxOtWwTFIsNIh/vPRA5ESXHvnM3WDBulntmQhJL1wnCKJqZyYHblqX1soO/dvSGLhHUF
HZVvUkJdmnM99X5d8MA1W7c042MWIp1VVaMSFMh8h2tnccTokjsOJcB0p6ZIvJATKU4mA4H1
GUGWaMqTORDjRXnioI3eHyA2okBA/h6sDp5AOaOvbeBC6egkJDo6EeC47ZGEnICUkczsLKgZ
jTIhBiw/YukM87+wfwuH0kUes6etaLi6oBRI1uW2Z7IpGiDGSJQRJ589avyy7XoLHCT9nSb8
4vN8mc5Vlvq5LokYPGeRBJKBri7+NzvZTmCNLmX6Tq7oRErAQqnQXBicmFW3ZWu96zbmreQB
BAYAAQmBjwAHCwEAASMDBAEFIAAAABAMjI4ACAoBQp9sSQAABQERCwB0AGUAcwB0AAAAFAoB
ADjH0LF3sMcBFQYBACAAAAAAAA==
256デフォルトの名無しさん:2007/06/17(日) 09:49:06
心なしか可読性が向上した気がするな。
257デフォルトの名無しさん:2007/06/17(日) 16:43:21
文字を自由に変更できるようにしたインタプリタがあればいいんだね?
258デフォルトの名無しさん:2007/06/17(日) 19:15:06
Brainfuckでライフゲームなんて楽しそうだな。
だれか二次元ライフゲームplz
259デフォルトの名無しさん:2007/06/17(日) 19:28:52
>>258
とりあえず、一次元でおk
260デフォルトの名無しさん:2007/06/17(日) 19:44:42
0…死
1…生

自分の隣が共に1または0なら次の世代は0
   〃  が1と0(順不同)なら次の世代は1
端っこの隣のセルの無いところ(空白)は0とする。

例)
@0110010→1111101
A0011000→0100100

ルールは、一般に生きてるセルか死んだセル(空白)が混んでる所では生きられない、という原則に基づいて作った。
261デフォルトの名無しさん:2007/06/18(月) 18:27:35
>>260
セルをセットして左から順に次の世代がどうなるか考えてたけど
順にやると結果が全然違うことに気がついた。

偶数メモリに第0世代
奇数メモリに第1世代
偶数メモリに第2世代
奇数メm・・・
    :
っていう風に違うメモリをセルの個数だけ用意してやらんとあかん訳だ。

左からn個目のセルは
{2n-2}に第0世代
{2n-1}に第1世代
{2n}に第2世代
 :
という風に全体的に1ずつ右にずらせば、いいのかな。
262デフォルトの名無しさん:2007/06/20(水) 18:20:02
2つずつ左右の差が0なら、右となりのメモリを0にして、
そうじゃないなら、右となりのメモリを1にする。

っていうのを繰り返せばいいんだろ。簡単じゃねえか
263デフォルトの名無しさん:2007/06/22(金) 15:58:11
なんか凄いな、Brainfuck。C言語で
int main(){char a;scanf("%c",&a);a++;printf("%c",a);return 0;}
っていうプログラムも、BFにかかれば、
,+.
になっちまうんだもんな。すごいよBrainfuck。すごいよUrban Muller。

あ、あとBrainfuckをBrainf*ckって言ってるサイトが多いから、
Brainfでぐぐっても結構引っ掛かるんだよな。だから、Brainfっていう呼び方を推奨する。因みに日本語訳は、”魚の骨”だ。解説は要らないと思う。保守。
264デフォルトの名無しさん:2007/06/22(金) 17:10:36
BrainFunction
265デフォルトの名無しさん:2007/06/23(土) 09:49:16
DLR対応Brainfuckコンパイラまだー?
266デフォルトの名無しさん:2007/06/23(土) 15:09:35
,
267デフォルトの名無しさん:2007/06/23(土) 15:44:56
JavaScriptに直接BFが組み込まれたらいいのにな。
268デフォルトの名無しさん:2007/06/23(土) 17:38:30
>>267
replaceしてevalで我慢汁

269デフォルトの名無しさん:2007/06/23(土) 18:03:56
>>268
それじゃ、面白くない。
普通に

function ***(n){
  Abc.bf(+++++>,);
}
とか使えたらいいのに、、、
270デフォルトの名無しさん:2007/06/23(土) 18:17:45
それになんの意味があるんだ……?
271デフォルトの名無しさん:2007/06/23(土) 20:18:38
そんなことより、電脳コイル面白いなw
272デフォルトの名無しさん:2007/06/24(日) 02:42:27
273デフォルトの名無しさん:2007/06/25(月) 17:29:00
<!-- JavaScript仕様みたいなヤシ //-->
// Brainfuck.js

mmr[500]=new Array();
p=10;

Brainfunction BF(cord){
   for(i=0;i<cord.length;i++){
    chr=i.charAt(i);
    if(chr == '+')mmr[p]++;
    if(chr == '-')mmr[p]--;
    if(chr == '>')p++;
          :
          :
   }
}

っていう風に通せばJScriptでもBF使えるだろ
274デフォルトの名無しさん:2007/06/25(月) 19:18:17
ないわ
275デフォルトの名無しさん:2007/06/25(月) 20:10:22
bfainruck
276デフォルトの名無しさん:2007/06/25(月) 20:18:13
Cのプリプロセッサでネイティブコンパイルできそうじゃね?
277デフォルトの名無しさん:2007/06/25(月) 21:06:56
少なくとも標準Cでは無理。
278デフォルトの名無しさん:2007/06/25(月) 21:15:12
少なくとも異準Cでも無理。
279デフォルトの名無しさん:2007/06/25(月) 22:46:14
>>276
BRAINFUCK(n p p p p...
みたいな構文になっても良いならできる。
280デフォルトの名無しさん:2007/06/25(月) 22:59:22
インタプリタならこんな感じでいけそうだ。

#define BF(code) brainfuck_exec(#code)

BF((+++++>,));
281デフォルトの名無しさん:2007/06/27(水) 16:25:41
Quine (自分自身と同じ文字列を出力するプログラム) の
Brainfuck における世界記録が塗り替えられたらしい。
ttp://d.hatena.ne.jp/KeisukeNakano/20070626/1182879045
282デフォルトの名無しさん:2007/06/27(水) 16:34:04
負数番地はレギュレーション違反なのかよw
283デフォルトの名無しさん:2007/06/28(木) 01:25:46
>>273
function brainfuck(e){var m=[0];var p=0;var l=0;var r=[];for(var i=0;i<e.
length;i++){var c=e.charCodeAt(i);if(c==62){p++;if(p>=m.length)m.push(0)}else
if(c==60){p--}else if(c==43){m[p]++}else if(c==45){m[p]--}else if(c==91){if(!m
[p]){for(;;){i++;c=e.charCodeAt(i);if(c==91){l++}else if(c==93){if(l==0)break;
l--;}}}}else if(c==93){for(;;){i--;c=e.charCodeAt(i);if(c==93){l++}else if(c==
91){if(l==0){i--;break;}l--;}}}else if(c==46){r.push(m[p])}}return String.
fromCharCode.apply(this, r);}
引数に値を渡して , で取得できるようにしようと思ったが面倒なので諦めた。
284デフォルトの名無しさん:2007/06/28(木) 04:32:53
>>282
一番厳しいレギュレーションだと0->ffのデクリメントもダメでなかった?
285デフォルトの名無しさん:2007/06/28(木) 08:46:55
Whirl - 強力なライバル登場
http://www.rubyist.net/~matz/20070619.html#p04
286デフォルトの名無しさん:2007/06/29(金) 16:09:44
おもしろいのみつけた

何の言語処理系か調べるプログラム
#define v [
#include <stdio.h>/*
#
# Perl / Ruby / Python / C++ / Brainfuck / Befunge Polyglot by shinichiro.h
#
# ]+++++5++++[>++++>>+++>>+>>+[+<+<+++<+++<++<++<-[>>]<<]>-]
# >>.>++5.>..+++.>>>-.<----.<<<<------.>>+++.<----.++++++++.
# >----.+-<---.>>.<<---.>---.>>.<++.--------.+++.<+.<+.>>>+.
# [-][
#       >"!dlrow egnufeB ,olleH">:#,_@
#
s='''=*/
int main(){puts("Hello, C++ world!");}
/*
=;
print "Hello, Perl world!\n";
<<s;
'
puts "Hello, Ruby world!"
<<s
'''
print "Hello, Python world!"
s
s='''
]'''#==#*/
287デフォルトの名無しさん:2007/06/29(金) 16:20:59
おもすれー。発想の勝利だな。
288デフォルトの名無しさん:2007/06/29(金) 19:02:00
このスレずっと見てるヤツっているの?
っていうか前スレの>>1ってまだいるのかな?

俺はそのころからずっと見てるんだが、、、
289デフォルトの名無しさん:2007/06/29(金) 19:09:06
俺は前スレの50あたりから参戦
290デフォルトの名無しさん:2007/06/29(金) 20:10:30
前スレのjavaアプレットが出たあたりから見てるよ。
291デフォルトの名無しさん:2007/06/29(金) 20:11:33
プログラマーが一度は書いてみたい衝動に駆られる言語の一つだよね(lispとbf)
292デフォルトの名無しさん:2007/06/30(土) 15:17:13
ふつうlispは日常的に使ってるだろ。
293デフォルトの名無しさん:2007/06/30(土) 19:19:04
逸般人
294デフォルトの名無しさん:2007/06/30(土) 21:31:53
>>292
endユーザとして使うのと処理系作るのじゃだいぶ意味ちがくね?
295デフォルトの名無しさん:2007/06/30(土) 22:03:29
私はこれで、ポインタをマスターできました!
とかっで、本出せそうだな。だれかそんな猛者いないかな。
296デフォルトの名無しさん:2007/07/01(日) 07:48:42
Lispやる奴は日常的に実用する人と
ちょっと書いて終わる人に分かれるな。

BFを日常的に実用する奴はまずおらんだろwww
297デフォルトの名無しさん:2007/07/01(日) 10:22:42
頭の体操になりすぎて熱でるわw
298デフォルトの名無しさん:2007/07/01(日) 14:36:43
25歳。
去年までプログラムの素人だったけど、BFで二年でポインタをマスターした。
一度やってみなよ。
299デフォルトの名無しさん:2007/07/01(日) 16:46:21
普通は3日で覚えられます
300デフォルトの名無しさん:2007/07/01(日) 16:46:58
覚えるだけなら1日もかからんが、
色々やろうとするともうちょっと知識がいる。
301デフォルトの名無しさん:2007/07/01(日) 18:29:05
目指せBrainfucker!

秋頃、BANDAYより、ゲームボーイで発売。
302デフォルトの名無しさん:2007/07/01(日) 21:11:40
>301
ジャンル:パズル
303デフォルトの名無しさん:2007/07/02(月) 19:55:31
>>301
ジャンル:脳開発
304デフォルトの名無しさん:2007/07/02(月) 20:33:14
>>301
ジャンル:アダルト
305デフォルトの名無しさん:2007/07/03(火) 17:36:12
>>301
ジャンル:RPG
306デフォルトの名無しさん:2007/07/03(火) 18:31:58
イコール:アダルト脳開発パズルRPG
307デフォルトの名無しさん:2007/07/03(火) 18:32:27
どんなんだ
308デフォルトの名無しさん:2007/07/03(火) 18:35:55
平成のアインシュタインないしは、アーバンミュラーが生まれそうだ
309デフォルトの名無しさん:2007/07/03(火) 19:23:58

Brainfuckコードが右から流れて
それをその場で、脳内インタプリタ。
310デフォルトの名無しさん:2007/07/03(火) 19:36:53
8つの命令を8つのエロ画像とかで置き換えれば成立するかも。
311デフォルトの名無しさん:2007/07/03(火) 20:26:26
萌え画像にしたやつならあったはず。
312デフォルトの名無しさん:2007/07/03(火) 21:28:54
VIP語というのがあるらしいがぐぐってもよくわからん・・・
Brainfuckの派生言語なのか?
313デフォルトの名無しさん:2007/07/04(水) 00:44:54
wwwwwwwwwwwwwwちょwwwwwwwwwwwwwwおまwwwwwwwwwwwww
314デフォルトの名無しさん:2007/07/04(水) 00:49:51
ReverseReverseFuck
http://esoteric.voxelperfect.net/wiki/RRF

ここまで来るとくだらねぇ
315デフォルトの名無しさん:2007/07/04(水) 18:08:44
>>311
すげえな。
いや、発想がいい。
316デフォルトの名無しさん:2007/07/04(水) 19:16:23
>313
なるほど…BFコードかも知れんな。
317デフォルトの名無しさん:2007/07/04(水) 20:05:42
>>316
  ! ポインタをインクリメント
  ; ポインタをデクリメント
  w ポインタが示すメモリ位置のデータをインクリメント
  ^ ポインタが示すメモリ位置のデータをデクリメント
  おk ポインタが示すメモリ位置のデータを出力
  うは ポインタが示すメモリ位置のデータに入力
  ちょ ポインタが示すメモリ位置のデータがヌルなら対応する おま までジャンプ
  おま ポインタが示すメモリ位置のデータがヌルじゃないなら対応する ちょ までジャンプ

>>178
!wwwwwwwwwwwwちょ^;wwwwwwwwwwww!おま;^^^^^^^おk!wwwwwwwちょ^;wwwwwww!おま;wwwおk!wwwwwwwwち
ょ^;^^^^^^^^!おま;wwwwwおk!wwwwwwwちょ^;wwwwwww!おま;^^おk!wwwwwwwちょ^;^^^^^^^!おま;wwおk!www
wwwwwwちょ^;wwwwwwwww!おま;^^^^^^^おk!wwwwwwwwちょ^;^^^^^^^^!おま;おk!wwwwwwwちょ^;wwwwwww!お
ま;wおk!wwwwwwwちょ^;^^^^^^^!おま;^おk!wwwwwwwwwwちょ^;wwwwwwwwww!おま;^^^^^^おk!wwwwwwwwwwち
ょ^;^^^^^^^^^^!おま;^^^^おk!wwwwwwwwちょ^;wwwwwwww!おま;wwwwwwおk!wwwwwwwwちょ^;^^^^^^^^!おま
;^^^^^^おk!wwwwwwwwwwちょ^;wwwwwwwwww!おま;^^^^^^^おk!wwwwwwwwwwちょ^;^^^^^^^^^^!おま;wwww
wwwおk!wwwwwwwwちょ^;wwwwwwww!おま;wwおk!wwwwwwwwちょ^;^^^^^^^^!おま;^^おk!wwwwwwwwwwちょ^;ww
wwwwwwww!おま;wwwおk!wwwwwwwwwwちょ^;^^^^^^^^^^!おま;^^^おk!wwwwwwwwwちょ^;wwwwwwwww!おま;^^
^^^^^おkおkおk
318デフォルトの名無しさん:2007/07/04(水) 20:06:48
>>187
ちょ!!w!w;;;^おま!!!ちょ;;;w!!!^おま;;ちょ!!w!w;;;
^おま!!!ちょ;;;w!!!^おま;;ちょ^!^!!^;;ちょちょ!w;^おま
!!w;;おま!ちょ;w!^おま!ちょ;;;;ちょ!!w!w;;;^おま!!!ち
ょ;;;w!!!^おま!!w;wおま;;;おま!ちょ!w;^おま;;ちょ!w!w
;;^おま!ちょ;w!^おま!!ちょ;^!^おま!!ちょ;;;;w!!!!^おま
;;;;;;
319デフォルトの名無しさん:2007/07/05(木) 00:10:44
うざ
320デフォルトの名無しさん:2007/07/05(木) 00:59:45
>>317
それいいなwwwVIPで流行りそうだなwwwwwおk
321デフォルトの名無しさん:2007/07/05(木) 01:08:58
前すれ576で既出だ。
322デフォルトの名無しさん:2007/07/07(土) 13:33:40
576名前:デフォルトの名無しさん[sage] 投稿日:05/03/07(月) 20:33:19
www   BFの+
っうぇwww BFの-
うはwww  BFの>
おkkwww BFの<
みwなwぎwっwてwきwたwぜw BFの ,
修正されるねwwwwwwwww  BFの .
ワロスwww  BFの[
ワロタwww   BFの]
_______________
なんとなく、古い感じがwww
323デフォルトの名無しさん:2007/07/07(土) 13:58:00
【なんかむしゃくしゃしてたから勢いだけで作った。今は後悔してないBrainfuck】

0〜4のどれか ・・・ +
5〜9のどれか ・・・ -
A〜Iのどれか ・・・ >
J〜Rのどれか ・・・ <
S〜Zのどれか ・・・ ,
a〜iのどれか ・・・ .
j〜rのどれか ・・・ [
s〜zのどれか ・・・ ]

例)HelloWorld
02301420kH041023141O9zCeQ01214kA042031
L8xH9bI22eD404R6uE4bh111dP003204iB9675M5t
EdN020314dG1032P7xFa114f957685h95768596f
324デフォルトの名無しさん:2007/07/07(土) 14:34:00
BF暗号かよ
325デフォルトの名無しさん:2007/07/07(土) 15:21:19
>>323
0hSEx
とかくだらない事考えちゃうだろ
326 ◆w5K27BF/r2 :2007/07/08(日) 02:11:47
<<236-237の電卓改良した。カッコに対応。マイナスは相変わらず非対応。

> > >,> >++++[<++++[<------->-]>-]<<-[> >++++[<++++[<+++++++>-]>-]<<+> > >-[+<<,
>++++++[<---------->-]<-[> >-<]>[<]>[<++++++[<++++++++++>-]> >-<+]<<+> > >]> > >
 > >+>--<<<<<<<<<[<]>[[>]> > >->-> > >[> >]+[<<]<<[+<<<<[<]<-> >[[>]>+<<[<]>-]>[
>]>[>]<[> >-<++++++[<-------->-]+<[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[
>[-]++++[<++++>-]<+> > >[<<-> > >-<+]>[<->+]<<<<[>[+]+++++[<++++++++>-]> >[>+>-<
<+]> >[<<-> >+]<-[<<+<<[<<[<]<+> >[>]>-]<<[<]<[>+<-]>[>]> > > > >+]<<<<[-]]>[> >
> > >[> >]+<--<[<<]<<<+]<]]]]]]]]]]]>[> > > > >[> >]>+<<<[<<]<<<-]> > > > >[> >]
>[-<<<[<<]<[+]> > >[> >]<<-[>+<-]> > > >++++++++++[<<<[<+> >+<-]>[<+>-]> >-]<[<<
327 ◆w5K27BF/r2 :2007/07/08(日) 02:12:18
<+> > >-]<<[-]<+> > >]<<<[<<]<<]-[+<<<<[<]<-> >[[>]>+<<[<]>-]>[>]>[>]<[> >-<++++
++[<------->-]---<[>-<-[>-<--[>-<--[>[+]-<++++++[>++++++[<++++++++>-]<+[-]]>[> >
> > >[> >]+>-<[<<]<<<+]<]]]]]>[>+<[> > > > >[> >]>-<<<[<<]<<<+]> > > > >[> >]+[<
<]<<<]>]<<<<[<]>]> > > >[> > >[> >]<<<<<<[> >->[+]>-<<<<[<<]]<+]> > >[> >]+>-<[<
<]> > > >[>+[-> >+]<-<++[--<<++]<-> > > >[-> > >--<<+++[> >+<<+++[> >+<<------[<
->+]]]<[>-<+]+> > >[<<<<<-> >-> >->+[+<<<<<[>+<-]> > > >[<<<[<+> >+<-]>[<+>-]> >
-]<<<[-]<+> >>+> >]<<-[+<<<[>+<-]> > > >[<+> >+<-]>[<+>-]<<<<[->-> >-[<<+]>[>]<<
<[<<+> > >[>+>+<<-]>>[<<+> >-]<<<+]<]<+> > >[-]>[-]<]> > >[[<<<<+> > > >-]>[<<<<
328 ◆w5K27BF/r2 :2007/07/08(日) 02:12:55
-> > > >+]>]-<-<-<-<<<[<<]> > >]>]<<[<<]> > > >[-> > >--<<++++[> >+<<+[> >+<<---
--[<->+]]]<[>-<+]+> > >[<<<<<-> >-> >->+[+<[<<<<+> > > >-]<<<<+> > >+> >]<<-[+>[
<<<<-> > > >-]<<<<+> > >]> > >[[<<<<+> > > >-]>[<<<<-> > > >+]>]-<-<-<-<<<[<<]>>
>]>]<<[<<+> >-]> > >[>]>[[<<[<]<<+> > >[>]>-]>[<<<[<]<-> >[>]> >+]<-<-[<]>+>+>[>
]>]<<[+<]<<<<[<<]> > > >]<<-[> >++++++++++<<[-> >->-<[>+]>[>]<[<<+>++++++++++>+]
<<<]<++++++++++> > >[<<<-> > >-]<<++++++[<++++++++>-]>]<<[.[-]<]++++++++++.[-]<<
<<<<<[[+]<]> > >,,> >++++[<++++[<------->-]>-]<<-]

= で式の終了。q でプログラムの終了。
プログラムが終了しないときは = → 実行 → q → 実行 で終了するはず。

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

を入れたらちゃんと17872を出すからバグはないと信じたい。
329 ◆w5K27BF/r2 :2007/07/08(日) 02:19:26
>>326
逆だゴメン。>>236-237な。
330デフォルトの名無しさん:2007/07/08(日) 06:02:22
大作をこのスレに貼ろうとすると、>>326-328のように分割しなければならなくなるので、
とりあえずランレングスでBFコードを簡易的に圧縮してみようとしたんだが、結局サイズは
オリジナルの3/4程にしかならなかった。以上チラシの裏。
331デフォルトの名無しさん:2007/07/08(日) 06:24:28
gzip+base64で半分以下になる。
332デフォルトの名無しさん:2007/07/08(日) 08:34:02
命令セットが3ビット分しかないから、1バイトで2命令は表現できる。
つまり、半減するのは当たり前。
333デフォルトの名無しさん:2007/07/08(日) 11:22:49
CとかJAVAなら、人が作ったプログラム見て、勉強になるんだが、
BFの場合、全くわからんなw
334デフォルトの名無しさん:2007/07/08(日) 11:45:45
>>326-328をGZip+Base64

H4sICFJPkEYAAIGfdzVLMjdCRnIyAJWV63ECMQyE/9/MVSKUCjRuxOP+28jntc6CC0wSAcaWVmu9
Dlprj9YM6bFWX9J88I7wfplrRS6zQeDdIh5C2XksimIRg8doXR+z4ikqAJZsHBC0HpLzYJFvlw1O
1g4QlsCJ2xciMAhkOsILTJ9QCHk1jE/hGTYL//vSfVQGEMygz4PMuH7lwd4b6SDAbVTGlS9kYCc4
PcE7O4UeM0YREztwpaM4MyXkusDHVLUsCQifBNMGYJQQ44apQgmDstTdLz1hpzKUecJsS1dnOkFm
WJGNHChzLobi037sC4d/bth5fGhZ9YsVk4dr2SvxbnS7vNY87j7da9VupZLVohAAoiCpPo89eYS8
mjA3su6aIcqAwCZN8gxobrdzhJF7ew5BGFs8bB5EOldpsICpTZZljRvkXeO35xHBVW/rpnN1Evv7
7lXPLLtvegrL9e4mYtdFsBrqbLdY8AMsV2nkAIrpGQswiVCqMkAmCBG9UkAgpb96iVlgdLkXC1ln
nXZ98utDld7U6Pl6Zf1aiIoI+wX9T9wwVuRycLmjgQIVekuFiJbOpcn5cDSzplINPYU2/aoW9bOd
gkkpOslnf3R7ISZ1wGL1zFwV8szWfv6OKY0vNa+odF7Su2HSPD5++ZsZ31FFeUKKBgAA
335デフォルトの名無しさん:2007/07/08(日) 12:32:23
Base64自体、6bitコードなんだから、> 000, < 001, .. って割り振ってそのままエンコードしたほうがよくないか?
336デフォルトの名無しさん:2007/07/08(日) 14:14:59
不要な文字を取り除いてgzip+base64がベストかな
>>335はこれより大きくなった
337デフォルトの名無しさん:2007/07/08(日) 14:41:11
>>326
1回計算終わった後、再実行しないと計算結果変わってくるよ
338 ◆w5K27BF/r2 :2007/07/08(日) 19:02:18
http://up.spawn.jp/file/up31744.txt
コメント付き>>326-328
物好きさん用

>>337
式入力するとき = の後ろに余計な文字入ってない?
それだと変わる。仕様。そうじゃないなら分からん。
339デフォルトの名無しさん:2007/07/08(日) 21:57:28
>; 自分でもよく覚えてなくて分からないところあるし
あるある
340デフォルトの名無しさん:2007/07/09(月) 00:00:27
現在BFコードを圧縮する技術を開発中
まだ圧縮しか出来ないし復元できるかも未確認だがとりあえず>>326-328を圧縮してみた
ちなみに>>334は676文字、こちらは618文字だ(数え間違い等あるかもしれない)

LKJ?cOBU>1Wm\oBU^>1A<`nInOBC@C4D<XHo\oGZ9:LMX_bhoH@ARMBbA3A>h8R73V<2DXRa
PB55::<JRnInWD4A59XR4DA2Z81ETP:B@59XR4DA2:BacNYea9WX@aT2OD4QhcnGZAER5J
Lb2C`5SS1[AQB736ET::dGhSD:jS6R8ShPGH@BBBBBAOd@577lDOd@ARS36AXS6>1ETjmol
H]8E\B==NMj8]>lhP321AlH`TARE<6DZX@AQACd?cOBQSX49X4I@9bPR84RnYnIo;]TBAOd@
DRhPGH@BBA5AOd@9>>h5jS6RL`3:laP2mXS6nSV4AX4?>8;dA3A9R3jAUT5VX9S=<iAbI\C;f
Y5c?HBQTA9:4MlCV<Y4a7ETjaSeRDa:edSdjJh44aA5YN\FT:FY?BBVP;DDhaeAEaDS[YGH`j
8ET6dA?OZhCNQ2Q8AR477dQ277dSTcH?]HY5c7<Y@bX45R>n9CVDR8njY_^6>1AaWldG7j8`
G?El9_@Q@T8ARS3j@QS[Y>:D4hH`eAQB5?6<IDX5V813ZZX@QS82nhPNh4dnO<BVT8Z@AQ
aEo_2?Ho_SWLjnIo;Eh84T64o?88m?24Q1MPgcNVoT:M:
341デフォルトの名無しさん:2007/07/09(月) 00:06:12
>>340
それはもちろんBFで開発してるんだよね?
342デフォルトの名無しさん:2007/07/09(月) 00:18:12
それは無いんじゃないか?w
343デフォルトの名無しさん:2007/07/09(月) 19:21:17
カタカナ入れてBase128にしちゃえば・・・
344デフォルトの名無しさん:2007/07/09(月) 19:41:01
そもそも2chに書き込めない文字って何があるんだ?
とりあえず、ヌル文字、CR、LFはだめそうだよな
345 ◆w5K27BF/r2 :2007/07/09(月) 19:57:07
よく分からんが、

+-<>は連続しやすい
[]はあんまり出てこない
.,はほとんど出てこない

ってのは圧縮のヒントになる?
346デフォルトの名無しさん:2007/07/09(月) 20:20:29
どうせならもっと高度な圧縮を期待する
たとえば、
[圧縮前]
+++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.+++.------.--------.>+.

[圧縮後]
Hello, world!
347デフォルトの名無しさん:2007/07/09(月) 20:21:14
なる。
348デフォルトの名無しさん:2007/07/09(月) 20:33:34
349デフォルトの名無しさん:2007/07/09(月) 22:02:14
なんという不可逆圧縮/(^o^)\
350デフォルトの名無しさん:2007/07/10(火) 01:19:51
351デフォルトの名無しさん:2007/07/10(火) 09:19:07
base64の代わりにascii85とかbasE91を使うと良さげ
352既出だったらスマソ:2007/07/10(火) 12:47:32
353デフォルトの名無しさん:2007/07/11(水) 00:51:37
>>352
壮絶だな…
354デフォルトの名無しさん:2007/07/11(水) 02:16:56
小腸みたいだなw
355デフォルトの名無しさん:2007/07/11(水) 21:10:45
コードの最初に[が付くっておかしいよな?
[から]までスルーされるだけだろ
>>122とか少なくとも俺が試した限りじゃ動かないし
356デフォルトの名無しさん:2007/07/11(水) 21:20:39
>>355
コードの最初じゃねんじゃね?
357デフォルトの名無しさん:2007/07/11(水) 21:28:24
>>355
コードの破片なんだから、それ以前にメモリに何か書き込まれてるわけで、[で始まっても何の問題もない。
358デフォルトの名無しさん:2007/07/11(水) 21:31:05
ごめん、よく見ればわかることだったな・・・orz
359デフォルトの名無しさん:2007/07/12(木) 16:55:43
まだ、在ったのか
しかもパート2にまでなって。
もう、俺が立ててから5年になるのに、伸びてないな。
360デフォルトの名無しさん:2007/07/12(木) 19:50:55
>>359
お前が+をデクリメントとか言ったせいで!
361デフォルトの名無しさん:2007/07/13(金) 06:09:30
<[+-.,]>
っていうBFコードっていきなり<するもんだから、エラーでちゃう><
362デフォルトの名無しさん:2007/07/13(金) 09:48:40
負のポインタを扱えるかどうかは処理系依存
363デフォルトの名無しさん:2007/07/13(金) 12:25:56
むしろ対応してるヤシなんてほとんどないよな。
だから、初めを{30}番地位に設定すりゃいいんだよ
364デフォルトの名無しさん:2007/07/13(金) 12:50:38
プラス方向とマイナス方向に二つメモリ持てばいいじゃん。
365デフォルトの名無しさん:2007/07/13(金) 13:37:37
>>364
そんなことしてたら、インタプリタ重くなるじゃん。
366デフォルトの名無しさん:2007/07/13(金) 15:15:27
わしのインタプリタは108番地まであるぞ
367デフォルトの名無しさん:2007/07/13(金) 15:31:23
108って少なくないか?
368デフォルトの名無しさん:2007/07/14(土) 09:02:39
Brainfuck#.NET
369デフォルトの名無しさん:2007/07/14(土) 11:06:19
<[(+.-)]>みたいなのかと思った。
370デフォルトの名無しさん:2007/07/14(土) 14:14:27
Objective-Brainfuck!
371デフォルトの名無しさん:2007/07/14(土) 16:00:30
つ brainfuck++
372デフォルトの名無しさん:2007/07/14(土) 16:27:05
Aspect Brainfuckまだー
373デフォルトの名無しさん:2007/07/14(土) 18:08:18
オブジェクト指向のBFってどんなんだよ。
374 ◆leSXCx/JO2 :2007/07/14(土) 18:37:20
>>359
?????
375デフォルトの名無しさん:2007/07/15(日) 01:35:26
標準brainfuckはコードセグメントとデータセグメントが分断されてるが、
これを同じところにしてやったら面白いんじゃないかな。

0[-][Hello World!]>>>>>.>.>.>.>.>.>.>.>.>.>.>.

これでHello World!が表示できるとか。
376デフォルトの名無しさん:2007/07/15(日) 01:36:01
befungでも使っていてください
377375:2007/07/15(日) 01:43:46
あと自己進化プログラムとかも賭けるようになるな
378デフォルトの名無しさん:2007/07/15(日) 01:44:57
>>375
コードポインタとデータポインタを同じものにしたら、さらに面白くなるんじゃね?
379デフォルトの名無しさん:2007/07/15(日) 01:48:31
拡張BFとかに興味は無いが
やるのならobfuscated languageとしてのアイデンティティを維持するために
いかに訳の分からなくなる表記方法を採用するかだな
Hello Worldを表示するコードにHello Worldがあるなんて論外
380デフォルトの名無しさん:2007/07/15(日) 12:02:06
じゃあ "!" 一つでHello Worldを現在のポインタから連続するメモリ上に配置だ
381デフォルトの名無しさん:2007/07/15(日) 12:04:38
じゃあ、"Q"でプログラムのソースコードを現在のポインタから連続するメモリ上に配置
382デフォルトの名無しさん:2007/07/15(日) 12:10:36
じゃあ、# で現在のポインタから先をBrainfuckコードとして実行
383デフォルトの名無しさん:2007/07/15(日) 16:22:35
>>381,382
Q#ってやると面白いことに。
384デフォルトの名無しさん:2007/07/15(日) 16:59:58
無限ループって怖いよね
385デフォルトの名無しさん:2007/07/15(日) 18:42:50
>>380-381
つ HQ9+
386デフォルトの名無しさん:2007/07/15(日) 18:56:12
>>385
どうせ引用するならオリジナルに敬意を払って!でなくHを使えと仰せですか
387デフォルトの名無しさん:2007/07/15(日) 19:59:01
深読みしすぎ
388デフォルトの名無しさん:2007/07/17(火) 08:09:35
!>>++>++++++++>--------------<<<<.>.>.>.>.
389デフォルトの名無しさん:2007/07/17(火) 09:45:44
へん・・・た・・・?
390デフォルトの名無しさん:2007/07/18(水) 16:23:57
......
391デフォルトの名無しさん:2007/07/18(水) 18:34:36
....
392デフォルトの名無しさん:2007/07/18(水) 20:21:23
Henta
393デフォルトの名無しさん:2007/07/18(水) 20:31:33
微妙にヴィジュアライズされているようなされていないような
394デフォルトの名無しさん:2007/07/18(水) 21:09:44
ヴィジュアラーイズ(・∀・)
395デフォルトの名無しさん:2007/07/18(水) 21:28:53
BFコードを圧縮するのに、

そのコードを出力するBFコードを書いた場合、
どんな時に短くなるのか、いろいろ試してるけど、規則性的な事が分からん。
396デフォルトの名無しさん:2007/07/19(木) 15:09:37
>++++++++++[>+>+++>++++>+++++++++>++++++++++++[<]>-]> > >+++.
++..<<+++.---.> > > >++++.<<<++..> > >.<<<...> >+++++.<<...>..--.<............>
>.<<<+++.---.> >.++..<..>--.++.<....>..--.<..>++.<..>--.>..<<...> > >.<<<........>
> >.<<<.> >.>.<<<<+++.---.> > > >.<<<..> > >.<<<.> > >.<<<....> > >.<<<..> > >.
<<<..> > >.<<<..> > >.<<<..> > >.<<<.>++.--.++.<.> > >.<<<..> > >.<<<..>--.++.>
.<<<+++.---.> >--.++..<........>..--.<..> > >.<<<..> > >.<<<..> > >.<<<..> > >.<<<..
>.++..> >.<<<..> > >.<<<..> > >.
397デフォルトの名無しさん:2007/07/19(木) 15:22:28
>>396
Brainfuk!!
398デフォルトの名無しさん:2007/07/19(木) 16:05:07
なんつーか・・・非常にユニークですな
399デフォルトの名無しさん:2007/07/19(木) 16:27:57
フォントが手抜き+++++++++++++
400396:2007/07/19(木) 17:46:16
>++++++++++[>+>+++>++++++++++++[<]>-]> > >++++........<<+++.---.> >..<++..
..>...<<+++.---.> >..<....>...<..................>..<.............>...<.................>..<<+++.---.>
>.......<...>..<..>..<..>.....<..................>..<............>.....<..>..<..>..<<+++.---.> >..<..
..>..<..>....<...>..<...>..<...>..<.>..<.>....<..>......<.>..<...>..<.>..<...>..<.>..<.>..<<++
+.---.> >..<.....>..<.>..<......>......<...>..<.>...<...>..<...>..<...>..<...>..<.>..<......>...<<
+++.---.> >..<....>...<.>..<.....>..<...>..<...>..<.>..<....>..<...>..<...>..<...>..<.>..<...>..
<.>..<.>..<<+++.---.> >........<..>..<......>....<.>...<.>..<.>..<....>..<...>..<....>.....<...>
.....<..>..<...>..

遠目で見れば・・・ね。
401デフォルトの名無しさん:2007/07/20(金) 00:18:05
>>396 >>400
すげえw
402デフォルトの名無しさん:2007/07/20(金) 02:31:19
D言語おもすれー

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!");
}
403デフォルトの名無しさん:2007/07/20(金) 07:14:51
>>402
これはbfを埋め込み言語として実装したってことでおk?
404デフォルトの名無しさん:2007/07/20(金) 07:50:38
これだったら、沢村さんの考案したVisualEno方がはるかにマシ
405デフォルトの名無しさん:2007/07/20(金) 16:55:15
アセンブラで、BF実装プリーズ
406デフォルトの名無しさん:2007/07/22(日) 15:40:08
>>404
微妙にヒットするからわけわからん
407デフォルトの名無しさん:2007/07/22(日) 17:15:28
>>402
コンパイル時関数実行でBFコードから関数を作ってるのか?
Dはよくわからん。
408デフォルトの名無しさん:2007/07/22(日) 18:12:52
どうせならC++のテンプレートで作ってくれ
409デフォルトの名無しさん:2007/07/23(月) 12:27:44
Befungeでもやってみようかなって思って
命令の数多いな、って一瞬でも思った俺は
間違いなくBrainfucker
410デフォルトの名無しさん:2007/07/23(月) 18:49:45
+[.]
411デフォルトの名無しさん:2007/07/24(火) 01:47:18
C++で作ったbrainfuckのインタプリタ。
ちょっとした最適化機構を備えてみたので結構早い。
ttp://mumei24.run.buttobi.net/cgi-bin/upload.cgi?mode=dl&file=2190
412411:2007/07/24(火) 01:55:04
すまん、DLKeyはbfiだ。
413デフォルトの名無しさん:2007/07/24(火) 04:02:20
>>412
そもそもそんなサイトがないと言われます
414デフォルトの名無しさん:2007/07/24(火) 12:33:03
>>413
え?俺ダウンロードできたけど
415デフォルトの名無しさん:2007/07/24(火) 12:41:50
よくBFで書いたBFインタプリタってあるけど、
俺が試した限りじゃなにも起きないんだけど。
416デフォルトの名無しさん:2007/07/24(火) 20:47:51
バグが取れないときに机の上でラッキョを転がすと
バグは取れないけど幸せになるよ!

  ∧_∧
 ( ´∀`)
 (つ, ,σつ
 ̄ ̄ ̄ ̄ ̄ ̄|
            |
━━━━━━━━━━
 
  ∧_∧
 (´∀` )
⊂ρ、、⊂)
 ̄ ̄ ̄ ̄ ̄ ̄|
            |
━━━━━━━━━━
417デフォルトの名無しさん:2007/07/25(水) 01:15:29
懐かしいな
418デフォルトの名無しさん:2007/07/27(金) 18:08:52
Brainfuckの命令をC言語で表せるなら、
Cは、超完全チューリングマシーンなんじゃないか?
419デフォルトの名無しさん:2007/07/27(金) 18:12:42
brainfuckでCのインタプリタを書ければ互角だろ。
420デフォルトの名無しさん:2007/07/27(金) 18:19:43
そう考えたら、Brainfuck最強じゃね?
421デフォルトの名無しさん:2007/07/27(金) 18:21:13
>>418
意味も分からずに、無理して言葉使わんくてもいいからw
422デフォルトの名無しさん:2007/07/27(金) 19:08:29
BF専用CPU作ったら超シンプルな構造になりそうだな。
1コアで3000スレッドくらい動かせそうだ。
423デフォルトの名無しさん:2007/07/27(金) 19:20:14
>++++++++++[>+++++
+++>+++++++++++>++
++++++++++[<]>-]>--
.>>---.<--..<++.>+++.
424デフォルトの名無しさん:2007/07/27(金) 19:35:48
>>422
無理。何故なら、BFにはスレッドに関するニモニックがないから。
微小コアでBFが動くから、1ダイで3000コアくらい載せられるって言うなら話は別だが。
42555:2007/07/28(土) 06:35:18
http://stricter.org/program/c/bf2c-Ver3.0
bf2c ver3.0
名前の通り、BrainfuckのソースをCのソースに変換するプログラムです。
コマンドライン引数の1番目にBrainfuckのファイルの名前を指定してください。result.cが出力されます。
426デフォルトの名無しさん:2007/07/28(土) 06:36:54
+[>+]
427デフォルトの名無しさん:2007/07/28(土) 16:57:40
武雨賦亜苦
428factor.bf:2007/07/28(土) 23:45:15
ネットで色々調べてみたが、因数分解するBFコードには
こころから感動した。C言語やそこらのプログラミング言語
だって平伏しちゃう位、ずっと優秀。
いろいろ見てきたが、普通プログラマが言語を選択
するはずなのに、言語が使う人を選ぶ。天才は常人から見れば、
キチガイだなんてよく言われるが、Brainfuckはそんな言語だろう。
429デフォルトの名無しさん:2007/07/28(土) 23:55:21
俺も大好きです
430デフォルトの名無しさん:2007/07/29(日) 08:27:25
結局BFに特化したOSってどんなんなの?
431名無しさん@そうだ選挙に行こう:2007/07/29(日) 16:39:19
BFに特化したOSって…

マトリックスの字が流れるところにBFコードが流れてるの想像して噴いた。
432デフォルトの名無しさん:2007/07/30(月) 21:47:30
なんか、作りたいけど
大抵のものは作られてるから
やる気で無いな。
433デフォルトの名無しさん:2007/07/31(火) 14:41:05
つ BFオプティマイザ
434デフォルトの名無しさん:2007/07/31(火) 15:15:05
オプティマイザって最適化のこと?
それは急に難しそうになるな。
435デフォルトの名無しさん:2007/08/01(水) 13:13:21
最適化って
+の一個前(or後)に-があったら、相殺するとか、

,のスグ前に連続して+or-があったら、そいつを消すとか

こういうコト?
436デフォルトの名無しさん:2007/08/01(水) 14:16:55
最適化されたアセンブリコードを吐き出すのでもいいよ。
437デフォルトの名無しさん:2007/08/01(水) 15:14:36
>>435
それ俺作ったよ
作ってみたはいいものよく考えたら需要ないって気付いて現在お蔵入り状態
438デフォルトの名無しさん:2007/08/02(木) 09:02:23
BFのコンパイラ作ってみたいと思ったんですけど、
exeを作成するための知識が全くありません。
適当なサイトありませんか?
439デフォルトの名無しさん:2007/08/02(木) 09:48:12
>>402
ワロタ
Dすげえ
440デフォルトの名無しさん:2007/08/02(木) 21:00:12
>>437
俺も作った。
上のどっかで公開もして、その後も続けてたが飽きた。
メモリ間で足し算するコードとかかけ算コードとか、結構最適化出来るよ。
実行速度が単純実装の4〜5倍くらいにはなる。
441デフォルトの名無しさん:2007/08/03(金) 00:16:30
標準入力のデータがからまない部分は
コンパイル時に全部算出できちゃいそうだな。
それこそhello.bf -> hello.cすると
main(){ printf("hello, world\n"); }
に置き換わっちゃったりw
442デフォルトの名無しさん:2007/08/03(金) 00:17:21
なんかそれ空しいなー
443デフォルトの名無しさん:2007/08/03(金) 08:25:30
素数かどうか判定するBFコードを1時間で書いた。
最適化してみたら、
main(){int n,f=0,i;scanf("%d",&n);for(i=2;i<=n;i++){if(!n%i){f=1;}}if(f){printf("not prime number");}else{printf("this is prime number");}}

になったよ\(^o^)/
444デフォルトの名無しさん:2007/08/03(金) 08:44:32
>>443
その最適化器晒してくれないか
445デフォルトの名無しさん:2007/08/04(土) 21:53:17
!!
446デフォルトの名無しさん:2007/08/05(日) 14:38:59
!+!
447デフォルトの名無しさん:2007/08/06(月) 17:53:02
i!
448デフォルトの名無しさん:2007/08/08(水) 09:47:18
__<+++++[>---<-]__
449デフォルトの名無しさん:2007/08/08(水) 20:23:55
i!i!i!
450デフォルトの名無しさん:2007/08/08(水) 20:38:42
451デフォルトの名無しさん:2007/08/08(水) 23:20:31
言語: 英語
を見落としてうっかり参加するところだった。
452デフォルトの名無しさん:2007/08/09(木) 09:11:13
参加しちまった俺がいる
453デフォルトの名無しさん:2007/08/09(木) 22:47:31
ほんとだ一人増えてる
454デフォルトの名無しさん:2007/08/11(土) 18:42:23
BasicFuck
455デフォルトの名無しさん:2007/08/11(土) 20:02:51
****Fuck
456デフォルトの名無しさん:2007/08/11(土) 21:06:32
しかし、fuckとか名前付けてるトコからみて
アーバンミュラーはこの言語好きじゃなかったのかな
457デフォルトの名無しさん:2007/08/11(土) 21:40:16
のーみそこねこね
458デフォルトの名無しさん:2007/08/11(土) 21:55:01
 ( ゚∀゚) のーみそこねこね
  ミ⊃
     ⊂彡
459デフォルトの名無しさん:2007/08/12(日) 00:55:03
>456
「脳みそが犯される言語」ぐらいのニュアンスじゃね?
BFコードばかり見てると何かに犯されそう、みたいな。
460デフォルトの名無しさん:2007/08/12(日) 01:17:00
BFのコーディングには
SANチェックが必要なのか
461デフォルトの名無しさん:2007/08/12(日) 16:18:08
htmlで恐縮だが、
<head>タグの中に<brain>タグが書けるとすれば
<brain>タグの中に書くのは確実にBFだよな、とか考えてた。
462デフォルトの名無しさん:2007/08/12(日) 16:49:52
>>461
それって、HTML的にはありだけどSGML的には無理。
463デフォルトの名無しさん:2007/08/12(日) 16:57:19
CDATAセクションでくくればいいんでないの
464デフォルトの名無しさん:2007/08/12(日) 16:59:11
]]>の連続が普通に出てくるから引っかかりそうだな。
465デフォルトの名無しさん:2007/08/12(日) 17:18:39
このスレって人がいなさそうで実はいるよなw 俺も含めて
466デフォルトの名無しさん:2007/08/12(日) 17:33:16
エスケープすればええんや!
467デフォルトの名無しさん:2007/08/12(日) 17:47:37
>>466
余りいろいろやりすぎるとBrainFuckらしくなるなるしねぇ。
468デフォルトの名無しさん:2007/08/12(日) 18:25:32
俺が作った訳じゃないが8/3にうpされてて新しいので晒
ttp://www.vector.co.jp/soft/win95/prog/se433973.html
469デフォルトの名無しさん:2007/08/12(日) 19:35:22
>>467
どうせインスタンス化されるのは実体となった文字なんだからいいのでは。
HTMLのソースレベルで語ってもしかたない。
470デフォルトの名無しさん:2007/08/12(日) 19:54:31
<!ENTITY prev CDATA "&#60;">
<!ENTITY next CDATA "&#62;">
<!ENTITY inc CDATA "+">
<!ENTITY dec CDATA "-">
<!ENTITY do CDATA "[">
<!ENTITY done CDATA "]">
471デフォルトの名無しさん:2007/08/14(火) 11:25:35
\
472デフォルトの名無しさん:2007/08/14(火) 13:02:53
定数ロード命令があったらどうだろうか
473デフォルトの名無しさん:2007/08/14(火) 15:39:37
なにそれ、おいしーの?
474デフォルトの名無しさん:2007/08/15(水) 23:08:50
>>472
決めた番地にかいといてコピーすりゃいいだけじゃん。
475デフォルトの名無しさん:2007/08/18(土) 08:02:54
476デフォルトの名無しさん:2007/08/20(月) 14:32:49
whirlを日本語で説明してるサイトが見つからない
477デフォルトの名無しさん:2007/08/20(月) 22:37:16
>476
逆に考えるんだ。
ここで説明サイトを作ればおまいが日本で一番乗りだ。
478デフォルトの名無しさん:2007/08/20(月) 22:58:25
>476
というか、処理系まであるし説明自体も平易だから日本語で説明されるまでもないんじゃないの?

01 並びになるけど実質的には Operation Ring と Math Ring のコマンドが交互に並んでいるだけだから、いまいち面白みにかけるような。
しかも両 Ring に Noop があるから実際には任意の順序で並べることが可能だし。
まぁ、最短手数を考えるというのはありだと思うけど。
むしろ、実行時の Visualization にこそ、こだわるべき言語な気がする。
個人的には 3D でぐるぐる回ってるのが見たい。
479デフォルトの名無しさん:2007/08/22(水) 12:55:35
>>477
まず俺自身が解説を受けたいよ
480デフォルトの名無しさん:2007/08/23(木) 18:08:58
シンプルさが、BFのいいところなのは分かってるが、
実用的なGUIアプリ作ろうと思ったら、何が要るんかな
481デフォルトの名無しさん:2007/08/23(木) 18:25:02
BFからシステムコールを呼び出せるOS。
482デフォルトの名無しさん:2007/08/23(木) 18:41:26
出力でボタンとか並べて入力でイベント受け取って・・・とか考えてたら人が書くものじゃないってことに気がついた
483デフォルトの名無しさん:2007/08/30(木) 07:49:48
GUIを作ることを土台とした難解言語が欲しいなあ。
あ、その言語を作るのが難解なのか……。
484デフォルトの名無しさん:2007/08/30(木) 13:38:19
部品の種類とその座標、関する諸々のイベントを書こうとしたら、
どうしても、命令数がすごいことになるもんな。

やっぱり、機械語みたいになるよなぁ。
485デフォルトの名無しさん:2007/08/30(木) 13:58:08
>>484
メモリに書き込むようにするのはどうですか?
486デフォルトの名無しさん:2007/08/30(木) 20:14:55
TclやHTMLを参考にして作ったら?
あの辺は比較的少ない命令数で画面作れる。
487デフォルトの名無しさん:2007/08/31(金) 01:12:53
BFは、命令の種類が少ないことが面白みだからなぁ。
簡単になったら詰まらんとはいえ…テキスト処理以外は手に余るね。
488デフォルトの名無しさん:2007/09/02(日) 04:07:11
o (p[0],p[1])にドットを打つ
x (p[0],p[1])のドットを消す

これさえあれば絵は描ける
489デフォルトの名無しさん:2007/09/02(日) 04:14:52
AAを出力するAA
490デフォルトの名無しさん:2007/09/02(日) 09:04:40
>>488
rgb
ポインタが示す値を赤、緑、青成分にする

これでフルカラーが使えるぞ
491デフォルトの名無しさん:2007/09/02(日) 09:16:18
>> 490
命令数増やすなよ
o (p[0], p[1], RGB(p[2], p[3], p[4]))にドットを出力する
ひとつで十分だ
492デフォルトの名無しさん:2007/09/02(日) 10:04:01
GUIに少し近づいた。
493デフォルトの名無しさん:2007/09/02(日) 10:07:27
今、ポインタがp[i]を指してるとして、
. … p[i]の文字を出力
: … p[i]の文字を(x,y)=(p[i+1], p[i+2])の座標に出力

の方が都合がよくね?
点が打ちたいなら文字として「.」を出力しときゃいいじゃん。
494デフォルトの名無しさん:2007/09/02(日) 11:18:32
それだと「.」がドット1個じゃないフォントを採用してる環境で困る
495デフォルトの名無しさん:2007/09/02(日) 11:27:59
それはそうか。
スンマセン
496デフォルトの名無しさん:2007/09/02(日) 18:27:02
命令増やす必要なんてないだろ。
メモリをそのままVRAMに転送すればいい。
497デフォルトの名無しさん:2007/09/02(日) 19:19:16
まあ、転送する必要もないよな。
メモリがVRAMであればいい。
498デフォルトの名無しさん:2007/09/03(月) 00:22:27
[]の対応が正しくない時の挙動ってどう定義されてるの?
・構文エラーで実行不可
・余った]からは0、[からはEOFにジャンプ
・どこまでも相棒を探しに行ってメモリぶっ壊す
仕様探したけど見つからん、未定義?
499デフォルトの名無しさん:2007/09/03(月) 01:50:31
正式な仕様って無いようなもんだよね…?
一応golfのルールだと
>Unbalanced brackets are a fatal error.
500デフォルトの名無しさん:2007/09/03(月) 10:26:07
オリジナルのAmiga版コンパイラを見ると
余計な ] があるとコンパイラが落ちるような気がする
501デフォルトの名無しさん:2007/09/03(月) 22:09:27
>498
http://en.wikipedia.org/wiki/Brainfuck#Portability_issues
>Partly because Urban Muller did not write a thorough language specification, the many subsequent
>brainfuck interpreters and compilers have come to use slightly different dialects of brainfuck.

って書いてあるから仕様はないんじゃね?
そもそも、対応が正しくない時点で既に意味的に破綻してるんだから C 的な未定義扱いでいいんじゃないだろうか。
502デフォルトの名無しさん:2007/09/04(火) 13:10:58
親プロセスにリターンなんて、どうよ?
503デフォルトの名無しさん:2007/09/05(水) 19:11:32
C++テンプレートでBFをコンパイル時実行するテンプレート作ったんだがどうよ?
504デフォルトの名無しさん:2007/09/05(水) 23:36:32
>>503
出入力はどうしたの?
505デフォルトの名無しさん:2007/09/05(水) 23:52:18
>>504
入力はboost::mpl::vector_cとして引数で渡す
出力は(結果の型)::outputでアクセスできてこれもboost.mplのシーケンスでで帰ってくる
506デフォルトの名無しさん:2007/09/06(木) 00:38:13
とりあえず、お疲れ様、としか。
507デフォルトの名無しさん:2007/09/07(金) 10:59:01
DS大人のBrainFuck300万本突破!
508デフォルトの名無しさん:2007/09/07(金) 17:49:36
DS用のBrainfuckプログラムくらい誰か作ってそうだけどなあ。
もちろんマジコンで動かすような
509デフォルトの名無しさん:2007/09/07(金) 22:09:50
教育テレビでからくり人形の特集やってるけど面白いな
みてたらプリミティブな命令で処理を行うBFのことを思い出したw
510デフォルトの名無しさん:2007/09/10(月) 03:38:30
+++++[>++++++++++<-]>,.
有意義
511デフォルトの名無しさん:2007/09/10(月) 11:45:22
>>510を圧縮してみた。
,.
512デフォルトの名無しさん:2007/09/13(木) 22:11:25
(´,ω,`)
513デフォルトの名無しさん:2007/09/16(日) 18:37:11
!.!
514デフォルトの名無しさん:2007/09/17(月) 21:00:45
コードの載ってるサイトなんか見てて思ったんだが、

コードをマウスで反転させて、その部分を実行させるツールなんて無いかなぁ?

515デフォルトの名無しさん:2007/09/17(月) 22:47:31
IEやFxならJavaScriptで書けばいいし
選択+コピーでクリップボードの偏向を検出して
解析・実行するツールくらい簡単に作れるだろ。
516デフォルトの名無しさん:2007/09/18(火) 17:37:03
>>515
ああ、クリップボードならできそうだな。thx
517デフォルトの名無しさん:2007/09/18(火) 17:51:03
充実するのは周辺ツールばっかりだなw
518デフォルトの名無しさん:2007/09/19(水) 20:01:58
>>122のようなライブラリを充実したとしても使わんだろう
自分で作ることに意義がある言語だと思うし
519デフォルトの名無しさん:2007/09/21(金) 15:58:26
そもそもサブルーチンの呼び出しが面倒い
520デフォルトの名無しさん:2007/09/21(金) 23:00:39
>519
ならばやっぱり Macro BrainFuck だな。
521デフォルトの名無しさん:2007/09/23(日) 13:02:41
便利機能を追加するのはBrainfuckの設計精神と真逆だろうが
522デフォルトの名無しさん:2007/09/23(日) 17:49:58
じゃあ逆に命令減らそうぜ
-と<はいらないし[]も仕様変えれば片方削れそう
523デフォルトの名無しさん:2007/09/23(日) 18:07:02
無粋なヤツだ
524デフォルトの名無しさん:2007/09/23(日) 21:04:39
符号化すれば2命令
525デフォルトの名無しさん:2007/09/23(日) 23:51:34
十分可読で、でもあまり読みたくないという点が優れているよな
526デフォルトの名無しさん:2007/10/02(火) 19:37:34
外部ライプラリ開きたい(´・ω・`)
527デフォルトの名無しさん:2007/10/02(火) 22:23:01
BF的にはあれだな。
メモリ(テープ?)上の文字列がライブラリ名とかになるのかな。
拡張するってんなら難解じゃねえとな('ω`)
(拡張したらBFのよさが無くなるってのは分かってるが、いい加減話題も無いだろうし。)
528デフォルトの名無しさん:2007/10/02(火) 22:25:52
むしろ標準入出力を介して外部ライブラリとやりとりするのが正統じゃないか。
529デフォルトの名無しさん:2007/10/02(火) 22:41:23
プログラムカウンタの増減・・・つかジャンプできればめっちゃんこらくやね
530デフォルトの名無しさん:2007/10/02(火) 22:45:50
.と,の出力先を変える命令があればいいのかな
531デフォルトの名無しさん:2007/10/03(水) 00:03:06
+++[>++++[>+++++<-]<-][]でファイルオープンとか
532デフォルトの名無しさん:2007/10/03(水) 01:34:28
特定文字、例えばバックスラッシュを制御用文字として
「\FileOpen」を標準出力に出すことでファイルオープン、
バックスラッシュ自身の出力は「\\」で。
533デフォルトの名無しさん:2007/10/03(水) 02:40:20
メモリを HDD に対応させれば BF からでもファイルを扱えるよ。
534デフォルトの名無しさん:2007/10/03(水) 02:52:04
ファイルシステムから自作か…
535デフォルトの名無しさん:2007/10/03(水) 03:15:58
[-]と同じ事がポインタでも出来るようになったらいいと思わん?
ポインタが0でブレーク、って事だけど
536デフォルトの名無しさん:2007/10/04(木) 06:06:07
bf始めたばかりだーよ
余り付き除算組んでみたーよ
機関部だけで300文字近くも膨れあがったーよ
大体上手くできたとおもたーよ
6/2=2...1と表示されたーよ
orz・・・今日はもう寝る
537デフォルトの名無しさん:2007/10/04(木) 16:58:32
小数点以下まで計算させようなんて思ったこともないな
538デフォルトの名無しさん:2007/10/07(日) 14:31:02
...
539デフォルトの名無しさん:2007/10/12(金) 10:32:34
ビットシフト演算が欲しいなー
それかelse節
540デフォルトの名無しさん:2007/10/12(金) 18:43:51
Cでも使ってろよハゲ
541デフォルトの名無しさん:2007/10/12(金) 19:13:26
elseなんて作れるだろ
542デフォルトの名無しさん:2007/10/17(水) 15:29:39
if(  ){
  〜
 }else{
  〜
}



[ ]
543デフォルトの名無しさん:2007/10/22(月) 07:44:56
ブレーンファックの各命令の形をしたブロックの落ちてくるテトリス・・・
を、ブレーンファックで組むのはまず無理だろうが・・・。

テトラミノじゃなくてペントミノになるな。
544デフォルトの名無しさん:2007/10/24(水) 00:16:03
一つ初心者的な質問をしたいんだが。
[->-<]と[+>+<]って結果的には同じような振る舞いする、よな?
545デフォルトの名無しさん:2007/10/24(水) 00:34:41
実装依存じゃん。
546デフォルトの名無しさん:2007/10/24(水) 09:37:08
マイナスが存在するかってことかな?
547デフォルトの名無しさん:2007/10/24(水) 23:15:06
オーバーフロー時の動作は未定義?
548デフォルトの名無しさん:2007/10/24(水) 23:20:18
そもそも規格がないから、定義も未定義もない。
549デフォルトの名無しさん:2007/10/25(木) 17:22:08
作ろうか
550デフォルトの名無しさん:2007/10/25(木) 17:22:51
いらねえよ
551デフォルトの名無しさん:2007/10/25(木) 17:28:51
ぜひ作ってくれ
552デフォルトの名無しさん:2007/10/25(木) 23:50:37
どうせ決めることなんて少ないしコードにしようぜってことで適当に作った。
初めから順に
・プログラムカウンタの形式(つまり認めるプログラムの方向)
 Pは上限なしの正への一方向。下端は1。Nは上限なしの正への一方向。下端は0。Zは上下限なしの正負双方向。
 プログラムカウンタの初期値を後に続ける。
・メモリ1区画の形式
 最初の文字はSなら符号付き、Uなら符号なし。
 次の数字は符号部を含むビット数。無限長ならI。
 最後の文字列は、まずオーバーフロー時のループを認めるならv、認めずエラーにするならe。無限長の場合はeのみ。
 次にメモリの初期値が全て0なら0、不定値ならx。
・ポインタの形式
 メモリ区画と同じ書式。
・メモリ配置
 ポインタの有効値全体ならR。そうでなければ、有効値が全体と一致するようなポインタをメモリ区画と同じ書式で書き、
 ポインタが無効値を指した時点でエラーならp、無効値にアクセスした時点でエラーならaを後に付ける。
・[]の対応の扱い
 実行前にチェックして正しくなければエラーにするならC。
 そうでない場合は、
 -まず[に対応する]が足りないとき、そこで実行エラーにするならe、プログラムの正方向の終端に飛ぶならj。
 -次に]に対応する[が足りないとき、そこで実行エラーにするならe、プログラムの負方向の終端に飛ぶならj。
・プログラムの最終命令実行後(+および[で対応する]が足りないときにジャンプした時)の挙動
 終了するならE、プログラムカウンタの初期値に戻るならL。
の順で書く。
たとえば「N0S32v0SIe0ReeE」なら、こういうbrainfuckを表す。
(N0)一方向プログラムで先頭は0、初期値も0
(S32v0)メモリの区画はそれぞれ符号付き32ビット整数でオーバーフローあり、初期値は全部0
(SIe0)ポインタは符号付き無限長整数、初期値0
(R)ポインタの有効範囲に全部メモリあり、つまりメモリ空間は正負双方向に無限にある
(ee)[]が対応してない場合は、見つからなかった時点でエラーになる
(E)プログラムの最後まで実行したら終了

うん、これは流行らない
553デフォルトの名無しさん:2007/10/26(金) 01:15:30
他によくある差異。
・ASCIIに入らない文字が入力されたときどうするか
・127を越えるセルが出力されたときどうするか
・改行文字をどう扱うか(CRLF<->LFのような変換を行うか否か)
・入力がEOFに達したときどうするか(0を入れる、-1を入れる、なにもしない)
554デフォルトの名無しさん:2007/10/26(金) 21:13:15
その辺はBFの仕様と言うより標準入出力の仕様のような気がする
555デフォルトの名無しさん:2007/10/27(土) 16:58:18
非同期入力は無し?
55655:2007/10/31(水) 03:01:38
ttp://stricter.org/program/brainfuck/bf2c-4.0.zip
Brainfuck to C
最適化が割と適当だけど後でどうにかする。
55755:2007/10/31(水) 03:02:45
ttp://stricter.org/program/brainfuck/bf2c-4.0.zip
Brainfuck to C
最適化が割と適当だけど後でどうにかする。
55855:2007/10/31(水) 03:03:28
間違えて2回書きこんだけど気にしないでorz
559デフォルトの名無しさん:2007/11/11(日) 17:10:40
うpに全く反応なし。おそろしいね
560デフォルトの名無しさん:2007/11/11(日) 17:32:13
過疎だからなー。
561デフォルトの名無しさん:2007/11/12(月) 01:37:14
いや、気にしちゃいけないんだろうと思ってね。
562デフォルトの名無しさん:2007/11/12(月) 18:49:28
.NET対応まだ?
563デフォルトの名無しさん:2007/11/14(水) 19:51:21
Turbo Brainfuckまだー?
564デフォルトの名無しさん:2007/11/26(月) 17:30:51
.NETって具体的にどうなればいいの?
565デフォルトの名無しさん:2007/12/14(金) 20:25:24
566デフォルトの名無しさん:2007/12/14(金) 21:46:20
Brainf*ckはネタなんかじゃない!
567デフォルトの名無しさん:2007/12/14(金) 21:57:05
>>564
CLIの上で動けばいいよ。
568aaa:2007/12/17(月) 02:55:54
aha. A tak poza tym?
569デフォルトの名無しさん:2007/12/17(月) 03:19:47
non, ista alama.
570デフォルトの名無しさん:2007/12/17(月) 03:45:22
in BrainFuck, please
571デフォルトの名無しさん:2008/01/07(月) 17:23:53
+-
-+
オセロが出来るな
572デフォルトの名無しさん:2008/01/08(火) 00:20:34
>+++[->+++++[->+++++<]<]>>.----------.<+++[->++++++<]>.----.
573デフォルトの名無しさん:2008/01/08(火) 14:22:23
まあネタも無いしな。
誰かが7行プログラミングスレに行けよ。
まだ、あっただろ?あのスレ。
574デフォルトの名無しさん:2008/01/08(火) 14:26:00
575デフォルトの名無しさん:2008/01/13(日) 03:28:06
sage
576デフォルトの名無しさん:2008/01/23(水) 04:57:44
http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%83%83%E3%82%AF

なんかコレ読んでたら、brainfuckって普通に言ってるのやばいかなぁという気がしてきた・・・
577デフォルトの名無しさん:2008/01/23(水) 16:44:08
脳姦という別名があるじゃまいか
578デフォルトの名無しさん:2008/01/26(土) 11:52:09
579デフォルトの名無しさん:2008/01/27(日) 21:15:56
外人がいるところでいうのはやめた方がいいかもな。
新庄もコーヒー飲んでニガーっていったらマジで殴られたらしいw
580デフォルトの名無しさん:2008/01/28(月) 02:10:36
ニガーは黒人に対する蔑称だっけか?
581デフォルトの名無しさん:2008/02/01(金) 15:39:06
#!/usr/local/bin/bf
>+++++++++++[->++++++<]>+.<+++++++++++[->++++<]>.-.++++++.<+++[->-----<]>.+++++++++.++++++.<<+++[->++++++[->----<]
<]>>+.<<+++[->++++++[->+
+++<]<]>
>-.+++++.---------.-----------.<+++++++[->------<]>-.<+++++[->-----<]>-.<<+++[->+++++++[->++++<]<]>>.<+++[->-----<]>.<+++[->++++++<]>+.
----.<+
++++++++++[->------<]>---.<+++++++++[->++++++<]>+++.++++++++++++.-------.-.
>++[->+++++<]>..>>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.[-]>++++++++[<++++>-]
<.>+++++++++++[<+++++>-]<.>++++++++[<+++>-]<.+++.------.--------.[-]>++++++++[
<++++>-]<+.[-]++++++++++.
582デフォルトの名無しさん:2008/02/01(金) 18:09:52
なんだよその一行目はw
583デフォルトの名無しさん:2008/02/02(土) 02:36:25
噴いたw
584デフォルトの名無しさん:2008/02/02(土) 02:54:56
しかもぜんぜん HTML じゃねーし
585デフォルトの名無しさん:2008/02/02(土) 16:10:57
Unixのシェルスクリプト用の記述だろう。
以下のソースを何のソフトで実行するか指定している。
詳しくはググれ。
586デフォルトの名無しさん:2008/02/02(土) 16:25:57
>>585
知ってるけど、bfがそこまで大層な扱いを受けてるのに噴いたよ俺はw
587デフォルトの名無しさん:2008/02/02(土) 16:27:17
"#" が行コメントの開始になる言語じゃないと使えないんじゃないの?
588デフォルトの名無しさん:2008/02/02(土) 16:40:35
一行目に # があったら無視するというアドホックな対処している言語も多い
589デフォルトの名無しさん:2008/02/02(土) 16:41:19
>>585
キーワードが分からんとググれんだろw

>>587
+-,.[]<>以外をコメントとみなす処理系なら問題ないな
590デフォルトの名無しさん:2008/02/02(土) 16:46:23
#で始まる行を空白文字に置換する
Brainfuck Preprocessorを通しているから無問題
591デフォルトの名無しさん:2008/02/02(土) 16:59:49
シェルスクリプト 一行目
とかでググれば一発じゃないか。
それくらい考えれば良いのに。
592デフォルトの名無しさん:2008/02/02(土) 17:19:35
それで出てくるのか
shebangで検索しないと駄目かと思ったんだ
593デフォルトの名無しさん:2008/02/02(土) 17:39:37
スレ違いだけどどこかで見た Befunge のソースが
#!/var
で始まってて吹いた
594デフォルトの名無しさん:2008/02/02(土) 17:44:06
#!/var って何を目的に
595デフォルトの名無しさん:2008/02/02(土) 18:57:31
どこのサーバですかww
まあアリだな。
596デフォルトの名無しさん:2008/02/02(土) 19:40:25
#!/dev/null
597デフォルトの名無しさん:2008/02/02(土) 21:17:57
一応解説しとくと、Befunge的に

# ... 次の一文字を読み飛ばす
! ... 否定(でも読み飛ばされるから関係ない)
/ ... 値を2つpopして割り算してpush(スタック空だと何もしない?)
v ... プログラムカウンタの下向きにする

だから、

#!/var/...

だったら、 v の下の文字から下方向に書いてあるコードが普通に実行できる
(#!/bin とかだとうまく動かない)という話ね。
598デフォルトの名無しさん:2008/02/02(土) 21:30:53
#!/v/../bin/
ならおkってことか
599デフォルトの名無しさん:2008/02/02(土) 21:39:31
(・∀・)ベフンゲー
600デフォルトの名無しさん:2008/02/03(日) 00:35:54
shebang ってシェルが解釈するから言語とは関係ない
…と思ってたんだが違うの?
601デフォルトの名無しさん:2008/02/03(日) 00:38:09
シェルが解釈して適当なプログラムを起動するが、
割り当てられたアプリケーションは一行目から読むわけで、
shebangを知らなければエラーになるだろ。
602600:2008/02/03(日) 01:05:10
ttp://www.jmuk.org/diary/2007/03/01/0
>shebang 行の解釈は execve(2)、つまりカーネルが行なう。
>やったことがないなら man execve してみるといいと思う。ちゃんと解説してあります。

だと。シェルはカーネルに丸投げするだけみたいだ。
つまり、1行目を除いてからアプリに投げるカーネルを作ってやれば、おk(違
#勉強になった。
603デフォルトの名無しさん:2008/02/03(日) 01:15:35
引数としてファイル名を渡すだけだから、それは難しくないか
604デフォルトの名無しさん:2008/02/03(日) 12:09:39
BrainFuck アプレットですが Java Web Start 使ってローカルインストール (というか
キャッシュからのオフライン起動) できるようにしてみた。これで鯖落ちてても使えるはず。多分。

http://lab.moyo.biz/garage/brainfuck/index.xsp
605デフォルトの名無しさん:2008/02/03(日) 12:45:34
shebangが付いてる可能性があるスクリプト言語はたいていコメントが#だよ。
606デフォルトの名無しさん:2008/02/03(日) 12:52:03
>>604
URL開いたらブラウザが固まって強制終了して焦ったぜ
再起動したら直ったけど

軽快な処理で(・∀・)イイ!
607デフォルトの名無しさん:2008/02/03(日) 13:13:03
>>605
スクリプト言語でなくてもインタプリタがあるならshebang使いたいじゃん
HaskellとかSchemeとか
608デフォルトの名無しさん:2008/02/03(日) 13:15:45
そういや、D言語もshebang対応してるな
609デフォルトの名無しさん:2008/02/20(水) 16:06:52
ストリームでソースを読み込んでいってループしていない、あるいはループが閉じたら
その時点で評価を開始していったらマルチコアを活用できるな。
610デフォルトの名無しさん:2008/02/20(水) 20:11:33
(・д・)
611デフォルトの名無しさん:2008/02/24(日) 11:38:33
shebangでここまで盛り上がれる言語もすごいw
612デフォルトの名無しさん:2008/03/03(月) 21:24:00
いや、でも、shebang が言語仕様に含まれるかどうかって興味深くね?
BrainFuck という言語の特性上含まれるはずはないんだけどさ。

現実には、

1. 多くのシェルスクリプト系言語:
カーネルが shebang を読む => # で始まる行がコメントなので無視
2. Ruby, Perl など(他にある?):
カーネルが shebang を読む => shebang 行だけ特別扱い 参考: ttp://ujihisa.nowa.jp/entry/0e49c6a525
3. その他
(エラー・実装依存 etc...)

くらいになるのかな?

言語仕様に忠実に作ってるときちんと動かせない、とかいう話だと、
(HTML + ) Javascript っぽいけど。
613デフォルトの名無しさん:2008/03/04(火) 01:13:21
拡張子で判断するWindows最強。まで読んだ
614デフォルトの名無しさん:2008/03/09(日) 17:02:44
前スレ見てたけど
月刊Interface2002/9読んでみたいなー
バックナンバー頼んでみようかな
615デフォルトの名無しさん:2008/03/19(水) 16:29:57
適当なテキストを出力するbfコードを
生成するソフトとかってない?

単純に文字コードになるまで+してく、
とかじゃなくて、在る程度短いコードを作るやつ。

javaアプレットで作ったのを載せてたサイトが
あったんだけど、今日久しぶりに見たら無くなってて
616デフォルトの名無しさん:2008/03/19(水) 16:43:20
そんな実用的なものは BF 精神にふさわしくない。
617デフォルトの名無しさん:2008/03/19(水) 16:52:17
インタプリタって実用的だよね
618デフォルトの名無しさん:2008/03/19(水) 17:02:58
つまりインタプリタも使うな、と
619デフォルトの名無しさん:2008/03/19(水) 17:03:55
男は黙ってハンドアセンブル
620デフォルトの名無しさん:2008/03/19(水) 17:06:37
>>615
http://brainfuck.sourceforge.net/results0.html
出てくるコードは愚直だけど
621デフォルトの名無しさん:2008/03/19(水) 17:42:04
http://keronotubuyaki.shinobiashi.com/ifrm/gomi/t2bf.html
作ってみたけどいらんかね。
たぶんもっと短くできるだろうし
622デフォルトの名無しさん:2008/03/22(土) 17:21:43
考え始めて半年でやっと
quineができたw

      ++
      ++
      ++
      +[>
+++++++<-]>[>+>+<<
-]>------>>+[<+>-]<
      --
      --
      --
      -.
623デフォルトの名無しさん:2008/03/22(土) 19:02:09
+ としか出力されない。
624デフォルトの名無しさん:2008/03/22(土) 19:02:32
って、そういうことかw
うまいな。
625デフォルトの名無しさん:2008/03/25(火) 12:46:13
[]の中に[]をネストできますか?
626デフォルトの名無しさん:2008/03/25(火) 13:02:38
できる
627デフォルトの名無しさん:2008/03/25(火) 15:08:27
とんくす^^
628デフォルトの名無しさん:2008/03/25(火) 15:37:07
このスレで普通の質問を久しぶりに見たw
629デフォルトの名無しさん:2008/03/25(火) 18:08:33
>>625
俺の実装は出来ないw
630デフォルトの名無しさん:2008/03/25(火) 19:44:02
お前のBFはMS製か何かかw
631デフォルトの名無しさん:2008/03/25(火) 19:48:56
{@} の中に♂をネストできますか?
632デフォルトの名無しさん:2008/03/25(火) 19:53:23
>>631
あなたにはできません。でも俺にはでき(る予定)です。
633デフォルトの名無しさん:2008/03/25(火) 20:43:10
[]の中に][をネストできますか?
634デフォルトの名無しさん:2008/03/26(水) 10:13:14
>>633
][はネストできなくなりました /// か IIcで我慢してください
635デフォルトの名無しさん:2008/03/26(水) 18:57:24
Appleかい
636デフォルトの名無しさん:2008/03/30(日) 15:52:16
[///]
637デフォルトの名無しさん:2008/03/30(日) 20:04:53
これちょっと面白い。
ピタゴラスイッチが楽しめるゲーム【Phun】 Part2
http://game13.2ch.net/test/read.cgi/game/1205503729/

638デフォルトの名無しさん:2008/03/31(月) 12:09:18
>>637
Brainfuckとどんな関係が?
639デフォルトの名無しさん:2008/03/31(月) 14:22:36
brainfuckでこの程度のソフトを作れって事だろ
640デフォルトの名無しさん:2008/03/31(月) 16:10:42
もう関係なくていいよ
641デフォルトの名無しさん:2008/04/01(火) 03:11:12
違うな、そのソフトでbrainfuckインタープリタを作るんだ
642デフォルトの名無しさん:2008/04/01(火) 09:22:24
>>641
数値がチャーチ数でしか扱えないので流石にイヤ。
643デフォルトの名無しさん:2008/04/01(火) 19:39:06
教会?
644デフォルトの名無しさん:2008/04/01(火) 20:03:52
gglks
645デフォルトの名無しさん:2008/04/01(火) 20:12:48
いや、分かってて、だから
646デフォルトの名無しさん:2008/04/01(火) 20:14:21
ヘビメタ
647デフォルトの名無しさん:2008/04/02(水) 00:06:51
それを言うなら、
ggrks
ではないだろうか?
648デフォルトの名無しさん:2008/04/02(水) 02:20:40
昔はRTFM
今はggrksか…
649デフォルトの名無しさん:2008/04/05(土) 16:23:22
anarchy golfのnukoって人何者だ?
brainfuckでいつも挑戦してるが…
650デフォルトの名無しさん:2008/04/05(土) 16:36:30
anarchy golf て 3 の倍数でアホになって 5 の倍数で犬になる奴か。
651デフォルトの名無しさん:2008/04/06(日) 20:20:18
それはT-BOLON歌ってる人だw
652デフォルトの名無しさん:2008/04/09(水) 17:14:36
++++++++++[>++++++++++[>+>++<<-]<-]>++++++[>++++++<-]>+.>>+++++[<+++++>-]<--.<++++++++.[>-<-]++++[>++++<-]>+++.

3年ぶりくらいにBF書いたよ。
BFじゃ日本語出力できないと思ってたけど全スレで既に日本語を出力するのが出てたね。
653デフォルトの名無しさん:2008/04/09(水) 22:59:07
むしろ何故できないと思うのかが解らないが、とりあえず日本語使うなら文字コードぐらい書いといてくれ
654デフォルトの名無しさん:2008/04/11(金) 20:57:09
]で条件判定は不要に思えるけど単に高速化の為?
[ ]のペアの位置情報持ってたらスキャンが減って処理系が少し速くなりそうだな。
誰が速度に困ってるんだという話もあるが。
655デフォルトの名無しさん:2008/04/11(金) 21:08:55
]での条件判定を省略すると、「対応する]の*次*にジャンプ」と表現しないといけないから、
これを嫌ったんじゃないかと勝手に想像

ループのたびに括弧の対応を調べ直す処理系はひどいだろw
せめて抽象構文木くらい作れと
656デフォルトの名無しさん:2008/04/11(金) 23:03:06
>>655
>ループのたびに括弧の対応を調べ直す処理系はひどいだろw
俺の作ったインタプリタは・・・(´・ω・`)
657デフォルトの名無しさん:2008/04/12(土) 10:52:00
抽象構文木なんか作ったらインタプリタじゃねーよw


という定義が主流な時代があってな……
658デフォルトの名無しさん:2008/04/12(土) 13:56:37
移動するたびに数えながら・・・そうか、ひどいのか。。
659デフォルトの名無しさん:2008/04/16(水) 12:31:26
リファレンス実装からしてそうなってるし
660デフォルトの名無しさん:2008/04/30(水) 08:36:17
最近ようやくifができるようになた
,[>+>+<<-]>>>++++++++[<-------->-]+<[>]>[<<.<]

ここまでくるのに1ヶ月かかった。
どうでもいいが、
+ → p、- → m、< → l、> → r、[ → s、] → e、, → i、. → o
って書きなおすだけで
英語の暗号っぽくなるな。
661デフォルトの名無しさん:2008/04/30(水) 09:03:24
置換ネタは前スレでさんざんやったので勘弁してくれ。
662デフォルトの名無しさん:2008/04/30(水) 10:58:52
error
663デフォルトの名無しさん:2008/05/01(木) 00:42:31
萌えキャラに置換してくれ
664デフォルトの名無しさん:2008/05/01(木) 01:58:53
429 :デフォルトの名無しさん :sage :04/10/13 23:27:54
新言語 neko mimi Fu**♥
・1レス内に全命令のリファレンスが入る素敵な言語。
  ネコミミ!            ポインタをインクリメント
  ネコミミモード           ポインタをデクリメント
  おにいさま           ポインタが示すメモリ位置のデータをインクリメント
  私のしもべー          ポインタが示すメモリ位置のデータをデクリメント
  や・く・そ・く・よ          ポインタが示すメモリ位置のデータを出力
  フルフルフルムーン      ポインタが示すメモリ位置のデータに入力
  キスキス…             ポインタが示すメモリ位置のデータがヌルなら対応する キス…したくなっちゃった… までジャンプ
  キス…したくなっちゃった… ポインタが示すメモリ位置のデータがヌルじゃないなら対応する キスキス… までジャンプ
665デフォルトの名無しさん:2008/05/02(金) 00:48:33
↓長門
666デフォルトの名無しさん:2008/05/02(金) 00:58:46
667デフォルトの名無しさん:2008/05/05(月) 10:18:33
#…今指すメモリに西暦の上2桁入力
 次のメモリに下2桁
 次のメモリに月入力
 次のメモリに日入力
668デフォルトの名無しさん:2008/05/05(月) 11:02:52
#
> >[> > >+<<<-]> > >+[<+++++++++++++>-]+++++<[> >+>+<<<-]> > >[<<<+> > >-]<<[>>
+>+<<<-]> > >[<<<+> > >-]<<[->-> >-<<[[>+<-]> >+<<]>[<+>-]>[<<<<[> >+>+<<<-]> >
>[<<<+> > >-]> >+<+]<<<]>[>+<-]<<[>+>+<<-]>[<+>-]> >[<->-]> >[<<<<+> > > >-]<<<
[-]<<<<<<++[> > > > >+<<<<<-]> >+++++[> > >+<<<-]> > > >+++++++<[> >+>+<<<-]> >
>[<<<+> > >-]<<[> >+>+<<<-]> > >[<<<+> > >-]<<[->-> >-<<[[>+<-]> >+<<]>[<+>-]>[
<<<<[> >+>+<<<-]> > >[<<<+> > >-]> >+<+]<<<]>[>+<-]<<[>+>+<<-]>[<+>-]> >[<->-]>
>[<<<<+> > > >-]<<++++++++[<++++++>-]<.

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

閏年の厳密な計算が面倒だったので2008〜2011までしか通用しないのと、
除算は前スレの誰かのを流用しただけなので、もっと短くできる。(メモリを破壊してもいいので)
669デフォルトの名無しさん:2008/05/08(木) 00:08:34
【Cとかのソースをbfに変換するソフト】
  って、bfを極めないと無理だよね。。。
if文とかややこしすぎるし
670デフォルトの名無しさん:2008/05/08(木) 01:25:23
と、いうより意味がない
671デフォルトの名無しさん:2008/05/08(木) 02:03:35
逆なら簡単だけどな
672デフォルトの名無しさん:2008/05/08(木) 06:02:58
>>669
別にbfを極める必要は無いと思うけど、Cのフルセットのコンパイラを書くだけの根性が必要だな
673デフォルトの名無しさん:2008/05/08(木) 15:05:19
bfの入力が良く分からないんですがjsでの実装だと

inputのeditコントロールに
hi!
と入力し
,.
だとhが表示されて
,.>,.
これでようやくhiが表示されるけどあってます?

,のたびに入力させたいのですが
そういうものではないですかね?
674デフォルトの名無しさん:2008/05/08(木) 17:31:09
>は必要ない
,.,.でhiになる
少なくとも>>565では
675デフォルトの名無しさん:2008/05/08(木) 17:44:17
>>674
ありがとうございます
自分の勘違いでした
676デフォルトの名無しさん:2008/05/09(金) 19:36:12
その辺はBFじゃなくて標準入力の仕様
677デフォルトの名無しさん:2008/05/09(金) 21:37:17
そんなことはない
678デフォルトの名無しさん:2008/05/09(金) 23:27:22
どう考えてもBFの仕様
679デフォルトの名無しさん:2008/05/12(月) 18:23:06
#include<stdio.h>
↑これってBFコードだったんですね。最近知りました。
680デフォルトの名無しさん:2008/05/12(月) 19:30:39
?ルーツ的な話?
681デフォルトの名無しさん:2008/05/12(月) 20:42:21
>>679
短縮しろ(゚Д゚)ゴルァ!!
<.>
682デフォルトの名無しさん:2008/05/12(月) 22:22:31
.
683デフォルトの名無しさん:2008/05/12(月) 22:27:24
<.><.>

↑垂れた乳
684デフォルトの名無しさん:2008/05/13(火) 21:02:00
よし、課題を出してみる。

○ 入力された数字の回数だけメモリを移動する。
例)「10」と入力した場合、
>>>>>>>>>> (">"が10コ)
というプログラムと同じ事を行う。
685デフォルトの名無しさん:2008/05/13(火) 23:53:22
>>684
ひとまずこんな感じで 00〜99まで

>,<,>>+++++++[<------->-]<+>+++++++[<<------->>-]<<+>[<++++++++++>-]<[[>+<-]>-]
686デフォルトの名無しさん:2008/05/14(水) 00:13:03
最後のところが、有り金使い切っていけるところまで行く無鉄砲なツーリストみたいだな(何言ってんだろう俺
687デフォルトの名無しさん:2008/05/14(水) 00:52:04
短くしようという努力を怠ってしまった。反省。
>>686 その表現ちょっと好きかも

>,<,>>+++++++[<-------<------->>-]<+<+>[<++++++++++>-]<[[>+<-]>-]
688デフォルトの名無しさん:2008/05/14(水) 00:57:31
>,<,>>+++++++[<-------<------->>-]<+<+>[<++++++++++>-]<[[>+<-]>-]

なんで48=7*7-1なんてやってたんだろう('A`)
689デフォルトの名無しさん:2008/05/14(水) 00:59:18
>,<,>>++++++++[<------<------>>-]><<[<++++++++++>-]<[[>+<-]>-]

>>688コピペミスった
せっかくの良問なのにスレ汚して申し訳ない(´・ω:;.:...
690デフォルトの名無しさん:2008/05/14(水) 17:26:55
沢山の人が回答してるように見えたw
あと><がある。
691デフォルトの名無しさん:2008/05/15(木) 11:23:49
brainfuckでif-elseはどうやるんでしょう
脳姦されすぎてオーバーヒートしそう
692デフォルトの名無しさん:2008/05/15(木) 14:32:16
693デフォルトの名無しさん:2008/05/15(木) 15:28:01
>>692
間違っていたから思わず書き直しちまったぜ。
で、誰か処理系の紹介書かない?
694デフォルトの名無しさん:2008/05/15(木) 16:11:10
なぜvip
695デフォルトの名無しさん:2008/05/15(木) 16:18:12
ここまででbrain fuckな画像一枚もなし
696デフォルトの名無しさん:2008/05/15(木) 17:02:27
>>693
あ、間違えた?スマン・・・
697693:2008/05/15(木) 17:19:11
>>696
worldのwが大文字になっていたのと、45の文字コードの説明がおかしかった。
酢漫画、後者については大幅に書き直した。
698デフォルトの名無しさん:2008/05/15(木) 17:25:25
>>697
あぁ、そっちか。
俺が書いたのはifのトコだけだから関係ないや。
699デフォルトの名無しさん:2008/05/15(木) 17:36:39
実際bfってどうなんだろ?
入力が気になって眠れない

ループ回して,するんだろうか?
700デフォルトの名無しさん:2008/05/15(木) 18:14:58
getchar/putcharと同じ
701デフォルトの名無しさん:2008/05/15(木) 18:27:14
じゃあゲームっぽい物も作れるな
702デフォルトの名無しさん:2008/05/15(木) 18:27:55
dクスだぜ
703デフォルトの名無しさん:2008/05/15(木) 23:39:23
U arr Brainfuckerz!!!!!
704デフォルトの名無しさん:2008/05/17(土) 01:14:59
>>692
ありがとうございました
705デフォルトの名無しさん:2008/05/21(水) 14:55:38
http://www.hevanet.com/cristofd/brainfuck/
6行のインタプリタとか有ったのかw
っていうか変態じゃねーの?
706デフォルトの名無しさん:2008/05/21(水) 16:14:54
命令が8個なのに6行とはこれいかに
707デフォルトの名無しさん:2008/05/21(水) 16:25:01
改行端折ればいくらでも行数は減らせるし
対になってる命令もがんばればまとめられるだろ。
708デフォルトの名無しさん:2008/05/21(水) 16:39:20
なんだ。1行6万文字でもいいのかよ
709デフォルトの名無しさん:2008/05/21(水) 17:10:58
俺も80x7行で書いたぜ
710デフォルトの名無しさん:2008/05/22(木) 01:19:37
#!/usr/bin/ruby
m=[p=0]*9;eval ARGF.read.gsub(/./){';'+{?+,'m[p]+=1',?-,'m[p]-=1',?<,'p+=1',?>,'
p-=1',?.,'putc m[p]',?,,'m[p]=STDIN.getc',?[,'while m[p]!=0',?],'end'}[$&[0]]}
711デフォルトの名無しさん:2008/05/22(木) 18:16:02
>>710
つまんねえよ。
712デフォルトの名無しさん:2008/05/23(金) 20:11:20
>>705
はBFインタプリタをBFで書いたってことだろ。
あと一行79文字でそろえてるみたい
713デフォルトの名無しさん:2008/05/24(土) 19:08:57
Brainfuckで潜水艦ゲーム
714デフォルトの名無しさん:2008/05/24(土) 19:35:48
全スレの>>747誰か持ってませんか?
715デフォルトの名無しさん:2008/05/25(日) 17:57:34
持ってるけどそれが何か?
716デフォルトの名無しさん:2008/05/25(日) 20:58:58
俺はこのスレの747を持ってない
717デフォルトの名無しさん:2008/05/25(日) 21:38:11
753は315です
718デフォルトの名無しさん:2008/05/26(月) 17:36:49
>>717 特撮板に帰れ
719デフォルトの名無しさん:2008/05/26(月) 18:47:02
>>715
うpお願いします!
720デフォルトの名無しさん:2008/05/26(月) 20:11:05
721デフォルトの名無しさん:2008/05/26(月) 20:38:43
ありがとうございます!!
722デフォルトの名無しさん:2008/05/30(金) 16:50:12
昨日1時間かけてようやくできた。orz

//右に1shift
[>>+<<-]+>>[-[->>+<]<]<[>]>>>
723デフォルトの名無しさん:2008/05/30(金) 17:12:49
Cのソースをギャグアセンブルしたらbf作るのもっと楽にならね?
724デフォルトの名無しさん:2008/05/30(金) 17:13:36
ハハ・・・・
725デフォルトの名無しさん:2008/05/30(金) 18:19:00
gag assemble?
726デフォルトの名無しさん:2008/05/30(金) 18:25:25
Nice joke///
727デフォルトの名無しさん:2008/06/03(火) 13:27:56
BFインタプリタ作ってるのですが

,←これの実装にgetchar()使って
実際に動いた時適当に入力する

すると入力された文字列の後ろに改行コードが挿入されるようですが
これはbfとして駄目ですか?
728デフォルトの名無しさん:2008/06/03(火) 13:44:34
うーん、行単位入力じゃない、ほんものの一文字入力が欲しいところだねぇ。
729デフォルトの名無しさん:2008/06/03(火) 14:06:23
1回入力すると
2回目以降はバッファ?が空になるまで
入力しないで良いような仕様なんですよねgetchar()

bfの入力というのが0から255まで入力できる仕様なら
改行コード無視したらいけないだろうし
独自で入力を考えるしかないのかな?

みんなはどうしてるのですか?
730デフォルトの名無しさん:2008/06/03(火) 14:14:14
>>729
unix環境だったんでtty設定変更するようにした。(cursesライブラリでもいいんじゃないかと思うが大げさっぽいので)
windowsのコンソールプログラムではやったこと無いからわかんない
731デフォルトの名無しさん:2008/06/03(火) 14:28:19
いいなあunix
うにうにしたいよ

まあ結局は独自機能とかつけて遊ぶつもりなんですがね
732デフォルトの名無しさん:2008/06/03(火) 14:39:00
Windowsならconio.hのgetchとか
ArchiveのBFI.cはgetchar()だから、改行も読んじゃうんだよな
733デフォルトの名無しさん:2008/06/03(火) 14:42:06
固定観念に縛られていたようです
getchもありましたぬえ
734デフォルトの名無しさん:2008/06/04(水) 20:46:13
ExcelでBF作った奴いる?
735デフォルトの名無しさん:2008/06/04(水) 22:37:42
VBSでなら
736デフォルトの名無しさん:2008/06/04(水) 23:25:37
秀丸マクロで作ったけどさ
DLL化したほうが早いだろうな
737デフォルトの名無しさん:2008/06/06(金) 18:57:20
正直、正負判定とか全くわからん
738デフォルトの名無しさん:2008/06/07(土) 10:14:40
そもそも、負の数は処理系によってはなかったりするんじゃないかな?
739デフォルトの名無しさん:2008/06/07(土) 14:01:19
自分で負の数の表現方法を決めるんだろうが。
740デフォルトの名無しさん:2008/06/07(土) 18:18:03
前スレの
 14 名前:デフォルトの名無しさん[] 投稿日:02/10/31(木) 18:46
 正負判定だけでこんななってしまった
 >>>++[<++++++++[<++++++++>-]>-]<<<[>>>+<<<[>[-[>]]>>+[<]<<-]]>>>>[-]<-[<<<->>>[-]]<<[<+>[-]]<

なんだが
そこらへんはどうしてるんだろう。
741デフォルトの名無しさん:2008/06/07(土) 18:30:15
127より大きければマイナスか
ISOには頑張って頂きたい
742デフォルトの名無しさん:2008/06/08(日) 20:27:47
標準化するの?
BFを?
brainf**kを?
743デフォルトの名無しさん:2008/06/08(日) 22:13:46
BFって何?
744デフォルトの名無しさん:2008/06/09(月) 18:34:16
BoysFuck
745デフォルトの名無しさん:2008/06/13(金) 19:08:02
//itoa
,[>>+[>+>+<<-]>[<+>-]>----------[>-<[-]]>+[<<<<+>[-]>>>-]
<<<<<-]>>>>++++++++[<++++++>-]<[<+<+>>-]<<.>.

itoaできたー。まぁ、とっくの昔に誰か作ってるけどね
746デフォルトの名無しさん:2008/06/14(土) 01:21:04
>>734
これ、VBA使ってないやつだな
http://hoznas.blogspot.com/2008/06/brainfukexcel.html
747デフォルトの名無しさん:2008/06/15(日) 22:03:21
BFインタプリタってアナログに作れそうだけどな。
[]がちょっと難しそう・・・
748デフォルトの名無しさん:2008/06/15(日) 22:08:51
アナログw
それいいw

ピタゴラスイッチみたいな奴希望。

749デフォルトの名無しさん:2008/06/15(日) 22:24:51
具体的にどうコードを食わせたらいいんだろうな。さっぱりだ
750デフォルトの名無しさん:2008/06/15(日) 22:35:41
オルゴールみたいに
751デフォルトの名無しさん:2008/06/15(日) 23:34:27
テープをパンチしてそれを食わせる
1命令3ビットで表せれるから1列に3つ分の穴を開けれるようにとか
752デフォルトの名無しさん:2008/06/16(月) 09:41:58
それなんてチューリングマシン?
753デフォルトの名無しさん:2008/06/16(月) 21:16:04
レジスタどうすんだ
754デフォルトの名無しさん:2008/06/16(月) 21:19:19
ところでメモリ1つ当たりの情報量が1ビットのBFはチューリング完全?
755デフォルトの名無しさん:2008/06/17(火) 16:49:29
>>82 によるとチューリング完全
756デフォルトの名無しさん:2008/06/17(火) 20:58:08
>>755
ほほう、いよいよアナログBFの道が開けたか?
757デフォルトの名無しさん:2008/06/19(木) 01:25:57
ピタゴラスイッチのような機械でBFを実行できても、
それを"アナログ"BFと呼ぶのはかなり違和感があるような・・・。

二つのセルの真ん中にポインタを移動して値を読み取ると、
二つのセルの中間の値が取り出せるとか、
そういう機械ならアナログだと思うんだけど。
758デフォルトの名無しさん:2008/06/19(木) 12:25:30
量子Brainfuckの開発がのぞまれる。
759デフォルトの名無しさん:2008/06/20(金) 10:09:05
760デフォルトの名無しさん:2008/06/23(月) 10:18:02
>>757
アナログな材料でデジタル処理できるようにしたのがコンピュータだからな。
そういう意味じゃ、この世にはアナログコンピュータしか存在しない。
761デフォルトの名無しさん:2008/06/24(火) 22:16:54
量子コンピュータなんて理想だろうが、とりあえず現実的じゃないよなあ

流体機械でググると参考にできそうなのが出るが
762デフォルトの名無しさん:2008/06/28(土) 01:00:17
物理的にbrainfuckの演算ができるからくり作れないかなあ
763デフォルトの名無しさん:2008/06/28(土) 09:54:43
インクレディブルマシーンとかで作れるんじゃね?
764デフォルトの名無しさん:2008/07/03(木) 18:03:30
物理的にBFするのはいいけど、動力を何で供給するかが問題だな。
無限ループもありうるからピタゴラスイッチみたいな位置エネルギーは不向きだろ。
765デフォルトの名無しさん:2008/07/03(木) 18:28:09
手回しがいいな
766デフォルトの名無しさん:2008/07/03(木) 21:15:46
やはり、電気を使うのはいまいち萌えないな。
人力でやるのもなんだし、水道から水を供給して水力で動かすのはどうだ。
767デフォルトの名無しさん:2008/07/03(木) 23:02:40
モデルを作ってから言いなさい
768デフォルトの名無しさん:2008/07/03(木) 23:30:15
>>767
一緒に考えてよ。
769デフォルトの名無しさん:2008/07/08(火) 08:23:29
>>507-508
DS用のBrainfuck発見したwwwww

今までに作ったソフト - 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
770デフォルトの名無しさん:2008/07/09(水) 10:54:05
ちなみに俺がお願いした。
次の日に出来上がってた
771デフォルトの名無しさん:2008/07/09(水) 17:28:55
ええええ、そうなのかw
772デフォルトの名無しさん:2008/07/14(月) 21:36:56
寂れてるな・・・

俺インタプリタの仕様
・メモリは256バイト。いや、30000も使わないだろう多分。
・入力にgetch使ってる。
・[ は右方向に、] は左方向に対応した括弧を探しに行く。ネスト可。無かったら先頭orEOFまで行く。
・ポインタもデータもループする。初っ端から < すれば最後のメモリに、初っ端から - すれば 0xFF になる。
・Cの関数を簡単に追加できる。以下実装してみた拡張命令。
 # 改行までコメント
 ~ NOT
 * 左シフト
 / 右シフト
 ! (デバッグ用)現在のポインタを16進数で、ポインタが示すデータを数値で出力
 ? (デバッグ用)メモリのダンプ

TODO
・最適化
・文法定義ファイルを外部から読み込めるようにする。置き換え系BFを全て動かせるように。

BFを拡張するなんて無粋なのはわかっちゃいるが、
あえて無粋を極めるのもいいかも、なんて。
773デフォルトの名無しさん:2008/07/14(月) 22:29:17
メモリの一部をVRAMとして使えると楽しそう。
番地って概念がないと管理が大変そうだろうけど。
774デフォルトの名無しさん:2008/07/14(月) 22:58:26
ネットから拾ったFizzBuzzが動かない。
やっぱ任意で仕様選べないとダメか・・・

>>773
グラフィック弄れるのは楽しそうだ
物凄く遅そうだが
775デフォルトの名無しさん:2008/07/14(月) 23:14:06
マジにbrainfuckインタプリタを作ったら意外に速いかもしれませんよ。

それで思いついたんですが、brainfuck処理系を複数仮想メモリ空間上で走らせたらどうでしょ。
brainfuckの弱いところはポインタが一つしかないことですが、それが一気に解決できるかもしれないわけで。
# 同期とか全然考えていないんで、corewarsみたいなことになっちゃいそうな気がしないでもありませんがw
776デフォルトの名無しさん:2008/07/15(火) 00:39:41
>>774
それは、描写処理速度が著しく低下ようなスクリプトをBFで書くの方が大変だと思う・・・w
昨今のマシンはムダに高性能だから、マジになって作らなくても、
GDIの冗長なインタプリタでも十分対応できるそうだ ;-)

ただ、もし仮想VRAMが実装されてもタイマやcurses/kbhit的なものがなかったら、
テトリスやブロック崩しは作れないよなぁ。

>>775
ポインタを複数にすれば、メモリ空間は一つで済むんじゃない?
>>773はゲームボーイアドバンスのメモリマップ的なイメージで考えてた。
本体ROM・RAM・VRAM・スプライト領域とカセット内のセーブ領域・プログラム領域が
0番地から最後まで、ひとつのメモリとして番地割りされてる。

http://jaco.ec.t.kanazawa-u.ac.jp/edu/GBA/hard.html
777デフォルトの名無しさん:2008/07/15(火) 01:01:16
メモリマップドI/Oでええんちゃう
アドレスと命令を結びつければええよ
$00番地に$40を書き込めばCLSとかな
778デフォルトの名無しさん:2008/07/15(火) 01:03:30
その昔「究極のRISC」なんてネタがあったことをふと思い出した
命令はmoveだけで
I/OどころかプログラムカウンタやALUまでメモリ空間にマップされているという
779デフォルトの名無しさん:2008/07/15(火) 01:22:19
続き

複数のポインタを管理するためのポインタ、つまりポインタのポインタは
標準機能だけでも十分実現できるしね。

やっぱり拡張機能として一番欲しいのはタイマやファイルなどを扱えるハードウェアI/O制御かな・・・。
グラフィックはインタプリタの仕様の話であって、メモリマップをビットマップ描写させればすぐ出来るし
780デフォルトの名無しさん:2008/07/15(火) 01:29:03
書き込む前に更新してなかった
>>773,>>776,>>779は俺です

グラフィックを実装したインタプリタだと、いろいろ遊べそうだし、
面白そうだからざっくりと作ってみるよ。
781デフォルトの名無しさん:2008/07/15(火) 01:39:44
やっとその辺のBFソースが普通に動くようになった
スキップの処理が微妙に間違っていたらしい
ループ時のアドレスをスタックに積むように修正

あと入力を何で取るかで微妙に挙動が変わるなー
やっぱ標準のgetcharなのかなあ

つーか急に賑わってきたなw
みんなネタ振り待ってたのか

>>780
おーがんばってくれー
期待してるぜ
782デフォルトの名無しさん:2008/07/15(火) 02:37:35
名前がやばいのでこんな対案

・BrainHack - 脳弄
・BrainLuck - 脳幸
・BrainMuck - 脳糞
・BrainSuck - 脳啜
・BrainBuck - 脳鹿
・BrainRuck - 脳皺
・BrainTuck - 脳詰
・BrainYuck - 脳嫌
・BrainDuck - Quack!
783デフォルトの名無しさん:2008/07/15(火) 03:48:52
>>772
「# 改行までコメント」は、改行文字によってプログラムの挙動が変わるので
ルールとして規定するのは好ましくないんじゃないかなあ。

今の実装だと命令以外の文字は全てコメントとして扱われるし
無駄に命令を増やしたところで、その恩恵を求めるには希薄だと感じた。
784デフォルトの名無しさん:2008/07/15(火) 05:45:00
メモリマップとか難しいことしなくても、標準入出力を介してXあたりと通信すればいいんじゃね?
785デフォルトの名無しさん:2008/07/15(火) 06:11:37
>>784
ハナからみんながUNIX環境だったら苦労はしないさ

まあ、メモリにVRAMを乗っけるとポインタを動かすだけでも大変だから、
アセンブリのINT的な雰囲気でやろうかとも思ってきた。
786デフォルトの名無しさん:2008/07/15(火) 06:49:54
じゃあXじゃなくて自前の描画システムでもいいけど

どっちにせよ言語仕様に標準入出力があるんだからそれを使わない手はないと思うんだが
787デフォルトの名無しさん:2008/07/15(火) 07:24:01
両者とも話してる次元が違いそうだなw
>>785氏は機械語レベルで組み込み系のような「仮想チューリングマシン構築」の話してるのに、
>>786氏は「インタプリタとして動けばいいじゃん」とカーネル以上でしか会話してなくて、
仮想ハードウェアのエミュレーションまで考えが至ってないように見える。

# ちなみにメモリマップを直接制御することは珍しくもないし「難しいこと」じゃない。
788デフォルトの名無しさん:2008/07/15(火) 07:33:55
OS開発者とアプリケーション開発者の会話のようだw
789デフォルトの名無しさん:2008/07/15(火) 09:57:22
久々にスレが伸びてて感動した。
VRAM弄るっぽいのはあってもいいかも
画像を書けるのは楽しいかも
790デフォルトの名無しさん:2008/07/15(火) 10:26:56
単に静止画を使いたいだけなら
出力をリダイレクトさせれば
画像ファイルを吐くことは可能

リアルタイムアニメーションは無理だけど
791773:2008/07/16(水) 03:33:57
長文もアレなんで、ページ作っておいときます。
http://www7.atpages.jp/whitewiz/brainquack.htm
792デフォルトの名無しさん:2008/07/16(水) 07:25:02
これは面白そうだな
こういう仮想ハードってのはわくわくさせられる
793デフォルトの名無しさん:2008/07/16(水) 17:26:33
なんかうまく動かないソースがあると思ったら
メモリ30000の環境が前提のソースだった
やっぱり標準に合わせないとダメかね・・・
794デフォルトの名無しさん:2008/07/17(木) 18:16:49
>>790
Hint: ストリーミング
795デフォルトの名無しさん:2008/07/17(木) 18:30:26
>>794
リダイレクト先何?
796デフォルトの名無しさん:2008/07/17(木) 18:48:02
適当にソケットでもつなげばいいんじゃない。
797デフォルトの名無しさん:2008/07/17(木) 21:12:32
うまいこと入力と出力先していしてXサーバー見たいなことやらせればいいじゃん
798デフォルトの名無しさん:2008/07/17(木) 21:58:34
他スレで「windows.h使えばいいじゃん」つってる奴らと大して変わらんな
コマンドやソースを貼ってすらないところを見ると、何も考えてないただの煽りだろうけどなw
799デフォルトの名無しさん:2008/07/18(金) 00:09:52
コマンドやソースを貼ってすらない煽りが現れたぞ
800デフォルトの名無しさん:2008/07/18(金) 06:46:48
Brainfuckのコードを書くのにはやたらと時間を食うから、
本当にうまく行くのか思考実験を繰り返してから
実際のコーディングに移るほうがよいにきまっているではないか。

そこらのCなどと比べられては困る。
801デフォルトの名無しさん:2008/07/18(金) 09:06:38
>>800
770あたりからログを読んで来い。
話の流れも理解できてない奴が知ったような口を利くから混乱するんであって。
802デフォルトの名無しさん:2008/07/18(金) 09:30:10
>>770-801〜ここまでのあらすじ〜 カオス。

BFグラフィックが使えたらいいな→じゃあ仮想環境作る→サイトできた/(^o^)\
 ↑                       ↑面白そうだ
 │      ↓話てる次元が違いそうだなw
標準入出力でXサーバを弄れ←X用に作ってるわけじゃないだろ
      ↑                                   ↓BFでエンコするつもりか(?)
だったら今の実装のままでも画像吐ける←ストリーミング    ↓ソケットつなげ
                             ↑リダイレクト先なに?
   Xサーバみたいなことやれ→ふりだしへ
└─────────────────────────────────────────┘
       ↑いや、お前らまとめて好き放題言うくらいならコマンドやソース貼れ
            ↑BFとCを比べてもらったら困る←ログ嫁
                                  ↑今このへん
803デフォルトの名無しさん:2008/07/18(金) 10:52:22
夏の果実に群がる蝿か
804デフォルトの名無しさん:2008/07/18(金) 15:02:31
夏の果実
まで読んだ。
805デフォルトの名無しさん:2008/07/19(土) 00:29:27
ナイス脳内正規化
806デフォルトの名無しさん:2008/07/19(土) 00:41:26
>>793
メモリ30000環境って公式bfi.cの
char a[5000], f[5000], b, o, *s=f;

char a[30000], f[30000], b, o, *s=f;
に書き換えてcc bfi.cするだけだよね?
807デフォルトの名無しさん:2008/07/19(土) 01:05:39
あ、ここもか
if( p<0 || p>100)
  puts("RANGE ERROR"), exit(0);
808デフォルトの名無しさん:2008/07/28(月) 21:57:44
過疎すぎる
809デフォルトの名無しさん:2008/07/31(木) 18:06:44
まあな
810デフォルトの名無しさん:2008/07/31(木) 20:14:42
だが待て、俺も居るぞ
811デフォルトの名無しさん:2008/07/31(木) 21:52:06
null pointer exception
812デフォルトの名無しさん:2008/07/31(木) 21:53:22
>>811
ga
813デフォルトの名無しさん:2008/08/03(日) 20:27:50
Brainfuckある程度コード書けるようになったから
次は Lazy K に挑戦・・・

わからなすぎワロタw
814デフォルトの名無しさん:2008/08/09(土) 16:17:33
Befunge 楽しいよ。
Lazy K や BFと比べると命令が豊富すぎるけど。
815デフォルトの名無しさん:2008/08/09(土) 16:42:59
>>814
Wikipediaで見てきたけどダメだこれ。命令が多すぎて覚えきれねぇ。
816デフォルトの名無しさん:2008/08/10(日) 01:05:49
Whitespace も文字は3種だけど命令は20個以上あるもんな。
Whirl はコマンドは 0 1 だけど命令テーブル見なきゃいけないし、
Minus は命令「-=」だけだけど、特殊変数がたくさんあるし。

wierd <http://esolangs.org/wiki/Wierd > は純粋に 6 命令かも。(NOP入れて7)
817デフォルトの名無しさん:2008/08/10(日) 15:10:36
BFの命令タイプを完結にまとめたら
ポインタの設定とそれの差す値の加算減算、標準入出力からのデータ受け渡し、
条件判断による下方ジャンプ、上方ジャンプの4つに集約されると思った。
難読性の低下を無視すると、こういうモデル言語も作れそうだ。

【言語仕様】
アドレス空間 0x00-0xFF。ソース内では番地を"\$[0-9a-fA-F]{2}"と表記し指定。
全メモリは起動時に0x00で初期化される。命令毎に;を末尾につける。
意味を分断しない位置には空白改行OK。コメントは#〜[LF]。
""で囲まれたものは文字列として認識され、実行時に配列に展開される。

【基本命令(4つ)の例】
add $01,10[,...]
    アドレス$01に10を加算する(負の数を加算することも出来る)
    第2オペランド以降は配列のように代入される。
str $01,10
    アドレス$01を基点とし、値が0x20-0x7eなら最大10字印字、else 最大10字入力
set $00,FG
    アドレス$00の値が0x00ならjmp *,FGの直後に飛ぶ
jmp $00,FG
    アドレス$00の値が0x00以外なら、set *,FGに飛ぶ

【オペランドの書き方いろいろ】
add $00,$01   # アドレス$01の値を$00の値に足し、$00番地に代入する
add *$00,1     # アドレス$00をポインタとし値をアドレスとして扱う
818デフォルトの名無しさん:2008/08/10(日) 15:14:57
【Hello,world!を出力するスクリプトの例】
add $00,"Hello,world!\n";
str $00,0xFF;

1行目"Hello,world!\n"は、実行時に配列に変換され
add $02,0x48,0x65,0x6C,0x6C,0x6F,0x2C,0x77,0x6F,0x72,0x6C,0x64,0x21,0x0A;
として実行される。全てのメモリは0x00で初期化されているので、文字列がそのまま代入される。

ふと思って作ってみたインタプリタはここまで可能。

んで
add $00,~$01    # $01をNOT演算(ビット反転)して$00に代入
add $00,$01|$02  # $01と$02をOR演算して$00に代入
add $00,$01^$02  # XOR
add $00,$01&$02  # AND
てのも考えたけど、ここまで来るとほとんどアセンブリだな・・・。スレ汚しスイマセン。
819デフォルトの名無しさん:2008/08/10(日) 17:18:21
チューリング完全じゃないのが致命的
820デフォルトの名無しさん:2008/08/11(月) 18:43:34
>>817-818
とっつきやすくて面白そう。インタプリタが出来たら見てみたい。

>>819
チューリングマシンのシミュレーションは出来そうだからチューリング完全じゃないの?
純粋に致命的である理由を聞きたいかも。
821デフォルトの名無しさん:2008/08/11(月) 19:11:45
メモリが有限の機械ではチューリングマシンのシミュレートはできない

実際の機械ではメモリ有限だけど、少なくともBFやCなら
メモリ空間をどれだけ広く取っても言語として破綻しないから
「チューリング完全」と呼んで問題ないと思う
822デフォルトの名無しさん:2008/08/11(月) 19:21:27
なるほど。確かに見てみると「言語仕様」としてメモリが有限設定されてるから駄目になるのか・・・。
>>817の「アドレス空間 0x00-0xFF」を言語仕様じゃなく「インタプリタが扱える範囲」として書いたら、
チューリング完全としてちゃんと動きそうだね。
(公式のBFインタプリタも暗黙のメモリ範囲があるけど、言語使用上は定義されてないし)
823デフォルトの名無しさん:2008/08/11(月) 20:43:37
よく考えてないけどアドレスに定数しか使えなかったらチューリング完全にはならない気がする。
例えば↓って>>817の言語では不可能じゃない? 俺が言語仕様を誤解してるのかもしれないけど。
# 入力された文字列を反転して表示
>,[>,]<[.<]
824823:2008/08/12(火) 00:17:33
あ、*$00みたいな感じでアドレスに変数を使えるのか。失礼。
ところで、アドレスに定数しか使えなくても多倍長整数が使えればチューリング完全なのかな。
825デフォルトの名無しさん:2008/08/12(火) 05:10:00
>>817
逆の考え方をすると、基本命令が最も少ない言語の一つで、
ある程度の可読性を保持してると言えるんじゃないかい。

>>823のBFスクリプトをbashやコマンドプロンプトからやってみたけど、
これってヌル文字を代入できずに永遠と入力待ちにならない?
826デフォルトの名無しさん:2008/08/12(火) 07:53:40
だから、ナル文字を入力するんじゃない。入力を閉じるんだ。
って、これじゃC初心者スレのネタだな。

BFの入力が1行バッファ入力に縛られるのは本来おかしいんじゃないのかな。
まぁ、処理系が改行文字を無視してくれるのなら処理できそうだが。
827デフォルトの名無しさん:2008/08/12(火) 17:43:58
>だから、ナル文字を入力するんじゃない。入力を閉じるんだ。

とりあえず晒しておく
828デフォルトの名無しさん:2008/08/12(火) 17:50:03
NULLじゃなくてEOT(Ctrl+D)では
829デフォルトの名無しさん:2008/08/12(火) 17:51:58
EOTだと0x04になるから
いつまで経ってもループから
抜けれん気がする

間違ってたらスマン
830デフォルトの名無しさん:2008/08/12(火) 18:06:56
>>829
許してやるよ
831823:2008/08/12(火) 18:51:35
EOFが来たときにNULを入れる実装か、なにもしない実装なら問題ないんだが、
Cのgetcをキャストして代入する実装だと終わらないだろうね。
俺は、BFコード側でEOFの値を選べる、なにもしない実装が好きだな。

メモリがmod 256で、EOFが255になる実装なら
>,+[>,+]<[-.<]
でいけるかな、と。
832デフォルトの名無しさん:2008/08/12(火) 18:54:20
キーボードのCtrl+Dを押す

ターミナルにEOTが送られる

EOTを受けて、ターミナルが行バッファの内容を即座に送り出す

BFインタプリタが呼んでいたreadが返る

readの戻り値が0の場合(行頭でCtrl+Dを押したか、二回連続でCtrl+Dを押したとき)、EOFに到達したと解釈

BFのカレントアドレスに何もセットしないで(仕様によっては0をセットして)入力命令","が実行終了

UNIXの場合。こんなんで合ってますか><
833デフォルトの名無しさん:2008/08/14(木) 00:56:11
話をぶった切ってすみません。

片方の方向にだけ、無限に長いテープでチューリングマシンを実行したとき、
それはチューリング完全なのかな?
834デフォルトの名無しさん:2008/08/14(木) 01:10:20
n > 0 のとき f(n) = 2n
n < 0 のとき f(n) = -2n-1
とでもすれば等価かと
835デフォルトの名無しさん:2008/08/15(金) 15:07:45
両方に無限でも片方に無限でもセルの数は同じだしな
836デフォルトの名無しさん:2008/08/15(金) 15:55:37
どちらもアレフ0だからね。ついでに言えば、一次元のテープを二次元に拡張しても(テープじゃなくて最早シートだが)アレフ0だし。
837デフォルトの名無しさん:2008/08/16(土) 10:11:05
そして、時代はアレフ1へ・・・
838デフォルトの名無しさん:2008/08/16(土) 12:00:17
セルの数がアレフ0だから持てる情報はアレフ1だよ
839デフォルトの名無しさん:2008/08/16(土) 12:27:28
そのうち実際に出現し得るパターンの数はアレフ0だけどな
840デフォルトの名無しさん:2008/08/16(土) 15:49:44
オウム心理教スレですか
841デフォルトの名無しさん:2008/08/16(土) 21:03:06
誰かが言うと思ったわ。
842デフォルトの名無しさん:2008/08/23(土) 14:15:39
>>838
アレフ1じゃなくてベート1
アレフ1 = ベート1 という主張が連続体仮説
843デフォルトの名無しさん:2008/08/23(土) 15:43:16
アレフ(n+1) の定義が 2^アレフn だろう
その中間にあたる濃度があるかどうかはまた別問題
844デフォルトの名無しさん:2008/08/23(土) 21:40:30
単に記号の問題のような気もするけど、
英語圏では、冪集合の濃度を次々に取って作っていく濃度はベート数
今まで作った濃度より大きい最小の濃度として作っていくのがアレフ数
ということになってる

http://en.wikipedia.org/wiki/Aleph_number
http://en.wikipedia.org/wiki/Beth_number
845デフォルトの名無しさん:2008/08/23(土) 21:46:17
というか、板を勘違いしてた・・・orz
846デフォルトの名無しさん:2008/08/26(火) 10:57:28
>>842-844
そんなにいろいろあるんだ。
俺、アレフ0とアレフ1があるだけだと思ってた
847デフォルトの名無しさん:2008/08/28(木) 12:01:24
+ あッ
- んッ
> ああッ
< んんッ!
, 入ってるの感じちゃうぅ!
. イク!イっちゃう!
[ してぇ!お願い!
] やめないでぇ!


あッあッあッあッあッあッあッあッあッあッしてぇ!お願い!ああッ!
あッあッあッあッあッあッあッあッあッあッんんッ!んッやめないでぇ!ああッ!
あッあッあッあッイク!イっちゃう!あッあッあッあッあッあッあッイク!
イっちゃう!んッんッんッんッんッんッんッんッイク!イっちゃう!んッんッイク!イっちゃう!
848デフォルトの名無しさん:2008/08/28(木) 12:31:54
つまらんのう
849デフォルトの名無しさん:2008/08/28(木) 16:56:05
befungeのビジュアルインタープリタがほしい
ってここBF板だった
850デフォルトの名無しさん:2008/08/28(木) 19:22:22
BF板じゃない、プログラム板のBFスレだ。
851デフォルトの名無しさん:2008/08/28(木) 21:46:36
BF板…だと…
852デフォルトの名無しさん:2008/08/29(金) 00:55:07
阿久女イクで実装できそう
853デフォルトの名無しさん:2008/08/29(金) 03:33:59
自演宣伝がウザいからな、あのソフトは
854デフォルトの名無しさん:2008/09/07(日) 18:04:45
ティエラと同じ理論でBFコードを進化させられないだろうか?
855デフォルトの名無しさん:2008/09/15(月) 11:31:40
なにそのティエラ?
856デフォルトの名無しさん:2008/09/17(水) 17:49:26
携帯FLASH版ってPC版と比べて違いある?
857デフォルトの名無しさん:2008/09/17(水) 21:29:17
>>856
そもそもPC版ですら実装に違いが一杯なのに何を言うか
858デフォルトの名無しさん:2008/09/17(水) 21:35:03
規格すらねえからな
859デフォルトの名無しさん:2008/09/19(金) 18:53:47
いい加減規格くらい作れよなカス

じゃなくて作ってください。
860デフォルトの名無しさん:2008/09/19(金) 19:15:34
>>552でいいじゃん
861デフォルトの名無しさん:2008/09/19(金) 19:35:17
そういやこんなんあったね。
862デフォルトの名無しさん:2008/11/01(土) 17:52:44
ag2+
863デフォルトの名無しさん:2008/11/08(土) 19:43:27
あげ
864デフォルトの名無しさん:2008/11/09(日) 00:04:24
こうして見ると定期的にBFを拡張しようとする凡人って出てくるのな
しかも中途半端に終わるっていう

単純であるが故に価値があるのにそれに逆行するから当然か
865デフォルトの名無しさん:2008/11/09(日) 00:23:23
自分は何もせず、頼みもしない感想を
つらつら書いてる奴よりよっぽどマシだけどな
866デフォルトの名無しさん:2008/11/09(日) 00:27:00
頼みもしない独自拡張を批判されて腹を立てる拡張マンより
よっぽどマシだけどな
867デフォルトの名無しさん:2008/11/09(日) 00:37:08
久々に伸びてると思ったら・・・
論評だけのレスは確かに見飽きたわ
868デフォルトの名無しさん:2008/11/09(日) 00:38:01
秋だからしょうがない
869デフォルトの名無しさん:2008/11/09(日) 00:38:50
夏だから〜は良く聞くが秋も駄目なのか。
870デフォルトの名無しさん:2008/11/09(日) 17:25:04
>>864自己弁護必死杉
871デフォルトの名無しさん:2008/11/09(日) 21:20:36
もう最近は長期休暇のときに厨が多く現れるというのは違うよ
872デフォルトの名無しさん:2008/11/09(日) 21:31:42
>>870
Urban Muller神が降臨なさったんですね。わかります。
873デフォルトの名無しさん:2008/11/10(月) 19:08:40
ニートは年中居るからな

ところでBFをCGIとして実装してみたんだが
レスポンスヘッダ書くのも面倒臭すぎて
妙に笑えることになってきたぜ
874デフォルトの名無しさん:2008/11/12(水) 23:09:01
で BF ソース吐くコードジェネレータ作って、俺は何をやっているのか、と落ち込むと。
875デフォルトの名無しさん:2008/11/12(水) 23:27:42
それもまた一興
何も考えずエロゲやってる奴よりマトモさね
876デフォルトの名無しさん:2008/11/13(木) 23:59:28
残念だったな!
エロゲでなくネトゲだ
パンツゲーなどと言われてるからエロゲみたいなもんだが



orz
877デフォルトの名無しさん:2008/11/14(金) 12:05:18
ふと思ったけどBFの処理系に食わせる前にCのプリプロセッサを通せば意外に使い物に・・・ならないかやっぱり?
878デフォルトの名無しさん:2008/11/14(金) 14:18:39
CPPは単体で色々できすぎてしまうからなあ。
879デフォルトの名無しさん:2008/11/14(金) 20:24:36
拡張子.cppをC++と読んでしまうようになったのはいつからだろう・・・
880デフォルトの名無しさん:2008/11/14(金) 21:45:58
cxx
881デフォルトの名無しさん:2008/11/18(火) 19:58:25
良いなコレ

punctfuck.rb

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

■[Ruby] 記号だけで brainfuck インタプリタ
http://d.hatena.ne.jp/ku-ma-me/20080626/p1
882デフォルトの名無しさん:2008/11/19(水) 23:18:54
Rubyすげーw
883デフォルトの名無しさん:2008/12/08(月) 19:18:08
こんな本が出るらしい

ttp://book.mycom.co.jp/book/978-4-8399-2784-4/978-4-8399-2784-4.shtml
> あなたは「+-><.,[]」の8つの記号しかないプログラミング言語や、
> 空白だけで構成されるプログラミング言語があるのをご存じだろうか。
> 本書では、そんな奇妙な言語(Esoteric Language)を題材に
> プログラミング言語の作り方を解説します。
884デフォルトの名無しさん:2008/12/08(月) 22:49:45
おー、楽しみだ
目次だけでワクワクしてくる

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
885デフォルトの名無しさん:2008/12/08(月) 22:55:11
これは面白そうだ
けど普通に値が張るな…。
886デフォルトの名無しさん:2008/12/08(月) 23:07:07
印刷できない言語を印刷物で紹介しようとする時点でbakaだと思うw
887デフォルトの名無しさん:2008/12/09(火) 01:17:08
組み込み系のCしか使った事ない俺でも読める?
この際だからRuby勉強しようかな
888デフォルトの名無しさん:2008/12/09(火) 14:30:48
>>884にある中で他にスレがあるのは草言語だけか
889デフォルトの名無しさん:2008/12/10(水) 00:24:31
スレばっかりあっても仕方なくね?
使い道がない
面白いとは思うけど
890デフォルトの名無しさん:2008/12/10(水) 00:32:40
このスレも使い切るのに二年はかかりそうだしね。
作るとしたら esoteric language 総合がいいところか。
891デフォルトの名無しさん:2008/12/10(水) 02:45:18
こんな感じ?

【ネタ言語】esoteric language総合【実用性無視】
892デフォルトの名無しさん:2008/12/10(水) 06:34:50
プログラミングという言葉を入れないと寄って来ないのでは?
893デフォルトの名無しさん:2008/12/10(水) 08:12:31
brainf**kは単語的にそこそこ浸透してると思うがesolangはどうだろう
BFスレ探しても見つからずに、けっきょくBFスレを作っちゃうのでは

個人的にはなんでもまとめりゃいいってもんでも無いと思うが
894デフォルトの名無しさん:2008/12/10(水) 12:47:55
面白そうだなw
Ruby触ったことないけど
895デフォルトの名無しさん:2008/12/10(水) 14:02:38
拡張子.ws で検索しても、ワンダースワンのROMファイルしか出てこないな。
896デフォルトの名無しさん:2008/12/10(水) 14:13:10
>>893
組み込み系言語スレみたいに頭にBrainfuckなりWhitespaceなり入れれば大丈夫じゃないかな
897デフォルトの名無しさん:2008/12/10(水) 14:17:19
【 】Whitespace【 】
898デフォルトの名無しさん:2008/12/10(水) 14:55:29
>>883
>>884で言語はキーワードは出てしまってるし(笑)
ネットで調べて面白いねーって言うレベルの言語だし
本で買ってみようとは思わないなあ
899デフォルトの名無しさん:2008/12/10(水) 15:05:57
>>898
でも、StarryとBolicはオリジナルだろ?
900デフォルトの名無しさん:2008/12/10(水) 16:37:49
>897
それを言うなら



だろ?
901デフォルトの名無しさん:2008/12/10(水) 17:20:40
>>900

↑wsコード確認用アンカ
902901:2008/12/10(水) 17:21:24
oi
ミス
おい
改行しかないじゃねえかYO!
903デフォルトの名無しさん:2008/12/10(水) 18:00:36
Ha-Ha-Ha

…まさか確認されるとは思ってなかった
904デフォルトの名無しさん:2008/12/10(水) 23:06:45
総合スレにするなら
『BrainFuck&難解プログラミング言語総合スレ』
というタイトルはどうでしょう?
検索で引っ掛かりやすいだろうし、結局メインはBFだろうし
長すぎ?
905デフォルトの名無しさん:2008/12/10(水) 23:25:56
変態の変態による変態のための変態言語スレ
906デフォルトの名無しさん:2008/12/10(水) 23:26:08
なんだいもう次スレの話?

>>904
BFに限定すると他の言語では遊べないし、
総合なんて曖昧な表記だと、その定義で論争が起きそうだ。
かといって過疎スレ立てまくるのもアレだし、難しいところよね。
907デフォルトの名無しさん:2008/12/10(水) 23:29:00
bf & 類似言語スレ
にして
>>1に↑の言語リストとbfの命令リスト貼ればいいよ
908デフォルトの名無しさん:2008/12/11(木) 00:41:48
【Brainfuck】難解プログラミング言語【Whitespace】
でいいよ
右の方はスレ移ったら入れ替えてくってことで
909デフォルトの名無しさん:2008/12/11(木) 02:00:54
BFってすごいよね。可能性は無限大。
N60-BASICを知ってから25年以上。C言語以来の衝撃受けた。最近知ったけどw
910デフォルトの名無しさん:2008/12/11(木) 09:56:54
チューリングマシンを知らなかったのかと
911デフォルトの名無しさん:2008/12/11(木) 10:10:28
>>910
四則演算をしている小学生に群・環・体を知らなかったのかと
微積をする高校生にε-δ法を知らなかったなのかと
お前は言うわけかw
912デフォルトの名無しさん:2008/12/11(木) 10:40:31
生まれたときからBASICはじめたとして、少なくとも25才になるまで知らなかったんだろ?
913デフォルトの名無しさん:2008/12/11(木) 11:06:28
お前ら向けの書籍がでると聞いて紹介しに来ますタ

Amazon.co.jp: Rubyで作る奇妙なプログラミング言語 ~Esoteric Language~: 原 悠: 本
http://www.amazon.co.jp/dp/4839927847
http://images-jp.amazon.com/images/P/4839927847.09.MZZZZZZZZZ.jpg

>内容紹介
>あなたは「+-><.,[]」の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もあるよ!)

こんな需要がない本みたことねえw
914デフォルトの名無しさん:2008/12/11(木) 11:07:40
915デフォルトの名無しさん:2008/12/11(木) 11:10:56
過去スレ読まない人っているんだな・・・
916デフォルトの名無しさん:2008/12/11(木) 11:15:28
まぁいいじゃないか。かなり衝撃的な出版だし
917デフォルトの名無しさん:2008/12/11(木) 11:18:17
いくらお前にとって衝撃的でも
同じネタの重複はうざいだけ
918デフォルトの名無しさん:2008/12/11(木) 11:21:34
俺に言われても
919デフォルトの名無しさん:2008/12/11(木) 11:40:53
既出だったかスマソ・・・
最近、Janeの検索の調子が悪いんだよな
920デフォルトの名無しさん:2008/12/11(木) 11:53:02
検索も何もたかだか30個前のレスじゃないか…
921デフォルトの名無しさん:2008/12/11(木) 16:55:30
ミスを認めず何かのせいにする辺り反省してないな
922デフォルトの名無しさん:2008/12/12(金) 14:23:14
うちの大学の図書館には入荷するだろうか?
923デフォルトの名無しさん:2008/12/12(金) 15:26:53
図書館に訊けよ…
924デフォルトの名無しさん:2008/12/12(金) 17:35:50
読みたいならリクエストするのが図書館の使い方。
925922:2008/12/12(金) 18:04:56
プログラミング本は結構充実してるから入るかと思ったけど、
一週間ぐらいして入荷しなかったら注目してみる
926デフォルトの名無しさん:2008/12/14(日) 00:08:50
注文しろ
友人の友人の友人くらいまで動員して
絶対にだ!
927922:2008/12/14(日) 12:08:02
今更だけど>>952は、注目→注文だった
928デフォルトの名無しさん:2008/12/14(日) 20:15:58
大丈夫
通じてる
929デフォルトの名無しさん:2008/12/15(月) 20:05:53
>>928をみて攻略本という単語が頭をよぎった
930デフォルトの名無しさん:2008/12/16(火) 01:01:29
いいなーこれ。誰か行ける人マジでレポ頼む。
東京でもイベント開いてくれないかな。

----------------------------------------------
刊行記念トークセッションのお知らせ
----------------------------------------------

『Rubyで作る奇妙なプログラミング言語 〜Esoteric Language〜』刊行を記念して、著者 原悠氏によるトークセッションが行われます!

気鋭のRubyist、原悠氏がお送りする「奇妙な言語(Esoteric Language)」の世界。Rubyに関心のある方はもちろん、プログラミング言語の未知の世界に触れてみたい方も大歓迎です。

「Rubyで作る奇妙なプログラミング言語の世界」
原 悠 氏((株)ネットワーク応用通信研究所)
日時:2008年12月20日(土)14:00〜16:00
会場:ジュンク書店大阪本店 3階喫茶スペースにて。
入場料:500円(定員40名)
931デフォルトの名無しさん:2008/12/16(火) 01:30:32
トークセッションとか気合入ってるな
というか需要あるのか?w
932デフォルトの名無しさん:2008/12/16(火) 12:07:07
池袋で『初めてのRuby』の時にやってたな
933デフォルトの名無しさん:2008/12/16(火) 16:03:24
>>930
行けないことはないな。
934デフォルトの名無しさん:2008/12/16(火) 16:07:49
あ、やっぱり行けないわ。
ちょうどその時間三宮に用事があった・・残念
935デフォルトの名無しさん:2008/12/16(火) 21:36:17
ただなら行った
んだけど
936デフォルトの名無しさん:2008/12/16(火) 22:36:23
ワンコインくらい出せよw
東京から頑張って行こうかと考えたが仕事が入りそうで断念・・・
937デフォルトの名無しさん:2008/12/16(火) 23:42:37
濃ゆそうな人が多そうで物怖じしてる
参加して大丈夫かな
938デフォルトの名無しさん:2008/12/17(水) 07:56:00
>928 は深いな
たったの7文字で
本人が気付いた間違いはおろか
本人が気付いていない間違い(レス番号)まで気付いている、という意味まで内包してる
939デフォルトの名無しさん:2008/12/19(金) 01:34:20
トーク、eso-lang の話はあんまりないのかも?

ttp://mono.kmc.gr.jp/~yhara/d/?date=20081215#p01
> まだ何を話すか決めてないのですが、本の紹介と、
> 「Matz江から見たRuby」というネタでなんか喋る予定です。
940デフォルトの名無しさん:2008/12/19(金) 22:00:26
じゃあ行かない
941デフォルトの名無しさん:2008/12/22(月) 20:03:42
ようやく本屋に行けたので奇妙なプログラミング買って来た
数件回ったがやはり大型店舗にしか置いてないな

とりあえずレポまだー?
942デフォルトの名無しさん:2008/12/22(月) 21:42:59
そういやもう発売してるのか
明日辺り買ってこよ
943デフォルトの名無しさん:2008/12/22(月) 22:33:28
結局、変態言語の話はおまけ程度らしいのでいってない
944デフォルトの名無しさん:2008/12/23(火) 13:08:01
本買ってきた
コンピュータ読み物の棚にも情報論の棚にもRubyの棚にもなくて、置いてないか、って思ったらゲームプログラミングの棚にあった。
誤植が一つあるね
945デフォルトの名無しさん:2008/12/23(火) 13:08:54
48ページの
「+」と「-」
ってのはタブン
「<」と「>」
946デフォルトの名無しさん:2008/12/23(火) 13:39:05
フィードバックすれば増刷(されるのか?)で直るかも
947デフォルトの名無しさん:2008/12/24(水) 19:23:59
買った
とりあえず帯でっけ
948デフォルトの名無しさん:2008/12/25(木) 16:22:23
大学生協にて発見
949デフォルトの名無しさん:2008/12/25(木) 20:49:06
esolangを語る本じゃなくて
Rubyの入門の題材にesolangを使った本だった
950デフォルトの名無しさん:2008/12/26(金) 20:39:41
>>949
さらにニッチにしてどうするんだと心配しちゃう俺がいる
951デフォルトの名無しさん:2008/12/28(日) 21:34:55
952デフォルトの名無しさん:2009/01/01(木) 00:44:45
>++++++++++[>+++>+++++>+++++++>++++++++++>+++++++++
++>++++++++++++[<]>-]>>>++.>---.>++..>+.<<<<<++.>>>>--.<
++++.>>--.<<<<<.>>>>>++.<<.----.>++++.<<<----...
953 【145円】 :2009/01/01(木) 01:57:20
BFプログラマの月給
954デフォルトの名無しさん:2009/01/04(日) 13:41:05
@を出力するコード

あたたたたたたっほたたたたたたたたたたあー…ほたたたたおまえはもう死んでいる

  あ ポインタをインクリメント
  ほ ポインタをデクリメント
  た ポインタが示すメモリ位置のデータをインクリメント
  ー ポインタが示すメモリ位置のデータをデクリメント
  おまえはもう死んでいる ポインタが示すメモリ位置のデータを出力
  ふ ポインタが示すメモリ位置のデータに入力
  っ ポインタが示すメモリ位置のデータがヌルなら対応するふまでジャンプ
  … ポインタが示すメモリ位置のデータがヌルじゃないなら対応するんまでジャンプ
955デフォルトの名無しさん:2009/01/04(日) 14:01:52
置換ネタは前スレでさんざんやったので勘弁してくれ。
956デフォルトの名無しさん:2009/01/04(日) 20:47:54
みさくらや長門でおなか一杯だよ
957デフォルトの名無しさん:2009/01/04(日) 21:02:02
くぎゅうは?
958デフォルトの名無しさん:2009/01/04(日) 23:09:38
┏━━━━━━━━━━━━━━━━━━━━━┓
┃ ━ ╋━╋ ╋┓┏┓ ┳┻┳┏━   ┣━┳━ ┃
┃ ━ ┏┳┓ ┃┃┗┛ ┻━┻┃     ┃  ┃   ┃
┃ ━ ┗╋┛  ┏━┓    ┃  ┣┳   ┏━╋━ ┃
┃ ━ ━╋━  ┣━┫  ━╋━┃┃   ┃  ┃   ┃
┃┏┓━╋━  ┣━┫  ┏╋┓┃┃ ━┻━╋━ ┃
┃┃┃  ┃    ┗━┛  ┃┃┃┃┃       ┃   ┃
┃┗┛━┻━ ━┛┗━ ┃┃┃┃┃       ┃   ┃
┗━━━━━━━━━━━━━━━━━━━━━┛
            ∩
            〈〈〈 ヽ
           〈⊃  }
   (\___/)  |   |
 ( ̄l▼      ̄)!   !
  /  ●   ● |   /
  /   l ___\lミ/
 /▲  (  。--。 )
/■___  (( ̄))    新年あけましておめでとうございますーーっ!
(___)   ̄/
               2009年 元旦
959デフォルトの名無しさん:2009/01/05(月) 03:05:06
esoteric = 難解ってなんか変な訳という気がする。
神秘とか深遠とかの方が良い。
960デフォルトの名無しさん:2009/01/05(月) 23:57:10
そうですね
961デフォルトの名無しさん:2009/01/06(火) 02:39:17
生きるだけなら人の一生は長い。
しかしそれ以外するには時間が足りない。
うまくなりたいなら毎日やる。
ひとつだけならまだしも
二つとなるとハードルは一気に上がる。
そしてそのことを悩むとなれば三つとなりまたあがる。
ならばいっその事悩まずに
やってしまえばいい。
一人今、この体での一度きりの人生。
悔いを残すくらいなら今を生きて
今できることをすればいい。
焦っても仕方のないことだから
歩いていこうどこまでも。

「人生は何かを成し遂げるには短すぎるものだが、何もしないとすれば長すぎる」

孔子
962デフォルトの名無しさん:2009/01/06(火) 16:08:22
Brainfuckで書こうぜ
963デフォルトの名無しさん:2009/01/06(火) 17:53:50
これってメモリマップドIOするのはチート?
レジストリや入出力系統をはっつけると結構世界が広がると思うが。
964デフォルトの名無しさん:2009/01/06(火) 21:18:49
文法マスターしていい気になってる脱初心者はすぐ文法拡張したくなるから困ったもんだ。
そういった俗世の煩悩から開放されたとき真のBF道に一歩踏み入れたといえるだろう。
965デフォルトの名無しさん:2009/01/07(水) 19:22:37
bf用OSというかIDE作って
<<< の位置を 8bit Input (from IDE)
<< の位置を 8bit Output (to IDE)
< の位置を status (select()みたいなもの)
IDE側と通信してGUI扱えるようにならないかな
966デフォルトの名無しさん:2009/01/07(水) 19:57:10
>>963
レジスタでもフレームバッファでもシリアルポートでも好きなものに割り当ててくれたらいい
967デフォルトの名無しさん:2009/01/07(水) 21:42:18
BF 専用の CPU って存在してるの?
968デフォルトの名無しさん:2009/01/07(水) 22:13:24
ファイルの入出力だけでも出来れば
やれることかなり増えそうだが
stdin stdout のリダイレクトで OK?
969デフォルトの名無しさん:2009/01/07(水) 22:19:56
,>,>,>,>,>,>,>,.<.<.<.<.<.<.<.
asdfpoiu
uiopfdsa
970デフォルトの名無しさん:2009/01/07(水) 23:17:41
>++++++++++++++[<++++++++++>-]>++++++++++++++[<++++++++++>-]
<++++.>++++++++[<<+++++>>-]<<++.
>>+++++++[<-->-]<.>+++++[<<-->>-]<<-.
>.>++++++++[<<+++++++>>-]<<++++++.
971デフォルトの名無しさん:2009/01/07(水) 23:19:54
>>968
ヒント:どんな機能を付け加えてもBFで使いこなすのは難しい
972デフォルトの名無しさん:2009/01/07(水) 23:25:36
それを言っちゃあおしめえよ
973デフォルトの名無しさん:2009/01/07(水) 23:35:44
せめてポインタが2本あればなぁ
974デフォルトの名無しさん:2009/01/07(水) 23:41:19
なんだかんだ言って前スレでやり尽くされてるからな
975デフォルトの名無しさん:2009/01/07(水) 23:46:06
難読化ツールとしての需要も既に廃れた感あり
976デフォルトの名無しさん:2009/01/07(水) 23:52:12
変数2個のときは被乗数を左(0)右(2)において乗数を真ん中(1)に置くのが効率いいのかな
977デフォルトの名無しさん:2009/01/08(木) 00:01:47
978デフォルトの名無しさん:2009/01/08(木) 00:06:55
ありがとん
979デフォルトの名無しさん:2009/01/08(木) 00:12:10
addr/data_r/data_wはあくまでプログラムフェッチ用ですよね
CPU内部に大きいレジスタがあるんですかね
980デフォルトの名無しさん:2009/01/08(木) 00:13:45
あーでもデータアクセス用と共用になっててもおかしくはないのう
981デフォルトの名無しさん:2009/01/08(木) 05:38:57
The cw667x CPUs are using one shared memory for data and code. The Brainf*ck
code always starts at address 0x0004. On initialization, the core reads
the 16 bit start-adress for the data segment from the two bytes at address
0x0000 and the start adress for the stack from the two bytes at 0x0002.

The data segment is growing towards the high addresses - so it is recommended
to place the data segment directly after the brainf*ck code. The stack is
growing towards the low addresses - so it is recommended to choose the stack
start address at the end of the valid memory.

Execution of brainf*ck code stops when a zero-byte is read as instruction. So
there should be at least one zero-byte between the code and the begin of the
data segment.

The BIOS prints out "BF-CPU\n" and then executes the following loop:

,[>,]>

982デフォルトの名無しさん:2009/01/08(木) 05:39:33
This reads data from the user until a zero-byte is sent. In the case of the
Brainf*ck CPU bios, the data segment starts exactly after the code without
any zero-byte inbetween. So when that loop has finished, the CPU directly
"runs" into the code which came from the input bus. An importand detail: The
other code executed by the bios before reading the program must leafe the
memory zero-initialized! Only the first memory-cell might have non-zero data
since it is guaranteed to be overwritten by user input.

(In fact it would be ok to modify the first two bytes, since a program which
actually does anything with the data in the memory must be at least two bytes
long including the trailing zero-byte.)

A commented version of the BIOS can be found in the file bios.bf.

Note that the cw6670 core is actively zero-initializing the memory at device
initialization, while the cw6671 core is initializing the memory on the fly
whenever the data pointer is incremented to a new maximum value. Thus, the
cw6670 has much longer initialization times; especially when simulating the
core on a low level (or using slowed-down trial or free versions of tools).
983デフォルトの名無しさん:2009/01/08(木) 07:41:07
次スレまだ?
984デフォルトの名無しさん:2009/01/08(木) 11:41:02
+++++++[>+++<-]>[>+++<-]>-..--------..--. 俺のレス張るなwww
985デフォルトの名無しさん:2009/01/08(木) 13:03:46
>++++++++++[<++++++++++>-]>++++++++++[<++++++++++>-]
<++++.>+++[<<+++++>>-]<<+..----.>>++++++++[<------>-]
<++.>+++[<---->-]<+..>++[<<++>>-]<<----.>>+++[<<---->>-]
<<-.>++..---.++++.<.+++++.>----.<++++++.---------.++++++
+++++++++.>+.<.---------------.++++++++++++++.+.>.<--.--
-----------.----.+++.>-.<-.++++.++.>+.<+++++++++++.-----
----------.--.+++++.>.++.+.+.--.++.+++++.----.---.++++.+++.---------.
986デフォルトの名無しさん:2009/01/08(木) 13:16:31
ttp://book.mycom.co.jp/book/978-4-8399-2784-4/978-4-8399-2784-4.shtml
> あなたは「+-><.,[]」の8つの記号しかないプログラミング言語や、
> 空白だけで構成されるプログラミング言語があるのをご存じだろうか。
> 本書では、そんな奇妙な言語(Esoteric Language)を題材に
> プログラミング言語の作り方を解説します。

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
987デフォルトの名無しさん:2009/01/08(木) 17:16:53
codesegmentとdatasegmentが同じだった場合の挙動を想像してみた
. は . が表示される
><. は > が表示される
[+. は ] が表示される
[+] は 対応する [ がその時点で失われているんだけど
988デフォルトの名無しさん:2009/01/08(木) 17:24:31
スレにBFコードが張られた時に即、出力を知るために

マウスで暗転→右クリックでコピー
してから起動したらBFを実行するhta作ってみた
989デフォルトの名無しさん:2009/01/08(木) 17:30:21
ブックマークレットとかUSじゃダメ?
990デフォルトの名無しさん:2009/01/08(木) 17:33:54
FileFoxのプラグ印きぼん
991デフォルトの名無しさん:2009/01/08(木) 17:45:42
,[>+.<-]
992デフォルトの名無しさん:2009/01/08(木) 17:49:27
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
993デフォルトの名無しさん:2009/01/08(木) 20:47:33
994デフォルトの名無しさん:2009/01/08(木) 21:01:17
>++++++++++[<++++++++++>-]>++++++++++[<++++++++++>-]
<++++.>+++[<<+++++>>-]<<+..----.>>++++++++[<------>-]
<++.>+++[<---->-]<+..>++[<<++>>-]<<----.>>+++[<<---->>-]
<<-.>++..---.++++.<.+++++.>----.<++++++.---------.++++++
+++++++++.>+.<.---------------.++++++++++++++.+.>.<--.--
-----------.----.+++.>-.<-.++++.++.>+.<+++++++++++.-----
----------.--.+++++.>.++.+.+.--.++.+++++.----.---.++++.+++.---------.
995デフォルトの名無しさん:2009/01/08(木) 21:01:54
996 ◆GA6i1P9DC2 :2009/01/08(木) 21:05:18
埋め
997 ◆GA6i1P9DC2 :2009/01/08(木) 21:05:39
埋め
998 ◆GA6i1P9DC2 :2009/01/08(木) 21:06:00
埋め
999 ◆GA6i1P9DC2 :2009/01/08(木) 21:06:24
999
1000 ◆GA6i1P9DC2 :2009/01/08(木) 21:06:44
1000get!!!
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。