Historical Note

This page was migrated from the original p-nand-q.com site which was last updated in 2015. The content has been preserved exactly as it was, with only formatting updated for modern browsers. Over the coming days and weeks, the content will be reviewed and may be updated for accuracy and relevance. If you find any issues, please contact me.

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##:.#>.#,######:.#>.#,####>.#,####
:.#