| Responsable: | Guillermo Godoy Balil (ggodoy Jose Miguel Rivero Almeida (rivero |
| Otros: | Jordi Cortadella Fortuny (jordi.cortadella Jorge Levy Diaz (levy Josep Carmona Vargas (jcarmona Lluis Padro Cirera (padro Silvia Inés Clérici Martínez (silvia |
| Créditos | Dept. |
|---|---|
| 7.2 ECTS | LSI |
| Responsable: | Guillermo Godoy Balil (ggodoy Jose Miguel Rivero Almeida (rivero |
| Otros: | Jordi Cortadella Fortuny (jordi.cortadella Jorge Levy Diaz (levy Josep Carmona Vargas (jcarmona Lluis Padro Cirera (padro Silvia Inés Clérici Martínez (silvia |
Cubrir los contenidos especificados en la troncalidad de procesadores del lenguaje, y los siguientes objetivos específicos.
Horas estimadas de:
| T | P | L | Alt | L Ext. | Est | O. Ext. |
| Teoria | Problemas | Laboratorio | Otras actividades | Laboratorio externo | Estudio | Otras horas fuera del horario fijado |
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 3,0 | 0 | 2,0 | 0 | 2,0 | 6,0 | 0 | 13,0 | |||
|
Definición del problema. Repaso de lenguajes regulares y autómatas finitos, varios algoritmos y sus costes. Tratamiento de errores, la herramienta PCCTS, otras aplicaciones.
|
||||||||||
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 12,0 | 0 | 4,0 | 0 | 4,0 | 12,0 | 0 | 32,0 | |||
|
Repaso de gramáticas de contexto libre y autómatas de pila.
Árboles de sintaxis concreta y abstracta, técnicas de parsing descendente y ascendente, la herramienta PCCTS, otras aplicaciones.
|
||||||||||
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 8,0 | 0 | 12,0 | 0 | 12,0 | 8,0 | 0 | 40,0 | |||
|
Lenguajes con estructura de bloques, paso de parámetros, comprobación de tipos, equivalencias de tipos, conversión explícita e implícita de tipos. Otros paradigmas de programación.
|
||||||||||
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 9,0 | 0 | 0 | 0 | 0 | 9,0 | 0 | 18,0 | |||
|
Interpretes como herramienta útil y definidora de la semántica del lenguaje.
Representaciones internas e intermedias: en árbol, código de tres direcciones, código para máquinas de pila. Máquinas virtuales: ventajas e inconvenientes. La Q-machine. Acceso a nombres locales y no-locales: cadenas estáticas y displays. |
||||||||||
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 14,0 | 0 | 10,0 | 0 | 10,0 | 14,0 | 0 | 48,0 | |||
|
Código para instrucciones sencillas. Compilación de expresiones booleanas, tipos estructurados, arrays estáticos y dinámicos, procedimientos y funciones como parámetros.
Adaptación para orientación a objetos.
|
||||||||||
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 6,0 | 0 | 0 | 0 | 0 | 6,0 | 0 | 12,0 | |||
|
Bloques básicos, grafo de control de flujo, vida de variables, uso y definiciones de variables, ejemplos de optimización (subexpresiones comunes, código muerto, propagación de constantes, invariantes y variables de inducción en bucles).
|
||||||||||
| Total por tipo | T | P | L | Alt | L Ext. | Est | O. Ext. | Total |
| 54,0 | 0 | 28,0 | 0 | 28,0 | 57,0 | 0 | 167,0 | |
| Horas adicionales dedicadas a la evaluación | 3,0 | |||||||
| Total horas de trabajo para el estudiante | 170,0 | |||||||
Se persiguen los objetivos expuestos estimulando el trabajo personal del estudiante. Así, las clases de laboratorio están destinadas a la realización de la práctica por parte del alumno, conjuntamente con consultas y discusiones acerca de la misma.Para las primeras prácticas con la herramienta PCCTS existe la correspondiente "hoja de laboratorio" con las explicaciones y ejercicios a realizar. Para las demás existe abundante material para la realización del compilador.
No se distingue entre clases de teoría y de problemas, debido a que éstos últimos se concentran sólo en ciertos periodos del curso, y sería demasiado rígido tener que dedicarles un número fijo de horas semanales.
Existen diversas listas de problemas, y el estudiante sabe con antelación cuándo en clase se van a resolver cuáles de ellos. De esta manera debería intentar resolverlos primero por su cuenta.
Además existe muy abundante material disponible en las páginas web de la asignatura: apuntes, transparencias, módulos y enunciados para las prácticas, exámenes anteriores resueltos y sin resolver, listas de preguntas frecuentes, etc.
El material ofrecido por la asignatura permite al estudiante realizar un seguimiento de la asignatura, tanto del modo habitual, asistiendo a clase y estudiando según el ritmo que marca la planificación propuesta, como de una forma independiente por propia planificación del alumno, en base a sus otras obligaciones o restricciones.
Habrá un examen escrito de teoría (T), con ejercicios y preguntas cortas de tipo teórico. La nota de la práctica (P) provendrá de dos ejercicios prácticos P1 y P2. Ambos consistirán en realizar modificaciones de la práctica hecha por el propio estudiante, con el fin de valorar su dominio y comprensión de la misma. P1 se llevará a cabo a mitad de curso, y P2 al final, en un horario a determinar que posibilite hacer uso de los recursos necesarios.
La nota final Fin se determina en funcion de T y P de la siguiente manera que fomenta un esfuerzo equilibrado en ambas partes:
Fin := 0.6*T + 0.4*P
Conocimientos de técnicas de programación estructurada y estructuras de datos y algoritmos; lenguajes, autómatas y gramáticas formales; estructura de computadores.