Ce qui suit est le code pour le type StaticCharme vérificateur:type statique vérification conditionals
je besoin d'aide pour définir la méthode typeConditional (expr, env). Il doit vérifier que toutes les expressions de prédicat évaluent une valeur booléenne. Pour qu'une expression conditionnelle soit correcte, les expressions correspondantes de chaque clause produisent des valeurs du même type. Le type d'une expression conditionnelle est le type de toutes les expressions conséquentes.
J'ai déjà un typcheck (expr, env) Méthode:
def typecheck(expr, env):
if isPrimitive(expr):
return typePrimitive(expr)
elif isConditional(expr):
return typeConditional(expr, env)
elif isLambda(expr):
return typeLambda(expr, env)
elif isDefinition(expr):
typeDefinition(expr, env)
elif isName(expr):
return typeName(expr, env)
elif isApplication(expr):
return typeApplication(expr, env)
else: evalError ("Unknown expression: " + str(expr))
Votre besoin le plus pressant est d'utiliser plus d'espace dans votre indentation –
double possible [Définition d'une procédure typeConditional] (http://stackoverflow.com/questions/5791049/defining-a-typeconditional-procedure) –