From cdfe94135fe8ab1f407bb5e09c3cea93ec300469 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Wed, 6 Jul 2022 22:19:46 -0500 Subject: Fix examples --- examples/hello-world.tf | 271 +++++------------------------------------------- 1 file changed, 28 insertions(+), 243 deletions(-) (limited to 'examples/hello-world.tf') diff --git a/examples/hello-world.tf b/examples/hello-world.tf index 397bc43..227faf6 100644 --- a/examples/hello-world.tf +++ b/examples/hello-world.tf @@ -8,47 +8,47 @@ ignored, the "[" and "]" characters just have to be balanced. This loop and the commands it contains are ignored because the current cell defaults to a value of 0; the 0 value causes this loop to be skipped. -from https://en.wikipedia.org/wiki/Brainfuck#Hello_World! +from https://en.wikipedia.org/wiki/Brainfuck#Hello_World! ALL ABOARD -chug chug chug chug chug chug chug chug +chug chug chug chug chug chug chug chug END OF THE LINE Set Cell #0 to 8 ALL ABOARD -tickets please +tickets please choo -chug chug chug chug +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 +tickets please END OF THE LINE as the cell will be cleared by the loop ALL ABOARD choo -chug chug +chug chug END OF THE LINE Add 2 to Cell #2 ALL ABOARD choo -chug chug chug +chug chug chug END OF THE LINE Add 3 to Cell #3 ALL ABOARD choo -chug chug chug +chug chug chug END OF THE LINE Add 3 to Cell #4 ALL ABOARD choo -chug +chug END OF THE LINE Add 1 to Cell #5 @@ -57,55 +57,55 @@ choo choo choo choo choo choo choo choo -chugga +chugga END OF THE LINE Decrement the loop counter in Cell #1 ALL ABOARD -your ticket please +your ticket please END OF THE LINE Loop until Cell #1 is zero; number of iterations is 4 ALL ABOARD choo -chug +chug END OF THE LINE Add 1 to Cell #2 ALL ABOARD choo -chug +chug END OF THE LINE Add 1 to Cell #3 ALL ABOARD choo -chugga +chugga END OF THE LINE Subtract 1 from Cell #4 ALL ABOARD choo choo -chug +chug END OF THE LINE Add 1 to Cell #6 ALL ABOARD tickets please choo choo -your ticket please +your ticket please END OF THE LINE Move back to the first zero cell you find; this will be Cell #1 which was cleared by the previous loop ALL ABOARD choo choo -chugga +chugga END OF THE LINE Decrement the loop Counter in Cell #0 ALL ABOARD -your ticket please +your ticket please END OF THE LINE Loop until Cell #0 is zero; number of iterations is 8 @@ -118,18 +118,18 @@ Pointer : ^ ALL ABOARD choo choo -click +click END OF THE LINE Cell #2 has value 72 which is 'H' ALL ABOARD choo -chugga chugga chugga click +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 clickety click chug chug chug click +chug chug chug chug chug chug chug clickety click chug chug chug click END OF THE LINE Likewise for 'llo' from Cell #3 @@ -137,252 +137,37 @@ END OF THE LINE ALL ABOARD choo choo -click +click END OF THE LINE Cell #5 is 32 for the space ALL ABOARD choo choo -chugga clickety +chugga clickety END OF THE LINE Subtract 1 from Cell #4 for 87 to give a 'W' ALL ABOARD choo choo -clickety +clickety 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 clickety -chugga chugga chugga chugga chugga chugga chugga chugga click +chug chug chug click chugga chugga chugga chugga chugga chugga clickety +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 +chug click END OF THE LINE Add 1 to Cell #5 gives us an exclamation point ALL ABOARD choo -chug chug click +chug chug click END OF THE LINE And finally a newline from Cell #6 - ROT13 in Brainfuck -from https://en.wikipedia.org/wiki/Brainfuck#ROT13 - - - - -ALL ABOARD -chugga clack chug tickets please -END OF THE LINE - Read first character and start outer character reading loop - -ALL ABOARD -chugga tickets please -END OF THE LINE - Skip forward if character is 0 - -ALL ABOARD -choo -choo -chug chug chug chug tickets please choo -chug chug chug chug chug chug chug chug -choo choo -chugga your ticket please -END OF THE LINE - Set up divisor (32) for division loop -(MEMORY LAYOUT: dividend copy remainder divisor quotient zero zero) - -ALL ABOARD -choo choo -chug choo choo -chugga tickets please -END OF THE LINE - Set up dividend (x minus 1) and enter division loop - -ALL ABOARD -choo -chug choo -chug choo -chugga tickets please choo -choo -choo -your ticket please -END OF THE LINE - Increase copy and remainder / reduce divisor / Normal case: skip forward - -ALL ABOARD -choo choo -tickets please tickets please choo -chug choo choo -chugga your ticket please choo -choo -chug choo -your ticket please - -END OF THE LINE - Special case: move remainder back to divisor and increase quotient - -ALL ABOARD -choo choo -choo choo -choo choo -choo choo -choo choo -chugga -END OF THE LINE - Decrement dividend - -ALL ABOARD -your ticket please -END OF THE LINE - End division loop - -ALL ABOARD -your ticket please choo -choo -choo -tickets please chugga your ticket please chug -END OF THE LINE - End skip loop; zero former divisor and reuse space for a flag - -ALL ABOARD -choo -chugga chugga tickets please chugga tickets please choo choo -chugga choo -chug chug chug -tickets please chugga your ticket please your ticket please your ticket please -choo choo -tickets please -END OF THE LINE - Zero that flag unless quotient was 2 or 3; zero quotient; check flag - -ALL ABOARD -chug chug chug chug chug chug chug chug chug chug chug chug choo choo -tickets please - -END OF THE LINE - If flag then set up divisor (13) for second division loop -(MEMORY LAYOUT: zero copy dividend divisor remainder quotient zero zero) - -ALL ABOARD -choo -chugga tickets please choo -chug choo -choo -your ticket please -END OF THE LINE - Reduce divisor; Normal case: increase remainder - -ALL ABOARD -choo -tickets please chug tickets please choo choo -chug choo -chugga your ticket please choo -chug -choo -choo -your ticket please -END OF THE LINE - Special case: increase remainder / move it back to divisor / increase quotient - -ALL ABOARD -choo choo -choo choo -choo choo -choo choo -choo choo -chugga -END OF THE LINE - Decrease dividend - -ALL ABOARD -your ticket please -END OF THE LINE - End division loop - -ALL ABOARD -choo -choo -tickets please choo choo -chug choo -chugga your ticket please -END OF THE LINE - Add remainder back to divisor to get a useful 13 - -ALL ABOARD -choo -tickets please -END OF THE LINE - Skip forward if quotient was 0 - -ALL ABOARD -chugga tickets please -END OF THE LINE - Decrement quotient and skip forward if quotient was 1 - -ALL ABOARD -chugga choo choo -choo choo -tickets please chugga your ticket please choo -choo - -END OF THE LINE - Zero quotient and divisor if quotient was 2 - -ALL ABOARD -your ticket please choo choo -choo choo -tickets please choo choo -choo choo -chugga choo -choo -chugga your ticket please choo -choo - -END OF THE LINE - Zero divisor and subtract 13 from copy if quotient was 1 - -ALL ABOARD -your ticket please choo choo -choo choo -tickets please choo choo -choo choo -chug choo -choo -chugga your ticket please -END OF THE LINE - Zero divisor and add 13 to copy if quotient was 0 - -ALL ABOARD -your ticket please -END OF THE LINE - End outer skip loop (jump to here if ((character minus 1)/32) was not 2 or 3) - -ALL ABOARD -choo choo -tickets please chugga your ticket please -END OF THE LINE - Clear remainder from first division if second division was skipped - -ALL ABOARD -choo choo -click tickets please chugga your ticket please -END OF THE LINE - Output ROT13ed character from copy and clear it - -ALL ABOARD -choo choo -chugga clack chug -END OF THE LINE - Read next character - -ALL ABOARD -your ticket please -END OF THE LINE - End character reading loop -- cgit 1.4.1-21-gabe81