Execute Brain****/Java: Difference between revisions
Content added Content deleted
m (Cleaned up comments and description a bit.) |
m (Added note about expansion to the right an Turing completeness.) |
||
Line 2: | Line 2: | ||
In this implementation of [[Brainf***]], the code is read in all at once and checked for uneven brackets (unequal amounts of [ and ] commands). If that error occurs, the code will obviously not be run. |
In this implementation of [[Brainf***]], the code is read in all at once and checked for uneven brackets (unequal amounts of [ and ] commands). If that error occurs, the code will obviously not be run. |
||
Under the hood, the program memory is an ArrayList of Integers which expands |
Under the hood, the program memory is an ArrayList of Integers which expands "infinitely" (limited by your system's memory) to the right (still [http://en.wikipedia.org/wiki/Turing_completeness Turing complete]). So, if the pointer moves past zero to the left, the program will exit and a "Pointer out of range" error message will be displayed. Due to the BufferedReader input class, return characters ([http://www.asciitable.com ASCII] 10 and 13) are ignored on input (the , command), but are not ignored on output (the . command). More detailed information can be found in the comments scattered about the code. |
||
import java.io.BufferedReader; |
import java.io.BufferedReader; |