トップページ⇒tech
1001コメント260KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2007/05/01(火) 12:01:00
BrainFuckとは
 難解プログラミング言語の一つ。
 オシシメサイトはhttp://www.google.co.jp/

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

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

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

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

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

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

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



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

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

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

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

文字比較
http://up.spawn.jp/file/up18499.txt.html
0018デフォルトの名無しさん2007/05/02(水) 05:45:49
で、これで作られたアプリとかあるわけ?
0019デフォルトの名無しさん2007/05/02(水) 06:06:53
効率悪すぎるって
0020デフォルトの名無しさん2007/05/02(水) 09:55:23
>18-19
そもそも効率を求めて作られた言語じゃないからな。
効率とか、アプリ作りたいとかなら別の言語行ったほうが。
これはパズルを楽しむ言語なのだよ。
0021デフォルトの名無しさん2007/05/02(水) 09:57:21
まだだ、BrainfuckCPUとその専用コンパイラ、
Brainfuckベースで思考する新たな人類が誕生すれば
効率についてはまだわからん。
0022デフォルトの名無しさん2007/05/02(水) 10:13:55
BrainfuckでCコンパイラ作った方が早い。
0023デフォルトの名無しさん2007/05/02(水) 12:47:19
てかこれの用途って計算だけ?
0024デフォルトの名無しさん2007/05/02(水) 12:49:24
もちろんです。
電計機は計算しかしません。
0025デフォルトの名無しさん2007/05/02(水) 12:50:40
ファック
0026デフォルトの名無しさん2007/05/02(水) 13:07:27
用途は計算っつーか、電子計算機そのものの研究じゃね
0027デフォルトの名無しさん2007/05/02(水) 13:49:20
BrainfuckのためだけのOSを作ろうと思います。
0028デフォルトの名無しさん2007/05/02(水) 13:51:35
計算理論・言語理論ではチューリングマシンは現役ですよね。
BFのほうが簡潔で美しいと思うのですが…
0029デフォルトの名無しさん2007/05/02(水) 13:54:48
さすがに暗号的過ぎるがなw
0030デフォルトの名無しさん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の純粋性を失わない
0031デフォルトの名無しさん2007/05/02(水) 18:40:22
>>30
それは考えたことあるけど、
数字が入ってくると美しくないな
0032デフォルトの名無しさん2007/05/02(水) 18:56:19
>>30
多分それ誰もが考える
0033デフォルトの名無しさん2007/05/02(水) 19:06:41
まあ、文字出力に+が8個以上は続いたりするからな
0034302007/05/02(水) 19:07:06
+8で+が8回だったら汚いと思うけど、+8で+が9回ならそれなりにシンプルさを保てるような・・・
たとえば64を作りたい場合も、+88888887とかなので、brainfuck感を失ってない気がするし・・・
0035デフォルトの名無しさん2007/05/02(水) 19:19:46
>>34
この言語の仕様の美しさを君はまだ分かっていないようだな。
そうやって利便性ばかりを追求する君は間違いなくゆとり。
0036デフォルトの名無しさん2007/05/02(水) 19:33:00
>>29が暗号的だとか言うので、ちょっと改良案を考えてみたくなった・・・
前スレで次スレ案を+++++++[>+++++++<-]>+.と提案したときも、異端的すぎるとか言われたし・・・
みんな、+の数数えるの嫌いなのかなと、・・・(でも、案外そうでもないのかな・・・
0037デフォルトの名無しさん2007/05/02(水) 19:38:05
そういうのはエディタで対処すりゃいいんじゃないの。
入力の短縮とカーソル位置の連続するキャラクタの個数を表示するとかさ。
0038デフォルトの名無しさん2007/05/02(水) 19:53:11
単純にスレタイが長すぎるのはやめてほしい
0039デフォルトの名無しさん2007/05/02(水) 19:58:00
その次元での美しさのことを言い出したら[と]も美しくない。
0040デフォルトの名無しさん2007/05/02(水) 20:10:51
>>37
その案はずっと俺が考えてたやつだ。

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

ところで、いつごろ考案されたものなんだろう?
実装は99年のものが存在することを確認したが
0049デフォルトの名無しさん2007/05/03(木) 22:39:43
俺の汁限り最古の記録ではメソポタミア文明の
洞窟の壁画に<[+-.]>が刻まれていたというのが最古の記録だな。
それ以前は申し訳ないが把握していない。
0050デフォルトの名無しさん2007/05/04(金) 00:22:14
>>49
東南アジアの旧石器時代の遺跡から出土した動物の骨に
<[+-.]>やら骨上デバッグの跡やらが伺えると聞いた
0051デフォルトの名無しさん2007/05/04(金) 14:47:17
BrainFuckを理解するCPUと、
コンパイル時にBrainFuckに落とし込む高級言語が開発された夢を見た!
0052デフォルトの名無しさん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/
0053デフォルトの名無しさん2007/05/05(土) 13:29:17
二重でBF

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

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

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

-----

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

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

 >input();
}

