Compiladores e Intérpretes
Profesor: Federico Prat Villar
Objetivos:
Entender y manejar con soltura los conceptos de lenguaje y gramática.
Entender y manejar con soltura las ideas principales que guían el diseño de compiladores e intérpretes.
Entender en profundidad los conceptos propios de cada una de las distintas fases lógicas de compiladores e intérpretes (análisis léxico, sintáctico y semántico y generación de resultados).
Manejar los conceptos anteriores con la soltura necesaria para poder diseñar completamente un pequeño compilador o intérprete.
Poder implementar un pequeño compilador o intérprete utilizando para ello un metacompilador.
Apreciar la posibilidad de utilizar en otros programas las ideas y técnicas propias del diseño de compiladores e intérpretes.
Conocimientos previos recomendables:
Para poder abordar la asignatura con garantías, el alumno debe tener conocimientos previos de programación y de estructuras de datos; en particular, le será de mucha utilidad cierta soltura con el lenguaje de programación Python. Además, es recomendable que tenga conocimientos de teoría de autómatas y lenguajes formales.
Temario:
TEORÍA
1. Introducción a compiladores e intérpretes
2. Análisis léxico
3. Análisis sintáctico
4. Análisis semántico
PRÁCTICAS
Diseño e implementación de compiladores e intérpretes
Guia docent / Aprenentatge
-
Tema 2: Analizador léxico [4]
IG29 -
Tema 3: Analizador sintáctico [4]
IG29 -
Tema 4: Análisis semántico [1]
IG29 -
Tema 5: PRÁCTICAS [11]
IG29