Download Diapositiva 1

Document related concepts
no text concepts found
Transcript
Profs. Carlos Pérez y Ricardo Monascal
TRADUCTORES E
INTERPRETADORES
Clase 0: Introducción al Curso
Profs. Carlos Pérez y Ricardo Monascal
¿Quiénes somos?
Prof. Carlos Pérez
Prof. Ricardo Monascal
[email protected]
[email protected]
Oficina: MYS-228A (Sí, es la misma)
Profs. Carlos Pérez y Ricardo Monascal
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
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
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
Motivación
¡Todo es un lenguaje!
Profs. Carlos Pérez y Ricardo Monascal
Motivación
¡Todo es un lenguaje!
Profs. Carlos Pérez y Ricardo Monascal
Jerarquía de Chomsky
REGULARES
Profs. Carlos Pérez y Ricardo Monascal
LIBRES DE CONTEXTO
Jerarquía de Chomsky
REGULARES
Profs. Carlos Pérez y Ricardo Monascal
LIBRES DE CONTEXTO
SENSIBLES AL CONTEXTO
Jerarquía de Chomsky
REGULARES
Profs. Carlos Pérez y Ricardo Monascal
LIBRES DE CONTEXTO
SENSIBLES AL CONTEXTO
RECUSRIVO
Jerarquía de Chomsky
REGULARES
Profs. Carlos Pérez y Ricardo Monascal
LIBRES DE CONTEXTO
SENSIBLES AL CONTEXTO
RECUSRIV0
RECUSRIVAMENTE
ENUMERABLE
Jerarquía de Chomsky
REGULARES
Profs. Carlos Pérez y Ricardo Monascal
Jerarquía de Chomsky
LIBRES DE CONTEXTO
SENSIBLES AL CONTEXTO
RECUSRIV0
RECUSRIVAMENTE
ENUMERABLE
¿Y HABRÁ MÁS?
REGULARES
Profs. Carlos Pérez y Ricardo Monascal
Lenguajes de Programación
• ¿Qué es un lenguaje de programación?
• ¿Dónde entran en la jerarquía?
Programa
¿?
MAQUINA
Profs. Carlos Pérez y Ricardo Monascal
Lenguajes de Programación
MAQUINA
Programa
ENTENDER
PROCESAR
Profs. Carlos Pérez y Ricardo Monascal
¿?
Lenguajes de Programación
MAQUINA
Programa
ENTENDER
PROCESAR
FRONT-END
BACK-END
Profs. Carlos Pérez y Ricardo Monascal
¿?
Lenguajes de Programación
FRONT-END
Programa
Análisis Léxico
(Lexer)
Análisis
Sintáctico
(Parser)
Profs. Carlos Pérez y Ricardo Monascal
Análisis de
Contexto
Representación
Intermedia
Lenguajes de Programación
FRONT-END
Representación
Intermedia
Programa
Secuencia de
caracteres
.c
Análisis Léxico
(Lexer)
Secuencia
de Tokens
[int, id(main), ...]
Profs. Carlos Pérez y Ricardo Monascal
Lenguajes de Programación
FRONT-END
Representación
Intermedia
Programa
Secuencia
de Tokens
Análisis
Sintáctico
(Parser)
Árbol
Sintáctico
Abstracto
[int, id(main), ...]
Profs. Carlos Pérez y Ricardo Monascal
Lenguajes de Programación
FRONT-END
Representación
Intermedia
Programa
Árbol
Sintáctico
Abstracto
Análisis de
Contexto
Árbol
Sintáctico
Abstracto
(Decorado)
Profs. Carlos Pérez y Ricardo Monascal
Lenguajes de Programación
Código en
otro lenguaje
Representación
Intermedia
BACK-END
Ejecución
Profs. Carlos Pérez y Ricardo Monascal
Lenguajes de Programación
Código en
otro lenguaje
Representación
Intermedia
Traducción
vs.
Compilación
BACK-END
Ejecución
Interpretación
Profs. Carlos Pérez y Ricardo Monascal
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
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
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
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
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
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.
¡Y son distintos!
– {λ}, sobre cualquier alfabeto.
Profs. Carlos Pérez y Ricardo Monascal
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