aboutsummaryrefslogtreecommitdiff
path: root/interpreter.py
diff options
context:
space:
mode:
Diffstat (limited to 'interpreter.py')
-rwxr-xr-xinterpreter.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/interpreter.py b/interpreter.py
index d00a52d..2f2c3ff 100755
--- a/interpreter.py
+++ b/interpreter.py
@@ -921,15 +921,20 @@ class Interpreter():
print(node.get_clause())
print(result)
raise InvalidCode('Line %d: If clause does not evaluate to true or false.' % node.lineno())
-
+
+ def is_elementary_type(self, v):
+ if isinstance(v, int) or isinstance(v, str) or isinstance(v, bool):
+ return True
+ return False
+
def evaluate_comparison(self, node):
v1 = self.evaluate_statement(node.get_first())
v2 = self.evaluate_statement(node.get_second())
- if isinstance(v1, int):
+ if self.is_elementary_type(v1):
val1 = v1
else:
val1 = v1.get_value()
- if(isinstance(v2, int)):
+ if self.is_elementary_type(v2):
val2 = v2
else:
val2 = v2.get_value()