CLASE 8 Ruben Martinez c
Tipo Inferencia Es un mecanismo donde por el tipo las especificaciones se pueda omitir a menudo totalmente, si es posible que el compilador deduzca los tipos de valores de los contextos en los cuales se utilizan. Ejemplo, si una variable se asigna el valor 1, un compilador de tipo deducción no necesita que se le indique explícitamente que la variable es un número entero.
SubRangos Para los operadores de aritmética simple, la sutileza de sistema de tipo principal se levanta cuando un o más operadores tienen tipos del SubRangos. Type Atype = Type Btype = Var a: Atype; b:Btype; ¿ Cual es el Tipo A + B? El chequeo de la semántica puede o no ser requerido.
Tipos Compuestos Records (Registros) Variant records (una variable valida en algun momento) Arrays (Arreglos) Sets (Conjuntos) Pointers (Apuntadores, Referencia) Lists (Lista, Definiciones recursivas) Archivos
Registros Los tipos Registro permiten tener datos relacionados de tipos heterogéneos para ser almacenados y manipulados juntos.
Registros Definiciones de registro jerarquizadas Disposición de la memoria (alineación con los límites de palabra para el acceso eficiente, embalado para el espacio) ingenuo paquete compromiso
Arreglos –Es un conjunto de datos o una estructura de datos homogéneos que se encuentran ubicados en forma consecutiva en la memoria. – Los arreglos pueden ser de los siguientes tipos: De una dimensión. De dos dimensiones o mas dimensiones
Arreglos Tiempo en el que la forma del arreglo está limitado es importante –Vida global, forma estática (memoria estática) –Vida Local, forma estática (Marco de la Pila) –Vida Local, la forma limita en el momento de la elaboración y las asociaciones. E.g Ada. –Vida Arbitraria, La forma limita en el momento de la elaboración (heap). E.g. Java. –Vida Arbitraria, forma dinámica (heap)
Esquema de memoria para arreglos
Esquema de memoria para arreglos(2) Arreglo inmediatoApuntadores de Filas El esquema de memoria determina la naturaleza y eficacia de cálculos de dirección
String En muchos lenguajes, un string es simplemente un arreglo de caracteres, en otros tiene un especial estatus.