View
229
Download
0
Category
Preview:
Citation preview
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
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*
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*
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*
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*
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
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 !"
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
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
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
$%
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
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.
7/23/2019 Introduccion a Traductores
http://slidepdf.com/reader/full/introduccion-a-traductores 13/18
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
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
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
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
7/23/2019 Introduccion a Traductores
http://slidepdf.com/reader/full/introduccion-a-traductores 18/18
Introducción (Fin)
Fin de presentación
Recommended