What are our requirements?
- Fast and reliable.
- Less overheads.
- Deterministic Memory Management.
- Simple syntax.
Data type declaration
var_name : modifier data_type (value)
a : 4
b : long int (4)
c : string ("Lexer!")
x, y, z : int, real, string
f : {int, float}
Macro declaration
define pi as 3.1414
define pi as function_name()
For statement
for(var_name : data_type ; condition ; update)
statements
for var_name : data_type in array or iterator
statements
While statement
while(condition)
statements
Function declaration
def function_name(arg_list : data_type) : return_type
statements
f(x) = x + 4 or x*x for x in iterator
if statement
if(condition)
statements
elif(condition)
statements
else
statements
switch(arg)
...same as cpp...
enum
...same as cpp...
union
...same as cpp...
Class
class class_name
...same as cpp...
Inheritance
class class_name : root_class visibility_mode
statements
Constructor
class_name(arg_list : data_type)
statements
class_name(arg_list : data_type) {...same as cpp...}
Pointer
a : pointer (addr(var_name))
b : pointer
b = addr(a)