-
Créditos ECTS
Créditos ECTS: 4.5Horas ECTS Criterios/Memorias
Traballo do Alumno/a ECTS: 73
Horas de Titorías: 0.5
Clase Expositiva: 16
Clase Interactiva: 23
Total: 112.5Linguas de uso
Castelán, GalegoTipo:
Materia Ordinaria Grao RD 1393/2007 - 822/2021Departamentos:
Electrónica e ComputaciónÁreas:
Arquitectura e Tecnoloxía de Computadores, Ciencia da Computación e Intelixencia ArtificialCentro
Escola Técnica Superior de EnxeñaríaConvocatoria:
Segundo semestreDocencia:
Con docenciaMatrí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: 8478290885Con 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 horasRecomé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 Manuel 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@usc.es
- Categoría
- Profesor/a: Catedrático/a 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@usc.es
- Categoría
- Profesor/a: Catedrático/a de Universidade
-
2º semestre - Do 27 de xaneiro ao 02 de febreiro 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 Exames 10.01.2025 10:00-14:00 Grupo /CLIL_04 Aula Traballo 10.01.2025 10:00-14:00 Grupo /CLIL_01 Aula Traballo 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 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 28.05.2025 16:00-20:00 Grupo /CLE_01 Aula A2 28.05.2025 16:00-20:00 Grupo /CLIL_02 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 02.07.2025 10:00-14:00 Grupo /CLIL_02 Aula A2 02.07.2025 10:00-14:00 Grupo /CLIL_03 Aula A2