Tema I: Introducción a los Compiladores

Definición:

Un compilador es un programa que lee un programa escrito en un lenguaje (código fuente) y lo traduce a un programa equivalente en otro lenguaje (código objeto). En el proceso se informa al usuario sobre la presencia de errores en el código fuente.

Un poco de Historia:

En 1946 se desarrolló la primera computadora digital. En un principio, estas máquinas ejecutaban instrucciones consistentes en códigos numéricos que señalaban a los circuitos de la máquina los estados correspondientes a cada operación, lo que se denominó lenguaje máquina.
El primer compilador fue escrito por Grace Hopper, en 1952 para el lenguaje de programación A-0. En 1950 John Backus dirigió una investigación en IBM sobre un lenguaje algebraico.
En 1954 se empezó a desarrollar un lenguaje que permitía escribir fórmulas matemáticas de manera traducible por un ordenador; le llamaron FORTRAN (FORmulae TRANslator). Fue el primer lenguaje de alto nivel y se introdujo en 1957 para el uso de la computadora IBM modelo 704.
La tarea de realizar un compilador no fue fácil. El primer compilador de FORTRAN tardó 18 años-persona en realizarse y era muy sencillo.
El primer compilador autocontenido, es decir, capaz de compilar su propio código fuente fue el creado para Lisp por Hart y Levin en el MIT en 1962. Desde 1970 se ha convertido en una práctica común escribir el compilador en el mismo lenguaje que este compila, aunque Pascal y C han sido alternativas muy usadas.

Tipos de Compiladores:
  •  Compiladores de una pasada: Generan el código máquina a partir de una única lectura del código fuente.
  • Compiladores de múltiples pasadas: Necesitan leer el código fuente varias veces antes de poder producir el código de máquina.
  • Compiladores de carga y ejecución: Permiten enlazar varios módulos, cargarlos a la memoria y ejecutarlos directamente. 
  • Compiladores de depuración o de optimación: Realizan cambios en el código para mejorar su eficiencia, pero manteniendo la funcionalidad del programa original.
  • Compiladores cruzados: Se ejecutan en una máquina pero el código objeto que producen es para otra máquina.
  • Compiladores JIT (Just-In-Time): Forman parte de un intérprete y compilan partes del código según se necesitan.
Para más información ver los siguientes enlaces: Introducción a los Compiladores y
Compiladores e Interpretes (Características)


1 comentario:

  1. en el vídeo se observa la falta de conocimiento que tienen los usuarios de computadores y los mismo ingenieros en sistema, de lo que es un compilador e un interprete, no es un tema de conocimiento ni abarcado en en tecnología, ya que muchos no conocen del mismo.

    ResponderEliminar