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

COMPILADORES

Universidad Nacional De Trujillo


Ing. Informtica
Trujillo Per
Ing. Juan Orlando Salazar Campos

Palabras Clave: Frases Gramaticales, Lxico, Semntico, Sintctico, Lenguaje Fuente, Lenguaje
Objeto, Cdigo Intermedio, Tabla De Smbolos, Analizadores, Herramientas SW

1. Compilador: Es aquel que traduce un lenguaje fuente (lenguaje de programacin) a un lenguaje
objeto (lenguaje maquina).

1.1. Partes De La Compilacin:
- Anlisis: Divide al programa fuente y crea una representacin intermedia de l, adems
determinan y luego registran las operaciones implicadas en un rbol sintctico.

- Sntesis: Construye el programa objeto a partir de la representacin intermedia.

1.2. Herramientas Software: Se usan para la manipulacin de programas fuente; algunas de ellas
son: Editores de estructuras, impresoras estticas, verificadores estticos, interpretes


2. Anlisis Del Programa Fuente:
2.1. Anlisis Lineal o Lxico: Lectura de caracteres de izquierda a derecha para luego agruparlos en
componentes lxicos (secuencias de caracteres que poseen un significado colectivo).

2.2. Anlisis Jerrquico o Sintctico: Agrupa los componentes lxicos en frases gramaticales
rbol De Anlisis Sintctico. Se puede expresar tambin usando reglas recursivas (GIC).

2.3. Anlisis Semntico: Asegura que los componentes de un programa se ajusten de un modo
significativo.


3. Fases De Un Compilador: Analizador Lxico, Sintctico, Semntico;
3.1. Administracin De La Tabla De Smbolos: Se realiza a travs de una estructura de datos que
contiene un registro por cada identificador, con los campos para sus atributos.
3.2. Manejador De Errores: Cada fase trata de forma diferente los errores encontrados en su
momento.
3.3. Generacin De Cdigo Intermedio: Programa para una maquina abstracta, que debe ser fcil
de producir y fcil de traducir al programa objeto.
3.4. Optimizacin De Cdigo: Mejora el cdigo intermedio, resultando un cdigo de maquina ms
rpido de ejecutar.
3.5. Generacin De Cdigo: Cdigo ensamblador.






4. Programas De Sistemas Relacionados Con Un Compilador:
4.1. Preprocesadores: Producen la entrada para un compilador, pueden realizar funciones como las
siguientes:

- Procesamiento De Macros: UsuarioDefinir Macros (Abreviaturas de construcciones mas
grandes).
- Inclusin de Archivos: Archivos de encabezamiento en el texto del programa (Ej.
Libreras).
- Preprocesadores Racionales: Enriquecen lenguajes antiguos con recursos modernos de
flujo de control y estructuras de datos.
- Extensiones A Lenguajes: Crea la posibilidad de lenguajes equivalentes a las macros
incorporadas.

4.2. Ensambladores: El cdigo ensamblador es una mnemotecnia del cdigo maquina, donde se
usan nombres en lugar de cdigos binarios y direcciones de memoria.

4.3. Ensamblado De Dos Pasadas: Primera Pasada; encontrar todos los identificadores que denoten
posiciones de memoria y almacenarlos en la tabla de smbolos, luego asignarles una posicin de
memoria; Segunda Pasada; se examina el archivo nuevamente para traducir cada cdigo de
operacin en una secuencia de bits y cada identificador a la direccin dada por ese identificador,
su resultado generalmente es cdigo maquina re localizable.

4.4. Cargadores y Editores De Enlace: Proceso De Carga tomar el cdigo de maquina re
localizable, modificar las direcciones re localizables y ubicar las instrucciones y los datos
modificados en las posiciones adecuadas de memoria. Editor De Enlace permite formar un
solo programa a partir de varios archivos de cdigo de maquina re localizable.

5. Agrupamiento De Las Fases
5.1. Etapa Inicial: Dependen principalmente del Lenguaje Fuente. Fases: Anlisis lxico y
sintctico, creacin de la tabla de smbolos, anlisis semntico, generacin de cdigo intermedio.

5.2. Etapa Final: Dependen de la maquina objeto, no dependen del lenguaje fuente si no solo del
lenguaje intermedio. Fases: Optimizacin de cdigo, generacin de cdigo, manejo de errores,
operaciones con la tabla de smbolos.

5.3. Pasadas: Consiste en la lectura de un archivo de entrada y la escritura de un archivo de salida.

5.4. Reduccin Del Nmero De Pasadas: Se logra agrupando varias fases dentro de una sola
pasada.

6. Herramientas Para La Construccin De Compiladores:
- Generadores de analizadores sintcticos,
- Generadores de analizadores lxicos,
- Dispositivos de traduccin dirigida por la sintaxis,
- Generadores automticos de cdigo y
- Dispositivos para el anlisis de flujo de datos
7. Conclusiones
Un compilador es una mquina que traduce un lenguaje fuente a un lenguaje maquina, mediante un
conjunto de fases; donde cada fase puede pertenecer a una agrupacin.

Hoy en da crear un compilador no es una tarea demasiada compleja como lo fue en los aos 50,
ahora existen herramientas que nos facilitan dicha creacin.

8. Bibliografa
- Principles of Compiler, Alfred V. Aho y Jeffrey D. Ullman