ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Analisis Semantico


Enviado por   •  21 de Octubre de 2014  •  1.193 Palabras (5 Páginas)  •  202 Visitas

Página 1 de 5

ANALISIS SEMANTICO

En las fases anteriores se han desarrollado las técnicas adecuadas para comprobar que una serie de palabras y símbolos están bien construidos respecto a las reglas impuestas por un lenguaje concreto. Pero el hecho de que estén bien construidos u ordenados no quiere decir que su significado sea el deseado por el creador del compilador. Queda una fase muy importante, que es comprobar que la serie de símbolos tiene un sentido respecto a lo que el creador del compilarlo desea. Es decir, es la hora de comprobar que en el programa hay una cohesión y un sentido.

Esta fase de análisis trata de verificar que los tipos que intervienen en las expresiones sean compatibles entre sí, que los parámetros que se le pasan a los subprogramas sean los adecuados tanto en número en tipo, que las funciones devuelven valores adecuados en cuanto al tipo, etc.

Generalmente, en la construcción de un compilador hay una relación muy intensa entre el análisis semántico y la siguiente fase (la generación de código intermedio y final). Además, el análisis sintáctico guía el proceso de análisis semántico, por lo que se habla de traducción dirigida por la sintaxis. Esto es así porque el analizador sintáctico es el que invoca los procesos de análisis semántico y generación de código al tiempo que realiza sus propias tareas de análisis sintáctico. Es decir, hay una superposición de tareas de análisis sintáctico, semántico y generación de código.

El análisis semántico se escapa en muchos puntos a la sistematización y es esencial que el ser humano dote de significado a su gramática para poder implementar el análisis semántico sobre ella.

Para poder dotar de significado a los símbolos, hay que asignarles cierta información que le llamamos atributos. Para manipular la información portada por los atributos de los símbolos, es decir, para poder realizar el análisis semántico, es necesario que las reglas de la gramática puedan realizar acciones semánticas y manipular atributos. Estas acciones y esta manipulación se realizan incluyendo código de un lenguaje de programación determinado.

ATRIBUTOS, GRAMATICAS DE ATRIBUTOS Y ACCIONES SEMANTICAS.

Los atributos son información personalizada de los símbolos. Por lo que cada tipo de símbolo puede tener atributos diferentes. Ejemplos típicos de atributos son:

 Nombre de una variable

 Tipo de una variable

 Valor de una expresión

 Fragmento de código.

Las acciones semánticas se encargan de manipular el contenido de los atributos para verificar que existe un significado correcto en la relación de los símbolos entre si.

Hay dos tipos de terminales, los que están definidos en el análisis léxico como fijos y los que siguen un patrón definido, por lo que representan una variedad de posibles lexemas.

Para poder llenar la tabla de símbolos con la información necesaria de cada símbolo, es preciso que los diferentes atributos tengan sus valores establecidos. Algunos valores vienen dados por las fases de análisis léxico, como son el contenido de los lexemas, pero hay otros valores que se deben calcular en el proceso de traducción dirigida por la sintaxis.

Pero para calcular los valores de los atributos, es preciso incluir las llamadas acciones semánticas, que no son más que trozos de código en un lenguaje de programación concreto, que manipulan los símbolos y sus atributos.

Reglas para la utilización de atributos en acciones semánticas

1. Las acciones semánticas en las que intervengan los atributos de la parte izquierda de una regla se pondrán al final de la regla.

2. Solo se pondrán incluir acciones semánticas en que intervengan atributos de un símbolo detrás de la aparición del símbolo en la regla.

Una gramática de atributos es la generalización de una gramática independiente de contexto en la que cada símbolo gramatical tiene asociado un conjunto de atributos.

Si X es un símbolo de la gramática y a un atributo asociado a X , entonces escribiremos X.a para detonar un atributo a asociado a X.

Dado una producción de la forma X0 X1 X2…. Xn,

...

Descargar como (para miembros actualizados) txt (8 Kb)
Leer 4 páginas más »
Disponible sólo en Clubensayos.com