80 likes | 246 Views
Comprobación de Tipos. Capítulo 6. Comprobación estática. Diferente de la dinámica (en runtime) Ejemplos Comprobación de tipos Incompatibilidad de operadores Flujo de control Exit Do, break, halt, while, next Unicidad Variables únicas en su ámbito. Comprobación estática. Más ejemplos
E N D
Comprobación de Tipos Capítulo 6
Comprobación estática • Diferente de la dinámica (en runtime) • Ejemplos • Comprobación de tipos • Incompatibilidad de operadores • Flujo de control • Exit Do, break, halt, while, next • Unicidad • Variables únicas en su ámbito
Comprobación estática • Más ejemplos • Nombres • Begin transaction NNN --- Commit transaction NNN • Comprobación dinámica es necesaria • tabla: array[0..255] of char; • i: integer • ¿Verificar i <= 255 estáticamente?
Sistemas de tipos • Basado en • La noción de tipo • Tipos básicos o primitivos • Tipos construidos o referenciales • Las reglas para asignar tipos • ¿Suma de dos reales es un? • ¿Concatenación de dos char es un?
Expresiones de tipos • Un tipo básico • Boolean, char, integer, long, float, etc. • error_tipo • El nombre de un tipo public class Telefono { int número; 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 • Gramática de los tipos • Reglas semánticas • Atributo (sintetizado o heredado) tipo