Sunteți pe pagina 1din 3

Pasos de un compilador -Codigo Fuente -Analizador lxico -Analizador sintctico / semntico -Generador de cdigo intermedio -Codigo intermedio no optimizado

-Optimizador de cdigo intermedio -Generador de cdigo objeto (cdigo maquina) Expresion Secuencia de tokens que siguen reglas especificas. Arbol de expresin Se utilizan para representar una secuencia de tokens (expresin) en memoria, escencial mente en compiladores de lenguajes de programacin. Analisis semntico Dota de un significado coherente a lo que hemos hecho en el anlisis sintctico Funciones principales Identificar cada tipo de instruccion y sus componentes Completar la tabla de smbolos Realizar distintas comprobaciones y validaciones -comprobaciones de tipos -comprobaciones de flujo de control -comprobaciones de unisidad -comprobaciones de emparejamiento Acciones semnticas -Sentencias de declaracin -Sentencias ejecutables -Funciones y procedimientos -Identificacin de variables -Etiquetas -Constantes -Conversiones y equivalencia de tipos -Sobrecarga de operadores y funciones Comprobador de tipo -Calcula y mantiene la informacin de tipos (inferencia) -Comprueba que el tipo de una construccin tenga sentido en su contexto segn el lenguaje Evalua -Expresiones de tipo

-Sistemas de tipo -comprobacion estatica y dinmica de tipos -tabla de smbolos Pila semntica en un analizador sintctico La juega un papel fundamental en el desarrollo de cualquier analizador semntico. Dentro de cada elemento de la pila se guardan los valores que pueden tener una expresin. Esquemas de traduccin Es una gramatica independiente del contexto en el que se asocian atributos con los smbolos gramaticales y se insertan acciones semnticas encerradas entre llaves dentro de los lados derechos de las producciones. Tabla de smbolos Almacena todos los elementos declarados en el programa y sus atributos (tipo, valor, direccin, paramentros, etc). Acciones en cada fase Lexico: inserta en la tabla de smbolos cada id que detecta y si corresponde da error si ya existe. Sintctico: inserta el tipo del id. Semntico: -identifica que cada id sea declarado antes de usarlo, -recupera el tipo de id Generacion de cdigo intermedio: recupera el tipo y direccin del id Generacion de cdigo objeto: inserta y recupera informacin sobre la memoria asignada. Estructura para implementar una tabla de smbolos -listas -arboles -tablas hash Operaciones: Busqueda (lexema): entero; Insercion (lexema, descriptor): boolean; Obt.Atributo(lexema,atributo):valor; Eliminar (lexema):entero; Parte fija Nombre Clave Variable simple/ estructurada Funcin Tipo Bsico Predefinido Direccin Direccin de memoria

Procedimiento Tipo

Definido por el usuario Lnea donde se declaro

Lnea donde se utiliza

Parte variante Arreglo: Tipo base, limite inferior y limite superior Procedimientos: Cantidad de parmetros parametro1, tipo1 parametron, tipon

Sistemas de tipos Serie de reglas para asignar expresiones de tipos a las distintas partes de un programa. Un lenguaje es fuertemente tipificado si un compilador puede garantizar que los programas que acepte se ejecuten sin errores de tipo. Manejo de errores semnticos Recuperacion de errores: Informa de la naturaleza y la posicin del error. El manejo de errores afecta a las reglas de comprobacin de tipos tiene que disearse como parte del sistema de tipos desde el principio.

S-ar putea să vă placă și