diff options
Diffstat (limited to 'interpreter.py')
| -rw-r--r-- | interpreter.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/interpreter.py b/interpreter.py index 98eaa1c..576af47 100644 --- a/interpreter.py +++ b/interpreter.py @@ -205,7 +205,11 @@ def interpretFactor(symbol, args, env): denom = evaluate(args[1], env) if not isinstance(denom, Literal) or type(denom.value) not in (int, float): raise Exception("denominator must be a number") - return Literal(num.value / denom.value) # TODO floats and ints + ret = num.value / denom.value + if int(ret) == ret: + return Literal(int(ret)) + else: + return Literal(ret) else: if len(args) < 2: raise Exception("'*' requires at least two operands") |
