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

Entradas populares de este blog

1.3. Lenguajes, tipos y herramientas

3.1 conceptos: definición y clasificación de autómata finito (AF)