Autómatas y Compiladores CI-1322
Resumen Capítulo 1 del libro del Dragón
Introducción a la compilación

INDEX

VOLVER

Compiladores

Un compilador es un programa que lee un programa escrito en lenguaje fuente, y lo traduce a un programa equivalente en otro lenguaje, el lenguaje objeto. Como parte importante de este proceso de traducción, el compilador informa a su usuario de la presencia de errores en el programa fuente. En la compilación hay dos partes: análisis y síntesis. Se pueden necesitar otros programas para crear un programa objeto ejecutable, tales como un preprocesador o un ensamblador.

Análisis del programa fuente

- Análisis lineal o léxico, en el que la cadena de caracteres que constituye el programa fuente se lee y se agrupa en componentes léxicos, que son secuencias de caracteres que tienen un significado colectivo. La secuencia de caracteres que forman un componente léxico se denimina lexema del componente.

- Análisis jerárquico o sintáctico, en el que los caracteres o los componentes léxicos se agrupan jerárquicamente en colecciones anidadas con un significado colectivo. Esta estructura jerárquica se representará por medio de árboles sintácticos.

- Análisis semántico, en el que se realizan ciertas revisiones para asegurar que los componentes de un programa se ajustan de un modo significativo. Trata de encontrar errores semánticos y reúne información sobre los tipos de los operandos que se utiliza en la fase posterior de generación de código.

Las fases de un compilador

La compilación sigue el siguiente proceso: programa fuente --> analizador léxico --> analizador sintáctico --> analizador semántico --> generador de código intermedio --> optimador de código --> generador de código --> programa objeto. Durante todo el proceso se mantienen otros dos procesos que son la administración de la tabla de símbolos y el manejador de errores.

La tabla de símbolos maneja los registros de los identificadores utilizados en el programa fuente y la información de los atributos como la direccion de memoria, tipo y ámbito de cada uno de ellos.

Por otro lado, cada fase puede encontrar errores, estos son encontrados sin detener el proceso de compilación para permitir a cada fase la detección de más errores e informar al usuario de éstos al finalizar el proceso.

 

 

Hosted by www.Geocities.ws

1