input(){

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

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

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

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

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

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

今は超簡易OSを作ろうとしているのだがそっちもありそうな気がしてきた
0079デフォルトの名無しさん2007/05/11(金) 22:43:13
最適化コンパイラってある?
0080542007/05/11(金) 23:23:42
>>73-74
http://up.spawn.jp/file/up20243.zip.html
0081デフォルトの名無しさん2007/05/11(金) 23:24:58
>>78
ttp://www.geocities.jp/hariboteos/
0082782007/05/11(金) 23:36:05
>>79
上位プログラムからのコンパイラの仕様を必死に考えていたのだが
>>52が考えていたコンパイラと殆ど同じだった

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

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

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


0114782007/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として機能し始めるのだが・・・
0115デフォルトの名無しさん2007/05/13(日) 18:43:11
., で入出力される文字列の規格作ろうよ。Xプロトコルみたいな奴を。
0116デフォルトの名無しさん2007/05/14(月) 09:22:01
ファイル入出力は欲しいなマジで。
0117デフォルトの名無しさん2007/05/14(月) 13:14:25
誰かBFでFizzBuzz書いて
0118デフォルトの名無しさん2007/05/14(月) 16:11:32
除算がなにげにめどいぞ
0119デフォルトの名無しさん2007/05/14(月) 16:45:56
余を求めるのに除算、乗算、比較が必要じゃないか?
0120デフォルトの名無しさん2007/05/14(月) 17:25:26
3,5の減算カウンタ2つ持てばいいのじゃなかろうか?

0121542007/05/16(水) 00:39:39
BFデバッガβ3
http://up.spawn.jp/file/up20967.zip.html
0122542007/05/16(水) 00:42:34
# A + B = C (加算)
[> > +>+<<<-]> > >[<<<+> > >-]<<[>+>+<<-]> > [<<+> > -]<

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

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

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

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

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

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

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

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

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

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

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

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

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

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

カウンタを減らすとき
[-<*****>]派 VS [<*****>-]派
0185デフォルトの名無しさん2007/05/28(月) 11:22:55
>>183
ウェイト入れてるんじゃねーの。
一文字ずつ出てくるのを固唾を呑んで見守るというのもまた風情があってよいw
0186デフォルトの名無しさん2007/05/28(月) 17:49:53
>>184
初めはいろんなのをマネしてて後者だったが、
今は断然前者だな。忘れない内にデクリメントしとこぅ、みたいな
01871222007/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の例だと後ろにある>
カウンタにポインタを合わせてデクリメントって考えなので後者
0188デフォルトの名無しさん2007/05/31(木) 16:54:00
golfはどこで遊べばいですか
0189デフォルトの名無しさん2007/05/31(木) 16:56:23
>>188
ttp://brainfuck.sourceforge.net/index.html
0190デフォルトの名無しさん2007/05/31(木) 17:07:36
>>189
ありがとう。しかし最後にコンテストが行われたのは2002年のようだ。
0191デフォルトの名無しさん2007/06/01(金) 16:25:27
こんなのがあった
http://hardtware.de/products/brainfuck.php
0192デフォルトの名無しさん2007/06/01(金) 17:12:55
>>191
www
腹痛えww
0193デフォルトの名無しさん2007/06/01(金) 22:20:55
realtime competition in several languages including brainfuck.
http://golf.shinh.org/
0194デフォルトの名無しさん2007/06/04(月) 19:30:38
ネタも無いし、これ以上スレ伸びないね
0195デフォルトの名無しさん2007/06/05(火) 18:58:21
無い無い言わんと自分で提供汁
0196デフォルトの名無しさん2007/06/05(火) 19:07:17
>>195
無茶いわんでください><
0197デフォルトの名無しさん2007/06/05(火) 19:39:40
>++<
0198デフォルトの名無しさん2007/06/05(火) 21:28:41
ふつうに見たらAAだけど、BFコードとして食わせたら、
別にAAが出てくる〜的なの、誰かプリーズ
0199デフォルトの名無しさん2007/06/05(火) 21:42:53
>>198
http://esoteric.sange.fi/brainfuck/bf-source/prog/triangle.bf
0200デフォルトの名無しさん2007/06/05(火) 21:59:23
トライフォースを思い出した
0201デフォルトの名無しさん2007/06/06(水) 07:07:38
つーか、BFコードのAA化って簡単じゃないの?、足りなかったら関係ない文字足せるし
0202デフォルトの名無しさん2007/06/06(水) 09:09:37
>>199
感動した!
0203デフォルトの名無しさん2007/06/06(水) 15:25:06
AAじゃないけど、
http://esoteric.sange.fi/brainfuck/bf-source/prog/mandelbrot.b
0204デフォルトの名無しさん2007/06/06(水) 18:32:21
<+.->

ところで、BFは不の値にも対応はしてるようだけど、
ポインタのアドレスって負の値はダメなの?
つまり、いきなり最初に < を使うとエラー?
0205デフォルトの名無しさん2007/06/06(水) 18:41:41
処理系によるとしか
0206デフォルトの名無しさん2007/06/06(水) 18:57:20
バッファ二つ持たせりゃ簡単だろ。
いきなり-して255になることに依存してるコードもあったな。
0207デフォルトの名無しさん2007/06/06(水) 20:47:45
チューリング完全なBFインタプリタは負方向のアドレスにも対応してるんだろうなぁ
0208デフォルトの名無しさん2007/06/06(水) 21:35:53
正方向だけでも完全のはず
0209デフォルトの名無しさん2007/06/06(水) 21:36:52
無限大のアドレスを扱えないと完全じゃないだろ。
0210デフォルトの名無しさん2007/06/07(木) 00:21:31
実装≠言語
0211デフォルトの名無しさん2007/06/07(木) 17:24:34
            >
           + +
          +   +
         +     +
        +       +
       +         +
      [           >
     +             >
    +               +
   +>++++>+++++>++++++>+++++
  + +         +       >+++++++++>+++++++
 +           + +       >           +
+           +   +       +         +
+++++>++++++++++    +       +        [
<]>-]> > >.> >>      >       +      +
++.<<<--.> > >       .<       <     <
<+.>-.<<++.> >         >      .<    <
<.> >+++.-..>           >      >   >
++  +.--.>             >----.<<<< <
<<<.  >-    .> > > > > > >.<<.>++ ++
+.>.<< <     < < < < +.< < +++   .-
--.> > >--.> > > > > >++++++++.<<<<<<
<<.> > > > > > > >.<<<<<<<<<+++.---.>..> > > >----..
0212デフォルトの名無しさん2007/06/07(木) 22:31:00
絵が描きたいなら、2次元でプログラム書く言語あったはずだから、
それ使えばいいんじゃね。
0213デフォルトの名無しさん2007/06/08(金) 18:58:26
>>212
2次元で・・・・?
kwsk
0214デフォルトの名無しさん2007/06/08(金) 19:51:48
>>213
BeFunge
ttp://www015.upp.so-net.ne.jp/ina/lab/befunge93_document.html

Piet
ttp://www.dangermouse.net/esoteric/piet.html
0215デフォルトの名無しさん2007/06/08(金) 20:54:02
2次元で構造を要求されるから、逆に自分の書きたい絵は描きにくいと思う<befunge
0216デフォルトの名無しさん2007/06/08(金) 21:42:11
いや、ループを書くときは本当にAAで輪を描く言語があったはず。
名前ど忘れしてもうたけど……。
0217デフォルトの名無しさん2007/06/08(金) 23:37:57
gikobasicじゃねーのw
あれAAじゃねーけど
0218デフォルトの名無しさん2007/06/08(金) 23:59:08
http://esoteric.voxelperfect.net/wiki/Rail
これじゃね? Matzのブログにあったやつ
0219デフォルトの名無しさん2007/06/09(土) 01:05:50
大昔WindowsでマウスでANDとかORのソケットを組み合わせる
真のヴィジュアルプログラミングなんて謳ってた開発環境があったな・・・
0220デフォルトの名無しさん2007/06/09(土) 01:10:27
視覚的プログラミングってのは意外と歴史がある
0221デフォルトの名無しさん2007/06/09(土) 02:44:43
>>219
ウィンドウズのウの時も無い頃からあるからなぁ。

0222デフォルトの名無しさん2007/06/09(土) 04:24:59
>>218
あー、それですそれです。
0223デフォルトの名無しさん2007/06/09(土) 17:33:32
IronBrainfuck
0224デフォルトの名無しさん2007/06/09(土) 17:36:27
>>23
鉄脳姦・・・?
0225デフォルトの名無しさん2007/06/10(日) 11:45:32
>>223
http://pc11.2ch.net/test/read.cgi/tech/1157686822/
これか?
0226デフォルトの名無しさん2007/06/10(日) 14:39:01
  ++  ++          ++   ++
 ++  ++ ++       ++ ++   ++
 ++ ++   ++     ++   ++  ++
++                     ++
++                     ++
++      +++     ++      ++
 ++     ++  ++   ++     ++
 ++     ++ ++ ++ ++     ++
  ++     ++++ +++      ++

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

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

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

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

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

結局こうなったんだよ
0247デフォルトの名無しさん2007/06/17(日) 00:53:41
> > と空白開けてる涙ぐましい努力に感動した。
0248デフォルトの名無しさん2007/06/17(日) 01:39:22
とりあえずロダとか使おうぜ・・・w
0249デフォルトの名無しさん2007/06/17(日) 01:40:33
ロダは残らないから直接貼りたい気も分かる
0250デフォルトの名無しさん2007/06/17(日) 03:20:34
lzh+ishで貼ろうぜ
0251デフォルトの名無しさん2007/06/17(日) 06:52:24
むしろ自分自身を伸長するBFコードを
0252デフォルトの名無しさん2007/06/17(日) 08:29:04
大抵、情報量ふえるかんな
0253デフォルトの名無しさん2007/06/17(日) 08:30:06
( )で代用汁
0254デフォルトの名無しさん2007/06/17(日) 09:09:37
それはもはやBrainfuckではない
0255デフォルトの名無しさん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==
0256デフォルトの名無しさん2007/06/17(日) 09:49:06
心なしか可読性が向上した気がするな。
0257デフォルトの名無しさん2007/06/17(日) 16:43:21
文字を自由に変更できるようにしたインタプリタがあればいいんだね?
0258デフォルトの名無しさん2007/06/17(日) 19:15:06
Brainfuckでライフゲームなんて楽しそうだな。
だれか二次元ライフゲームplz
0259デフォルトの名無しさん2007/06/17(日) 19:28:52
>>258
とりあえず、一次元でおk
0260デフォルトの名無しさん2007/06/17(日) 19:44:42
0…死
1…生

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

例)
�@0110010→1111101
�A0011000→0100100

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

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

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

