Créditos ECTS Créditos ECTS: 4.5
Horas ECTS Criterios/Memorias Traballo do Alumno/a ECTS: 73 Horas de Titorías: 0.5 Clase Expositiva: 16 Clase Interactiva: 23 Total: 112.5
Linguas de uso Castelán, Galego
Tipo: Materia Ordinaria Grao RD 1393/2007 - 822/2021
Departamentos: Electrónica e Computación
Áreas: Arquitectura e Tecnoloxía de Computadores, Ciencia da Computación e Intelixencia Artificial
Centro Escola Técnica Superior de Enxeñaría
Convocatoria: Segundo semestre
Docencia: Con docencia
Matrícula: Matriculable
O obxectivo desta materia é introducir os conceptos, etapas e elementos fundamentais da compilación das linguaxes imperativas. Estes coñecementos han de servir para: 1) Mellorar a comprensión dos compiladores (eficiencia, límites da linguaxe, etc.) e das linguaxes de programación. 2) Realizar unha implementación práctica de analizadores sinxelos e eficientes.
Contidos teóricos
1. Introducción á compilación.
2. Análise léxica.
3. Análise sintáctica.
4. Análise semántica.
5. Xeración e optimización de código.
Contidos prácticos
Se deseñarán e implementarán aplicacións de análise e xeración de código nas distintas fases da compilación abordadas na 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 xeral contribuír a acadar as competencias recollidas na memoria do título de Grao en Enxeñaría Informática da USC (CG1, CG4, CG5, CG6, CG8, CG9, TR1, TR2, TR3, FB3, FB4, FB5, RI1, RI5, RI6, RI7, RI9, RI10, TI2). En particular, coñecer as técnicas de implementación de traductores de linguaxes de programación.
Con carácter específico, a materia debe permitir acadar as seguintes competencias:
1. Capacidade para deseñar e implementar un analizador léxico e sintáctico.
2. Capacidade para deseñar e implementar a solución máis axeitada dun problema de tradución.
3. Capacidade para usar ferramentas xeradoras de analizadores léxicos e sintácticos en diferentes linguaxes de programación.
4. Capacidade para entender os principales problemas da xeración de código máquina e a sua influencia no rendemento.
Clases expositivas: os contidos teóricos da materia explicaranse en aulas nas que se fará uso da pizarra e de materiais audiovisuais, e se apoiarán na realización de exercicios e na análise de casos prácticos. Asemade realizarase un traballo orientado a desenvolver as competencias CG4, CG8, CG9 (mediante unha discusión crítica arredor dos problemas propostos que xustifique o desenvolvemento da ciencia e a tecnoloxía, e xustifique a toma de decisións); TR1 e TR2 (na capacidade de análise e síntese e na toma de decisións a partires dos problemas propostos, e no razoamento crítico e compromiso ético); FB3, FB4, FB5 (no tipo de contidos que recolle o programa da materia); e as competencias RI1, RI5, RI6, RI9, RI10, TI2 (como capacidades atribuíbles a unha materia que desenvolve os tópicos de "Compiladores e Intérpretes").
Clases interactivas: durante as clases expositivas se exporá un conxunto de problemas cuxa resolución realizarase no laboratorio de informática, coa axuda dunha computadora. Realizarase neste contexto un traballo orientado a desenvolver as competencias CG1 (en tanto que os traballos a desenvolver se propoñen como proxectos que involucran ás fases de análise, deseño, planificación, documentación e implementación); CG5 e CG6 (en tanto que involucramos decisións de enxeñaría do software e integración de tecnoloxías); CG8, CG9 e TR3 (en particular no que atinxe ao estímulo á iniciativa, creatividade, e toma de decisións autónoma); RI7 (na utilización daquelas estruturas de datos e algoritmos máis axeitadas para os problemas propostos), e as outras competencias RI e TI que resultan de trasladar á práctica os conceptos discutidos nas clases expositivas.
OPORTUNIDADE ORDINARIA
A avaliación da materia realizarase mediante un exame escrito, xunto coa entrega de exercicios resoltos, propostos ao longo do curso. Esta parte suporá o 50% da nota final. Para superar a materia se require aprobar o exame escrito. A avaliación comprende ás competencias CG8, CG9, TR1, TR2, FB3, FB4, FB5, RI6, RI9, RI10.
Será tamén un requisito imprescindible para a superación da materia tanto a asistencia como a avaliación positiva de todas as prácticas propostas, que suporán o 50% da nota final. Esta avaliación será realizada de xeito contínuo no laboratorio. O control da asistencia ás actividades de prácticas se realizará mediante control de sinaturas. De non superar as prácticas o alumno deberá presentarse a un exame práctico. A avaliación comprende ás competencias CG1, CG4, CG8, CG9, TR1, TR2, TR3, FB3, FB4, FB5, RI1, RI5, RI6, RI7, RI9, RI10, TI2.
A condición de "NON PRESENTADO" na avaliación da materia se define pola ausencia do alumno no exame escrito.
OPORTUNIDADE DE RECUPERACIÓN
A avaliación da materia realizarase mediante un exame escrito (50% da nota final) e a avaliación positiva das prácticas realizadas na oportunidade ordinaria (50% da nota final). É obrigatorio ter superada a avaliación das prácticas propostas durante o cuadrimestre no que están programadas. A condición de "NON PRESENTADO" na avaliación da materia se define pola ausencia no exame escrito.
AVALIACIÓN DOS REPETIDORES
Será a mesma que a dos non repetidores salvo que se poderán manter as calificacións da parte práctica.
- Estudo autónomo: 28 horas
- Escritura de exercicios, conclusións u outros traballos: 10 horas
- Programación e outros traballos en ordenador: 25 horas
- Preparación de traballos, proxectos, exámenes: 7.5 horas
Recoméndase levar o estudo teórico e a realización de prácticas e problemas ao día. Igualmente, consideramos importante facer un bo aproveitamento das titorías para a resolución máis inmediata das dúbidas.
A lingua de impartición desta materia é o castelán. Para cursar esta materia aconséllase ter superadas as de Programación I, Programación II, Fundamentos de Computadores, Arquitectura de Computadores e Teoría de Autómatas e Linguaxes Formais.
Paulo Felix Lamas
Coordinador/a- Departamento
- Electrónica e Computación
- Área
- Ciencia da Computación e Intelixencia Artificial
- Teléfono
- 881816422
- Correo electrónico
- paulo.felix [at] usc.es
- Categoría
- Profesor/a: Titular de Universidade
Francisco Fernández Rivera
- Departamento
- Electrónica e Computación
- Área
- Arquitectura e Tecnoloxía de Computadores
- Teléfono
- 881816470
- Correo electrónico
- ff.rivera [at] usc.es
- Categoría
- Profesor/a: Catedrático/a de Universidade
Martes | |||
---|---|---|---|
18:00-20:00 | Grupo /CLIL_01 | Castelán | IA.01 |
Mércores | |||
09:00-10:00 | Grupo /CLE_01 | Castelán | IA.S1 |
12:00-14:00 | Grupo /CLIL_04 | Castelán | IA.03 |
Xoves | |||
09:00-10:00 | Grupo /CLE_01 | Castelán | IA.S1 |
10.01.2025 10:00-14:00 | Grupo /CLE_01 | Aula Traballo |
10.01.2025 10:00-14:00 | Grupo /CLIL_02 | Aula Traballo |
10.01.2025 10:00-14:00 | Grupo /CLIL_03 | Aula Traballo |
10.01.2025 10:00-14:00 | Grupo /CLIL_04 | Aula Traballo |
10.01.2025 10:00-14:00 | Grupo /CLIL_01 | Aula Traballo |
28.05.2025 16:00-20:00 | Grupo /CLE_01 | Aula A2 |
28.05.2025 16:00-20:00 | Grupo /CLIL_02 | Aula A2 |
28.05.2025 16:00-20:00 | Grupo /CLIL_03 | Aula A2 |
28.05.2025 16:00-20:00 | Grupo /CLIL_04 | Aula A2 |
28.05.2025 16:00-20:00 | Grupo /CLIL_01 | Aula A2 |
02.07.2025 10:00-14:00 | Grupo /CLIL_02 | Aula A2 |
02.07.2025 10:00-14:00 | Grupo /CLIL_03 | Aula A2 |
02.07.2025 10:00-14:00 | Grupo /CLIL_04 | Aula A2 |
02.07.2025 10:00-14:00 | Grupo /CLIL_01 | Aula A2 |
02.07.2025 10:00-14:00 | Grupo /CLE_01 | Aula A2 |