Está en la página 1de 4

PROCESADORES DEL LENGUAJE

INTRODUCCIN - Diap. 1

PROCESADORES DEL LENGUAJE

INTRODUCCIN- Diap. 2

Introduccin a los procesadores de lenguajes

TEMA 1.- Introduccin


1.
2.
3.
4.

Introduccin a los procesadores de lenguajes.


Compiladores e intrpretes.
Fases de un procesador de lenguajes
Fases de un compilador

Universidad Rey Juan Carlos, Depto. de Lenguajes y Sistemas Informticos I.

PROCESADORES DEL LENGUAJE

Jaime Urquiza Fuentes. Curso 2007-2008

INTRODUCCIN- Diap. 3

Los lenguajes son necesarios para la comunicacin.


El receptor de un mensaje debe entenderlo y actuar
en consecuencia, es decir, debe procesar el mensaje.
Ejemplos de comunicacin:
1. Semforos.
2. Montaje de una maqueta.
3. Pgina web.
4. Programa fuente.(Compilador)
Universidad Rey Juan Carlos, Depto. de Lenguajes y Sistemas Informticos I.

PROCESADORES DEL LENGUAJE

Fases de un procesador de lenguajes


Comprobacin de los elementos del lenguaje.

Jaime Urquiza Fuentes. Curso 2007-2008

INTRODUCCIN- Diap. 7

Compiladores e intrpretes
Primera aproximacin: Un compilador traduce un
programa fuente a un programa objeto.

Comprobacin de la combinacin de los

P.Fuente

elementos del lenguaje.

COMPILADOR

P.Objeto

Mensajes de Error

Comprobacin del significado de los elementos

Proceso de anlisis y sntesis.


COMPILADOR

del lenguaje.

P.Fuente

Anlisis

Actuacin en consecuencia.

Representacin
interna

Sntesis

P.Objeto

Mensajes de Error
Universidad Rey Juan Carlos, Depto. de Lenguajes y Sistemas Informticos I.

Jaime Urquiza Fuentes. Curso 2007-2008

Universidad Rey Juan Carlos, Depto. de Lenguajes y Sistemas Informticos I.

Jaime Urquiza Fuentes. Curso 2007-2008

PROCESADORES DEL LENGUAJE

INTRODUCCIN- Diap. 8

PROCESADORES DEL LENGUAJE

INTRODUCCIN- Diap. 9

Fases de un compilador

Compiladores e intrpretes

Programa fuente
Analizador lxico

Formateadores de texto.

Analizador sintctico
Analizador semntico
Gestin de la tabla de
smbolos

Compiladores de circuitos de silicio.


Intrpretes de consultas sobre bases de datos.

Jaime Urquiza Fuentes. Curso 2007-2008

PROCESADORES DEL LENGUAJE

INTRODUCCIN- Diap. 11

Universidad Rey Juan Carlos, Depto. de Lenguajes y Sistemas Informticos I.

INTRODUCCIN- Diap. 13

Fases de un compilador
Programa fuente

Analizador lxico

Analizador lxico
Analizador sintctico

Precio_vp = Precio_vd + Beneficio * 2

Optimizador de cdigo
Generador de cdigo final

< ident, Precio_vp >


< = >
< ident, Precio_vd >
< operador, + >
< ident, Beneficio >
< operador, * >
< cte_num, 2 >

Programa objeto

Universidad Rey Juan Carlos, Depto. de Lenguajes y Sistemas Informticos I.

Gestin de la tabla de
smbolos

Gestin de la tabla de
smbolos

Generador de cdigo
intermedio

Analizador semntico

Gestin de errores

Gestin de errores

Analizador semntico

Jaime Urquiza Fuentes. Curso 2007-2008

PROCESADORES DEL LENGUAJE

Programa fuente

Analizador sintctico

Optimizador de cdigo

Programa objeto

Fases de un compilador
Analizador lxico

Generador de cdigo
intermedio

Generador de cdigo final

COMPILADOR INTRPRETE
Universidad Rey Juan Carlos, Depto. de Lenguajes y Sistemas Informticos I.

Gestin de errores

Otras aplicaciones que usan las mismas tcnicas:

Analizador sintctico
< ident, Precio_vp > < = > < ident, Precio_vd >
< operador, + > < ident, Beneficio >
< operador, * > < cte_num, 2 >

Generador de cdigo
intermedio

Sentencia_asignacin
ident

Optimizador de cdigo

=
ident

Generador de cdigo final


Programa objeto

Jaime Urquiza Fuentes. Curso 2007-2008

exp

Precio_vp

Universidad Rey Juan Carlos, Depto. de Lenguajes y Sistemas Informticos I.

Precio_vd

exp
ident

* Cte_num

Beneficio

Jaime Urquiza Fuentes. Curso 2007-2008

PROCESADORES DEL LENGUAJE

INTRODUCCIN- Diap. 14

PROCESADORES DEL LENGUAJE

Fases de un compilador

Fases de un compilador

Programa fuente

Analizador semntico

Analizador sintctico

Analizador lxico

< ident, Precio_vp > < = > < ident, Precio_vd >
< operador, + > < ident, Beneficio >
< operador, * > < cte_num, 2 >

