Vous êtes sur la page 1sur 18

Traductores

Introduccin
INDICE GENERAL

Dilema de la computacin
Definicin compilador
Breve historia
El proceso de compilacin
Fases del compilador

Introduccin

(Dilema)

Dilema de la computacin
Hay una brecha entre la clase de pensamiento que utiliza la gente
para resolver problemas y la manera en que las computadoras han
sido diseadas para resolverlos:
Las computadoras son circuitos electrnicos con memoria que
operan sobre datos por medio de desplazamiento de bits; que
ejecutan operaciones aritmticas y lgicas; constan de
instrucciones que controlan el flujo de ejecucin.

Introduccin

(Dilema)

Dilema de la computacin
La resultados de la investigacin en solucin de problemas han
desembocado en lenguajes de programacin que nos permiten
escribir soluciones con un nivel de abstraccin alto.
As que ha medida que la investigacin de problemas y la tecnologa
en diseo de computadoras avanzan, se abre mas la brecha.
Que hacer?
Los traductores son la solucin, ya que actan como un puente de
esta brecha.

Introduccin

(Definicin compilador)

Definicin traductor
Es un programa que traduce un lenguaje de alto nivel a una
representacin de bajo nivel.
Hay dos tipos de traductores:
compiladores
Intrpretes
En este curso haremos enfasis en los compiladores.

Introduccin

(Breve historia)

Breve historia
Los primeros compiladores se desarrollan en los aos 50s
Fortran (FORmula TRANslator) en considerado como el primer
lenguaje compilado.
John Backus fue quien diseo e implement Fortran
Tom 18 aos hombre desarrollarlo.

Introduccin
El proceso de compilacin

(El proceso)

Introduccin

(Fases)

Fases del compilador

Anlisis
lxico

Anlisis
sintctico

Anlisis
semntico

Manejo de tabla
Tabla de smbolos
Tabla de literales
Tabla de ciclos
Tabla de
representaciones

Prep.
Gen.
cdigo

Optimiza
cin

Manejo de
errores

E/S

Gen
cdigo

Introduccin

(Anlisis Lxico)

Anlisis Lxico

Anlisis
lxico

Anlisis
sintctico

Anlisis
semntico

Prep.
Gen.
cdigo

Optimiza
cin

Tokens

Manejo de tabla
Tabla de smbolos
Tabla de literales
Tabla de ciclos
Tabla de
representaciones

Manejo de
errores

E/S

Gen
cdigo

Introduccin

(Anlisis Sintctico)

Anlisis Sintctico

Anlisis
lxico

Anlisis
sintctico

Tokens

Anlisis
semntico

Prep.
Gen.
cdigo

Optimiza
cin

Arbol de Anlisis
Gramatical
Manejo de tabla
Tabla de smbolos
Tabla de literales
Tabla de ciclos
Tabla de
representaciones

Manejo de
errores

E/S

Gen
cdigo

Introduccin

(Anlisis Semntico)

Anlisis Semntico

Anlisis
lxico

Anlisis
sintctico

Tokens

Anlisis
semntico

Arbol de Anlisis
Gramatical
Manejo de tabla
Tabla de smbolos
Tabla de literales
Tabla de ciclos
Tabla de
representaciones

Prep.
Gen.
cdigo

Optimiza
cin

RI

Manejo de
errores

E/S

Gen
cdigo

Traductores(anlisis semntico)
Anlisis Semntico. Determina el significado del
programa mediante la creacin de tablas de
smbolos, verificando si las variables utilizadas
han sido definidas.
Las tareas principales son:
Verificacin esttica
Generacin de la representacion intermedia

Traductores(anlisis semntico)
Verificacin esttica:
Consistencia de tipos
Arreglos
Definicin de variables
Generacin de la representacin intermedia:
Es uan forma alternativa del rbol de anlisis
gramatical, y se le llama rbol abstracto de
sintaxis o rbol abstracto de estructura.

Introduccin

(Optimizacion)

Optimizacin

Anlisis
lxico

Anlisis
sintctico

Tokens

Anlisis
semntico

Arbol de Anlisis
Gramatical
Manejo de tabla
Tabla de smbolos
Tabla de literales
Tabla de ciclos
Tabla de
representaciones

Prep.
Gen.
cdigo

Optimiza
cin

RI

RI
alterada

Manejo de
errores

E/S

Gen
cdigo

Introduccin

(Optimizacion)

Optimizacin
Cambia la representacion intermedia de modo que la fase final de
generacin de cdigo producir cdigo que se ejecutar mas
rpido u ocupar menos espacio.
Tipos de optimizacin
1.
2.

Propagacion constante
Eliminacin de subexpresiones constantes

Introduccin

(Preparacin)

Preparacin para la generacin de cdigo

Anlisis
lxico

Anlisis
sintctico

Anlisis
semntico

Prep.
Gen.
cdigo

Optimiza
cin

Gen
cdigo

Asignacin de
Mem y registros

Manejo de tabla
Tabla de smbolos
Tabla de literales
Tabla de ciclos
Tabla de
representaciones

Manejo de
errores

E/S

Introduccin

(Preparacin)

Preparacin para la generacin de cdigo


Cuando se ejecuta un programa, los valores para sus variables y
expresiones se almacenan en memoria y registros.
Asignacin

de memoria

Asignacin

de registros

Introduccin

(Generacin)

Generacin de cdigo

Anlisis
lxico

Anlisis
sintctico

Anlisis
semntico

Prep.
Gen.
cdigo

Optimiza
cin

Gen
cdigo

Cdigo
Manejo de tabla
Tabla de smbolos
Tabla de literales
Tabla de ciclos
Tabla de
representaciones

Manejo de
errores

E/S

Introduccin
Fin de presentacin

(Fin)

Vous aimerez peut-être aussi