create every day - 福野泰介の一日一創

IchigoBF - IchigoJam Night at Roppongi Hackers Bar / 六本木ハッカーズバーにて

2017/05/31 23:55:00
#IchigoJam 

I made the famous simplest computer language "Brainfuck" interpreter on IchigoJam.
最もシンプルなコンピューター言語「Brainfuck」のインタプリターをIchigoJamで作ってみました。

"Hello, world!" in Brainfuck on IchigoJam

The BASIC program is here. プログラムはこんな感じ!

1 'IchigoBF 100 CLV 110 P=0 120 M="+++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++.+++++++..+++.>-.------------.<++++++++.--------.+++.------.--------.>+." 200 @LOOP:C=PEEK(M):M=M+1 210 IF C=ASC(">") P=P+1 220 IF C=ASC("<") P=P-1 230 IF C=ASC("+") [P]=[P]+1 240 IF C=ASC("-") [P]=[P]-1 250 IF C=ASC(".") ?CHR$([P]&#FF); 260 IF C=ASC(",") GSB@GETC:[P]=N 270 IF C=ASC("[") IF [P]=0 GSB@SKIP 280 IF C=ASC("]") IF [P] GSB@BACK 290 IF C=34 ?:END 300 GOTO@LOOP 400 @GETC 410 N=INKEY():IF N=0 CONT ELSE RTN 500 @SKIP 510 S=0:N=M 520 @LSKIP:D=PEEK(N) 530 IF D=ASC("]") IF S=0 M=N+1:RTN ELSE S=S-1 540 IF D=ASC("[") S=S+1 550 IF D=34 STOP 560 N=N+1:GOTO@LSKIP 600 @BACK 610 S=0:N=M-2 620 @LBACK:D=PEEK(N) 630 IF D=ASC("[") IF S=0 M=N+1:RTN ELSE S=S-1 640 IF D=ASC("]") S=S+1 650 IF D=34 STOP 660 N=N-1:GOTO@LBACK

Hello, world! 定番

120 M="+++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++.+++++++..+++.>-.------------.<++++++++.--------.+++.------.--------.>+."

echo 入力されたものを出力するだけ

120 M="+[>,.<]"

put num 3 数値を表示 (+48 for the number character)

120 M="+++ ++++++++++++++++++++++++++++++++++++++++++++++++."

add 2+3=5 足し算

120 M="++>+++< >[-<+>]< ++++++++++++++++++++++++++++++++++++++++++++++++."

multiply 3*2=6 掛け算

120 M="++++>++< [->[->>+<<]>>[-<+<+>>]<<<]>> ++++++++++++++++++++++++++++++++++++++++++++++++."

Visual brainfuck - IDE for Brainfuck!?

Hacker Kondo told me! ハッカーの近藤さんが教えてくれました!

IchigoLatte live coding by 断空我(Dankuga)

Hackers Bar, wonderful space for hackers at Roppongi(六本木@ja)!

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image