| INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÓMPUTO |

Introducción | Contenido | Bibliografía

Introducción
Contenido
UNIDAD I
UNIDAD II Introducción 2.1 Estructura de un Compilador 2.1.1 Función del analizador léxico 2.1.2 Función del analizador sintáctico

2.1.3 Tabla de Símbolos

2.1.4 Función del analizador Semántico

2.1.5 Etapa de análisis

2.1.6 Etapa de Síntesis

UNIDAD III
UNIDAD IV
UNIDAD V
UNIDAD VI
UNIDAD VII
UNIDAD VIII
UNIDAD IX
PROBLEMARIO
Bibliografía

Compiladores e Intérpretes

> Introducción

> Un traductor es un programa que traduce o convierte un texto o programa escrito en un lenguaje fuente a un texto o programa escrito en un lenguaje destino, indicando, si fuera el caso, los mensajes de error presentes, los traductores engloban tanto al compilador como al intérprete.

> Un compilador es aquel traductor que tiene como entrada una sentencia en lenguaje formal y como salida tiene un archivo ejecutable, es decir, hace una traducción de alto nivel a código máquina.

> Un intérprete, es parecido a un compilador, sólo que la salida es una ejecución, es decir, el programa de entrada se interpreta y ejecuta a la vez, no se produce un resultado físico (código máquina) sino lógico (una ejecución). Hay lenguajes que sólo pueden ser interpretados, como por ejemplo SNOBOL (StriNg Oriented SimBOlyc Language), LISP (LISt Processing), algunas versiones de BASIC (Beginner’s All-purpose Symbolic Instruction Code). Su principal ventaja es que permiten una fácil depuración.

> Entre los inconvenientes podemos citar, en primer lugar, la lentitud de ejecución, ya que al ejecutar a la vez que se traduce, no puede aplicarse un alto grado de optimización; por ejemplo, si el programa entra en un ciclo y la optimización no está muy afinada, las mismas instrucciones se interpretarán y ejecutarán una y otra vez, haciendo lento la ejecución del programa. Otro inconveniente es que durante la ejecución, el intérprete debe residir en memoria, por lo que, consumen más recursos. Además de que la traducción optimiza el programa acercándolo a la máquina, los lenguajes interpretados tienen la característica de que permiten construir programas que se pueden modificar a sí mismos.

> Algunos lenguajes intentan aumentar las ventajas de los compiladores y de los intérpretes y evitar sus desventajas; son los lenguajes pseudo interpretados. En estos, el programa fuente pasa por un pseudo compilador que genera un pseudo ejecutable.

> Para ejecutar este pseudo ejecutable se le hace pasar por un motor de ejecución que lo interpreta de manera relativamente eficiente. Esto tiene la ventaja de la portabilidad, ya que el pseudo ejecutable es independiente de la máquina en que vaya a ejecutarse, y basta con que en dicha máquina se disponga del motor de ejecución apropiado para poder interpretar cualquier pseudo ejecutable. El ejemplo actual más conocido lo constituye el lenguaje Java; también son pseudo interpretadas algunas versiones de Pascal y de COBOL (COmmon Bussiness Oriented Language).

Atrás Siguiente

##### Introducción / Contenido / Unidad I / Unidad II / Unidad III / Unidad IV / Unidad V / Unidad VI / Unidad VII / Unidad VIII / Unidad IX / Problemario / Bibliografía

##### Inicio

##### Créditos

José Sánchez Juárez, Andrés Ortigoza Campos, Fabiola Ocampo Botello