joder

Páginas: 15 (3579 palabras) Publicado: 8 de mayo de 2013
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
•Surge el concepto traductor
•El primer compilador de FORTRAN tardó 18 años-persona en realizarse
•FORTRAN era dependiente de la máquina
•Paralelamente al desarrollo de FORTRANen 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 Algol60
•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 –UniversalComputer 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 los 60’s se desarrollan diversos métodos deparsers 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 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
•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 ampliaaceptació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 ledenomina 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 principio debido 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 programa

Ventajas del intérprete vs el compilador:
•Un intérprete necesita...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • No Jodas
  • No Jodas
  • no jodas
  • joder
  • Jodido
  • Joder
  • Joder
  • no jodan

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS