【自作】 プログラミング 【してみた】

8bd91ced :Anonymous 2011-03-27 14:43
brainfuckでのcatで代表的なのに
,+[-.,+]
,[.[-],]
の2つがあるけど、インタプリタによって動いたり動かなかったりするなぞがやっと解けた、気がする。

EOFで0が返るか-1が返るか、それとも無視するかってことみたい。
もっともシンプルなcatは ,[.,] らしいけど、これ、null文字が出るまで延々出力しちゃうのね。
擬似コードで書くと
hoge = getchar();
while (hoge) {
putchar(hoge);
hoge = getchar();
}
だから hoge = 0 になると(0 = null)while (0)でループ終了。
EOFで0が返るインタプリタなら(手元には無かったけど)これでcat完成。
-1が返るなら、インクリメントすれば0に。
無視=何も返らないなら [-] で一旦0にしておけばおk。
ということらしい。多分。
Powered by shinGETsu.