Compiladores, Intérpretes y Ensambladores: Conceptos Clave y Fases de la Compilación

Clasificado en Informática

Escrito el en español con un tamaño de 3,25 KB

Conceptos Clave en la Traducción de Lenguajes de Programación

Compilador

Un compilador es un programa que traduce otro programa escrito en un lenguaje de programación (código fuente) a otro lenguaje de programación (código objeto), generando un código equivalente.

Intérprete

Un intérprete es un programa capaz de analizar y ejecutar otros programas escritos en un lenguaje de alto nivel.

Ensamblador

Un ensamblador traduce un fichero fuente escrito en un lenguaje ensamblador a un fichero objeto que contiene código máquina.

Traductor

Un traductor es un programa que lee una secuencia perteneciente a un lenguaje fuente y la traduce a una secuencia en un lenguaje objeto.

Enlazador

Un enlazador toma los ficheros de código objeto generados en los primeros pasos del proceso de compilación.

Ventajas de los Compiladores e Intérpretes

Ventajas del Compilador

  • Se compila una vez y se ejecuta n veces.
  • Tiene visión global del programa.

Ventajas del Intérprete

  • Necesita menos memoria.
  • Permite una mayor interactividad con el código en tiempo de desarrollo.

Tipos de Compiladores

Compilador Cruzado

Un compilador cruzado es capaz de crear código ejecutable en una plataforma diferente a la que él se ejecuta.

Compilador Optimizador

Un compilador optimizador realiza cambios en el código para mejorar su eficiencia, pero mantiene la función del programa original.

Compilador de una Pasada

Un compilador de una pasada genera código máquina a partir de una única lectura del código fuente.

Compilador de Varias Pasadas

Un compilador de varias pasadas necesita leer el código fuente varias veces antes de poder producir un código máquina.

Metacompilador

Metacompilador es sinónimo de compilador de compiladores.

Fases del Proceso de Compilación

Analizador Lexicográfico (Scanner)

El analizador lexicográfico toma el programa escrito en código fuente y lo divide en símbolos (tokens).

Analizador Sintáctico (Parser)

El analizador sintáctico toma la tabla de símbolos y, mediante el uso de una gramática, recupera la estructura sintáctica de la oración.

Analizador Semántico

El analizador semántico revisa el programa fuente para detectar posibles errores semánticos y verifica la compatibilidad de tipos.

Generación de Código Intermedio

Es el inicio del proceso de síntesis de la expresión y genera una representación intermedia explícita del programa.

Optimización de Código

El código generado en la etapa anterior se optimiza para su ejecución de manera más eficiente.

Generación de Código

La versión final del código es generada a partir del código optimizado.

Tabla de Símbolos

Es una estructura de datos que contiene un registro para cada identificador utilizado en el código fuente.

Manejo de Errores

Cada una de las etapas del compilador puede detectar errores que son informados al programador.

Entradas relacionadas: