You are on page 1of 12

ANÁLISIS SEMÁNTICO

Que es la semántica? Se refiere a los aspectos del significado, sentido o interpretación del significado de un determinado elemento, símbolo, palabra, expresión o representación formal.

Análisis semántico Se trata de determinar el tipo de los resultados intermedios, comprobar que los argumentos que tiene un operador pertenecen al conjunto de los operadores posibles, y si son compatibles entre sí, etc. En definitiva, comprobará que el significado de lo que se va leyendo es válido.

.ANÁLISIS SEMÁNTICO  El análisis semántico se realiza posteriormente al sintáctico y mucho más difícil de formalizar que éste. La salida “teórica” de la fase de análisis semántico sería un árbol semántico.

QUE ES UN ARBOL SEMANTICO?  Es una estructura jerárquica en la cual se registran las operaciónes que implica u operan dentro del programa fuente En cada una de las ramas del arbol semantico se registra el valor o significado que este debe tener. y el analisis semantico se encarga de terminar cual de los valores registrados en las ramas es aplicable. .

. En C el simbolo (+) implica una suma de valores o una union de las cadenas El analisis semantico se va a encargar que tanto el valor1 como el valor2 tengan datos que son compatibles en común y que ademas se les pueda aplicar dicho operador.Ejemplo: Suponiendo que tenemos esta linea de codigo en C: res=valor1+valor2.

etc. declaraciones de tipos.TABLA DE SIMBOLOS Un compilador necesita guardar y usar la información de los objetos que se va encontrando en el texto fuente. como variables. etiquetas. . Esta información se almacena en una estructura de datos interna conocida como tabla de símbolos.

TABLA DE SIMBOLOS El compilador debe desarrollar una serie de funciones relativas a la manipulación de esta tabla como insertar un nuevo elemento en ella. consultar la información relacionada con un símbolo. Como se tiene que acceder mucho a la tabla de símbolos los accesos deben ser lo más rápidos posible para que la compilación sea eficiente. . etc. borrar un elemento.

carácter. Tipo básico: entero. objetos Apuntadores: referencias a tipos Funciones a=suma(). uniones. real. lógico Nombres de tipo Constructores de tipo: estructuras. .SISTEMAS DE TIPO:       Sistema de tipos: conjunto de reglas que determinan el criterio para asignar expresiones de tipo a las diferentes partes del código fuente.

. existencia. Equivalencia y compatibilidad de tipos Conversión explícita [cast] o forzada [coercion] Inferencia de tipos (en valores) Sobrecarga de funciones y operadores      . no-ciclicidad.. como chequeos de tipos: Consistencia: unicidad.CHEQUEOS DE TIPOS (Y OTROS)   Un compilador debe realizar una serie de chequeos estáticos. .

 De FLUJO de CONTROL.  Comprobaciones SEMÁNTICAS  De TIPO.COMPROBACIONES SEMÁNTICAS Comprobaciones ESTÁTICAS. Realizadas en tiempo de ejecución. Verifica los puntos del programa de salida y entrada del control.  Comprobaciones DINÁMICAS.  . Verificación del tipo de los operandos en las expresiones. Las comprobaciones sintácticas y semánticas.

Verifica la presencia de símbolos de forma única. Relación de NOMBRES.De UNICIDAD.  .  (ejemplo: declarar un símbolo una sóla vez). Un mismo nombre puede aparecer más de una vez.

  . permiten desacoplar los diseños de unos y otros.REPRESENTACIONES INTERNAS   Intermedias entre frontal [front-end] y dorsal [back-end]. Orientadas a: Su optimización (instrucciones claras y simples) Generar código de distintas máquinas objeto y el diseño debe permitir su fácil generación por el analizador semántico.

INTEGRANTES DEL EQUIPO José Guadalupe Gonzales  Fernando García Rivera  Jesús Alejandro Beltrán Reyna  .