っていうのを繰り返せばいいんだろ。簡単じゃねえか
0263デフォルトの名無しさん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っていう呼び方を推奨する。因みに日本語訳は、”魚の骨”だ。解説は要らないと思う。保守。
0264デフォルトの名無しさん2007/06/22(金) 17:10:36
BrainFunction
0265デフォルトの名無しさん2007/06/23(土) 09:49:16
DLR対応Brainfuckコンパイラまだー?
0266デフォルトの名無しさん2007/06/23(土) 15:09:35
,
0267デフォルトの名無しさん2007/06/23(土) 15:44:56
JavaScriptに直接BFが組み込まれたらいいのにな。
0268デフォルトの名無しさん2007/06/23(土) 17:38:30
>>267
replaceしてevalで我慢汁

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

function ***(n){
  Abc.bf(+++++>,);
}
とか使えたらいいのに、、、
0270デフォルトの名無しさん2007/06/23(土) 18:17:45
それになんの意味があるんだ……?
0271デフォルトの名無しさん2007/06/23(土) 20:18:38
そんなことより、電脳コイル面白いなw
0272デフォルトの名無しさん2007/06/24(日) 02:42:27
とりあえず Perl で我慢すれ。

Acme::Brainfuck
http://search.cpan.org/~jaldhar/Acme-Brainfuck-1.1.1/lib/Acme/Brainfuck.pm
Language::BF

http://search.cpan.org/~dankogai/Language-BF-0.02/lib/Language/BF.pm
0273デフォルトの名無しさん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使えるだろ
0274デフォルトの名無しさん2007/06/25(月) 19:18:17
ないわ
0275デフォルトの名無しさん2007/06/25(月) 20:10:22
bfainruck
0276デフォルトの名無しさん2007/06/25(月) 20:18:13
Cのプリプロセッサでネイティブコンパイルできそうじゃね?
0277デフォルトの名無しさん2007/06/25(月) 21:06:56
少なくとも標準Cでは無理。
0278デフォルトの名無しさん2007/06/25(月) 21:15:12
少なくとも異準Cでも無理。
0279デフォルトの名無しさん2007/06/25(月) 22:46:14
>>276
BRAINFUCK(n p p p p...
みたいな構文になっても良いならできる。
0280デフォルトの名無しさん2007/06/25(月) 22:59:22
インタプリタならこんな感じでいけそうだ。

#define BF(code) brainfuck_exec(#code)

BF((+++++>,));
0281デフォルトの名無しさん2007/06/27(水) 16:25:41
Quine (自分自身と同じ文字列を出力するプログラム) の
Brainfuck における世界記録が塗り替えられたらしい。
ttp://d.hatena.ne.jp/KeisukeNakano/20070626/1182879045
0282デフォルトの名無しさん2007/06/27(水) 16:34:04
負数番地はレギュレーション違反なのかよw
0283デフォルトの名無しさん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);}
引数に値を渡して , で取得できるようにしようと思ったが面倒なので諦めた。
0284デフォルトの名無しさん2007/06/28(木) 04:32:53
>>282
一番厳しいレギュレーションだと0->ffのデクリメントもダメでなかった?
0285デフォルトの名無しさん2007/06/28(木) 08:46:55
Whirl - 強力なライバル登場
http://www.rubyist.net/~matz/20070619.html#p04
0286デフォルトの名無しさん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='''
]'''#==#*/
0287デフォルトの名無しさん2007/06/29(金) 16:20:59
おもすれー。発想の勝利だな。
0288デフォルトの名無しさん2007/06/29(金) 19:02:00
このスレずっと見てるヤツっているの?
っていうか前スレの>>1ってまだいるのかな?

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

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

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

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

ここまで来るとくだらねぇ
0315デフォルトの名無しさん2007/07/04(水) 18:08:44
>>311
すげえな。
いや、発想がいい。
0316デフォルトの名無しさん2007/07/04(水) 19:16:23
>313
なるほど…BFコードかも知れんな。
0317デフォルトの名無しさん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
0318デフォルトの名無しさん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!!!!^おま
;;;;;;
0319デフォルトの名無しさん2007/07/05(木) 00:10:44
うざ
0320デフォルトの名無しさん2007/07/05(木) 00:59:45
>>317
それいいなwwwVIPで流行りそうだなwwwwwおk
0321デフォルトの名無しさん2007/07/05(木) 01:08:58
前すれ576で既出だ。
0322デフォルトの名無しさん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
0323デフォルトの名無しさん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
0324デフォルトの名無しさん2007/07/07(土) 14:34:00
BF暗号かよ
0325デフォルトの名無しさん2007/07/07(土) 15:21:19
>>323
0hSEx
とかくだらない事考えちゃうだろ
0326 ◆w5K27BF/r2 2007/07/08(日) 02:11:47
<<236-237の電卓改良した。カッコに対応。マイナスは相変わらず非対応。

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

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

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

を入れたらちゃんと17872を出すからバグはないと信じたい。
0329 ◆w5K27BF/r2 2007/07/08(日) 02:19:26
>>326
逆だゴメン。>>236-237な。
0330デフォルトの名無しさん2007/07/08(日) 06:02:22
大作をこのスレに貼ろうとすると、>>326-328のように分割しなければならなくなるので、
とりあえずランレングスでBFコードを簡易的に圧縮してみようとしたんだが、結局サイズは
オリジナルの3/4程にしかならなかった。以上チラシの裏。
0331デフォルトの名無しさん2007/07/08(日) 06:24:28
gzip+base64で半分以下になる。
0332デフォルトの名無しさん2007/07/08(日) 08:34:02
命令セットが3ビット分しかないから、1バイトで2命令は表現できる。
つまり、半減するのは当たり前。
0333デフォルトの名無しさん2007/07/08(日) 11:22:49
CとかJAVAなら、人が作ったプログラム見て、勉強になるんだが、
BFの場合、全くわからんなw
0334デフォルトの名無しさん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
0335デフォルトの名無しさん2007/07/08(日) 12:32:23
Base64自体、6bitコードなんだから、> 000, < 001, .. って割り振ってそのままエンコードしたほうがよくないか?
0336デフォルトの名無しさん2007/07/08(日) 14:14:59
不要な文字を取り除いてgzip+base64がベストかな
>>335はこれより大きくなった
0337デフォルトの名無しさん2007/07/08(日) 14:41:11
>>326
1回計算終わった後、再実行しないと計算結果変わってくるよ
0338 ◆w5K27BF/r2 2007/07/08(日) 19:02:18
http://up.spawn.jp/file/up31744.txt
コメント付き>>326-328
物好きさん用

>>337
式入力するとき = の後ろに余計な文字入ってない?
それだと変わる。仕様。そうじゃないなら分からん。
0339デフォルトの名無しさん2007/07/08(日) 21:57:28
>; 自分でもよく覚えてなくて分からないところあるし
あるある
0340デフォルトの名無しさん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:
0341デフォルトの名無しさん2007/07/09(月) 00:06:12
>>340
それはもちろんBFで開発してるんだよね?
0342デフォルトの名無しさん2007/07/09(月) 00:18:12
それは無いんじゃないか?w
0343デフォルトの名無しさん2007/07/09(月) 19:21:17
カタカナ入れてBase128にしちゃえば・・・
0344デフォルトの名無しさん2007/07/09(月) 19:41:01
そもそも2chに書き込めない文字って何があるんだ?
とりあえず、ヌル文字、CR、LFはだめそうだよな
0345 ◆w5K27BF/r2 2007/07/09(月) 19:57:07
よく分からんが、

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

ってのは圧縮のヒントになる?
0346デフォルトの名無しさん2007/07/09(月) 20:20:29
どうせならもっと高度な圧縮を期待する
たとえば、
[圧縮前]
+++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.+++.------.--------.>+.
↓
[圧縮後]
Hello, world!
0347デフォルトの名無しさん2007/07/09(月) 20:21:14
なる。
0348デフォルトの名無しさん2007/07/09(月) 20:33:34
>>182
0349デフォルトの名無しさん2007/07/09(月) 22:02:14
なんという不可逆圧縮/(^o^)\
0350デフォルトの名無しさん2007/07/10(火) 01:19:51
>>326-328が
PPMZ2で387Bytes
ttp://www.cbloom.com/src/ppmz2exe.zip
0351デフォルトの名無しさん2007/07/10(火) 09:19:07
base64の代わりにascii85とかbasE91を使うと良さげ
0352既出だったらスマソ2007/07/10(火) 12:47:32
http://www.nishiohirokazu.org/blog/2007/02/grinedit_6.html
0353デフォルトの名無しさん2007/07/11(水) 00:51:37
>>352
壮絶だな…
0354デフォルトの名無しさん2007/07/11(水) 02:16:56
小腸みたいだなw
0355デフォルトの名無しさん2007/07/11(水) 21:10:45
コードの最初に[が付くっておかしいよな?
[から]までスルーされるだけだろ
>>122とか少なくとも俺が試した限りじゃ動かないし
0356デフォルトの名無しさん2007/07/11(水) 21:20:39
>>355
コードの最初じゃねんじゃね?
0357デフォルトの名無しさん2007/07/11(水) 21:28:24
>>355
コードの破片なんだから、それ以前にメモリに何か書き込まれてるわけで、[で始まっても何の問題もない。
0358デフォルトの名無しさん2007/07/11(水) 21:31:05
ごめん、よく見ればわかることだったな・・・orz
0359デフォルトの名無しさん2007/07/12(木) 16:55:43
まだ、在ったのか
しかもパート2にまでなって。
もう、俺が立ててから5年になるのに、伸びてないな。
0360デフォルトの名無しさん2007/07/12(木) 19:50:55
>>359
お前が+をデクリメントとか言ったせいで!
0361デフォルトの名無しさん2007/07/13(金) 06:09:30
<[+-.,]>
っていうBFコードっていきなり<するもんだから、エラーでちゃう><
0362デフォルトの名無しさん2007/07/13(金) 09:48:40
負のポインタを扱えるかどうかは処理系依存
0363デフォルトの名無しさん2007/07/13(金) 12:25:56
むしろ対応してるヤシなんてほとんどないよな。
だから、初めを{30}番地位に設定すりゃいいんだよ
0364デフォルトの名無しさん2007/07/13(金) 12:50:38
プラス方向とマイナス方向に二つメモリ持てばいいじゃん。
0365デフォルトの名無しさん2007/07/13(金) 13:37:37
>>364
そんなことしてたら、インタプリタ重くなるじゃん。
0366デフォルトの名無しさん2007/07/13(金) 15:15:27
わしのインタプリタは108番地まであるぞ
0367デフォルトの名無しさん2007/07/13(金) 15:31:23
108って少なくないか?
0368デフォルトの名無しさん2007/07/14(土) 09:02:39
Brainfuck#.NET
0369デフォルトの名無しさん2007/07/14(土) 11:06:19
<[(+.-)]>みたいなのかと思った。
0370デフォルトの名無しさん2007/07/14(土) 14:14:27
Objective-Brainfuck!
0371デフォルトの名無しさん2007/07/14(土) 16:00:30
つ brainfuck++
0372デフォルトの名無しさん2007/07/14(土) 16:27:05
Aspect Brainfuckまだー
0373デフォルトの名無しさん2007/07/14(土) 18:08:18
オブジェクト指向のBFってどんなんだよ。
0374 ◆leSXCx/JO2 2007/07/14(土) 18:37:20
>>359
?????
0375デフォルトの名無しさん2007/07/15(日) 01:35:26
標準brainfuckはコードセグメントとデータセグメントが分断されてるが、
これを同じところにしてやったら面白いんじゃないかな。

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

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

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

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

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

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

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

こういうコト?
0436デフォルトの名無しさん2007/08/01(水) 14:16:55
最適化されたアセンブリコードを吐き出すのでもいいよ。
0437デフォルトの名無しさん2007/08/01(水) 15:14:36
>>435
それ俺作ったよ
作ってみたはいいものよく考えたら需要ないって気付いて現在お蔵入り状態
0438デフォルトの名無しさん2007/08/02(木) 09:02:23
BFのコンパイラ作ってみたいと思ったんですけど、
exeを作成するための知識が全くありません。
適当なサイトありませんか?
0439デフォルトの名無しさん2007/08/02(木) 09:48:12
>>402
ワロタ
Dすげえ
0440デフォルトの名無しさん2007/08/02(木) 21:00:12
>>437
俺も作った。
上のどっかで公開もして、その後も続けてたが飽きた。
メモリ間で足し算するコードとかかけ算コードとか、結構最適化出来るよ。
実行速度が単純実装の4〜5倍くらいにはなる。
0441デフォルトの名無しさん2007/08/03(金) 00:16:30
標準入力のデータがからまない部分は
コンパイル時に全部算出できちゃいそうだな。
それこそhello.bf -> hello.cすると
main(){ printf("hello, world\n"); }
に置き換わっちゃったりw
0442デフォルトの名無しさん2007/08/03(金) 00:17:21
なんかそれ空しいなー
0443デフォルトの名無しさん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^)/
0444デフォルトの名無しさん2007/08/03(金) 08:44:32
>>443
その最適化器晒してくれないか
0445デフォルトの名無しさん2007/08/04(土) 21:53:17
!!
0446デフォルトの名無しさん2007/08/05(日) 14:38:59
!+!
0447デフォルトの名無しさん2007/08/06(月) 17:53:02
i!
0448デフォルトの名無しさん2007/08/08(水) 09:47:18
__<+++++[>---<-]__
0449デフォルトの名無しさん2007/08/08(水) 20:23:55
i!i!i!
0450デフォルトの名無しさん2007/08/08(水) 20:38:42
http://groups.google.co.jp/group/brainfunck?hl=ja
0451デフォルトの名無しさん2007/08/08(水) 23:20:31
言語: 英語
を見落としてうっかり参加するところだった。
0452デフォルトの名無しさん2007/08/09(木) 09:11:13
参加しちまった俺がいる
0453デフォルトの名無しさん2007/08/09(木) 22:47:31
ほんとだ一人増えてる
0454デフォルトの名無しさん2007/08/11(土) 18:42:23
BasicFuck
0455デフォルトの名無しさん2007/08/11(土) 20:02:51
****Fuck
0456デフォルトの名無しさん2007/08/11(土) 21:06:32
しかし、fuckとか名前付けてるトコからみて
アーバンミュラーはこの言語好きじゃなかったのかな
0457デフォルトの名無しさん2007/08/11(土) 21:40:16
のーみそこねこね
0458デフォルトの名無しさん2007/08/11(土) 21:55:01
 ( ゚∀゚) のーみそこねこね
  ミ⊃
     ⊂彡
0459デフォルトの名無しさん2007/08/12(日) 00:55:03
>456
「脳みそが犯される言語」ぐらいのニュアンスじゃね?
BFコードばかり見てると何かに犯されそう、みたいな。
0460デフォルトの名無しさん2007/08/12(日) 01:17:00
BFのコーディングには
SANチェックが必要なのか
0461デフォルトの名無しさん2007/08/12(日) 16:18:08
htmlで恐縮だが、
<head>タグの中に<brain>タグが書けるとすれば
<brain>タグの中に書くのは確実にBFだよな、とか考えてた。
0462デフォルトの名無しさん2007/08/12(日) 16:49:52
>>461
それって、HTML的にはありだけどSGML的には無理。
0463デフォルトの名無しさん2007/08/12(日) 16:57:19
CDATAセクションでくくればいいんでないの
0464デフォルトの名無しさん2007/08/12(日) 16:59:11
]]>の連続が普通に出てくるから引っかかりそうだな。
0465デフォルトの名無しさん2007/08/12(日) 17:18:39
このスレって人がいなさそうで実はいるよなw 俺も含めて
0466デフォルトの名無しさん2007/08/12(日) 17:33:16
エスケープすればええんや!
0467デフォルトの名無しさん2007/08/12(日) 17:47:37
>>466
余りいろいろやりすぎるとBrainFuckらしくなるなるしねぇ。
0468デフォルトの名無しさん2007/08/12(日) 18:25:32
俺が作った訳じゃないが8/3にうpされてて新しいので晒
ttp://www.vector.co.jp/soft/win95/prog/se433973.html
0469デフォルトの名無しさん2007/08/12(日) 19:35:22
>>467
どうせインスタンス化されるのは実体となった文字なんだからいいのでは。
HTMLのソースレベルで語ってもしかたない。
0470デフォルトの名無しさん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 "]">
0471デフォルトの名無しさん2007/08/14(火) 11:25:35
\
0472デフォルトの名無しさん2007/08/14(火) 13:02:53
定数ロード命令があったらどうだろうか
0473デフォルトの名無しさん2007/08/14(火) 15:39:37
なにそれ、おいしーの?
0474デフォルトの名無しさん2007/08/15(水) 23:08:50
>>472
決めた番地にかいといてコピーすりゃいいだけじゃん。
0475デフォルトの名無しさん2007/08/18(土) 08:02:54
Whirl - Dizzy Programming
http://www.bigzaphod.org/whirl/

