ARITHMETICAL OPERATIONS AND ASSIGNMENTS
CAN USE FOLLOWING ACTION SYNTAX:
..[operation[operand1]][.[parameter]]
Operation.
Arithmetical operations:
+ addition
- substruction
* multiplication
/ division x/y
\ result=clng(clng(x)\clng(y))
% mod operation
^ bitwise xor
| bitwise or
: bitwise and
! bitwise not
Number to string operations:
1 convert Operand2 to character, and assign result to Operand1.
Similar to VB function chr(x).
2 convert to 2 character string; big-endian;
6 convert to 2 character string; litlle-endian;
4 convert to 4 character string; big-endian;
8 convert to 4 character string; little-endian;
String operations:
= assignment;
& strings concatenation: operand1=operand1 & operand2
@ concatenation in reverse order: operand1=operand2 & operand1
~ adding to list-variable;
list-variable := [<string>L][<string>L] ....
In other words, list-variable contains list of <string>s
terminated by line_feed.
<string> can be any set of characters.
In <string>, line feed escaped as ^\ escape char ^ escaped as ^^
If no <string> is in list, the list is represented as empty string.
] reverse string ("flip horizontally");
String to number operations:
# convert char, wchar, dchar string to a decimal digit;
most significant byte is stored first; fe: char converts to ascii;
[ the same as #, but most significant byte is stored last;
Comparision.
..<2.1 a1 a2 a3 ... triggers a2 a3 ...
..>2.1 a1 a2 a3 ... triggers a1 a3 ...
..?x."moo" a1 a2 a3 ... if x = "moo", triggers a1, a3, ...
if x = "3", triggers a2, a3
..{list.searchee is "searchee" in "list"?
..}list.searchee case insensetive check
< numeric less than;
> numeric grater than
= string equality
ASSIGNMENTS
To make an assignment: Oper1 = Oper2, the following actions can be used:
..=Oper1.Oper2 - general case;
Simplifications:
...Oper2 - the same as ..=token.Oper2
..=Oper1 - ..=Oper1.token
Note. Controls aslo can be used for assignments:
"$Oper2 ".=Oper1 - ..=Oper1.Oper2 if Oper2 is a variable.
.=Oper1 - ..=Oper1.token
"".=Oper1 - assigning empty value to Oper1
"$MyVar ".=Oper1 - ..=Oper1.MyVar
REDUNDANT NOTE:
all string-expressions in arithmetical operations
have late execution. All tokens have "late" values.
For example: ..=Oper1."MyVar=$MyVar "
Value of MyVar will be iserted into the string
at time when this action is executed.