Deleted old version of the type checking package
This commit is contained in:
parent
e2a3920ef0
commit
e42908d67e
2 changed files with 6 additions and 131 deletions
|
|
@ -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')
|
||||
|
|
@ -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')
|
||||
Loading…
Add table
Add a link
Reference in a new issue