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 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
.
Commands
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.
Example
Check out the linden-test.lasm
file for an example. It should produce something like this: