You are on page 1of 17

Teora de Autmatas y Compiladores

Compilador ?
Es un traductor que convierte un texto
escrito en un lenguaje fuente y lo traduce a
un programa objeto en cdigo mquina.

Teora de Autmatas y Compiladores

Teora de Autmatas y Compiladores

Intrprete

Es un traductor que realiza la operacin de compilacin

paso a paso. Para cada sentencia que compone el texto


de entrada, se realiza una traduccin, ejecuta dicha
sentencia y vuelve a iniciar el proceso con la sentencia
siguiente. La principal ventaja del proceso de
compilacin frente al de interpretacin es que los
programas se ejecutan mucho ms rpidamente una
vez compilados; por el contrario, es ms cmodo
desarrollar un programa mediante un intrprete que
mediante un compilador puesto que en el intrprete las
fases de edicin y ejecucin estn ms integradas.

Teora de Autmatas y Compiladores

La depuracin de los programas suele

ser ms fcil en los intrpretes que en


los compiladores puesto que el cdigo
fuente est presente durante la
ejecucin. Estas ventajas pueden
incorporarse al compilador mediante
la utilizacin de entornos de
desarrollo y depuradores simblicos
en tiempo de ejecucin.

Teora de Autmatas y Compiladores

Traductor
Es una mquina terica que tiene como entrada un
texto escrito en un lenguaje L1 y como salida un
texto escrito en un lenguaje L2. Habitualmente se
denomina a L1 lenguaje fuente y a L2 lenguaje
objeto.

Teora de Autmatas y Compiladores

Fases de un Compilador
Anlisis Lxico: Esta fase se encarga de

verificar si todas las cadenas pertenecen o no al


lenguaje. Es decir realiza un anlisis smbolo por
smbolo indicando el token por cada uno de los
elementos reconocidos o el error en caso de no
reconocer. Este anlisis no logra detectar muchos
errores por su caracterstica.

Teora de Autmatas y Compiladores

Ejemplo:
total=valor*5
Luego del anlisis lxico:
1.
2.
3.
4.
5.

El identificador total.
El smbolo de asignacin =.
El identificador valor.
El signo de multiplicacin.
El numero 5.

id = id * num

Teora de Autmatas y Compiladores

Anlisis Sintctico
En esta fase se analiza la estructura de las

expresiones en base a gramticas. Aqu ya se


puede determinar si una estructura por ejemplo
una expresin matemtica esta mal formada. El
anlisis que se realiza es jerrquico es decir en
base a rboles de derivacin que se obtienen de
las mismas gramticas. Ejemplo: position:=initial
+ rate*60

Teora de Autmatas y Compiladores

Teora de Autmatas y Compiladores

Anlisis Semntico
Este

anlisis es ms difcil de formalizar,


determina el tipo de los resultados intermedios,
comprobar que los argumentos que tienen un
operador pertenecen al conjunto de operadores
posible, y si son compatibles entre s.

Teora de Autmatas y Compiladores

Generacin de Cdigo Intermedio


El cdigo intermedio es una representacin en

base a elementos de 3 y 4 direcciones. Lo que nos


permite llegar a la fase de optimizacin de cdigo.

Teora de Autmatas y Compiladores

Tiemp1:= entareal (5)


Tiemp2:= volar * tiemp1
Total:=tiemp2

Teora de Autmatas y Compiladores

Optimizacin de Cdigo
Consiste en realizar uuna mejora en el cdigo

intermedio, para reducir el nmero de lneas y


hacer que la ejecucin sea ms rpida

Teora de Autmatas y Compiladores

Tiemp1:=valor * 5
Total=tiemp1

Teora de Autmatas y Compiladores

Generacin de Cdigo
Llegamos a la generacin de cdigo ensamblador

o cdigo mquina del procesador que nos interese


por ejemplo:

MOVF valor,R2
MULF #5,R2
MOVF R2, total

Traduccin de una proposicin.

PREGUNTAS ?

You might also like