En primer lugar, un compilador es un compilador es un programa que lee el programa escrito en un lenguaje fuente y lo traduce a otro programa equivalente llamada lenguaje objeto.
En segundo lugar, es un traductor que convierte un texto escrito en un lenguaje fuente de alto nivel en un programa objeto en código máquina.
-Análisis: Se habla sobre la comprobación de la corrección del programa fuente, e incluye las fases correspondientes al Análisis Léxico, ya que consiste en la descomposición del programa fuente en componentes léxicos
-Síntesis: Este tiene como objetivo 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 que normalmente se trata de código intermedio o de código objeto.
-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.
2) El interprete:
Traductor que ejecuta un programa línea por línea no modificando la forma original, de una en una, las instrucciones del código fuente de un programa, pero, sin generar como salida código objeto. El proceso que realiza un intérprete es el siguiente:
1º Se lee la primera instrucción del código fuente, la traduce a código objeto y la ejecuta y con la segunda y sucesivamente se sigue asiendo ese proceso hasta llegar a la ultima parte del programa solo si no se produce ningún error durante el proceso.
Referencias:
http://compilador.wikispaces.com/Definicion+de+Compilador
http://www.carlospes.com/minidiccionario/interprete.php
No hay comentarios:
Publicar un comentario