Flashの処理系
http://www.bigzaphod.org/whirl/Whirl-1.01.swf
0476デフォルトの名無しさん2007/08/20(月) 14:32:49
whirlを日本語で説明してるサイトが見つからない
0477デフォルトの名無しさん2007/08/20(月) 22:37:16
>476
逆に考えるんだ。
ここで説明サイトを作ればおまいが日本で一番乗りだ。
0478デフォルトの名無しさん2007/08/20(月) 22:58:25
>476
というか、処理系まであるし説明自体も平易だから日本語で説明されるまでもないんじゃないの?

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

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

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

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

の方が都合がよくね?
点が打ちたいなら文字として「.」を出力しときゃいいじゃん。
0494デフォルトの名無しさん2007/09/02(日) 11:18:32
それだと「.」がドット1個じゃないフォントを採用してる環境で困る
0495デフォルトの名無しさん2007/09/02(日) 11:27:59
それはそうか。
スンマセン
0496デフォルトの名無しさん2007/09/02(日) 18:27:02
命令増やす必要なんてないだろ。
メモリをそのままVRAMに転送すればいい。
0497デフォルトの名無しさん2007/09/02(日) 19:19:16
まあ、転送する必要もないよな。
メモリがVRAMであればいい。
0498デフォルトの名無しさん2007/09/03(月) 00:22:27
[]の対応が正しくない時の挙動ってどう定義されてるの?
・構文エラーで実行不可
・余った]からは0、[からはEOFにジャンプ
・どこまでも相棒を探しに行ってメモリぶっ壊す
仕様探したけど見つからん、未定義?
0499デフォルトの名無しさん2007/09/03(月) 01:50:31
正式な仕様って無いようなもんだよね…?
一応golfのルールだと
>Unbalanced brackets are a fatal error.
0500デフォルトの名無しさん2007/09/03(月) 10:26:07
オリジナルのAmiga版コンパイラを見ると
余計な ] があるとコンパイラが落ちるような気がする
0501デフォルトの名無しさん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 的な未定義扱いでいいんじゃないだろうか。
0502デフォルトの名無しさん2007/09/04(火) 13:10:58
親プロセスにリターンなんて、どうよ?
0503デフォルトの名無しさん2007/09/05(水) 19:11:32
C++テンプレートでBFをコンパイル時実行するテンプレート作ったんだがどうよ?
0504デフォルトの名無しさん2007/09/05(水) 23:36:32
>>503
出入力はどうしたの?
0505デフォルトの名無しさん2007/09/05(水) 23:52:18
>>504
入力はboost::mpl::vector_cとして引数で渡す
出力は(結果の型)::outputでアクセスできてこれもboost.mplのシーケンスでで帰ってくる
0506デフォルトの名無しさん2007/09/06(木) 00:38:13
とりあえず、お疲れ様、としか。
0507デフォルトの名無しさん2007/09/07(金) 10:59:01
DS大人のBrainFuck300万本突破!
0508デフォルトの名無しさん2007/09/07(金) 17:49:36
DS用のBrainfuckプログラムくらい誰か作ってそうだけどなあ。
もちろんマジコンで動かすような
0509デフォルトの名無しさん2007/09/07(金) 22:09:50
教育テレビでからくり人形の特集やってるけど面白いな
みてたらプリミティブな命令で処理を行うBFのことを思い出したw
0510デフォルトの名無しさん2007/09/10(月) 03:38:30
+++++[>++++++++++<-]>,.
有意義
0511デフォルトの名無しさん2007/09/10(月) 11:45:22
>>510を圧縮してみた。
,.
0512デフォルトの名無しさん2007/09/13(木) 22:11:25
(´,ω,`)
0513デフォルトの名無しさん2007/09/16(日) 18:37:11
!.!
0514デフォルトの名無しさん2007/09/17(月) 21:00:45
コードの載ってるサイトなんか見てて思ったんだが、

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

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

↓

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

テトラミノじゃなくてペントミノになるな。
0544デフォルトの名無しさん2007/10/24(水) 00:16:03
一つ初心者的な質問をしたいんだが。
[->-<]と[+>+<]って結果的には同じような振る舞いする、よな?
0545デフォルトの名無しさん2007/10/24(水) 00:34:41
実装依存じゃん。
0546デフォルトの名無しさん2007/10/24(水) 09:37:08
マイナスが存在するかってことかな?
0547デフォルトの名無しさん2007/10/24(水) 23:15:06
オーバーフロー時の動作は未定義?
0548デフォルトの名無しさん2007/10/24(水) 23:20:18
そもそも規格がないから、定義も未定義もない。
0549デフォルトの名無しさん2007/10/25(木) 17:22:08
作ろうか
0550デフォルトの名無しさん2007/10/25(木) 17:22:51
いらねえよ
0551デフォルトの名無しさん2007/10/25(木) 17:28:51
ぜひ作ってくれ
0552デフォルトの名無しさん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)プログラムの最後まで実行したら終了

うん、これは流行らない
0553デフォルトの名無しさん2007/10/26(金) 01:15:30
他によくある差異。
・ASCIIに入らない文字が入力されたときどうするか
・127を越えるセルが出力されたときどうするか
・改行文字をどう扱うか(CRLF<->LFのような変換を行うか否か)
・入力がEOFに達したときどうするか(0を入れる、-1を入れる、なにもしない)
0554デフォルトの名無しさん2007/10/26(金) 21:13:15
その辺はBFの仕様と言うより標準入出力の仕様のような気がする
0555デフォルトの名無しさん2007/10/27(土) 16:58:18
非同期入力は無し?
0556552007/10/31(水) 03:01:38
ttp://stricter.org/program/brainfuck/bf2c-4.0.zip
Brainfuck to C
最適化が割と適当だけど後でどうにかする。
0557552007/10/31(水) 03:02:45
ttp://stricter.org/program/brainfuck/bf2c-4.0.zip
Brainfuck to C
最適化が割と適当だけど後でどうにかする。
0558552007/10/31(水) 03:03:28
間違えて2回書きこんだけど気にしないでorz
0559デフォルトの名無しさん2007/11/11(日) 17:10:40
うpに全く反応なし。おそろしいね
0560デフォルトの名無しさん2007/11/11(日) 17:32:13
過疎だからなー。
0561デフォルトの名無しさん2007/11/12(月) 01:37:14
いや、気にしちゃいけないんだろうと思ってね。
0562デフォルトの名無しさん2007/11/12(月) 18:49:28
.NET対応まだ?
0563デフォルトの名無しさん2007/11/14(水) 19:51:21
Turbo Brainfuckまだー?
0564デフォルトの名無しさん2007/11/26(月) 17:30:51
.NETって具体的にどうなればいいの?
0565デフォルトの名無しさん2007/12/14(金) 20:25:24
http://cfs.maxn.jp/neta/onlineBrainFuck.html
0566デフォルトの名無しさん2007/12/14(金) 21:46:20
Brainf*ckはネタなんかじゃない!
0567デフォルトの名無しさん2007/12/14(金) 21:57:05
>>564
CLIの上で動けばいいよ。
0568aaa2007/12/17(月) 02:55:54
aha. A tak poza tym?
0569デフォルトの名無しさん2007/12/17(月) 03:19:47
non, ista alama.
0570デフォルトの名無しさん2007/12/17(月) 03:45:22
in BrainFuck, please
0571デフォルトの名無しさん2008/01/07(月) 17:23:53
+-
-+
オセロが出来るな
0572デフォルトの名無しさん2008/01/08(火) 00:20:34
>+++[->+++++[->+++++<]<]>>.----------.<+++[->++++++<]>.----.
0573デフォルトの名無しさん2008/01/08(火) 14:22:23
まあネタも無いしな。
誰かが7行プログラミングスレに行けよ。
まだ、あっただろ?あのスレ。
0574デフォルトの名無しさん2008/01/08(火) 14:26:00
http://pc11.2ch.net/test/read.cgi/tech/1142467359/
あった。
0575デフォルトの名無しさん2008/01/13(日) 03:28:06
sage
0576デフォルトの名無しさん2008/01/23(水) 04:57:44
http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%83%83%E3%82%AF

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

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

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

だから、

#!/var/...

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

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

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

軽快な処理で(・∀・)イイ!
0607デフォルトの名無しさん2008/02/03(日) 13:13:03
>>605
スクリプト言語でなくてもインタプリタがあるならshebang使いたいじゃん
HaskellとかSchemeとか
0608デフォルトの名無しさん2008/02/03(日) 13:15:45
そういや、D言語もshebang対応してるな
0609デフォルトの名無しさん2008/02/20(水) 16:06:52
ストリームでソースを読み込んでいってループしていない、あるいはループが閉じたら
その時点で評価を開始していったらマルチコアを活用できるな。
0610デフォルトの名無しさん2008/02/20(水) 20:11:33
(・д・)
0611デフォルトの名無しさん2008/02/24(日) 11:38:33
shebangでここまで盛り上がれる言語もすごいw
0612デフォルトの名無しさん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 っぽいけど。
0613デフォルトの名無しさん2008/03/04(火) 01:13:21
拡張子で判断するWindows最強。まで読んだ
0614デフォルトの名無しさん2008/03/09(日) 17:02:44
前スレ見てたけど
月刊Interface2002/9読んでみたいなー
バックナンバー頼んでみようかな
0615デフォルトの名無しさん2008/03/19(水) 16:29:57
適当なテキストを出力するbfコードを
生成するソフトとかってない?

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

ループ回して,するんだろうか?
0700デフォルトの名無しさん2008/05/15(木) 18:14:58
getchar/putcharと同じ
0701デフォルトの名無しさん2008/05/15(木) 18:27:14
じゃあゲームっぽい物も作れるな
0702デフォルトの名無しさん2008/05/15(木) 18:27:55
�dクスだぜ
0703デフォルトの名無しさん2008/05/15(木) 23:39:23
U arr Brainfuckerz!!!!!
0704デフォルトの名無しさん2008/05/17(土) 01:14:59
>>692
ありがとうございました
0705デフォルトの名無しさん2008/05/21(水) 14:55:38
http://www.hevanet.com/cristofd/brainfuck/
6行のインタプリタとか有ったのかw
っていうか変態じゃねーの?
0706デフォルトの名無しさん2008/05/21(水) 16:14:54
命令が8個なのに6行とはこれいかに
0707デフォルトの名無しさん2008/05/21(水) 16:25:01
改行端折ればいくらでも行数は減らせるし
対になってる命令もがんばればまとめられるだろ。
0708デフォルトの名無しさん2008/05/21(水) 16:39:20
なんだ。1行6万文字でもいいのかよ
0709デフォルトの名無しさん2008/05/21(水) 17:10:58
俺も80x7行で書いたぜ
0710デフォルトの名無しさん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]]}
0711デフォルトの名無しさん2008/05/22(木) 18:16:02
>>710
つまんねえよ。
0712デフォルトの名無しさん2008/05/23(金) 20:11:20
>>705
はBFインタプリタをBFで書いたってことだろ。
あと一行79文字でそろえてるみたい
0713デフォルトの名無しさん2008/05/24(土) 19:08:57
Brainfuckで潜水艦ゲーム
0714デフォルトの名無しさん2008/05/24(土) 19:35:48
全スレの>>747誰か持ってませんか?
0715デフォルトの名無しさん2008/05/25(日) 17:57:34
持ってるけどそれが何か?
0716デフォルトの名無しさん2008/05/25(日) 20:58:58
俺はこのスレの747を持ってない
0717デフォルトの名無しさん2008/05/25(日) 21:38:11
753は315です
0718デフォルトの名無しさん2008/05/26(月) 17:36:49
>>717 特撮板に帰れ
0719デフォルトの名無しさん2008/05/26(月) 18:47:02
>>715
うpお願いします!
0720デフォルトの名無しさん2008/05/26(月) 20:11:05
ttp://www2.uploda.org/uporg1445718.zip.html
0721デフォルトの名無しさん2008/05/26(月) 20:38:43
ありがとうございます!!
0722デフォルトの名無しさん2008/05/30(金) 16:50:12
昨日1時間かけてようやくできた。orz

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

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

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

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

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

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

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

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

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

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

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

流体機械でググると参考にできそうなのが出るが
0762デフォルトの名無しさん2008/06/28(土) 01:00:17
物理的にbrainfuckの演算ができるからくり作れないかなあ
0763デフォルトの名無しさん2008/06/28(土) 09:54:43
インクレディブルマシーンとかで作れるんじゃね?
0764デフォルトの名無しさん2008/07/03(木) 18:03:30
物理的にBFするのはいいけど、動力を何で供給するかが問題だな。
無限ループもありうるからピタゴラスイッチみたいな位置エネルギーは不向きだろ。
0765デフォルトの名無しさん2008/07/03(木) 18:28:09
手回しがいいな
0766デフォルトの名無しさん2008/07/03(木) 21:15:46
やはり、電気を使うのはいまいち萌えないな。
人力でやるのもなんだし、水道から水を供給して水力で動かすのはどうだ。
0767デフォルトの名無しさん2008/07/03(木) 23:02:40
モデルを作ってから言いなさい
0768デフォルトの名無しさん2008/07/03(木) 23:30:15
>>767
一緒に考えてよ。
0769デフォルトの名無しさん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
0770デフォルトの名無しさん2008/07/09(水) 10:54:05
ちなみに俺がお願いした。
次の日に出来上がってた
0771デフォルトの名無しさん2008/07/09(水) 17:28:55
ええええ、そうなのかw
0772デフォルトの名無しさん2008/07/14(月) 21:36:56
寂れてるな・・・

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

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

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

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

それで思いついたんですが、brainfuck処理系を複数仮想メモリ空間上で走らせたらどうでしょ。
brainfuckの弱いところはポインタが一つしかないことですが、それが一気に解決できるかもしれないわけで。
# 同期とか全然考えていないんで、corewarsみたいなことになっちゃいそうな気がしないでもありませんがw
0776デフォルトの名無しさん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
0777デフォルトの名無しさん2008/07/15(火) 01:01:16
メモリマップドI/Oでええんちゃう
アドレスと命令を結びつければええよ
$00番地に$40を書き込めばCLSとかな
0778デフォルトの名無しさん2008/07/15(火) 01:03:30
その昔「究極のRISC」なんてネタがあったことをふと思い出した
命令はmoveだけで
I/OどころかプログラムカウンタやALUまでメモリ空間にマップされているという
0779デフォルトの名無しさん2008/07/15(火) 01:22:19
続き

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

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

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

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

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

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

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

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

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

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

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

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

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

BFグラフィックが使えたらいいな→じゃあ仮想環境作る→サイトできた/(^o^)\
 ↑                       ↑面白そうだ
 │      ↓話てる次元が違いそうだなw
標準入出力でXサーバを弄れ←X用に作ってるわけじゃないだろ
      ↑                                   ↓BFでエンコするつもりか(?)
だったら今の実装のままでも画像吐ける←ストリーミング    ↓ソケットつなげ
                             ↑リダイレクト先なに?
   Xサーバみたいなことやれ→ふりだしへ
└─────────────────────────────────────────┘
       ↑いや、お前らまとめて好き放題言うくらいならコマンドやソース貼れ
            ↑BFとCを比べてもらったら困る←ログ嫁
                                  ↑今このへん
0803デフォルトの名無しさん2008/07/18(金) 10:52:22
夏の果実に群がる蝿か
0804デフォルトの名無しさん2008/07/18(金) 15:02:31
夏の果実
まで読んだ。
0805デフォルトの名無しさん2008/07/19(土) 00:29:27
ナイス脳内正規化
0806デフォルトの名無しさん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するだけだよね?
0807デフォルトの名無しさん2008/07/19(土) 01:05:39
あ、ここもか
if( p<0 || p>100)
  puts("RANGE ERROR"), exit(0);
0808デフォルトの名無しさん2008/07/28(月) 21:57:44
過疎すぎる
0809デフォルトの名無しさん2008/07/31(木) 18:06:44
まあな
0810デフォルトの名無しさん2008/07/31(木) 20:14:42
だが待て、俺も居るぞ
0811デフォルトの名無しさん2008/07/31(木) 21:52:06
null pointer exception
0812デフォルトの名無しさん2008/07/31(木) 21:53:22
>>811
ga
0813デフォルトの名無しさん2008/08/03(日) 20:27:50
Brainfuckある程度コード書けるようになったから
次は Lazy K に挑戦・・・

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

wierd <http://esolangs.org/wiki/Wierd > は純粋に 6 命令かも。(NOP入れて7)
0817デフォルトの名無しさん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をポインタとし値をアドレスとして扱う
0818デフォルトの名無しさん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
てのも考えたけど、ここまで来るとほとんどアセンブリだな・・・。スレ汚しスイマセン。
0819デフォルトの名無しさん2008/08/10(日) 17:18:21
チューリング完全じゃないのが致命的
0820デフォルトの名無しさん2008/08/11(月) 18:43:34
>>817-818
とっつきやすくて面白そう。インタプリタが出来たら見てみたい。

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

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

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

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

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

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

メモリがmod 256で、EOFが255になる実装なら
>,+[>,+]<[-.<]
でいけるかな、と。
0832デフォルトの名無しさん2008/08/12(火) 18:54:20
キーボードのCtrl+Dを押す
↓
ターミナルにEOTが送られる
↓
EOTを受けて、ターミナルが行バッファの内容を即座に送り出す
↓
BFインタプリタが呼んでいたreadが返る
↓
readの戻り値が0の場合(行頭でCtrl+Dを押したか、二回連続でCtrl+Dを押したとき)、EOFに到達したと解釈
↓
BFのカレントアドレスに何もセットしないで(仕様によっては0をセットして)入力命令","が実行終了

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

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

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


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

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

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

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



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

punctfuck.rb

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

■[Ruby] 記号だけで brainfuck インタプリタ
http://d.hatena.ne.jp/ku-ma-me/20080626/p1
0882デフォルトの名無しさん2008/11/19(水) 23:18:54
Rubyすげーw
0883デフォルトの名無しさん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)を題材に
> プログラミング言語の作り方を解説します。
0884デフォルトの名無しさん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
0885デフォルトの名無しさん2008/12/08(月) 22:55:11
これは面白そうだ
けど普通に値が張るな…。
0886デフォルトの名無しさん2008/12/08(月) 23:07:07
印刷できない言語を印刷物で紹介しようとする時点でbakaだと思うw
0887デフォルトの名無しさん2008/12/09(火) 01:17:08
組み込み系のCしか使った事ない俺でも読める?
この際だからRuby勉強しようかな
0888デフォルトの名無しさん2008/12/09(火) 14:30:48
>>884にある中で他にスレがあるのは草言語だけか
0889デフォルトの名無しさん2008/12/10(水) 00:24:31
スレばっかりあっても仕方なくね?
使い道がない
面白いとは思うけど
0890デフォルトの名無しさん2008/12/10(水) 00:32:40
このスレも使い切るのに二年はかかりそうだしね。
作るとしたら esoteric language 総合がいいところか。
0891デフォルトの名無しさん2008/12/10(水) 02:45:18
こんな感じ?

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

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



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

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

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

>>904
BFに限定すると他の言語では遊べないし、
総合なんて曖昧な表記だと、その定義で論争が起きそうだ。
かといって過疎スレ立てまくるのもアレだし、難しいところよね。
0907デフォルトの名無しさん2008/12/10(水) 23:29:00
bf & 類似言語スレ
にして
>>1に↑の言語リストとbfの命令リスト貼ればいいよ
0908デフォルトの名無しさん2008/12/11(木) 00:41:48
【Brainfuck】難解プログラミング言語【Whitespace】
でいいよ
右の方はスレ移ったら入れ替えてくってことで
0909デフォルトの名無しさん2008/12/11(木) 02:00:54
BFってすごいよね。可能性は無限大。
N60-BASICを知ってから25年以上。C言語以来の衝撃受けた。最近知ったけどw
0910デフォルトの名無しさん2008/12/11(木) 09:56:54
チューリングマシンを知らなかったのかと
0911デフォルトの名無しさん2008/12/11(木) 10:10:28
>>910
四則演算をしている小学生に群・環・体を知らなかったのかと
微積をする高校生にε-δ法を知らなかったなのかと
お前は言うわけかw
0912デフォルトの名無しさん2008/12/11(木) 10:40:31
生まれたときからBASICはじめたとして、少なくとも25才になるまで知らなかったんだろ?
0913デフォルトの名無しさん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
0914デフォルトの名無しさん2008/12/11(木) 11:07:40
目次発見
MYCOM BOOKS - 目次
http://book.mycom.co.jp/MYCOM/html/book/978-4-8399-2784-4/index/978-4-8399-2784-4.html
0915デフォルトの名無しさん2008/12/11(木) 11:10:56
過去スレ読まない人っているんだな・・・
0916デフォルトの名無しさん2008/12/11(木) 11:15:28
まぁいいじゃないか。かなり衝撃的な出版だし
0917デフォルトの名無しさん2008/12/11(木) 11:18:17
いくらお前にとって衝撃的でも
同じネタの重複はうざいだけ
0918デフォルトの名無しさん2008/12/11(木) 11:21:34
俺に言われても
0919デフォルトの名無しさん2008/12/11(木) 11:40:53
既出だったかスマソ・・・
最近、Janeの検索の調子が悪いんだよな
0920デフォルトの名無しさん2008/12/11(木) 11:53:02
検索も何もたかだか30個前のレスじゃないか…
0921デフォルトの名無しさん2008/12/11(木) 16:55:30
ミスを認めず何かのせいにする辺り反省してないな
0922デフォルトの名無しさん2008/12/12(金) 14:23:14
うちの大学の図書館には入荷するだろうか?
0923デフォルトの名無しさん2008/12/12(金) 15:26:53
図書館に訊けよ…
0924デフォルトの名無しさん2008/12/12(金) 17:35:50
読みたいならリクエストするのが図書館の使い方。
09259222008/12/12(金) 18:04:56
プログラミング本は結構充実してるから入るかと思ったけど、
一週間ぐらいして入荷しなかったら注目してみる
0926デフォルトの名無しさん2008/12/14(日) 00:08:50
注文しろ
友人の友人の友人くらいまで動員して
絶対にだ!
09279222008/12/14(日) 12:08:02
今更だけど>>952は、注目→注文だった
0928デフォルトの名無しさん2008/12/14(日) 20:15:58
大丈夫
通じてる
0929デフォルトの名無しさん2008/12/15(月) 20:05:53
>>928をみて攻略本という単語が頭をよぎった
0930デフォルトの名無しさん2008/12/16(火) 01:01:29
いいなーこれ。誰か行ける人マジでレポ頼む。
東京でもイベント開いてくれないかな。

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

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

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

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

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

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

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

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

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

孔子
0962デフォルトの名無しさん2009/01/06(火) 16:08:22
Brainfuckで書こうぜ
0963デフォルトの名無しさん2009/01/06(火) 17:53:50
これってメモリマップドIOするのはチート?
レジストリや入出力系統をはっつけると結構世界が広がると思うが。
0964デフォルトの名無しさん2009/01/06(火) 21:18:49
文法マスターしていい気になってる脱初心者はすぐ文法拡張したくなるから困ったもんだ。
そういった俗世の煩悩から開放されたとき真のBF道に一歩踏み入れたといえるだろう。
0965デフォルトの名無しさん2009/01/07(水) 19:22:37
bf用OSというかIDE作って
<<< の位置を 8bit Input (from IDE)
<< の位置を 8bit Output (to IDE)
< の位置を status (select()みたいなもの)
IDE側と通信してGUI扱えるようにならないかな
0966デフォルトの名無しさん2009/01/07(水) 19:57:10
>>963
レジスタでもフレームバッファでもシリアルポートでも好きなものに割り当ててくれたらいい
0967デフォルトの名無しさん2009/01/07(水) 21:42:18
BF 専用の CPU って存在してるの?
0968デフォルトの名無しさん2009/01/07(水) 22:13:24
ファイルの入出力だけでも出来れば
やれることかなり増えそうだが
stdin stdout のリダイレクトで OK?
0969デフォルトの名無しさん2009/01/07(水) 22:19:56
,>,>,>,>,>,>,>,.<.<.<.<.<.<.<.
asdfpoiu
uiopfdsa
0970デフォルトの名無しさん2009/01/07(水) 23:17:41
>++++++++++++++[<++++++++++>-]>++++++++++++++[<++++++++++>-]
<++++.>++++++++[<<+++++>>-]<<++.
>>+++++++[<-->-]<.>+++++[<<-->>-]<<-.
>.>++++++++[<<+++++++>>-]<<++++++.
0971デフォルトの名無しさん2009/01/07(水) 23:19:54
>>968
ヒント:どんな機能を付け加えてもBFで使いこなすのは難しい
0972デフォルトの名無しさん2009/01/07(水) 23:25:36
それを言っちゃあおしめえよ
0973デフォルトの名無しさん2009/01/07(水) 23:35:44
せめてポインタが2本あればなぁ
0974デフォルトの名無しさん2009/01/07(水) 23:41:19
なんだかんだ言って前スレでやり尽くされてるからな
0975デフォルトの名無しさん2009/01/07(水) 23:46:06
難読化ツールとしての需要も既に廃れた感あり
0976デフォルトの名無しさん2009/01/07(水) 23:52:12
変数2個のときは被乗数を左(0)右(2)において乗数を真ん中(1)に置くのが効率いいのかな
0977デフォルトの名無しさん2009/01/08(木) 00:01:47
>>967
>>75
http://www.clifford.at/bfcpu/bfcpu.html
0978デフォルトの名無しさん2009/01/08(木) 00:06:55
ありがとん
0979デフォルトの名無しさん2009/01/08(木) 00:12:10
addr/data_r/data_wはあくまでプログラムフェッチ用ですよね
CPU内部に大きいレジスタがあるんですかね
0980デフォルトの名無しさん2009/01/08(木) 00:13:45
あーでもデータアクセス用と共用になっててもおかしくはないのう
0981デフォルトの名無しさん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:

,[>,]>

0982デフォルトの名無しさん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).
0983デフォルトの名無しさん2009/01/08(木) 07:41:07
次スレまだ?
0984デフォルトの名無しさん2009/01/08(木) 11:41:02
+++++++[>+++<-]>[>+++<-]>-..--------..--. 俺のレス張るなwww
0985デフォルトの名無しさん2009/01/08(木) 13:03:46
>++++++++++[<++++++++++>-]>++++++++++[<++++++++++>-]
<++++.>+++[<<+++++>>-]<<+..----.>>++++++++[<------>-]
<++.>+++[<---->-]<+..>++[<<++>>-]<<----.>>+++[<<---->>-]
<<-.>++..---.++++.<.+++++.>----.<++++++.---------.++++++
+++++++++.>+.<.---------------.++++++++++++++.+.>.<--.--
-----------.----.+++.>-.<-.++++.++.>+.<+++++++++++.-----
----------.--.+++++.>.++.+.+.--.++.+++++.----.---.++++.+++.---------.
0986デフォルトの名無しさん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
0987デフォルトの名無しさん2009/01/08(木) 17:16:53
codesegmentとdatasegmentが同じだった場合の挙動を想像してみた
. は . が表示される
><. は > が表示される
[+. は ] が表示される
[+] は 対応する [ がその時点で失われているんだけど
0988デフォルトの名無しさん2009/01/08(木) 17:24:31
スレにBFコードが張られた時に即、出力を知るために

マウスで暗転→右クリックでコピー
してから起動したらBFを実行するhta作ってみた
0989デフォルトの名無しさん2009/01/08(木) 17:30:21
ブックマークレットとかUSじゃダメ?
0990デフォルトの名無しさん2009/01/08(木) 17:33:54
FileFoxのプラグ印きぼん
0991デフォルトの名無しさん2009/01/08(木) 17:45:42
,[>+.<-]
0992デフォルトの名無しさん2009/01/08(木) 17:49:27
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
0993デフォルトの名無しさん2009/01/08(木) 20:47:33
BrainFuck Part.3 <[+-.,]>
http://pc11.2ch.net/test/read.cgi/tech/1231384158/
0994デフォルトの名無しさん2009/01/08(木) 21:01:17
>++++++++++[<++++++++++>-]>++++++++++[<++++++++++>-]
<++++.>+++[<<+++++>>-]<<+..----.>>++++++++[<------>-]
<++.>+++[<---->-]<+..>++[<<++>>-]<<----.>>+++[<<---->>-]
<<-.>++..---.++++.<.+++++.>----.<++++++.---------.++++++
+++++++++.>+.<.---------------.++++++++++++++.+.>.<--.--
-----------.----.+++.>-.<-.++++.++.>+.<+++++++++++.-----
----------.--.+++++.>.++.+.+.--.++.+++++.----.---.++++.+++.---------.
0995デフォルトの名無しさん2009/01/08(木) 21:01:54
BrainFuck Part.3 <[+-.,]>
http://pc11.2ch.net/test/read.cgi/tech/1231384158/
0996 ◆GA6i1P9DC2 2009/01/08(木) 21:05:18
埋め
0997 ◆GA6i1P9DC2 2009/01/08(木) 21:05:39
埋め
0998 ◆GA6i1P9DC2 2009/01/08(木) 21:06:00
埋め
0999 ◆GA6i1P9DC2 2009/01/08(木) 21:06:24
999
1000 ◆GA6i1P9DC2 2009/01/08(木) 21:06:44
1000get!!!
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。