BrainFuck part 2 - Working with arrays
Welcome!
This playground is my second one about the BrainFuck language. See the Getting started with BrainFuck playground if you didn't already !
While the first playground aimed to talk about basic BF algorithms, this ones will introduce one of the most used data structure : arrays.
In case you're still wondering : yes, the cover image is, again, the source code of a BF interpreter, written in BF ^^. This will be part of the 3rd playground :-)
Let's start
Let's first define how we will structure our array in memory. For this first draft, we will define some hypothesis:
- An array contains values (0 or more)
- It is represented in memory by a succession of cells, each one being a value
- The array is delimited in memory using 0 values (the array has to be somehow delimited)
- Due to the delimiters definition above, an array cannot contains a 0 value
- But and array can be empty, of course
- Memory will look like 0, value1, value2, value3, ..., valueN, 0 with all valueX greater than 0
Note: at the end of this playground, we will see how we can have null values in arrays, using a different data structure. But it is really important to understand the basic algorithms first !
Now, let's implement basic operations on arrays