rbol de expresin: Los rboles de expresin representan el cdigo en una estructura de datos similar a un rbol, donde cada nodo es una expresin; por ejemplo, una llamada a un mtodo o una operacin binaria como x < y. El cdigo representado en rboles de expresin se puede compilar y ejecutar. Compiladores de un paso: las llamadas a las rutinas semnticas se realizan directamente desde el analizador sintctico y son dichas rutinas las que llaman al generador de cdigo. Compiladores de 2 o ms pasos: el anlisis semntico se realiza independientemente de la generacin de cdigo, pasndose informacin a travs de un archivo intermedio. Nota: En cualquiera de los 2 casos se hace uso de una pila semntica y esta contiene informacin de los operandos.
1.2 Acciones semnticas de un analizador sintctico.
Las actividades que realiza un analizador semntico dependen tambin del lenguaje de programacin. Top-down : Establece niveles de mayor a menor complejidad que den solucin a algn problema, y como realiza esto de arriba hacia abajo es por eso que recibe el nombre de top-down. Objetivos: Simplifica el problema los subprogramas de cada descomposicin.
Las diferentes partes del problema pueden ser programadas
de modo independiente e incluso por diferentes personas. El programa final queda estructurado en forma de bloque o mdulos lo que hace mas sencilla su lectura y mantenimiento. Caractersticas esenciales: Representacin en forma de rbol Descomposicin Funcional
1.3 Comprobaciones de tipos de expresiones.
Son 2 tipos:
*Esttica Deteccin temprana de errores Mayores oportunidades para realizar optimizaciones Tiene ms entornos de desarrollo
*Dinmica Tienen mucha simplicidad Alto nivel de flexibilidad Generan cdigo dinmicamente
*Con las comprobaciones se evitan errores de programacin, se
mencionan la comprobacin de tipos, comprobacin de flujo de control, de unicidad y relacionadas con nombres, de las anteriores comprobaciones, la ms complicada es la comprobacin de tipos y dice que las dems son ms rutinarias Otro concepto por mencionar en este documento es el Polimorfismo que es cuando una funcin puede tener el mismo nombre con diferentes elementos. El tipo de datos debe ser diferente.