Está en la página 1de 5

ALFABETO: Conjunto finito de smbolos CADENA: Secuencia finita de smbolos tomados de un determinado alfabeto -longitud: sea s una cadena,

su longitud se escribe |s| -concatenacin: unin de 2 cadenas LENGUAJE: Cualquier conjunto de cadenas formadas con smbolos de cierto alfabeto - {e} : Lenguaje cuyo nico elemento es la letra e - operaciones: LUM: unin LM: concatenacin L^i: potenciacin L*: cerradura L+: cerradura positiva L?: question TRADUCTOR: Recibe en su entrada un programa fuente y lo convierte a un programa objeto -programa fuente: escrito en un lenguaje fuente -programa objeto: pertenece a un lenguaje objeto

ENSAMBLADOR: si el lenguaje fuente es un lenguaje ensamblador y el programa objeto es un lenguaje mquina, el traductor es llamado ensamblador COMPILADOR: Es un programa traductor que transforma un lenguaje de alto nivel a un programa a nivel de mquina o lenguaje ensamblador particular a una cierta mquina.

-Tiempo de compilacin: Es el tiempo que transcurre para la conversin de un programa fuente a un programa objeto

-Tiempo de ejecucin: Es el tiempo en el que el programa es ejecutado

El programa fuente se precesa en tiempo de compilacin, los datos en tiempo de ejecucin INTRPRETE: Es una clase de traductor que procesa una forma interna del programa fuente y los datos al mismo tiempo. -La interpretacin de la forma interna del programa fuente ocurre en tiempo de ejecucin y no se genera programa objeto. -Algunos interpretes analizan cada instruccion del programa fuente ejecutndolas una a una. El tiempo que es utilizado en esta forma de interpretacin es mucho, por lo que no son eficientes.

CONTEXTO DE UN COMPILADOR

PREPROCESADOR: Realiza la tarea de reunir el programa fuente, que a menudo se divide en mdulos almacenados en archivos diferentes. -Puede expandir abreviaturas llamadas macros a preposiciones del lenguaje fuente. -El programa objeto producido por el preprocesador puede, entonces ser traducido y ejecutado por el procesador usual del lenguaje estndar. COMPILADOR: la compilacin se compone de dos partes: anlisis y sntesis -Anlisis: divide al programa fuente en sus piezas que los constituyen y crea una representacin intermedia del programa fuente. -Sntesis: construye el programa objeto deseado a partir de la representacin intermedia.

CARGADOR / ENLAZADOR -Cargador: Es un traductor cuyo lenguaje objeto es el cdigo de la mquina real y cuyo lenguaje fuente es casi idntico. ste consiste usualmente en programas de lenguaje mquina en forma reubicable, junto con tablas de datos que especifican los puntos en dnde el cdigo reublicable debe modificarse para convertirse en verdaderamente ejecutable. -Enlazador: Es un traductor con los mismos lenguajes fuente y objeto que el cargador. Toma como entrada programas en forma reubicable que se han compilado separadamente, incluyendo subprogramas almacenados en libreras. Los une en una sola unidad de cdigo mquina lista para ejecutarse.

FASES DE UN COMPILADOR
Conceptualmente, un compilador opera en fases, cada una de las cuales transforma el programa fuente de una representacin a otra.

En la prctica algunas de las fases pueden ser agrupadas en una sla, y la representacin intermedia entre las fases que se han agrupado no necesita ser construida de manera explcita. Notemos que las actividades de MANEJO DE ERRORES y MANEJO DE LA TABLA DE SMBOLOS interactan con las 6 fases de la compilacin. Informalmente, tambien llamaremos al manejador de la tabla de smbolos y al manejador de errores fases El proceso de compilacin de un programa se efecta en dos fases: anlisis y sntesis

La fase de analisis tiene como entrada el programa fuente. En base a este programa fuente, la fase de anlisis contruye una representacin intermedia del programa fuente. La fase de sntesis se toma de entrada la representacin intermedia, para la generacin del cdigo que constituye un programa objeto. La fase de anlisis consiste de tres fases:

-Anlisis lxico: consiste en leer de izquierda a derecha el programa fuente. El programa fuente es la entrada al analizador lxico y generalmente reside en in archivo de texto. -tiene como fin identificar tokens Un token es una cadena o secuencia de caracteres con un cierto significado. -especificado formalmenteo por medio de expresiones regulares -su salida es u conjunto de tokens -instruccion : token, lexema, patron -Analisis sintctico: recibe los tokens que le enca el analizador lxico y con ellos construye una estructura jerrquica, denominada rbol de reconocimento -verifica que no haya errores de sintaxis -la expresion formal de la sintxix es posible realizarla con el uso de gramticas Gramatica de contexto libre: permiten especificar las reglas de sintaxis para c asi todas las instrucciones de un lenguaje de programacin.