Syntax
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 beSETto 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.
Commands
These are the builtin commands you can use in the axiom, or any replacement.
-
+- Rotates the pointer to the rightDEGdegrees. -
-- Rotates the pointer to the leftDEGdegrees. -
[- 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.
Example
Check out the linden-test.lasm file for an example. It should produce something like this:
