\ \ Brainfuck Interpreter \ \ Lukas Maczejka 0426085 - Christian Seidl 0426409 \ \ 2007 \ create bfcells 30000 cells allot create bfpos 1 cells allot : increment bfpos @ 1 + bfpos ! ; : decrement bfpos @ 1 - bfpos ! ; : add bfcells bfpos @ cells + @ 1 + bfcells bfpos @ cells + ! ; : subtract bfcells bfpos @ cells + @ 1 - bfcells bfpos @ cells + ! ; : print bfcells bfpos @ cells + @ emit ; : read bfcells bfpos @ cells + 1 stdin read-line drop drop drop ; : check bfcells bfpos @ cells + @ 0 = 0= ; : bf 0 do dup c@ CASE 43 OF add ENDOF \ + 45 OF subtract ENDOF \ - 60 OF decrement ENDOF \ < 62 OF increment ENDOF \ > 91 OF 2r> 1 - 2dup 2>r 2>r ENDOF \ [ 93 OF dup check if 2r> 2r@ swap drop rot drop - swap >r - 1 - r> else 2r> 2r> 2drop 2>r then drop ENDOF \ ] 44 OF read ENDOF \ , 46 OF print ENDOF \ . ENDCASE 1+ loop ; page clearstack \ Hello World \ s" +++++hier+++ein+kommentar+[>+++++++>++ ++++ ++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." \ s" >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-]<.>>>++++++++++[<+++++++++>-]<---.<<<<.+++.------.--------.>>+." \ 20 Input +2 s" ++++++++++++++++++++[>,++.<-]>>." \ 20 Input \ s" ++++++++++++++++++++[>,.<-]>>." bf