There are only a few keywords available in LindenMASM.
STT
- Begins every LindenMASM file.AXI $
- Sets the axiom (initial state) of the system.
$
is a series of commands/variables/constants, ranging from the built-ins plus any user-defined functions.
DEG $
- Sets the degree of which all turns will follow, default is 90.MOV $
- Sets the move distance of which all position adjustments will follow, default is 10.INC $
- Sets the number of iterations the generation should go through, default is 0.SET $ #
- Sets a constant$
to a specified command#
$
should be a character that is not one of[]+-
.#
will either be a 0 or a 1, where a 0 corresponds to the constant being one that draws forward, and a 1 corresponds to the constant being one that moves fowards.
RPL $ #
- On every iteration, variable/constant$
will be replaced with the command/variable/constant string#
.
$
should be a character that is not one of[]+-
. It does not need to beSET
to be replaced.#
is a string of commands/variables/constants that$
should be replaced with.
END
- Ends every LindenMASM file.
Each keyword should be placed on a new line. Every file should start with STT
and end with END
.
These are the builtin commands you can use in the axiom, or any replacement.
+
- Rotates the pointer to the rightDEG
degrees.-
- Rotates the pointer to the leftDEG
degrees.[
- Saves the pointer's coordinates and heading to a list.]
- Pops the last value of a list and sets the pointer's coordinates and heading to that.
Check out the linden-test.lasm
file for an example. It should produce something like this: