18
7/23/2019 Introduccion a Traductores http://slidepdf.com/reader/full/introduccion-a-traductores 1/18 Traductores Introducción INDICE GENERAL  Dilema de la computación  Definición compilador   Breve historia  El proceso de compilación  Fases del compilador 

Introduccion a Traductores

Embed Size (px)

Citation preview

Page 1: Introduccion a Traductores

7/23/2019 Introduccion a Traductores

http://slidepdf.com/reader/full/introduccion-a-traductores 1/18

Traductores

IntroducciónINDICE GENERAL

 Dilema de la computación Definición compilador  Breve historia El proceso de compilación Fases del compilador 

Page 2: Introduccion a Traductores

7/23/2019 Introduccion a Traductores

http://slidepdf.com/reader/full/introduccion-a-traductores 2/18

Introducción(Dilema)

 Dilema de la computación

Ha una !recha entre la clase de pensamiento "ue utili#a la $ente

para resolver pro!lemas la manera en "ue las computadoras hansido dise%adas para resolverlos&

Las computadoras son circuitos electrónicos con memoria "ue

operan so!re datos por medio de despla#amiento de !its' "ue

e(ecutan operaciones aritm)ticas ló$icas' constan deinstrucciones "ue controlan el flu(o de e(ecución*

 

Page 3: Introduccion a Traductores

7/23/2019 Introduccion a Traductores

http://slidepdf.com/reader/full/introduccion-a-traductores 3/18

Introducción(Dilema)

 Dilema de la computación

La resultados de la investi$ación en solución de pro!lemas han

