Está en la página 1de 2

De la Cruz Hernandez Hugo Antonio EDA 1 Fecha de entrega: 31/08/2022

“Proceso de compilación de un programa”


La tarea de traducción de un programa desde un lenguaje de programación de alto nivel hasta
el lenguaje de máquina se denomina compilación, y la herramienta encargada de ello es el
compilador. Este proceso se divide en 3 etapas; tiempo de edición, tiempo de compilación y
tiempo de ejecución. En el tiempo de compilación se hablará sobre 3 etapas que conforman a
esta parte del proceso; pre-procesamiento, compilación y la etapa de ligado, estas tres etapas
solo serán en el caso del lenguaje C.

Tiempo de edición:

Antes del proceso de compilación, se crea el programa fuente utilizando cualquier aplicación
disponible con capacidades de edición de textos. En esta primera parte el compilador tiene 2
archivos fuente, que son las instrucciones al compilador (Mi programa fuente) que está en “.c”
y tiene las directivas “.h”, estos archivos se traducen a binario.

Tiempo de compilación:

Esta etapa es el tempo en el que un compilador compila código escrito en un lenguaje de


programación a una forma de código ejecutable por una máquina. Se divide en 3 procesos:

*PRE-PROCESAMIENTO: Esta etapa es una traducción previa y básica que tiene como
finalidad “acomodar” el código fuente antes de que éste sea procesado por el compilador en sí.
El preprocesador modifica el código fuente según las directivas que haya escrito el programador
y se crea un archivo “.c” temporal.

*COMPILACIÓN: La compilación es el proceso donde se genera un archivo x.o que está en


binario. Dentro de esta etapa pueden reconocerse, al menos, cuatro fases:

1. Análisis léxico: El Análisis Léxico es la primera fase de un compilador y consiste en un programa


que recibe como entrada el código fuente de otro programa (secuencia de caracteres) y produce una
salida compuesta de tokens (componentes léxicos) o símbolos. Estos tokens sirven para una posterior
etapa del proceso de traducción, siendo la entrada para el Análisis Sintáctico.
2. Análisis sintáctico: En esta parte se procesa la secuencia de tokens generada por el análisis lexico,
y se construye una representación intermedia (comúnmente árboles) que le permitirá al compilador
realizar su labor con más facilidad en las fases sucesivas.

3. Análisis semántico: Se utiliza como entrada el árbol sintáctico detectado por el análisis sintáctico
para comprobar restricciones de tipo y otras limitaciones semánticas para preparar la generación del
código.

4.Generación de código: Es la fase mediante el cual un compilador convierte un programa


sintácticamente correcto en una serie de instrucciones a ser interpretadas por una máquina.

*Etapa de ligado: En este proceso de la etapa de tiempo de compilación se toma el archivo


“x.o” y se le pega en el código de las funciones estándares que se usan (Los archivos objeto
que se enlazan con nuestro programa se denominan bibliotecas externas que, por su parte,
pueden haber sido construidas por nosotros mismos o pueden provenir de terceras partes).
Después de etso se generará un archivo “.exe”.

Tiempo de ejecución: Esta parte final del proceso de compilación es donde el archivo
“.exe” se ejecuta en un sistema operativo.

CONCLUSIÓN:

Durante esta actividad, pude realimentar lo visto en clase, entendí todo lo que pasa a la hora de hacer
mis programas, aprendí que stdio.h no es una biblioteca como me habían dicho, es un directorio. Leer
el libro la verdad me llegó a confundir un poco ya que el profesor nos había hablado de 3 procesos y el
libro nos habla de 3 procesos que pertenecen a un proceso de los que habló el profesor, eso me ha
confundido un poco.

Referencias:

-López, Gustavo Análisis y diseño de algoritmos : implementaciones en C y Pascal / Gustavo López ; Ismael Jeder;
Augusto Vega. - 1a ed. - Buenos Aires : Alfaomega Grupo Editor Argentino, 2009.

También podría gustarte