Add perentheses to all operators so that acutal perentheses are preserved and the kraken order of operations is maintained
This commit is contained in:
@@ -114,7 +114,7 @@ obj c_generator (Object) {
|
||||
var func_name = generate(node->function_call.func)
|
||||
var parameters = node->function_call.parameters
|
||||
if (func_name == "+" || func_name == "-" || func_name == "*" || func_name == "/" || func_name == "||" || func_name == "&&")
|
||||
return generate(parameters[0]) + func_name + generate(parameters[1])
|
||||
return string("(") + generate(parameters[0]) + func_name + generate(parameters[1]) + string(")")
|
||||
var call_string = string()
|
||||
parameters.for_each(fun(param: *ast_node) {
|
||||
if (call_string != "")
|
||||
|
||||
@@ -16,6 +16,8 @@ fun main(): int {
|
||||
simple_print(1 + 2)
|
||||
var again = 2 + 4 - 1 * 400
|
||||
simple_print(again)
|
||||
again = 2 + (4 - 1) * 400
|
||||
simple_print(again)
|
||||
var another_declaration: int = 8.0
|
||||
simple_print(another_declaration)
|
||||
var yet_another_declaration = "Hello Marcus\n"
|
||||
|
||||
Reference in New Issue
Block a user