diff options
| author | jakob <jakob@memeware.net> | 2017-03-18 18:07:39 -0400 |
|---|---|---|
| committer | jakob <jakob@memeware.net> | 2017-03-18 18:07:39 -0400 |
| commit | d45dbeb48a9da2ccfc1dd3fc0f3baea4c365e086 (patch) | |
| tree | d1107185a1b722ee65b2c8f9b5f70376dd39057a /examples | |
| parent | 9b5abf3e3859e54d4bc48db0792b2686eb7bd16a (diff) | |
The compilation process now includes *very* minimal code optimization.
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/hello_world.bf | 1 | ||||
| -rw-r--r-- | examples/hello_world_commented.bf | 33 | ||||
| -rw-r--r-- | examples/rot13.bf | 1 | ||||
| -rw-r--r-- | examples/rot13_commented.bf | 28 |
4 files changed, 0 insertions, 63 deletions
diff --git a/examples/hello_world.bf b/examples/hello_world.bf deleted file mode 100644 index ea2b641..0000000 --- a/examples/hello_world.bf +++ /dev/null @@ -1 +0,0 @@ -++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
\ No newline at end of file diff --git a/examples/hello_world_commented.bf b/examples/hello_world_commented.bf deleted file mode 100644 index fff532c..0000000 --- a/examples/hello_world_commented.bf +++ /dev/null @@ -1,33 +0,0 @@ -++++++++ Set Cell #0 to 8 -[ - >++++ Add 4 to Cell #1; this will always set Cell #1 to 4 - [ as the cell will be cleared by the loop - >++ Add 2 to Cell #2 - >+++ Add 3 to Cell #3 - >+++ Add 3 to Cell #4 - >+ Add 1 to Cell #5 - <<<<- Decrement the loop counter in Cell #1 - ] Loop till Cell #1 is zero; number of iterations is 4 - >+ Add 1 to Cell #2 - >+ Add 1 to Cell #3 - >- Subtract 1 from Cell #4 - >>+ Add 1 to Cell #6 - [<] Move back to the first zero cell you find; this will - be Cell #1 which was cleared by the previous loop - <- Decrement the loop Counter in Cell #0 -] Loop till Cell #0 is zero; number of iterations is 8 - -The result of this is: -Cell No : 0 1 2 3 4 5 6 -Contents: 0 0 72 104 88 32 8 -Pointer : ^ - ->>. Cell #2 has value 72 which is 'H' ->---. Subtract 3 from Cell #3 to get 101 which is 'e' -+++++++..+++. Likewise for 'llo' from Cell #3 ->>. Cell #5 is 32 for the space -<-. Subtract 1 from Cell #4 for 87 to give a 'W' -<. Cell #3 was set to 'o' from the end of 'Hello' -+++.------.--------. Cell #3 for 'rl' and 'd' ->>+. Add 1 to Cell #5 gives us an exclamation point ->++. And finally a newline from Cell #6 diff --git a/examples/rot13.bf b/examples/rot13.bf deleted file mode 100644 index e9e82be..0000000 --- a/examples/rot13.bf +++ /dev/null @@ -1 +0,0 @@ --,+[-[>>++++[>++++++++<-]<+<-[>+>+>-[>>>]<[[>+<-]>>+>]<<<<<-]]>>>[-]+>--[-[<->+++[-]]]<[++++++++++++<[>-[>+>>]>[+[<+>-]>+>>]<<<<<-]>>[<+>-]>[-[-<<[-]>>]<<[<<->>-]>>]<<[<<+>>-]]<[-]<.[-]<-,+]
\ No newline at end of file diff --git a/examples/rot13_commented.bf b/examples/rot13_commented.bf deleted file mode 100644 index 85a97fa..0000000 --- a/examples/rot13_commented.bf +++ /dev/null @@ -1,28 +0,0 @@ --,+[ Read first character and start outer character reading loop - -[ Skip forward if character is 0 - >>++++[>++++++++<-] Set up divisor (32) for division loop - (MEMORY LAYOUT: dividend copy remainder divisor quotient zero zero) - <+<-[ Set up dividend (x minus 1) and enter division loop - >+>+>-[>>>] Increase copy and remainder / reduce divisor / Normal case: skip forward - <[[>+<-]>>+>] Special case: move remainder back to divisor and increase quotient - <<<<<- Decrement dividend - ] End division loop - ]>>>[-]+ End skip loop; zero former divisor and reuse space for a flag - >--[-[<->+++[-]]]<[ Zero that flag unless quotient was 2 or 3; zero quotient; check flag - ++++++++++++<[ If flag then set up divisor (13) for second division loop - (MEMORY LAYOUT: zero copy dividend divisor remainder quotient zero zero) - >-[>+>>] Reduce divisor; Normal case: increase remainder - >[+[<+>-]>+>>] Special case: increase remainder / move it back to divisor / increase quotient - <<<<<- Decrease dividend - ] End division loop - >>[<+>-] Add remainder back to divisor to get a useful 13 - >[ Skip forward if quotient was 0 - -[ Decrement quotient and skip forward if quotient was 1 - -<<[-]>> Zero quotient and divisor if quotient was 2 - ]<<[<<->>-]>> Zero divisor and subtract 13 from copy if quotient was 1 - ]<<[<<+>>-] Zero divisor and add 13 to copy if quotient was 0 - ] End outer skip loop (jump to here if ((character minus 1)/32) was not 2 or 3) - <[-] Clear remainder from first division if second division was skipped - <.[-] Output ROT13ed character from copy and clear it - <-,+ Read next character -] End character reading loop |