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

■ このスレッドは過去ログ倉庫に格納されています
2009/01/08(木) 12:09:18
BrainFuckとは
 難解プログラミング言語の一つ。
 オシシメサイトはhttp://www.google.co.jp/

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

前スレ: BrainFuck Part.2 <[+-.,]>
http://pc11.2ch.net/test/read.cgi/tech/1177988460/

過去スレ: BrainFuck <[+-.,]>
http://pc11.2ch.net/test/read.cgi/tech/1036013915/
2009/01/09(金) 19:00:32
>>50

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

こんな競技になる。
2009/09/02(水) 18:01:24
+[.]

じゃあかんの
2009/09/02(水) 18:24:18
>>145
それだと無限ループになって
つまらないだろ
2009/09/02(水) 19:06:13
つまんないけど最強だろ
2009/09/02(水) 19:10:37
ビジービーバーゲームでのプログラムは停止しなきゃいけないんだ。
じゃなきゃ比較なんて出来ないからな。
2009/09/02(水) 20:00:00
じゃこれ
[>+.]
ポインタがオーバーフローすれば止まる
2009/09/02(水) 20:03:58
>>149
でも、処理系によっては
ループするぞ
■ このスレッドは過去ログ倉庫に格納されています