Operators
As described in the overview the language currently implements the following operators
- Arithmetic Operators
- Logical Operators
- Relational Operators
Operator Specification
The list operators which have been implemented for each type in Binary and Unary are listed below
- Binary Operators
- Arithmetic
+Addition-Substraction*Multiplication/Division
- Logical
&And|Or
- Relational
==Equal To!=Not Equal To>Greater Than>=Greater Than Equal To<Less Than<=Less Than Equal To
- Arithmetic
- Unary Operators
- Arithmetic
-Negation++increment--decrement
- Logical
!Not
- Arithmetic
Arithmetic Operators
consume fn printint(int val) void;
int k = 1000 + 101 * 90 + 60 / 20;
fn start() void {
int i = k + 10;
int m = -10;
int j = i - k + 101 + m;
printint(m++);
printint(j);
printint(--j);
return;
}
Relational Operators
int k = 1000 + 101 * 90 + 60 / 20;
fn start() void {
int i = k;
bool val = true;
bool val2 = false;
bool b = val == val2; # this will be false
bool c = i != k; # this will be false
bool d = i > k; # this will be false
bool e = i >= k; # this will be true
bool f = i < k; # this will be false
bool g = i <= k; # this will be true
return;
}
Logical Operators
fn start() void {
bool p = true;
bool q = false;
bool pANDq = p & q; # this will be false
bool pORq = p | q; # this will be true
bool NOTp = !p; # this will be false
bool NOTq = !q; # this will be true
bool NOTpORq = !pORq;
bool NOTpORNOTq = NOTp & NOTq;
bool deMorgan = NOTpORq == NOTpORNOTq; #This will be true,Hence proving the law
return;
}