Вы находитесь на странице: 1из 2

INTRODUCCION A LA COMPILACION

UNIVERSIDAD NACIONAL DE TRUJILLO


ING. INFORMATICA
TRUJILLO PERU
ING. JUAN ORLANDO SALAZAR CAMPOS

Santilln Hualln Daniel


santillanhuallandaniel@hotmail.com
Palabras Clave: Compilador, lenguaje objeto, lenguaje fuente, sntesis, lxico, semntico.
1.

Compiladores
Un compilador es un programa que lee un programa escrito en un lenguaje, el lenguaje
fuente, y lo traduce a un programa equivalente en otro lenguaje, el lenguaje objeto. Ver Fig.
1.1.

1.1. Modelo anlisis y sntesis de la compilacin


La parte de anlisis divide al programa fuente en sus elementos y crea una
representacin intermedia del programa fuente.
La parte de la sntesis construye el programa objeto deseado a partir de la
representacin intermedia.
De ambas partes la que requiere de tcnicas ms especializadas es la sntesis.
Se usa una clase especial de rbol llamada rbol sintctico. Ejemplo Fig. 1.2

1.2. El contexto de un compilador


Se necesita otros programas para crear un programa objeto ejecutable. La tarea de
reunir el programa fuente a menudo se confa a un programa distinto, llamado
preprocesador, puede expandir abreviaturas, llamadas a macros, a proposiciones del
lenguaje fuente.
2. Anlisis del programa fuente
El anlisis consta de tres fases.
a) Anlisis lineal, anlisis lxico o exploracin
En el que la cadena de caracteres, se lee de izquierda a derecha y se agrupa en
componentes lxicos.
b) Anlisis jerrquico o anlisis jerrquico
En el que los caracteres o los componentes lxicos se agrupan jerrquicamente en
colecciones anidadas con un significado colectivo.
c) Anlisis semntico
En el que realizan ciertas revisiones para asegurar los componentes de un programa se
ajustan de un modo significativo.
3. Las fases de un compilador

Conceptualmente un compilador opera


en fases. En la figura 1.3 se muestra una
descomposicin tpica de un compilador.
3.1. Administracin tabla de smbolos
Es una estructura de datos que
contiene
un
registro
por
cada
identificador, con los campos para los
atributos del identificador.
3.2. Deteccin e informacin de
errores
Cada fase puede encontrar errores.
Despus de detectar un error, cada fase
debe tratar de alguna forma ese error,
para poder continuar la compilacin.
3.3. Generacin de cdigo intermedio
Se
puede
considerar
esta
representacin intermedia como un
programa para una maquina abstracta.
3.4. Optimizacin de cdigo
Trata de mejorar el cdigo intermedio, de modo que resulte un cdigo de maquina ms
rpido de ejecutar.
3.5. Generador de cdigo
La fase final de un compilador es la generacin de cdigo objeto, que por lo general
consiste en cdigo de maquina relocalizable o cdigo ensamblador.
4. Herramientas para la construccin de compiladores
Las herramientas ms efectivas son las que ocultan los detalles del algoritmo de generacin,
producen componentes que se pueden integrar con facilidad al resto del compilador. Se lista
algunas herramientas tiles para la construccin de compiladores:
a)
b)
c)
d)
e)

Generadores de analizadores sintcticos.


Generadores de analizadores lxicos.
Dispositivos de traduccin dirigida por la sintaxis.
Generadores automticos de cdigo.
Dispositivos para anlisis de flujo de datos.

5. Conclusiones
Sabemos que un compilador es programa que lee un programa fuente y lo convierte a
programa objeto, informando al usuario de la presencia de errores en el programa
fuente.
Los compiladores tienen muchas fases, en las que progresivamente se va transformando
un texto de un lenguaje a otro.
Las 3 fases de la compilacin: anlisis lxico, sintctico y semntico, son la base para
poder entender cmo funciona bsicamente un compilador.
6. Bibliografa
Alfred V. Aho, Jeffrey D. Ullman, 1era Edicin, Stanford University, 803 pags.

Вам также может понравиться