interpret-brainfuck-from ( str i brainfuck -- str next/f brainfuck )


Vocabulary
brainfuck.private

Inputs
stran object
ian object
brainfuckan object


Outputs
stran object
next/fan object
brainfuckan object


Definition


: interpret-brainfuck-from
( str i brainfuck -- str next/f brainfuck )
2over swap ?nth [ 1 + ] 2dip {
{ 62 [ 1 (>) ] }
{ 60 [ 1 (<) ] }
{ 43 [ 1 (+) ] }
{ 45 [ 1 (-) ] }
{ 46 [ (.) ] }
{ 44 [ (,) ] }
{ 35 [ (#) ] }
{ 91 [ get-memory zero? [ [ end-loop ] dip ] when ] }
{
93
[ get-memory zero? [ [ start-loop ] dip ] unless ]
}
{ f [ [ drop f ] dip ] }
[ blank? [ "Invalid input" throw ] unless ]
} case ;