Extienda el lenguaje con tipos variables presentado en la sección 6.20 con el tipo puntero:
q : pointer(string);Suponga añadida la función polimorfa
deref(x)
que devuelve lo apuntado por x
.
¿Cuál es el tipo de deref
?
Extienda las expresiones con constantes y operaciones binarias.
Añada código para emitir un mensaje de error
en el caso de que después de la fase de inferencia alguna variable
- que no sea del tipo función - tenga un tipo polimorfo.
Actualice las entradas en la tabla de símbolos para las funciones con
un atributo que recoge los diferentes tipos inferidos de los usos de la función.
Casiano Rodríguez León