UNIDAD 1 copia

Páginas: 8 (1870 palabras) Publicado: 29 de septiembre de 2015
UNIDAD 1
Análisis semántico
1.1 Árboles de expresiones

Los árboles de expresiones representan el código de nivel del lenguaje en forma de datos. Los datos se almacenan en una estructura con forma de árbol. Cada nodo del árbol de expresión representa una expresión, por ejemplo, una llamada al método o una operación binaria, como x < y.

En la ilustración siguiente se muestra un ejemplo de unaexpresión y su representación en forma de un árbol de expresión. Las diferentes partes de la expresión tienen un color distinto para hacerlas coincidir con el nodo correspondiente del árbol de expresión. También se muestran los diferentes tipos de los nodos del árbol de expresión.


1.2 Acciones semánticas de un analizador sintáctico
Dependiendo del tipo de sentencias, las acciones semánticas puedenagruparse en:
Sentencias de Declaración: completar la sección de tipos de la Tabla de Símbolos.
Sentencias “ejecutables”: realizar comprobaciones de tipos entre los operandos implicados.
Funciones y procedimientos: comprobar el número, orden y tipo de los parámetros actuales en cada llamada a una función o procedimiento.
Identificación de variables: comprobar si un identificador ha sido declaradoantes de utilizarlo.
Etiquetas: comprobar si hay etiquetasrepetidas y validación.
Constantes: comprobar que no se utilicen en la parte izquierda de una asignación.
Conversiones y equivalencias de tipo: verificación.
Sobrecarga de operadores y funciones: detectar y solventar.

1.3 Comprobaciones de tipos de expresiones
La labor de comprobación de tipos consiste en conferir a las construccionessintácticas del lenguaje la semántica de tipificación y en realizar todo tipo de comprobaciones de dicha índole. Por su naturaleza, sin embargo, ésta se encuentra repartida entre la fase de análisis semántico y la generación de código intermedio.


Tipos de comprobaciones semánticas

Comprobaciones estáticas
Las comprobaciones estáticas recogen el compendio de todas aquellas tareas de caráctersemántico que, por su naturaleza, pueden ser realizadas directamente durante la fase de compilación mediante el uso de los artefactos y mecanismos propios de dicha fase. Este tipo de comprobaciones son beneficiosas puesto que confieren seguridad a la ejecución del programa.

Comprobaciones dinámicas
Las comprobaciones dinámicas son aquellas que no se realizan durante la fase de compilación y se deleganal momento de la ejecución del programa. Ello requiere generar código ejecutable específicamente diseñado para realizar tales comprobaciones.
Los lenguajes con una carga excesiva de comprobaciones dinámicas generan programas más largos, lentos e inseguros en ejecución.

Tipos de comprobaciones semánticas estáticas
Gestión de declaraciones
Se encarga deregistrar todas las declaraciones realizadaspor el programador a lo largo de los distintos ámbitos. Esta tarea implica el registro de tipos y la comprobación de que no se produce ninguna colisión de nombres con los identificadores de otras declaraciones.


Verificación de tipos
Comprueba la compatibilidad de tipos de todas las expresiones del código fuente recuperando la información durante la gestión de declaraciones. Además se asegura deque no existe en el programa ninguna referencia a ningún símbolo no declarado.
Inferencia de tipos 
En lenguajes sin tipificación de variables o con sobrecarga se aplican tareas de inferencia de tipos en el nivel gramatical de las expresiones para resolver el tipo de datos de la expresión resultante en función del contexto de evaluación

1.4 Pilas semánticas en un analizador sintácticoFundamentación: Un parser ascendente utiliza durante el análisis una pila. En esta va guardando datos que le permiten ir haciendo las operaciones de reducción que necesita.
Para incorporar acciones semánticas como lo es construir el árbol sintáctico, es necesario incorporar a la pila del parser otra columna que guarde los atributos de los símbolos que se van analizando.
Estos atributos estarían ligados a la...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • UNIDAD 1 Copia
  • Unidad 1 y 3 copia
  • 1 Copia
  • Copia de 1
  • Copia 1 Wernwer 1
  • laboratorio 1 1 copia
  • UNIDAD I copia
  • Unidad 3 ACI Copia

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS