La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Bootstrapping Preparado por Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Translators.

Presentaciones similares


Presentación del tema: "Bootstrapping Preparado por Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Translators."— Transcripción de la presentación:

1 Bootstrapping Preparado por Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Translators

2 “Bootstrapping” La noción de la implementación de un lenguaje, es decir usar esa misma implementación del lenguaje. Notación: Diagrama T. Fuente Objeto Lenguaje Escrito en

3 Bootstrapping Diagrama propósito: C M M C M APLICACIÓN Coincidencias de fuenteCoincidencias de objeto Ejecución APLICACIÓN

4 Bootstrapping Ejemplo: Deseariamos tener un compilador Pascal para un nuevo procesador M. ¿Cómo lo obtenemos? Posibilidad#1: Escribir el compilador directamente a mano, ¿en lenguaje de máquina? ¿en lenguaje ensamblador? P M M

5 Bootstrapping Posibilidad# 2: Escribir el compilador Pascal en algun otro lenguaje L, que ya está implementado en M. Entonces, compila el compilador. Pero, … esto es probablemente, mucho trabajo. L M M L M P M L Compiler

6 Bootstrapping Posibilidad# 3: Primero, implementa P, un subconjunto de Pascal. Entonces, escribir el compilador deseado en P, y compilarlo. Paso1: Ahora P está implementado. L M M L M P M

7 Bootstrapping Paso 2: Si P es elegido correctamente, el compilador P-> M y el compilador Pascal -> M (en P) juntos, son más fáciles de escribir que el compilador Pascal -> M. Teóricamente, este proceso puede continuar indefinidamente, aumentando el nivel de “bootstrapping”. En la práctica, sin embargo, las nuevas construcciones interfieren con cada una (y con las antiguas) hasta que en un futuro, el bootstrapping sea inmanejable. P M M P M Pascal M Write this

8 Bootstrapping Ejemplo: Ahora, vamos a suponer que deseamos llevar Pascal a una nueva máquina M. Posibilidad #1: Lo mismo para M. Posibilidad #2: Lo mismo para M Posibilidad #3: Lo mismo para M

9 Bootstrapping Posibilidad#4: Paso1: Lo mismo para M ( implementa P en M). Paso2: Modifica el compilador Pascal. P M’ P Pascal M’ By hand PascalM P

10 Bootstrapping Posibilidad#5: No usar P! Usa la implementacion de Pascal en vez de M.. Paso 1: Pascal M M M Pascal M’ Manual PascalM P

11 Bootstrapping Paso2: Nota: Posibilidad#5 es llamada“cross-compiling” (compilacion cruzada). Pascal M’ M Pascal M’ Pascal M’ By hand

12 Bootstrapping Varios compiladores experimentan una larga cadena de pasos de bootstrapping. Por ejemplo, XPL (un dialecto de PL/I), fue escrito primero en Algol, luego en XPL, y llevado a B5500 y luego a un IBM 360. Ocho pasos de bootstrapping fueron requeridos.


Descargar ppt "Bootstrapping Preparado por Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Translators."

Presentaciones similares


Anuncios Google