Que es compilar 1

LINEA DE TIEMPO DE LOS COMPILADORES

  • PRIMER ORDENADOR DIGITAL

    PRIMER ORDENADOR DIGITAL
    Las instrucciones que se ejecutaban eran códigos numéricos, lenguaje de máquina., esto es engorroso, entonces surgen los ensambladores. 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.
  • INVESTIGACIÓN EN IBM

    INVESTIGACIÓN EN IBM
    John Backus dirige una investigación en IBM en un lenguaje algebraico.
  • DESARROLLO DE FORTRAN

    DESARROLLO DE FORTRAN
    se comienza a desarrollar FORTRAN
  • FORTRAN

    FORTRAN
    FORTRAN se utiliza en la IBM modelo 704
  • Period: to

    OTROS

    -Surge el concepto traductor.
    -El primer compilador de FORTRAN tardó 18 años-persona en realizarse.
    -FORTRAN era dependiente de la máquina
  • INFORME

    INFORME
    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,
  • "FROND END" Y "BACK END"

    "FROND END" Y "BACK END"
    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).
  • PUENTE UNIÓN

    El puente de unión era un lenguaje intermedio denominado UNCOL (Universal Computer Oriented Language(no funcionó).
  • Automata Finito Determinista (AFD) Y Automata Finito No Determinista (AFND)

    Rabin y Scott proponen el empleo de AFD y AFN para el reconocimiento lexicográfico de los lenguajes.
  • Automata Finito Determinista (AFD)

    La transición desde un estado puede tener como destino un único estado. Por eso se llama determinista.
  • Automata Finito No Determinista (AFND)

    La transición desde un estado puede tener múltiples destinos. Por eso se le llama no determinista.
  • BNF

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

    Sheridan describe un método de parsing de FORTRAN para introducir paréntesis en una expresión.
  • DIVERSOS MÉTODOS DE PARSERS

    En los 60’s se desarrollan diversos métodos de parsers ascendentes y descendentes.
  • Period: to

    TÉCNICAS

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

    OTROS

    -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 desarrolla la localización dinámica de datos.
  • PARSING DESCENDENTE RECURSIVO

    Se usa por primera vez un parsing descendente recursivo
  • Gramática Libre de Contexto (GLC)

    Se estudia y definen las GLC, los parsers predictivos y la eliminación de recursividad izquierda. Las Gramaticas libres del contexto se pueden usar para expresar la mayorıa de estructuras sintacticas de un lenguaje de programacion.
  • ALGOL 60

    ALGOL 60
    fue el primer lenguaje que implementó definiciones de funciones anidadas con alcance léxico . Que dio lugar a muchos otros lenguajes de programación, incluyendo CPL , Simula , BCPL , B , Pascal y C .
  • LEX generador automático de analizadores léxicos

    LEX generador automático de analizadores léxicos
    Aparece LEX generador automático de analizadores léxicos a partir de expresiones regulares bajo UNIX.
  • YACC

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

    Comienzan a proliferar las técnicas de mejoramiento de código (optimización), se consolida y prolifera el concepto de asignación y liberación de memoria dinámica. La programación orientada a objetoses extensamente utilizada y madura.
  • OTROS

    Los lenguajes de programación y compiladores son muy similares a lo que tenemos actualmente, surgen los ambientes de desarrollo, los lenguajes interpretados comienza a ganar terreno en aplicaciones de Internet y el código intermedio se vuelve a poner de moda.
  • Period: to

    ACTUALIDAD

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