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