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

BrainIchigo - 5 commands programming language / 5つの文字種でつくるプログラミング言語

2017/06/03 23:55:00
#IchigoJam #js 

I created new esoteric programming language "BrainIchigo". It's just a forked from Brainfuck. BrainIchigo has 5 simple commands (Brainfuck has 8). While it is fully Turing-complete also.
新しい難解プログラミング言語「BrainIchigo」を作りました。「Brainfuck」からのただの派生です。BrainIchigoがもつコマンドは5つ(Brainfuckは8つ)。もちろんチューリング完全です。

H: p++
I: [p]++
C: start a loop
O: input
G: opposit the next command (+ → -, start → end, input → output)

IIIIIIIIICHIIIIIIIIHIIIIIIIIIIIHIIIIIGHGHGHGIGCHGOHIIGOIIIIIIIGOGOIIIGOHGIGOGIGIGIGIGIGIGIGIGIGIGIGIGOGHIIIIIIIIGOGIGIGIGIGIGIGIGIGOIIIGOGIGIGIGIGIGIGOGIGIGIGIGIGIGIGIGOHIGO

Hello, world!


"BrainIchigo interpreter" on web written in JavaScript

BrainIchigo interpreter on IchigoJam BASIC

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

links
- Turing completeness (チューリング完全@ja)

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