Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases:...

30
Profs. Carlos Pérez y Ricardo Monascal

Transcript of Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases:...

Page 1: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Profs. Carlos Pérez y Ricardo Monascal

Page 2: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

TRADUCTORES E INTERPRETADORES

Clase 0: Introducción al Curso

Profs. Carlos Pérez y Ricardo Monascal

Page 3: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

¿Quiénes somos?

Prof. Carlos Pérez

[email protected]

Profs. Carlos Pérez y Ricardo Monascal

Prof. Ricardo Monascal

[email protected]

Oficina: MYS-228A (Sí, es la misma)

Page 4: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Recursos Oficiales

• Página del curso: http://ldc.usb.ve/~rmonascal/cursos/ci3725_aj12/

• Bibliografía (en orden alfabético): – Sudkamp. “Languages and Machines”. Addison-Wesley Publishing

– Hopcroft & Ullman. “Introduction to Automata Theory, Languages and Computation”. Addison-Wesley Publishing.

– Aho, Sethi & Ullman. “Compilers: Principles, Techniques and Tools”. Addison-Wesley Publishing.

– Sipser. “Introduction to the Theory of Computation”. 2nd edition. MIT Press.

– Astorga. “Apuntes sobre Lenguajes Regulares”. USB. En: http://ldc.usb.ve/~astorga/LenguaRegular.pdf

Profs. Carlos Pérez y Ricardo Monascal

Page 5: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Evaluación

• 70% teoría

– Examen 1 (25%): Martes, Semana 5.

– Examen 2 (20%): Martes, Semana 8.

– Examen 3 (25%): Martes, Semana 12.

• 30% práctica

– Un proyecto, en tres entregas:

• Entrega 1 (6%): Domingo, Semana 3 → 4.

• Entrega 2 (9%): Domingo, Semana 6 → 7.

• Entrega 3 (15%): Domingo, Semana 10 → 11.

Profs. Carlos Pérez y Ricardo Monascal

Page 6: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Y además…

• Cinco retos, principalmente de programación, que otorgarán al ganador de cada reto (y únicamente al ganador del mismo) 2% adicional sobre el total del curso.

Profs. Carlos Pérez y Ricardo Monascal

Page 7: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Motivación

¡Todo es un lenguaje!

Profs. Carlos Pérez y Ricardo Monascal

Page 8: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Motivación

¡Todo es un lenguaje!

Profs. Carlos Pérez y Ricardo Monascal

Page 9: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

REGULARES

Jerarquía de Chomsky

Profs. Carlos Pérez y Ricardo Monascal

Page 10: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

LIB

RES

DE

CO

NTE

XTO

REGULARES

Jerarquía de Chomsky

Profs. Carlos Pérez y Ricardo Monascal

Page 11: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

SEN

SIB

LES

AL

CO

NTE

XTO

LIB

RES

DE

CO

NTE

XTO

REGULARES

Jerarquía de Chomsky

Profs. Carlos Pérez y Ricardo Monascal

Page 12: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

REC

USR

IVO

SEN

SIB

LES

AL

CO

NTE

XTO

LIB

RES

DE

CO

NTE

XTO

REGULARES

Jerarquía de Chomsky

Profs. Carlos Pérez y Ricardo Monascal

Page 13: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

REC

USR

IVA

MEN

TE

ENU

MER

AB

LE

REC

USR

IV0

SEN

SIB

LES

AL

CO

NTE

XTO

LIB

RES

DE

CO

NTE

XTO

REGULARES

Jerarquía de Chomsky

Profs. Carlos Pérez y Ricardo Monascal

Page 14: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

¿Y HABRÁ MÁS? R

ECU

SRIV

AM

ENTE

EN

UM

ERA

BLE

REC

USR

IV0

SEN

SIB

LES

AL

CO

NTE

XTO

LIB

RES

DE

CO

NTE

XTO

REGULARES

Jerarquía de Chomsky

Profs. Carlos Pérez y Ricardo Monascal

Page 15: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Lenguajes de Programación

• ¿Qué es un lenguaje de programación?

• ¿Dónde entran en la jerarquía?

Profs. Carlos Pérez y Ricardo Monascal

MAQUINA Programa ¿?

Page 16: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Lenguajes de Programación

Profs. Carlos Pérez y Ricardo Monascal

MAQUINA

Programa ¿? ENTENDER PROCESAR

Page 17: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Lenguajes de Programación

Profs. Carlos Pérez y Ricardo Monascal

MAQUINA

Programa ¿? ENTENDER PROCESAR

