Compilacion y Ejecucion

CONCEPTOS

COMPILADOR:

Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser un código intermedio (bytecode), o simplemente texto. Este proceso de traducción se conoce como compilación.
La construcción de un compilador involucra la división del proceso en una serie de fases que variará con su complejidad. Generalmente estas fases se agrupan en dos tareas: el análisis del programa fuente y la síntesis del programa objeto.·                    Análisis: Se trata de la comprobación de la corrección del programa fuente, e incluye las fases correspondientes al Análisis léxico (que consiste en la descomposición del programa fuente en componentes léxicos), Análisis sintáctico (agrupación de los componentes léxicos en frases gramaticales ) y Análisis semántico (comprobación de la validez semántica de las sentencias aceptadas en la fase de Análisis Sintáctico).
·                    Síntesis: Su objetivo es la generación de la salida expresada en el lenguaje objeto y suele estar formado por una o varias combinaciones de fases de Generación de Código (normalmente se trata de código intermedio o de código objeto) y de Optimización de Código (en las que se busca obtener un código lo más eficiente posible).
Alternativamente, las fases descritas para las tareas de análisis y síntesis se pueden agrupar en Front-end y Back-end:·                    Front-end: es la parte que analiza el código fuente, comprueba su validez, genera el árbol de derivación y rellena los valores de la tabla de símbolos. Esta parte suele ser independiente de la plataforma o sistema para el cual se vaya a compilar, y está compuesta por las fases comprendidas entre el Análisis Léxico y la Generación de Código Intermedio.
·                    Back-end:
 es la parte que genera el código máquina, específico de una plataforma, a partir de los resultados de la fase de análisis, realizada por el Front End.




EJECUCIÓN:


En informática, ejecutar es la acción de iniciar la carga de un programa o de cualquier archivo ejecutable.

En otras palabras, la ejecución es el proceso mediante el cual una computadora lleva a cabo las instrucciones de un programa informático.

Se pueden ejecutar programas compilados (por ejemplo, en Windows, los .EXE) o programasinterpretados (por ejemplo, los scripts).

Ejecutar un programa implica que éste estará en estado de ejecución y, por ende, en memoria, hasta que se finalice.

Algunas bibliografías extienden la definición de ejecutar e incluyen la carga de archivos que no son ejecutables. Por ejemplo, cuando se ejecuta una imagen JPG y se abre el programa para visualizar la misma, o cuando se ejecuta un sonido MP3 y se abre el reproductor de audio. Técnicamente hablando, lo que está realmente en ejecución es el programa que se encarga de interpretar el archivo no ejecutable.

En Windows, la mayoría de los programas que están en ejecución se listan en el Administrador de tareas, desde donde pueden ser finalizados.

4 comentarios: