diff --git a/src/dotchain/runtime/interpreter.py b/src/dotchain/runtime/interpreter.py index bf33cb8..1304af5 100644 --- a/src/dotchain/runtime/interpreter.py +++ b/src/dotchain/runtime/interpreter.py @@ -355,26 +355,19 @@ def expression_list_to_binary(expression_list: list[Expression | Token], stack: return expression_list_to_binary(expression_list[1:], stack) def _priority(operator: str): - priority = 0 if operator in ["*", "/", "%"]: - return priority - priority += 1 + return 0 if operator in ["+", "-"]: - return priority - priority += 1 + return 1 if operator in ["<", ">", "<=", ">="]: - return priority - priority += 1 + return 2 if operator in ["==", "!="]: - return priority - priority += 1 + return 3 if operator in ["&&"]: - return priority - priority += 1 + return 4 if operator in ["||"]: - return priority - priority += 1 - return priority + return 5 + return 6 def _try_assignment_expression(tkr: Tokenizer): tkr = copy.deepcopy(tkr)