beam: fix unary-vs-power precedence in expr_eval (-2**2 now -(2**2))

This commit is contained in:
beam committed 2026-11-03 17:24:46 +00:00
1 parent 5b130c472d
commit 17803fd3a4
2 files changed
+58 -1

No files matched your search

+2 -1
View File
@@ -111,7 +111,8 @@ class Parser:
def parse_unary(self):
if self.peek()[0] == 'op' and self.peek()[1] in ('+', '-'):
op = self.advance()[1]
v = self.parse_unary()
# operand is a full power expression so that -2**2 == -(2**2)
v = self.parse_factor()
return -v if op == '-' else v
return self.parse_primary()