Deleted old version of the type checking package

This commit is contained in:
Mariano Uvalle 2019-04-12 01:01:52 +00:00
parent e2a3920ef0
commit e42908d67e
2 changed files with 6 additions and 131 deletions

View file

@ -113,13 +113,13 @@ typeValidationMap = {
}, },
} }
def resultingType(operator, operand1, operand2): def resultingType(operator, type1, type2):
operatorMap = typeValidationMap[operator] operatorMap = typeValidationMap[operator]
if operand1 in operatorMap: if type1 in operatorMap:
operand1Map = operatorMap[operand1] type1Map = operatorMap[type1]
if operand2 in operand1Map: if type2 in type1Map:
return operand1Map[operand2] return type1Map[type2]
else: else:
raise Exception('Operation not suppoerte') raise Exception('Operation not suppoerted')
else: else:
raise Exception('Operation not supported') raise Exception('Operation not supported')

View file

@ -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')