Yazoo ---> Online Help Docs ---> Reference
Operators and reserved words
( ... ) : group terms in an expression
Numeric operators:
- x + y : addition
- x - y : subtraction
- x * y : multiplication
- x / y : division
- x ^ y : raise to a power
- i mod j : modulo (integer only)
Boolean operators:
- A == B : if equal
- A ==@ B : if same reference
- A /= B : if not equal
- A /=@ B : if different reference
- A >= B : if greater than or equal to
- A > B : if greater than
- A <= B : if less than or equal to
- A < B : if less than
- A and B : if A and B (both arguments are always evaluated)
- A or B : if A or B or both (both arguments are always evaluated)
- A xor B : if A or B, but not both
- not A : true only if A is false
Array/member operators:
- [ A ] : step into array index A
- [ A, B] : step into array indices A thru B
- [^ N ] : resize array to given size N, step into all indices 1-N
- [+ A ] or [+ A, B ] : insert indices (append to upper member)
- +[ A ] or +[ A, B ] : insert indices (append to lower member)
- [*] : step to all indices; sometimes can resize if necessary
- A.B : step from A into member B
- remove A : remove member A
- delete A[...] : delete specified indices
Define/equate operators:
- A :: B : define A (member with a variable) with the type of the variable that B points to
- A = B : copy data from B to A
- A := B : define A to type B, copy data from B to A
- A =@ B : make A an alias of B
- A :=@ B : define A and make it an alias of B
- A @:: B : define A to be of type B (variable type only)
- A *:: B : define A to be of type B (member type only)
- A =! B : copy data from B to A; even between dissimilar data types
Predefined variables:
- this : the function currently executing
- that : on the right hand side of an equate, the variable on the left
- args : the argument variable to the function currently executing
- nothing or * : the void
Program flow:
- if A, ..., elseif B, ..., else, ..., endif/end if : execute if A, B, etc. true
- while A, ..., endw/end while : execute code as long as A is true
- do, ..., until A : execute code until A is true
- for I in [ A, B ] { optionally: step C }, ..., endf/end for : iterate code
- A( ... ) : call A as a function with specified arguments
- code or ; : begin a new code block
- return A or return : exit function with return variable A (if specified)
- exit : exit Yazoo
Data types:
- ubyte, sbyte : unsigned and signed byte
- ushort, sshort : unsigned and signed short integer
- ulong, slong : unsigned and signed long integer
- single : single-precision floating point (real)
- double : double-precision floating point (real)
- block N : non-numeric block of N bytes
- string : string of characters (bytes)
- "..." : inlined string containing given characters
- { ... } : inlined function, set, class or data type
- A : B : a composite type of A specialized by the code of B
- A << B : the code/type of B substituted into the variable space of A
- A # B : the Bth code block of variable A
Last update: July 28, 2013