2009-06-01 14:21:14 -04:00
|
|
|
! Copyright (C) 2009 John Benediktsson
|
|
|
|
|
! See http://factorcode.org/license.txt for BSD license
|
|
|
|
|
|
2009-06-01 17:00:37 -04:00
|
|
|
USING: brainfuck io.streams.string multiline tools.test ;
|
2009-06-01 14:21:14 -04:00
|
|
|
|
|
|
|
|
|
2009-06-01 17:00:37 -04:00
|
|
|
! Hello World!
|
|
|
|
|
|
2009-06-01 14:21:14 -04:00
|
|
|
[ "Hello World!\n" ] [ <" ++++++++++[>+++++++>++++++++++>+++>+<<<<-]
|
|
|
|
|
>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.
|
|
|
|
|
------.--------.>+.>. "> get-brainfuck ] unit-test
|
|
|
|
|
|
2009-06-01 17:00:37 -04:00
|
|
|
! Addition (single-digit)
|
|
|
|
|
|
|
|
|
|
[ "8" ] [ "35" [ ",>++++++[<-------->-],[<+>-]<."
|
|
|
|
|
get-brainfuck ] with-string-reader ] unit-test
|
|
|
|
|
|
|
|
|
|
! Multiplication (single-digit)
|
|
|
|
|
|
|
|
|
|
[ "8\0" ] [ "24" [ <" ,>,>++++++++[<------<------>>-]
|
|
|
|
|
<<[>[>+>+<<-]>>[<<+>>-]<<<-]
|
|
|
|
|
>>>++++++[<++++++++>-],<.>. ">
|
|
|
|
|
get-brainfuck ] with-string-reader ] unit-test
|
|
|
|
|
|
|
|
|
|
! Division (single-digit, integer)
|
|
|
|
|
|
|
|
|
|
[ "3" ] [ "62" [ <" ,>,>++++++[-<--------<-------->>]
|
|
|
|
|
<<[
|
|
|
|
|
>[->+>+<<]
|
|
|
|
|
>[-<<-
|
|
|
|
|
[>]>>>[<[>>>-<<<[-]]>>]<<]
|
|
|
|
|
>>>+
|
|
|
|
|
<<[-<<+>>]
|
|
|
|
|
<<<]
|
|
|
|
|
>[-]>>>>[-<<<<<+>>>>>]
|
|
|
|
|
<<<<++++++[-<++++++++>]<. ">
|
|
|
|
|
get-brainfuck ] with-string-reader ] unit-test
|
|
|
|
|
|
|
|
|
|
! Uppercase
|
|
|
|
|
|
|
|
|
|
[ "A" ] [ "a\n" [ ",----------[----------------------.,----------]"
|
|
|
|
|
get-brainfuck ] with-string-reader ] unit-test
|
|
|
|
|
|
|
|
|
|
! cat
|
|
|
|
|
|
|
|
|
|
[ "ABC" ] [ "ABC\0" [ ",[.,]" get-brainfuck ] with-string-reader ] unit-test
|
|
|
|
|
|
|
|
|
|
|