An Assembly-like, "uwu" based interpreted language.
Commands take the form of: command [subcommand] [args...]
You can have comment lines by starting the line with (^o^)
.
You can create label lines (used by gowtu
, subwutine
, and wumpif
) by starting the line with !
.
Look at Examples
directory for examples of all the features and commands.
awway <subcommand>
Used for handling arrays.cweate <size var> <array var>
Creates an array of sizesize var
inarray var
.gewt <array var> <index var> <dest var>
Retrieves a value fromarray var
atindex var
and stores it indest var
.pwut <src var> <array var> <index var>
Putssrc var
intoarray var
atindex var
.
fwile <subcommand>
Used for file operations.cwose <file ref var>
Closes file stream.nwext <file ref var> <dest var>
Reads the next token from the file intodest var
.opwen <r|w> <file path var> <file ref var>
Opens a file for reading (r
) or writing (w
) and stores reference infile ref var
.pwint <var> <file ref>
Printsvar
tofile ref
stream.
gowtu <label>
Transfers execution to target label.inpwut <var>
Reads a line from standard input and puts it intovar
.owp <subcommand>
Used for handling operations on variables.awpend <src var> <dest var>
Appendssrc
onto the end ofdest
.chrawrAt <str var> <index var> <dest var>
Retrieves the character instr var
atindex var
and places it indest var
.cowpy <src var> <dest var>
Copies value insrc var
and overwritesdest var
.dwiv <src var> <dest var>
Dividesdest var
bysrc var
and places the result indest var
.muwlt <src var> <dest var>
Multipliesdest var
bysrc var
and places the result indest var
.pwus <src var> <dest var>
Addssrc var
todest var
and places the result indest var
.swub <src var> <dest var>
Subtractssrc var
fromdest var
and places the result indest var
.
pwint <var>
Outputsvar
to standard out.subwutine <label>
Moves execution to label with it's own local variable scope.vwar <subcommand>
Handles variable creation.gwobaw <var> <value>
Creates global variablevar
and placesvalue
in it.value
can contain spaces.wocaw <var> <value>
Creates a local variablevar
and placesvalue
in it. This is only effective if you usesubwutine
s.
wandom <subcommand>
Handles random number.sweed <seed var>
Sets the seed to number stored inseed var
.gwet <max var> <dest var>
Retrieves a random number between 0 (inclusive) and value stored inmax var
(exclusive) and puts it indest var
.
wetwurn
Returns execution to the last place callingsubwutine
.wumpif <subcommand>
Jumps to other lables on a condition.eqwal <var a> <var b> <label>
Jumps tolabel
ifvar a = var b
.gw8r <var a> <var b> <label>
Jumps tolabel
ifvar a > var b
.gw8rOrEqwal <var a> <var b> <label>
Jumps tolabel
ifvar a >= var b
.notEqwal <var a> <var b> <label>
Jumps tolabel
ifvar a != var b
.