Instruction.See: Description
| Class | Description |
|---|---|
| AllocAddrConst |
ALLOC( ADDR , CONST ) |
| AllocAddrExecInstr |
ALLOC( ADDR , EXEC( INSTR ) ) |
| BranchExecInstr0Instr1Instr2 |
BRANCH( EXEC( INSTR0 ) , INSTR1 , INSTR2 ) |
| ConsoleExecInstr |
CONSOLE( EXEC( INSTR ) ) |
| CpedAddrXinstr |
CPED( ADDR , XINSTR ) |
| ExecImportExecInstr |
EXEC( IMPORT( EXEC( INSTR ) ) ) |
| FallocAddrConst |
FALLOC( ADDR , CONST ) |
| FpedAddrExecInstrXinstr |
FPED( ADDR , EXEC( INSTR ) , XINSTR ) |
| FreeAddr |
FREE( ADDR ) |
| Idle |
IDLE |
| IpedXinstr |
IPED( XINSTR ) |
| IterXinstr |
ITER( XINSTR ) |
| PrintExecInstr |
PRINT( EXEC( INSTR ) ) |
| PushAddExecInstr0ExecInstr1 |
PUSH( ADD( EXEC( INSTR0 ) , EXEC( INSTR1 ) ) ) ) |
| PushCmpExecInstr0ExecInstr1 |
PUSH( CMP( EXEC( INSTR0 ) , EXEC( INSTR1 ) ) ) ) |
| PushConst |
PUSH( CONST ) |
| PushDefAddr |
PUSH( DEF( ADDR ) ) |
| PushDivExecInstr0ExecInstr1 |
PUSH( DIV( EXEC( INSTR0 ) , EXEC( INSTR1 ) ) ) ) |
| PushEqlExecInstr0ExecInstr1 |
PUSH( EQL( EXEC( INSTR0 ) , EXEC( INSTR1 ) ) ) ) |
| PushEvalAddr |
PUSH( EVAL( ADDR ) ) |
| PushGetAddrExecInstr |
PUSH( Get( ADDR , EXEC( INSTR ) ) ) |
| PushLndExecInstr0ExecInstr1 |
PUSH( LND( EXEC( INSTR0 ) , EXEC( INSTR1 ) ) ) ) |
| PushLorExecInstr0ExecInstr1 |
PUSH( LOR( EXEC( INSTR0 ) , EXEC( INSTR1 ) ) ) ) |
| PushModExecInstr0ExecInstr1 |
PUSH( MOD( EXEC( INSTR0 ) , EXEC( INSTR1 ) ) ) ) |
| PushMulExecInstr0ExecInstr1 |
PUSH( MUL( EXEC( INSTR0 ) , EXEC( INSTR1 ) ) ) ) |
| PushNdefAddr |
PUSH( NDEF( ADDR ) ) |
| PushNegExecInstr |
PUSH( NEG( EXEC( INSTR ) ) ) |
| PushSubExecInstr0ExecInstr1 |
PUSH( SUB( EXEC( INSTR0 ) , EXEC( INSTR1 ) ) ) ) |
| PutAddrExecInstr0ExecInstr1 |
PUT( ADDR , EXEC( INSTR0 ) , EXEC( INSTR1 ) ) |
| RepllocAddrExecInstr |
REPLLOC( ADDR , EXEC( INSTR ) ) |
| RepreeAddr |
REPREE( ADDR ) |
| ReprntConst |
REPRNT( CONST ) |
| SerrExecInstr |
SERR( EXEC( INSTR ) )
|
| SoutExecInstr |
SOUT( EXEC( INSTR ) )
|
| SpreadExecInstr |
An instruction that executes another instruction and spread the results to the heap.
|
| WpedInstrXinstr |
WPED( INSTR , XINSTR ) |
Instruction.
IDLE
Do nothing.
ADD( X : Text | Value , Y : Text | Value ) : Text
return the result of adding Y to X.
SUB( X : Text | Value , Y : Text | Value ) : Text
return the result of subtracting Y from X.
MUL( X : Text | Value , Y : Text | Value ) : Text
return the result of multiplying X by Y
DIV( X : Text | Value , Y : Text | Value ) : Text
return the result of dividing X by Y
MOD( X : Text | Value , Y : Text | Value ) : Text
return the remainder of dividing X by Y
CMP( X : Text | Value , Y : Text | Value ) : Text
return 'true' if X is greater than Y, and 'false' otherwise.
EQL( X : Text | Value , Y : Text | Value ) : Text
return 'true' if X equals Y, and 'false' otherwise.
LND( X : Text | Value , Y : Text | Value ) : Text
return 'true' if X and Y are true, and 'false' otherwise.
LOR( X : Text | Value , Y : Text | Value ) : Text
return 'true' if X or Y are true, and 'false' otherwise.
NEG( X : Text | Value ) : Text
return 'true' if X is false, and 'false' if X is true.
CONSOLE( X : Text | Value ) : Void
change the console to X
SOUT( X : Text | Value ) : Void
print X to the system console.
SERR( X : Text | Value ) : Void
print X to the system error console.
PRINT( X : Text | Vale ) : Void
prints X to console
REPRNT( X : Text | Vale ) : Void
prints X to console; replace allocated by REPLLOC
PUSH( X : Text | Value ) : Void
pushes X to stack.
ALLOC( X : Address , Y : Text | Value ) : Void
allocate Y into heap at X
PUT( X : Address , Y : Value | Text , Z : Value : Text )
Put Z to Y in the object stored at X in the heap; Allocate a new object if not allocated
FALLOC( X : Address , Y : Text | Value ) : Void
allocate Y into heap of the last frame at X
SPREAD( X : Value | Text ) : Void
Assuming X is a json map, Spread the mappings to the heap.
REPLLOC( X : Address , Y : Text | Value ) : Void
allocate Y into heap at X; replace X to Y in all REPRINTS
CPED( X : Address , Y : Instruction[] ) : Void
Allocate captured console when executing Y into the heap at X; Push frame before each execution; Dump frame after each execution
FREE( X : Address ) : Void
delete the value at X in the heap
REPREE( X : Address ) : Void
delete the value at X in the heap; revoke any replacing order for X
DEF( X : Address ) : Text
return true if the address is defined, false otherwise.
NDEF( X : Address ) : Text
return false if the address is defined, true otherwise.
EVAL( X : Address ) : Value
return evaluation of X; return name of X if failed
GET( X : Address , Y : Value | Text ) : Value
return the value at Y in the result of the evaluation of X.
EXEC( X : Instruction ) : Value
return result of executing X; push frame before execution; pop after execution and getting results;
BRANCH( X : Text | Value , Y : Instruction , Z : Instruction ) : Void
if X evaluated to true execute Y otherwise execute Z; push frame before execution; pop frame after execution
IMPORT( X : Text | Value ) : Instruction
return imported instruction X; push frame before execution; pop frame after execution
ITER( X : Instruction[] ) : Void
Execute the instructions in X
IEXEC( X : Instruction[] ) : Void
Execute the instructions in X; Push frame before each exeuction; Pop frame after each execution
IPED( X : Instruction[] ) : Void
Execute the instructions in X; Push frame before each execution; Dump frame after each execution
IPED stands for Iterate-Push-Execute-Dump
FPED( X : ADDR , Y : Text | Value , Z : Instruction[] ) : Void
Executes the instructions in Z foreach item in Y; Push frame on each iteration; Allocate the item of the iteration to X before each iteration; Push frame before each execution; Dump frame after each execution; Pop frame after each iteration
FPED stands for Foreach-Push-Execute-Dump
WPED( X : Instruction , Y : Instruction[] ) : Void
Executes the instructions in Y while result of X evaluates to true; Push frame on each iteration; Push frame before each execution; Dump frame after each execution; Pop frame after each iteration
WPED stands for While-Push-Execute-Dump
CONST : Text
provided text.
INSTR : Instruction
provided instruction.
ADDR : Address
provided address.
0-5
a postfix number to distinguish variables from another when dealing with multiple variables with common type.
X
a prefix to tell that the variable is an array of its type.