Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Diagramas T Introducción al analisis léxico - Apuntes - Construcción de compiladores - Parte1, Apuntes de Ingeniería Infórmatica

Universidad Nacional Experimental del Táchira. Apuntes de Ingeniería Infórmatica. Los diagramas de Tombstone o Diagramas-T son usados para especificar desde un alto nivel el diseño y la construcción de un compilador.

Tipo: Apuntes

2012/2013

Subido el 15/05/2013

Mauro_88
Mauro_88 🇻🇪

4.5

(213)

624 documentos

1 / 13

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Vista previa parcial del texto

¡Descarga Diagramas T Introducción al analisis léxico - Apuntes - Construcción de compiladores - Parte1 y más Apuntes en PDF de Ingeniería Infórmatica solo en Docsity!

O Los diagramas de Tombstone o Diagramas-T son

usados para especificar desde un alto nivel el diseño y

la construcción de un compilador.

O Por medio de estos diagramas se puede observar los

pasos por los que pasa el desarrollo de un compilador,

desde que se escribe su código fuente, hasta que se

obtiene el programa ejecutable para el compilador en

una plataforma específica.

O Los Diagramas-T Tienen diferentes tipos de

componentes y reglas de formación entre ellos.

O Ejecución de un programa en una máquina

M

P

La máquina y el Lenguaje deben coincidir

M

x

Tetris

x

x

Tetris

En este caso hay un^ MAC error debido a que la máquina no coincide con el lenguaje

O Diagrama para traductores.

O Diagrama para intérpretes.

F → O

L

Lenguaje Fuente (^) Lenguaje de Implementación

Lenguaje Objeto

Pascal → x

x

Un compilador de Pascal a código de máquina escrito en código de máquina

C → OBJ

C

Un compilador de C a código objeto escrito en una versión previa de Lenguaje C

F Lenguaje^ L Fuente Lenguaje de Implementación

Basic x

Un Intérprete de Basic para PC x

Python Linux-PC

Un Intérprete de Python para Linux

O Interpretación de un programa

O Máquinas abstractas

Basic

Tetris

Basic x x

El lenguaje en el cual fue escrito el programa debe coincidir con el lenguaje fuente del interprete

La plataforma de implementación del interprete debe coincidir con la maquina donde será ejecutado

PS C (^) C → x

x x

PS x

Emulador de Play Station 2 Escrito en C

Emulador de Play Station 2 para PC x

C

God of War 2 C → PS

x x

PS

God of War 2

PS x x

O Compilar y enlazar un programa

Ada

Agenda

Ada → OBJ

M M

OBJ

Agenda

OBJ → M

M M

M

Agenda

Compilación (^) Enlazado

O Bootstrapping (compilar un compilador con una

La versión 2 del lenguaje puede escribirse en el mismo lenguaje,

  • Pascalv1 → x versión antigua del mismo).
    • C C → x - x - Pascalv1 → x - x - x
      • Pascalv2 → x
        • Pascalv - x - Pascalv2 → x - x - Pascalv3 → x eliminando la dependencias - Pascalv - x - Pascalv3 → x - x

O Bootstrapping (optimización de un compilador).

Ada → x86o Ada (^) Ada → x n-o X86n-o

Ada → x86o X86n-o

x

Ada → x86o Ada

x

Ada → x86o x86o

Ada → x86o x86o

Ada

Calculadora x86o

Calculadora

El compilador implementado en código de máquina optimizado, traduce programas a código de máquina optimizado

1. Se quieren crear compiladores para los lenguajes Fortran,

Ada y Modula que generen código de las plataformas

Bada, Linux-PC, Mac y SPARC. En cada plataforma se

dispone de:

O Un compilador de C a código objeto

O Un enlazador de código objeto a lenguaje máquina.

Diseñar, utilizando diagramas de Tombstone, la estrategia

de desarrollo más rápida de estos compiladores (la que

lleve menos tiempo de programación).

Muestra cuál sería el proceso para generar el ejecutable

de un programa escrito en Fortran para la plataforma P2.