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)? |