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 caperez@ldc.usb.ve rmonascal@ldc.usb.ve 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