gplz.yacuabll
Name says it all.
Currently, the following instructions are supported:
- a
- FuncDefStatement
- '
- FuncCallStatement
- .
- VariableStatement
- {
- AssignmentStatement
- }
- AddSelfStatement
- <
- AddStatement
- >
- SubSelfStatement
- k
- SubStatement
- b
- MulSelfStatement
- 9
- MulStatement
- +
- DivSelfStatement
- -
- DivStatement
- *
- ModSelfStatement
- /
- ModStatement
- ~
- OrSelfStatement
- |
- OrStatement
- %
- AndSelfStatement
- !
- AndStatement
- "
- NandSelfStatement
- §
- NandStatement
- $
- BitOrSelfStatement
- &
- BitOrStatement
- (
- BitAndSelfStatement
- )
- BitAndStatement
- [
- IsLessStatement
- ]
- IsEqualStatement
- _
- IsGreaterStatement
- ?
- IsLessOrEqualStatement
- *
- IsNotEqualStatement
- ;
- IsGreaterOrEqualStatement
- ,
- LiteralStatement
- :
- PrintCharStatement
- @
- PrintStatement
- 0
- NegateStatement
- 1
- IfStatement
- 2
- WhileDoStatement
- 3
- UntilDoStatement
- 4
- IfThenElseStatement
- 5
- IfThenUnlessStatement
- 6
- IfThenProvidedStatement
- 7
- WhileDoUnlessStatement
Variables are encoded as .,
followed by a
number of #
that specifies the unique name. For example, .#
is a unique
variable, and so is .####.
Similarily, Literals are encoded as ,{#}
, where the
number of #
specifies the content of the integer literal.
Note that .yacuabll is completely freeform, and you can add any unused characters as comments.
Example
Hello, .yacuabll World
{.#,#H#E#L#}.#,#L#O# #b.#,#W#O#b.#,#R#L#:.#}.#,#D# #T#H#I#}.#,#S# #F#I
NE PROGRAM DOES NOT
NECESSARILY ##}.#,######}.#,######
}.#,#
#
#
#
#
:
.
# THIS SPACE FOR RENT
}
.
#
,
#
#
#
}
.
#
,
#
#
#
#
:.#:.#}.#,###WORK:.#{.##,####b.##,##b.##,####:.##
b.##,###>.##,####>.##,####>.##,#:.##:.#}.#,#AS##:.#>.#,######:.#>.#,####>.#,####
:.#