desem!ocado en len$ua(es de pro$ramación "ue nos permiten

escri!ir soluciones con un nivel de a!stracción alto*

As+ "ue ha medida "ue la investi$ación de pro!lemas la tecnolo$+a

en dise%o de computadoras avan#an, se a!re mas la !recha*

-.ue hacer/

Los traductores son la solución, a "ue act0an como un puente de

esta !recha*

 

Page 4: Introduccion a Traductores

7/23/2019 Introduccion a Traductores

http://slidepdf.com/reader/full/introduccion-a-traductores 4/18

Introducción(Definición compilador)

 Definición traductor 

Es un pro$rama "ue traduce un len$ua(e de alto nivel a una

representación de !a(o nivel*

Ha dos tipos de traductores&

compiladores

Int)rpretes

En este curso haremos enfasis en los compiladores*

 

Page 5: Introduccion a Traductores

7/23/2019 Introduccion a Traductores

http://slidepdf.com/reader/full/introduccion-a-traductores 5/18

Introducción(Breve historia)

Breve historia

 Los primeros compiladores se desarrollan en los a%os 123s

 Fortran 4F5Rmula 6RANslator7 en considerado como el primerlen$ua(e compilado*

 8ohn Bac9us fue "uien dise%o e implementó Fortran

 6omó :; a%os hom!re desarrollarlo*

Page 6: Introduccion a Traductores

7/23/2019 Introduccion a Traductores

http://slidepdf.com/reader/full/introduccion-a-traductores 6/18

Introducción(El proceso…)

El proceso de compilación

Page 7: Introduccion a Traductores

7/23/2019 Introduccion a Traductores

http://slidepdf.com/reader/full/introduccion-a-traductores 7/18

Introducción(Fases)

Fases del compilador 

 Análisis

sintáctico

 Análisis

léxico

Optimiza

ción

 Análisis

semánticoGen

código

Prep.

Gen.

código

<ane(o de ta!la

•Tabla de símbolos

•Tabla de literales

•Tabla de ciclos

•Tabla de

  representaciones

Manejo deerrores !"

Page 8: Introduccion a Traductores

7/23/2019 Introduccion a Traductores

http://slidepdf.com/reader/full/introduccion-a-traductores 8/18

Introducción(Análisis L!ico)

An=lisis L)>ico

 Análisis

sintáctico

 Análisis

léxico

Optimiza

ción

 Análisis

semánticoGen

código

Prep.

Gen.

código

<ane(o de ta!la

•Tabla de símbolos

•Tabla de literales

•Tabla de ciclos

•Tabla de

  representaciones

Manejo deerrores !"

To#ens

Page 9: Introduccion a Traductores

7/23/2019 Introduccion a Traductores

http://slidepdf.com/reader/full/introduccion-a-traductores 9/18

Introducción(Análisis "intáctico)

An=lisis ?int=ctico

 Análisis

sintáctico

 Análisis

léxico

Optimiza

ción

 Análisis

semánticoGen

código

Prep.

Gen.

código

<ane(o de ta!la

•Tabla de símbolos

•Tabla de literales

•Tabla de ciclos

•Tabla de

  representaciones

Manejo deerrores !"

 Arbol de Análisis

GramaticalTo#ens

Page 10: Introduccion a Traductores

7/23/2019 Introduccion a Traductores

http://slidepdf.com/reader/full/introduccion-a-traductores 10/18

Introducción(Análisis "emántico)

An=lisis ?em=ntico

 Análisis

sintáctico

 Análisis

léxico

Optimiza

ción

 Análisis

semánticoGen

código

Prep.

Gen.

código

<ane(o de ta!la

•Tabla de símbolos

•Tabla de literales

•Tabla de ciclos

•Tabla de

  representaciones

Manejo deerrores !"

 Análisis

sintáctico

 Análisis

léxico

Optimiza

ción

 Análisis

semánticoGen

código

Prep.

Gen.

código

<ane(o de ta!la

•Tabla de símbolos

•Tabla de literales

•Tabla de ciclos

•Tabla de

  representaciones

Manejo deerrores !"

 Arbol de Análisis

GramaticalTo#ens

$%

Page 11: Introduccion a Traductores

7/23/2019 Introduccion a Traductores

http://slidepdf.com/reader/full/introduccion-a-traductores 11/18

Traductores(análisis semántico)

An=lisis ?em=ntico. &etermina el signi'icado del

programa mediante la creación de tablas de

símbolos( )eri'icando si las )ariables *tilizadas

+an sido de'inidas.

,as tareas principales son-

@erificación est=tica Generación de la representacion intermedia

Page 12: Introduccion a Traductores

7/23/2019 Introduccion a Traductores

http://slidepdf.com/reader/full/introduccion-a-traductores 12/18

Traductores(análisis semántico)

@erificación est=tica&

onsistencia de tipos

 Arreglos &e'inición de )ariables

Generación de la representación intermedia&

s *an 'orma alternati)a del árbol de análisisgramatical( / se le llama árbol abstracto de

sintaxis o árbol abstracto de estr*ct*ra.

Page 13: Introduccion a Traductores

7/23/2019 Introduccion a Traductores

http://slidepdf.com/reader/full/introduccion-a-traductores 13/18

Page 14: Introduccion a Traductores

7/23/2019 Introduccion a Traductores

http://slidepdf.com/reader/full/introduccion-a-traductores 14/18

Introducción(#ptimi$acion)

5ptimi#ación

Cam!ia la representacion intermedia de modo "ue la fase final de

$eneración de códi$o producir= códi$o "ue se e(ecutar= mas

r=pido u ocupar= menos espacio*

6ipos de optimi#ación

:* ropa$acion constante

* Eliminación de su!e>presiones constantes

Page 15: Introduccion a Traductores

7/23/2019 Introduccion a Traductores

http://slidepdf.com/reader/full/introduccion-a-traductores 15/18

Introducción(%reparación)

reparación para la $eneración de códi$o

 Análisis

sintáctico

 Análisis

léxico

Optimiza

ción

 Análisis

semánticoGen

código

Prep.

Gen.

código

<ane(o de ta!la

•Tabla de símbolos

•Tabla de literales

•Tabla de ciclos

•Tabla de

  representaciones

Manejo deerrores !"

 Asignación de

Mem / registros

Page 16: Introduccion a Traductores

7/23/2019 Introduccion a Traductores

http://slidepdf.com/reader/full/introduccion-a-traductores 16/18

Introducción(%reparación)

reparación para la $eneración de códi$o

Cuando se e(ecuta un pro$rama, los valores para sus varia!les

e>presiones se almacenan en memoria re$istros*

Asi$nación de memoria

Asi$nación de re$istros

Page 17: Introduccion a Traductores

7/23/2019 Introduccion a Traductores

http://slidepdf.com/reader/full/introduccion-a-traductores 17/18

Introducción (&eneración)

Generación de códi$o

 Análisis

sintáctico

 Análisis

léxico

Optimiza

ción

 Análisis

semánticoGen

código

Prep.

Gen.

código

<ane(o de ta!la

•Tabla de símbolos

•Tabla de literales

•Tabla de ciclos

•Tabla de

  representaciones

Manejo deerrores !"

ódigo

Page 18: Introduccion a Traductores

7/23/2019 Introduccion a Traductores

http://slidepdf.com/reader/full/introduccion-a-traductores 18/18

Introducción (Fin)

Fin de presentación