You are on page 1of 8

Comprobacin de Tipos

Captulo 6

Comprobacin esttica
Diferente de la dinmica (en runtime)
Ejemplos

Comprobacin de tipos
Incompatibilidad de operadores

Flujo de control
Exit Do, break, halt, while, next

Unicidad
Variables nicas en su mbito

Comprobacin esttica
Ms ejemplos

Nombres
Begin transaction NNN --- Commit

transaction NNN

Comprobacin dinmica es necesaria

tabla: array[0..255] of char;


i: integer
Verificar i <= 255 estticamente?

Sistemas de tipos
Basado en

La nocin de tipo
Tipos bsicos o primitivos
Tipos construidos o referenciales

Las reglas para asignar tipos


Suma de dos reales es un?
Concatenacin de dos char es un?

Expresiones de tipos
Un tipo bsico

Boolean, char, integer, long, float, etc.


error_tipo

El nombre de un tipo
public class Telefono {
int nmero; int internacional;
}

Constructores de tipos

Constructores de tipos
Matrices

Array(I,T)
String[20] nombres;

Productos cartesianos

T1 x T2

Registros

Record((NNN x integer) x (MMM x


String))

Constructores de tipos
Apuntadores

Pointer(T)

Funciones

int x int => int


int calcula(int par1; int par2) { return
par1*par2; }

Comprobador de tipos
Gramtica de los tipos
Reglas semnticas
Atributo (sintetizado o heredado)
tipo