Compiladores

Páginas: 16 (3936 palabras) Publicado: 24 de agosto de 2010
COMPILADORES

Visión histórica del desarrollo de los compiladores

•1946, se desarrolla el primer ordenador digital

Las instrucciones que se ejecutaban eran códigos numéricos, lenguaje de máquina., esto es engorroso, entonces surgen los ensamblador. Al inicio el programa se escribía mediante claves y luego se traducía manualmente al lenguaje de máquina. Cuando esto lo hizo la mismamáquina, a este trabajo se le llamó ensamblar el programa.

•1950, John Backus dirige una investigación en IBM en un lenguaje algebraico

•1954, se comienza a desarrollar FORTRAN

•1957, FORTRAN se utiliza en la IBM modelo 704

•Surge el concepto traductor

•El primer compilador de FORTRAN tardó 18 años-persona en realizarse

•FORTRAN era dependiente de la máquina

•Paralelamente aldesarrollo de FORTRAN en América, en Europa surge una corriente que pretende que los lenguajes fuesen independientes de la máquina, esta corriente estaba influida por los trabajos sobre GLC de Chomsky

•Surge un grupo Europeo encabezado por F.L. Bauer, en la que participó ACM y John Backus. De este grupo surge un informe que define un Lenguaje Algebraico Internacional, publicado en Zurich en 1958•1969, aparece Algol 60

•Junto con los lenguajes también la técnica de los compiladores avanza

•1958, Strong y otros proponen una solución al problema de que un compilador fuera portable, y esta era dividir al compilador en dos fases “front end” (analiza el programa fuente) y “back end” (genera código objeto para la máquina objeto).

•El puente de unión era un lenguaje intermediodenominado UNCOL –Universal Computer Oriented Language(no funcionó)

•1959, Rabin y Scott proponen el empleo de AFD y AFN para el reconocimiento lexicográfico de los lenguajes

•Aparece BNF (Backus-1960, Naur-1963, Knuth-1964) como una guía para el desarrollo del análisis sintáctico

•1959, Sheridan describe un método de parsing de FORTRAN para introducir paréntesis en una expresión

•En los60’s se desarrollan diversos métodos de parsers ascendentes y descendentes

•Floyd más adelante introduce la técnica de precedencia de operadores y uso de funciones de precedencia

•1961, se usa por primera vez un parsing descendente recursivo

•En los 60’s se estudia el paso de parámetros por nombre, valor y referencia y se incluyen los procedimientos recursivos para Algol 60

•Se desarrollala localización dinámica de datos

•1968, se estudia y definen las GLC, los parsers predictivos y la eliminación de recursividad izquierda

•1975, aparece LEX generador automático de analizadores léxicos a partir de expresiones regulares bajo UNIX

•A mitad de los 70’s Johnson crea YACC para UNIX (generador de analizadores sintácticos)

•Ahora un compilador de divide en varias fases

•Elúltimo lenguaje de programación de amplia aceptación es JAVA (es interpretado)

Conceptos Básicos

Traductor. Cualquier programa que toma como entrada un texto escrito en un lenguaje llamado fuente y da como salida un programa equivalente en otro lenguaje, el lenguaje objeto.

Si el lenguaje fuente de un lenguaje de programación de alto nivel y el objeto un lenguaje de bajo nivel(ensamblador o código de máquina), al traductor se le denomina compilador.

Ensamblador. Es un programa traductor cuyo lenguaje fuente es el lenguaje ensamblador.

Intérprete. Es un programa que no genera un programa equivalente, sino que toma una sentencia del programa fuente en un lenguaje de alto nivel y la traduce al código equivalente y al mismo tiempo lo ejecuta.

En un principiodebido a la escasez de memoria se utilizaban más los intérpretes, ahora se usan más los compiladores (a excepción de JAVA)

Ventajas de compilar vs a interpretar:

•Se compila una vez, se ejecuta n veces

•En ciclos, la compilación genera código equivalente, interpretándolo se traduce tantas veces una línea como veces se repite el ciclo

•El compilador tiene un visión global del...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Compiladores
  • Compilador
  • COMPILADORES
  • Compiladores
  • Compiladores
  • Compiladores
  • compiladores
  • Compiladores

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS