Arithmetic expressions

TODO

Formal grammar

Expression grammar is not "strict", correctness of expression will ensure compiler or interpreter.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
expression = expr_member+
 
expr_member =
| NUMBER
| ID
| OPERATOR
| expr_indexer
| expr_array
| expr_function
| '(' expression ')'
 
expr_indexer = '[' expression ']'
 
expr_array = '{' (expression (',' expression)*)? '}'
 
expr_function = ID '(' params_expr_list? ')'
 
params_expr_list = expression (',' params_expr_list)?