Comprobaci n de tipos 2012
Comprobación
de tipos
Introducción
Tipo de está declaración?
Es legal?
Cuánto espacio ocupa s?
Pueden detectarse estos problemas durante la compilación?
Análisissemántico
Nombre
r,i : declaradas,
L1: aparecer una vez
A : aparecer al comienzo y final (o no aparecer)
Análisis semántico
Tipos
i: declarado como función
Valor devuelto por i compatiblecon el tipo de r
a y b: comparables
Análisis semántico
Convertir i a real
Convertir r a entero
Determinar qué tipo de operación llevar a cabo
Análisis semántico
Lugar en el programa Sólo dentro de un bucle
Sólo en el mismo bucle
Comprobación de tipos
Verificar que los tipos y valores asociados a los objetos de un programa se
utilizan de acuerdo con la especificación dellenguaje.
Detectar conversiones implícitas de tipos para efectuarlas o insertar el
código apropiado para efectuarlas.
Almacenar información relativa a los tipos de los objetos
Aplicar las reglasde verificación de tipos
Comprobación de tipos
Equivalencia: determina cuándo dos objetos pueden considerarse del
mismo tipo
Compatibilidad: determina cuándo un objeto de cierto tipo puede serusado
en un cierto contexto
Inferencia: derivación del tipo de un objeto a partir de sus componentes
Conversión: permitir y efectuar cambio de tipo
Coerción: conversión automática de un tipo aotro
Sistema de tipos
Tipos primitivos
Booleano: un byte, 0 (false), 1 (true)
Carácter: un byte, ASCII Java: dos bytes, UNICODE
Entero: dos bytes
Sistemas de tipos
Tipos primitivos
Real: coma fija, coma flotante
Constructores
Enumerados: orden total
Sistemas de tipos
Constructores
Subrangos: intervalos
Registros: tuplas
Vectores: secuencias
Conjuntos: selección
Punteros: referencias
Listas: sec. sin indexado
Ficheros: sec. con posición
Funciones: genera un valor
Sistemas de tipos
Reglas
de equivalencia de tipos:
cuando los tipos de dos...
Regístrate para leer el documento completo.