Compiladores

Solo disponible en BuenasTareas
  • Páginas : 3 (722 palabras )
  • Descarga(s) : 0
  • Publicado : 20 de noviembre de 2011
Leer documento completo
Vista previa del texto
TRABAJO DE COMPILADORES
ANALISIS SEMANTICO
Trata de determinar el tipo de los resultados intermedios, comprobar que los argumentos que tiene un operador pertenecen al conjunto de los operadoresposibles, y si son compatibles entre sí. Es decir, comprobará que el significado de lo que se va leyendo es válido o no.
La semántica corresponde al significado asociado a las estructuras formales(sintaxis) del lenguaje.
El análisis semántico utiliza como entrada el árbol sintáctico detectado por el análisis sintáctico para comprobar restricciones de tipo y otras limitaciones semánticas ypreparar la generación de código.
Así, se denomina tradicionalmente “análisis semántico” a todo aquello que forma parte del frontal [front-end] más allá de lo que la gramática utilizada nos permite:
*Tabla de símbolos
* Chequeos de tipos (y otros)
* Generación de representación interna
La tabla de símbolos permite que el analizador léxico devuelva un token distinto según la categoríadel identificador en ese contexto. Con esta técnica:
* En el fondo, estamos introduciendo “dependencia del contexto” sobre una gramática independiente del contexto.
* Por tanto, aumentamos lapotencia del análisis sintáctico
* Podemos resolver algunos conflictos y así evitar modificar la gramática o el lenguaje.
* Ristra del identificador (¿mayúsculas y minúsculas?)
* Categoría:variable, constante, tipo, campo, procedimiento, función, parámetro, clase, etiqueta, módulo, macro, etc.
* A qué ámbito pertenece (profundidad)
* Otra información según categoría: tamaño;ubicación; valor; enlaces a tipo, parámetros o campos; si incompletamente definido; etc.
Su estructura lógica viene determinada por:
* El tipo de ámbito (estático o dinámico)
* Los mecanismos deámbito del lenguaje: procedimientos, bloques, herencia, módulos, espacios de nombres, registros, with,...
* Si se da más de una pasada.
* Compilación separada: ficheros con tablas
* Su...
tracking img