Créditos ECTS Créditos ECTS: 4.5
Horas ECTS Criterios/Memorias Trabajo del Alumno/a ECTS: 74.2 Horas de Tutorías: 2.25 Clase Expositiva: 18 Clase Interactiva: 18 Total: 112.45
Tipo: Materia Ordinaria Grado RD 1393/2007 - 822/2021
Centro Escuela Técnica Superior de Ingeniería
Convocatoria: Primer semestre
Docencia: Sin docencia (En extinción)
Matrícula: No matriculable (Sólo planes en extinción)
El objetivo de esta asignatura es introducir los conceptos, etapas y elementos fundamentales de la compilación de los lenguajes imperativos. Estos conocimientos han de servir para: 1) Mejorar la comprensión de los compiladores (eficiencia, límites del lenguaje, etc.) y de los lenguajes de programación. 2) Realizar una implementación práctica de analizadores sencillos y eficientes.
Contenidos teóricos
1. Introducción a la compilación.
2. Análisis léxico.
3. Análisis sintáctico.
4. Análisis semántico.
5. Generación y optimización de código.
Contenidos prácticos
Se diseñarán e implementarán aplicaciones de análisis y generación de código correspondientes a las distintas fases de la compilación abordadas en la teoría.
BIBLIOGRAFÍA BÁSICA
A.V. Aho, R. Sethi, J.D. Ullman. Compiladores. Principios, técnicas y herramientas. 1ª Edición. Addison Wesley Longman, 1990. ISBN: 9684443331
BIBLIOGRAFÍA COMPLEMENTARIA
A.V. Aho, M.S. Lam, R. Sethi, J.D. Ullman. Compiladores. Principios, técnicas y herramientas. 2ª Edición. Pearson Educación, 2008. ISBN: 8588639246
D. Grune, H. E. Bal, C.J.H. Jacobs, K.Langendoen. Diseño de Compiladores Modernos. McGraw-Hill/Interamericana de España, S.A.U, 2007. ISBN: 8448156560
J. Levine. lex & yacc. O’Reilly, 1992. ASIN: B009THDEBC
M. Alfonseca, M. de la Cruz, A. Ortega, E. Pulido. Compiladores e Intérpretes: teoría y práctica. Pearson Educación, 2006. ISBN: 8483226928
D. Galles. Modern Compiler Design. Scott/Jones Inc. 2005. ASIN: B01JXQI90O
K.D. Cooper, L. Torczon. Engineering a compiler. Morgan Kaufmann, 2004. ISBN: 012088478X
J.E. Hopcroft, R. Motwani, J.D. Ullman. Introdución a la teoría de autómatas, lenguajes y educación. Pearson Educación, 2007. ISBN: 8478290885
Con carácter general contribuir a conseguir las competencias recogidas en la memoria del título de Grado en Ingeniería Informática de la USC (CG1, CG4, CG5, CG6, CG8, CG9, TR1, TR2, TR3, FB3, FB4, FB5, RI1, RI5, RI6, RI7, RI9, RI10, TI2). En particular, conocer las técnicas de implementación de traductores de lenguajes de programación.
Con carácter específico, la materia debe permitir conseguir las siguientes competencias:
1. Capacidad para diseñar e implementar un analizador léxico y sintáctico.
2. Capacidad para diseñar e implementar la solución más adecuada para un problema de traducción.
3. Capacidad para usar herramientas generadoras de analizadores léxicos y sintácticos en diferentes lenguajes de programación.
4. Capacidad para entender los principales problemas de la gereración de código máquina y su influencia en el rendimiento.
Paulo Manuel Felix Lamas
- Departamento
- Electrónica y Computación
- Área
- Ciencia de la Computación e Inteligencia Artificial
- Teléfono
- 881816422
- Correo electrónico
- paulo.felix [at] usc.es
- Categoría
- Profesor/a: Titular de Universidad
Francisco Fernández Rivera
- Departamento
- Electrónica y Computación
- Área
- Arquitectura y Tecnología de Ordenadores
- Teléfono
- 881816470
- Correo electrónico
- ff.rivera [at] usc.es
- Categoría
- Profesor/a: Catedrático/a de Universidad
| 12.01.2024 10:00-14:00 | Grupo de examen | Aula trabajo |
| 20.06.2024 10:00-14:00 | Grupo de examen | Aula trabajo |