FRONT-END BACK-END

Page 18: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Lenguajes de Programación

Profs. Carlos Pérez y Ricardo Monascal

FRONT-END

Programa Representación

Intermedia Análisis Léxico (Lexer)

Análisis Sintáctico (Parser)

Análisis de Contexto

Page 19: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Lenguajes de Programación

Profs. Carlos Pérez y Ricardo Monascal

FRONT-END

Programa Representación

Intermedia

Análisis Léxico (Lexer)

Secuencia de caracteres

Secuencia de Tokens

.c [int, id(main), ...]

Page 20: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Lenguajes de Programación

Profs. Carlos Pérez y Ricardo Monascal

FRONT-END

Programa Representación

Intermedia

Árbol Sintáctico Abstracto

[int, id(main), ...]

Análisis Sintáctico (Parser)

Secuencia de Tokens

Page 21: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Lenguajes de Programación

Profs. Carlos Pérez y Ricardo Monascal

FRONT-END

Programa Representación

Intermedia

Árbol Sintáctico Abstracto

(Decorado) Análisis de Contexto

Árbol Sintáctico Abstracto

Page 22: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Lenguajes de Programación

Profs. Carlos Pérez y Ricardo Monascal

BACK-END

Representación Intermedia

Código en otro lenguaje

Ejecución

Page 23: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Lenguajes de Programación

Profs. Carlos Pérez y Ricardo Monascal

BACK-END

Representación Intermedia

Código en otro lenguaje

Ejecución

Traducción vs.

Compilación

Interpretación

Page 24: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Léxico Básico del Curso

• Símbolo: Unidad léxica indivisible que representa algún significado.

– Caracteres

– Ideogramas

– Tokens

• Alfabeto: Conjunto de símbolos

– Alfabeto latino

– Palabras reservadas de un lenguaje

Profs. Carlos Pérez y Ricardo Monascal

Page 25: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Léxico Básico del Curso

• Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ

– “Hola, mundo!”, sobre el alfabeto latino con signos de puntuación.

– “42”, sobre el alfabeto de los números arábigos

– “自動機的岩石”, sobre el alfabeto chino

– “”...

Profs. Carlos Pérez y Ricardo Monascal

Page 26: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Léxico Básico del Curso

• Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ

– “Hola, mundo!”, sobre el alfabeto latino con signos de puntuación

– “42”, sobre el alfabeto de los números arábigos

– “自動機的岩石”, sobre el alfabeto chino

– “”...

sobre cualquier alfabeto.

Profs. Carlos Pérez y Ricardo Monascal

Page 27: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Léxico Básico del Curso

• Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ

– “Hola, mundo!”, sobre el alfabeto latino con signos de puntuación

– “42”, sobre el alfabeto de los números arábigos

– “自動機的岩石”, sobre el alfabeto chino

– “”...

sobre cualquier alfabeto.

Y lo llamaremos λ.

Profs. Carlos Pérez y Ricardo Monascal

Page 28: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Léxico Básico del Curso

• Lenguaje: Conjunto de frases, todas compuestas por símbolos pertenecientes al mismo alfabeto Σ

– Frases, sobre el alfabeto Σ = {a, b}, que contengan al menos un símbolo ‘a’.

– Expresiones aritméticas válidas, sobre el alfabeto Σ = {+, -, *, /} U {0..9}

– Ø, sobre cualquier alfabeto.

– {λ}, sobre cualquier alfabeto.

Profs. Carlos Pérez y Ricardo Monascal

Page 29: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Léxico Básico del Curso

• Lenguaje: Conjunto de frases, todas compuestas por símbolos pertenecientes al mismo alfabeto Σ

– Frases, sobre el alfabeto Σ = {a, b}, que contengan al menos un símbolo ‘a’.

– Expresiones aritméticas válidas, sobre el alfabeto Σ = {+, -, *, /} U {0..9}

– Ø, sobre cualquier alfabeto.

– {λ}, sobre cualquier alfabeto.

Profs. Carlos Pérez y Ricardo Monascal

¡Y son distintos!

Page 30: Profs. Carlos Pérez y Ricardo Monascalgecousb.com.ve/guias/GECO/Traductores e...•Frases: Secuencia de símbolos, todos pertenecientes a algún alfabeto Σ – “Hola, mundo!”,

Objetivo del Curso

• ¿Cómo especificar lenguajes?

• ¿Es una frase perteneciente a un lenguaje?

• ¿Cómo aplicar estos conceptos al procesamiento de lenguajes de programación?

Profs. Carlos Pérez y Ricardo Monascal