Analizador sintctico
Analizador semntico
Gestin de la tabla de
smbolos

Gestin de la tabla de
smbolos

Generador de cdigo
intermedio

=
+

Precio_vp
Optimizador de cdigo
Precio_vd

Generador de cdigo final

Gestin de errores

Analizador sintctico

Programa fuente
Gestin de errores

Analizador lxico

INTRODUCCIN- Diap. 16

=
Precio_vp

*
2

Generador de cdigo
intermedio
Optimizador de cdigo

=
Precio_vp

Precio_vd

Programa objeto

Precio_vd
Beneficio

Generador de cdigo final


Beneficio

Analizador semntico

Beneficio

Programa objeto

Ent_a_real
2

Universidad Rey Juan Carlos, Depto. de Lenguajes y Sistemas Informticos I.

Jaime Urquiza Fuentes. Curso 2007-2008

PROCESADORES DEL LENGUAJE

INTRODUCCIN- Diap. 17

Universidad Rey Juan Carlos, Depto. de Lenguajes y Sistemas Informticos I.

PROCESADORES DEL LENGUAJE

Fases de un compilador

Optimizador de cdigo

Analizador lxico
Analizador sintctico

nombre

tipo_smbolo

tipo

...

Precio_vp

identificador

real

...

Precio_vd

identificador

real

...

Beneficio

identificador

real

...

Analizador semntico
Gestin de la tabla de
smbolos

Gestin de la tabla de
smbolos

Generador de cdigo
intermedio

Tabla de smbolos

Generador de cdigo
intermedio

Generador de cdigo final

Programa objeto

Programa objeto

Jaime Urquiza Fuentes. Curso 2007-2008

Gestin de errores
Componentes lxicos inexistentes.
Construcciones sintcticas incorrectas.
Errores de tipos.

Optimizador de cdigo

Generador de cdigo final

Universidad Rey Juan Carlos, Depto. de Lenguajes y Sistemas Informticos I.

Gestin de errores

Analizador semntico

Programa fuente
Gestin de errores

Analizador sintctico

INTRODUCCIN- Diap. 18

Fases de un compilador

Programa fuente
Analizador lxico

Jaime Urquiza Fuentes. Curso 2007-2008

Universidad Rey Juan Carlos, Depto. de Lenguajes y Sistemas Informticos I.

Jaime Urquiza Fuentes. Curso 2007-2008

PROCESADORES DEL LENGUAJE

INTRODUCCIN- Diap. 20

PROCESADORES DEL LENGUAJE

Fases de un compilador
Programa fuente

Analizador semntico

Programa fuente

Optimizacin de cdigo

Analizador lxico
N

nombre

tipo_smbolo

tipo

...

Precio_vp

identificador

real

...

Precio_vd

identificador

real

...

Beneficio

identificador

real

...

Analizador sintctico

Generador de cdigo
intermedio

Analizador semntico
+

Precio_vd

Beneficio

Ent_a_real
2

Optimizador de cdigo
tmp1 =
tmp2 =
tmp3 =
ident1

Generador de cdigo final


Programa objeto

Universidad Rey Juan Carlos, Depto. de Lenguajes y Sistemas Informticos I.

ent_a_real( 2 )
ident3 * tmp1
ident2 + tmp2
= tmp3

Jaime Urquiza Fuentes. Curso 2007-2008

PROCESADORES DEL LENGUAJE

INTRODUCCIN- Diap. 24

Gestin de la tabla de
smbolos

Gestin de la tabla de
smbolos

Precio_vp

Gestin de errores

Analizador sintctico

Fases de un compilador

Generacin de cdigo intermedio


Gestin de errores

Analizador lxico

INTRODUCCIN- Diap. 22

tmp1 =
tmp2 =
tmp3 =
ident1

ent_a_real( 2 )
ident3 * tmp1
ident2 + tmp2
= tmp3

Generador de cdigo
intermedio
Optimizador de cdigo

tmp2 = ident3 * 2.0


ident1 = ident2 + tmp2

Generador de cdigo final


Programa objeto

Universidad Rey Juan Carlos, Depto. de Lenguajes y Sistemas Informticos I.

Jaime Urquiza Fuentes. Curso 2007-2008

PROCESADORES DEL LENGUAJE

INTRODUCCIN- Diap. 25

Fases de un compilador
Programa fuente

Analizador sintctico
Analizador semntico

Generacin de cdigo final


Gestin de errores

Analizador lxico

tmp1 = ident3 * 2.0


ident1 = ident2 + tmp1

Gestin de la tabla de
smbolos

Generador de cdigo
intermedio
Optimizador de cdigo

MOVF
MULF
MOVF
ADDF
MOVF

ident3, R1
#2.0, R1
ident2, R2
R1, R2
R2, ident1

Generador de cdigo final

Conceptos Bsicos
Proceso de anlisis y sntesis
Fases de un procesador de lenguajes
Fases de un compilador

Programa objeto

Universidad Rey Juan Carlos, Depto. de Lenguajes y Sistemas Informticos I.

Jaime Urquiza Fuentes. Curso 2007-2008

Universidad Rey Juan Carlos, Depto. de Lenguajes y Sistemas Informticos I.

Jaime Urquiza Fuentes. Curso 2007-2008