1.5. Fases de un compilador
Fases de un compilador
Compilador
Es un programa traductor cuya
función es traducir (compilar) un programa fuente escrito en algún lenguaje de
alto nivel a lenguaje máquina. Este programa traducido o programa objeto,
normalmente es guardado en memoria secundaria en forma ejecutable y es cargado
a memoria principal cada vez que requiera ser ejecutado.
Intérprete
Al igual que el compilador, el
intérprete traduce un programa fuente escrito en algún lenguaje de alto nivel,
pero con la diferencia que cada instrucción es ejecutada inmediatamente, sin
generar un programa en lenguaje de máquina. En general la compilación es un
proceso más eficiente que la interpretación. Esto se debe a que las sentencias
dentro de un ciclo deben ser reinterpretadas cada vez que se ejecutan por un
intérprete. En cambio, con un compilador, cada sentencia es traducida a
lenguaje de máquina sólo una vez.
Ensamblador
es un tipo de lenguaje de bajo
nivel utilizado para escribir programas informáticos, y constituye la
representación más directa del código máquina específico para cada arquitectura
de computadora.
Ensambladores modulares, o
macro ensambladores: Descendientes de los ensambladores básicos, fueron muy
populares en las décadas de los 50 y los 60, antes de la generalización de los
lenguajes de alto nivel. Una macroinstrucción es el equivalente a una función
en un lenguaje de alto nivel.
Lenguaje de Máquina
Es un lenguaje que trabaja sin
símbolos y hace referencia a las direcciones reales de memoria y los códigos
binarios de las instrucciones. Este lenguaje interactúa directamente con el
hardware y constituye el nivel más bajo de programación. No se utiliza
directamente como lenguaje para desarrollo de aplicaciones.
Lenguajes de Alto Nivel
Los lenguajes de alto nivel o
lenguajes de tercera generación fueron los más usados durante las décadas
pasadas para el desarrollo de programas o softwares de aplicación. Ejemplos de
estos lenguajes son el COBOL, PASCAL, BASIC y C entre otros. Su principal
característica es que una instrucción codificada en estos lenguajes equivale a
varias instrucciones en lenguaje máquina. Los programas escritos en estos
lenguajes requieren ser traducidos (compilados) a lenguaje máquina.
Lenguajes de Orientación a
Objetos
Son lenguajes desarrollados a
partir de los noventa y en la actualidad son los más usados para el desarrollo
de programas o software de aplicación. Su característica principal es que el
desarrollo de un problema se focaliza en los objetos que participan en él,
asignándoles a estos atributos y métodos que interactúan con los demás,
produciendo un intercambio fluido de información. Ejemplos de estos lenguajes
son C++, Visual Basic y Java.
1.1 Compiladores
A grandes rasgos, un compilador es un programa que lee un programa escrito en un lenguaje, el lenguaje fuente, y 10 traduce a un programa equivalente en otro lenguaje, el lenguaje objeto (véase Fig. l. l). Como parte importante de este proceso de traducción, el compilador informa a su usuario de la presencia de errores en el programa fuente,
Fig.
1.1. Un compilador.
A primera vista, la diversidad de compiladores puede parecer abrumadora. Hay miles de lenguajes fuente, desde los lenguajes de programación tradicionales, como FORTRAN o Pascal, hasta los lenguajes especializados que han surgido virtualmente en todas las áreas de aplicación de la informática. Los lenguajes objeto son igualmente variados; un lenguaje objeto puede ser otro lenguaje de programación.
Comentarios
Publicar un comentario