Extienda el lenguaje con tipos variables presentado en la sección 13.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.