From e42908d67e6918b610dd8a2ada286b67fab6a5db Mon Sep 17 00:00:00 2001 From: AYM1607 Date: Fri, 12 Apr 2019 01:01:52 +0000 Subject: [PATCH] Deleted old version of the type checking package --- final_lang/typeValidation.py | 12 ++-- final_lang/types.py | 125 ----------------------------------- 2 files changed, 6 insertions(+), 131 deletions(-) delete mode 100644 final_lang/types.py diff --git a/final_lang/typeValidation.py b/final_lang/typeValidation.py index 25fb21c..4fe51df 100644 --- a/final_lang/typeValidation.py +++ b/final_lang/typeValidation.py @@ -113,13 +113,13 @@ typeValidationMap = { }, } -def resultingType(operator, operand1, operand2): +def resultingType(operator, type1, type2): operatorMap = typeValidationMap[operator] - if operand1 in operatorMap: - operand1Map = operatorMap[operand1] - if operand2 in operand1Map: - return operand1Map[operand2] + if type1 in operatorMap: + type1Map = operatorMap[type1] + if type2 in type1Map: + return type1Map[type2] else: - raise Exception('Operation not suppoerte') + raise Exception('Operation not suppoerted') else: raise Exception('Operation not supported') \ No newline at end of file diff --git a/final_lang/types.py b/final_lang/types.py deleted file mode 100644 index 4fe51df..0000000 --- a/final_lang/types.py +++ /dev/null @@ -1,125 +0,0 @@ -typeValidationMap = { - '*': { - 'integer': { - 'integer': 'integer', - 'real': 'real', - }, - 'real': { - 'integer': 'real', - 'real': 'real' - }, - }, - '+': { - 'integer': { - 'integer': 'integer', - 'real': 'real', - }, - 'real': { - 'integer': 'real', - 'real': 'real' - }, - }, - '-': { - 'integer': { - 'integer': 'integer', - 'real': 'real', - }, - 'real': { - 'integer': 'real', - 'real': 'real' - }, - }, - '/': { - 'integer': { - 'integer': 'integer', - 'real': 'real', - }, - 'real': { - 'integer': 'real', - 'real': 'real' - }, - }, - '>': { - 'integer': { - 'integer': 'bool', - 'real': 'bool', - }, - 'real': { - 'integer': 'bool', - 'real': 'bool' - }, - }, - '<': { - 'integer': { - 'integer': 'bool', - 'real': 'bool', - }, - 'real': { - 'integer': 'bool', - 'real': 'bool' - }, - }, - '>=': { - 'integer': { - 'integer': 'bool', - 'real': 'bool', - }, - 'real': { - 'integer': 'bool', - 'real': 'bool' - }, - }, - '<=': { - 'integer': { - 'integer': 'bool', - 'real': 'bool', - }, - 'real': { - 'integer': 'bool', - 'real': 'bool' - }, - }, - '==': { - 'integer': { - 'integer': 'bool', - 'real': 'bool', - }, - 'real': { - 'integer': 'bool', - 'real': 'bool' - }, - }, - '/=': { - 'integer': { - 'integer': 'bool', - 'real': 'bool', - }, - 'real': { - 'integer': 'bool', - 'real': 'bool' - }, - }, - '=': { - 'integer': { - 'integer': 'integer', - }, - 'real': { - 'integer': 'real', - 'real': 'real', - }, - 'bool': { - 'bool': 'bool', - } - }, -} - -def resultingType(operator, type1, type2): - operatorMap = typeValidationMap[operator] - if type1 in operatorMap: - type1Map = operatorMap[type1] - if type2 in type1Map: - return type1Map[type2] - else: - raise Exception('Operation not suppoerted') - else: - raise Exception('Operation not supported') \ No newline at end of file