最もシンプルなコンピューター言語「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)!