BareBones is an interpreter designed specifically for the 'Bare Bones' programming language, allowing users to write code in this language and interact with it using the provided tool.
One feature that distinguishes this interpreter from the standard Bare Bones language is the ability to initialize non-negative integer values by placing them at the beginning of the source file. In particular, the command `init X = 37;` will initialize the variable X with a value of 37. If a variable is not explicitly initialized, BareBones will automatically initialize it with a value of zero. However, if the "-u" option is specified in the command line, and an uninitialized variable is referenced, except in a "clear" statement, then the interpreter will produce a runtime error.
Before the program runs, BareBones will print the initial values of all the variables to the standard output. Once the program has executed successfully, the interpreter will print the final values of the variables. Optimization of the code can be enabled by using the "-O" option in the command line. Currently, the only optimization that is applied is in the context of while loops where one variable is added to another with the first variable cleared in each iteration. The interpreter will detect this pattern and directly implement a solution instead of iteratively interpreting the while loop.
To help users get started, BareBones provides two sample programs in its "examples" subdirectory: "fibonacci.bb" which calculates the Nth number in the Fibonacci sequence and "factorial.bb" which computes the factorial of a small positive integer. Users can run the factorial program by typing the following command: `bareBones N=6 examples/factorial.bb`.
This latest release of BareBones makes identifiers in the Bare Bones language case-insensitive. Additionally, there is now a summary of the language included in the README file.
Version 0.4: N/A