miércoles, 18 de mayo de 2011

LINEA DEL TIEMPO DE LOS COMPILADORES

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 misma má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
o   Surge el concepto traductor
o   El primer compilador de FORTRAN tardó 18 años-persona en realizarse
o   FORTRAN era dependiente de la máquina
o   Paralelamente al desarrollo 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
o   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 intermedio denominado 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
o   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 los 60’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
o   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
o   Se desarrolla la 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
o   A mitad de los 70’s Johnson crea YACC para UNIX (generador de analizadores sintácticos)
o   Ahora un compilador de divide en varias fases
o   El último lenguaje de programación de amplia aceptación es JAVA (es interpretado)

1 comentario:

Vistas a la página totales