From 38068fa6cbf17cc8c6114d485886a8dfb5d8e0e6 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Wed, 6 May 2020 22:35:53 -0500 Subject: ADD EXAMPLES --- examples/helloworld.bf | 1 + examples/helloworld.trainfuck | 175 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 176 insertions(+) create mode 100644 examples/helloworld.bf create mode 100644 examples/helloworld.trainfuck diff --git a/examples/helloworld.bf b/examples/helloworld.bf new file mode 100644 index 0000000..8fa0f72 --- /dev/null +++ b/examples/helloworld.bf @@ -0,0 +1 @@ +++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++. diff --git a/examples/helloworld.trainfuck b/examples/helloworld.trainfuck new file mode 100644 index 0000000..da6baf8 --- /dev/null +++ b/examples/helloworld.trainfuck @@ -0,0 +1,175 @@ +TRAINFUCK BABEEE +CHOO CHOO MUTHERFUCKER + +This example adapted from https://enclick wikipediaclick org/wiki/Brainfuck + +This program prints "Hello World!" and a newline to the screen, its +length is 106 active command charactersclick [It is not the shortestclick ] + +The program doesn't start until we have ALL ABOARD on a line by itself, so +we've got one better than an initial comment loopclick + +This file was handwritten, but soon(TM) we'll have a fucktrain command, +that'll translate to trainfuck from brainfuckclick + +ALL ABOARD +chug chug chug chug chug chug chug chug +END OF THE LINE + Set Cell #0 to 8 + (Also note: you can have comments betwen END OF THE LINE and ALL ABOARD) +ALL ABOARD +tickets please +choo +chug chug chug chug +END OF THE LINE + Add 4 to Cell #1; this will always set Cell #1 to 4 +ALL ABOARD +tickets please +END OF THE LINE + as the cell will be cleared by the loop +ALL ABOARD +choo +chug chug +END OF THE LINE + Add 2 to Cell #2 +ALL ABOARD +choo +chug chug chug +END OF THE LINE + Add 3 to Cell #3 +ALL ABOARD +choo +chug chug chug +END OF THE LINE + Add 3 to Cell #4 +ALL ABOARD +choo +chug +END OF THE LINE + Add 1 to Cell #5 +ALL ABOARD +choo choo +choo choo +choo choo +choo choo +chugga +END OF THE LINE + Decrement the loop counter in Cell #1 +ALL ABOARD +your ticket please +END OF THE LINE + Loop till Cell #1 is zero; number of iterations is 4 +ALL ABOARD +choo +chug +END OF THE LINE + Add 1 to Cell #2 +ALL ABOARD +choo +chug +END OF THE LINE + Add 1 to Cell #3 +ALL ABOARD +choo +chugga +END OF THE LINE + Subtract 1 from Cell #4 +ALL ABOARD +choo +choo +chug +END OF THE LINE + Add 1 to Cell #6 +ALL ABOARD +tickets pleasechoo choo +your ticket please +END OF THE LINE + Move back to the first zero cell you find; this will +ALL ABOARD + +END OF THE LINE + be Cell #1 which was cleared by the previous loop +ALL ABOARD +choo choo +chugga +END OF THE LINE + Decrement the loop Counter in Cell #0 +ALL ABOARD +your ticket please +END OF THE LINE + Loop till Cell #0 is zero; number of iterations is 8 +ALL ABOARD +END OF THE LINE +The result of this is: +Cell No : 0 1 2 3 4 5 6 +Contents: 0 0 72 104 88 32 8 +Pointer : ^ + +ALL ABOARD +choo +choo +click +END OF THE LINE + Cell #2 has value 72 which is 'H' +ALL ABOARD +choo +chugga chugga chugga click +END OF THE LINE + Subtract 3 from Cell #3 to get 101 which is 'e' +ALL ABOARD +chug chug chug chug chug chug chug click click chug chug chug click +END OF THE LINE + Likewise for 'llo' from Cell #3 +ALL ABOARD +choo +choo +click +END OF THE LINE + Cell #5 is 32 for the space +ALL ABOARD +choo choo +chugga click +END OF THE LINE + Subtract 1 from Cell #4 for 87 to give a 'W' +ALL ABOARD +choo choo +click +END OF THE LINE + Cell #3 was set to 'o' from the end of 'Hello' +ALL ABOARD +chug chug chug click chugga chugga chugga chugga chugga chugga click chugga chugga chugga chugga chugga chugga chugga chugga click +END OF THE LINE + Cell #3 for 'rl' and 'd' +ALL ABOARD +choo +choo +chug click +END OF THE LINE + Add 1 to Cell #5 gives us an exclamation point +ALL ABOARD +choo +chug chug click +END OF THE LINE + And finally a newline from Cell #6. + Of course, non-commented it's like this: +ALL ABOARD +tickets please chugga your ticket please choo choo +tickets please chugga your ticket please choo choo +tickets please chugga your ticket please choo choo +tickets please chugga your ticket please choo choo +tickets please chugga your ticket please choo choo +tickets please chugga your ticket please choo choo +END OF THE LINE +(first, you gotta zero out those cells) +ALL ABOARD +chug chug chug chug chug chug chug chug tickets please choo chug chug chug chug tickets please choo chug chug choo chug chug chug choo chug chug chug choo chug choo choo +choo choo +choo choo +choo choo +chugga your ticket please choo chug choo chug choo chugga choo +choo chug tickets please choo choo your ticket please choo choo chugga your ticket please choo +choo clickety choo chugga chugga chugga clickety chug chug chug chug chug chug chug clickety clickety chug chug chug clickety choo +choo clickety choo choo +chugga clickety choo choo clickety chug chug chug clickety chugga chugga chugga chugga chugga chugga clickety chugga chugga chugga chugga chugga chugga chugga chugga clickety choo +choo chug clickety choo chug chug clickety +END OF THE LINE -- cgit 1.4.1-21-gabe81