Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
42
Task/Execute-Brain-/BBC-BASIC/execute-brain-.basic
Normal file
42
Task/Execute-Brain-/BBC-BASIC/execute-brain-.basic
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
bf$ = "++++++++[>++++[>++>+++>+++>+<<<<-]>+>->+>>+[<]<-]>>.>" + \
|
||||
\ ">---.+++++++..+++.>.<<-.>.+++.------.--------.>+.>++.+++."
|
||||
PROCbrainfuck(bf$)
|
||||
END
|
||||
|
||||
DEF PROCbrainfuck(b$)
|
||||
LOCAL B%, K%, M%, P%
|
||||
DIM M% LOCAL 65535
|
||||
B% = 1 : REM pointer to string
|
||||
K% = 0 : REM bracket counter
|
||||
P% = 0 : REM pointer to memory
|
||||
FOR B% = 1 TO LEN(b$)
|
||||
CASE MID$(b$,B%,1) OF
|
||||
WHEN "+": M%?P% += 1
|
||||
WHEN "-": M%?P% -= 1
|
||||
WHEN ">": P% += 1
|
||||
WHEN "<": P% -= 1
|
||||
WHEN ".": VDU M%?P%
|
||||
WHEN ",": M%?P% = GET
|
||||
WHEN "[":
|
||||
IF M%?P% = 0 THEN
|
||||
K% = 1
|
||||
B% += 1
|
||||
WHILE K%
|
||||
IF MID$(b$,B%,1) = "[" THEN K% += 1
|
||||
IF MID$(b$,B%,1) = "]" THEN K% -= 1
|
||||
B% += 1
|
||||
ENDWHILE
|
||||
ENDIF
|
||||
WHEN "]":
|
||||
IF M%?P% <> 0 THEN
|
||||
K% = -1
|
||||
B% -= 1
|
||||
WHILE K%
|
||||
IF MID$(b$,B%,1) = "[" THEN K% += 1
|
||||
IF MID$(b$,B%,1) = "]" THEN K% -= 1
|
||||
B% -= 1
|
||||
ENDWHILE
|
||||
ENDIF
|
||||
ENDCASE
|
||||
NEXT
|
||||
ENDPROC
|
||||
Loading…
Add table
Add a link
Reference in a new issue