Usted está aquí: Inicio web asignaturas

 

Fichas de asignaturas 2009-10


TRADUCTORES

Asignaturas
 

  Código Nombre    
Asignatura 1710026 TRADUCTORES Créditos Teóricos 3
Descriptor   TRANSLATORS Créditos Prácticos 4,5
Titulación 1710 INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN Tipo Obligatoria
Departamento C137 LENGUAJES Y SISTEMAS INFORMATICOS    
Curso 3      
Duración (A: Anual, 1Q/2Q) 1Q      
Créditos ECTS 6      

Para el curso Créditos superados frente a presentados Créditos superados frente a matriculados
2007-08 79.3% 56.5%

 

 

Pulse aquí si desea visionar el fichero referente al cronograma sobre el número de horas de los estudiantes.

Profesorado

José Antonio Jiménez Millán (coordinador)
María del Carmen de Castro Cabrera
María de la Paz Guerrero Lebrero

Situación

Prerrequisitos

Conocimientos de programación en C y C++, estructuras de datos, y sistema
operativo Linux.

Contexto dentro de la titulación

Se trata de una materia que es, clásicamente, considerada como bagaje cultural
básico de cualquier informático.

Esta asignatura es continuada en 4º y 5º curso en las asignaturas de
Procesadores de Lenguajes I y II.

A su vez, pone en práctica conocimientos de otras materias de la carrera como:
programación, sistemas operativos o estructuras de datos.

Recomendaciones

Debido al escaso número de créditos, la asignatura se ha planteado como una
introducción al tema y con un enfoque eminentemente práctico.

Se recomienda el trabajo continuado desde el principio del curso, la realización
de todas las prácticas y ejercicios entregándolos en el tiempo estipulado, y la
utilización del campus virtual como herramienta de comunicación e intercambio de
conocimientos entre los alumnos y entre estos y el profesor.

Competencias

Competencias transversales/genéricas

Capacidad de análisis y síntesis.
Capacidad de relacionar conocimientos teóricos con la práctica.
Capacidad de comunicación oral y escrita.
Resolución autónoma de problemas.
Capacidad de organización y planificación.

Competencias específicas

  • Cognitivas(Saber):

    Conocimientos de informática relativos al ámbito de estudio.
    Capacidad de organización y planificación.
    Comunicación oral y escrita de la lengua nativa.
    Manejo de manuales y documentación en inglés.
    Saber gestionar la información.
  • Procedimentales/Instrumentales(Saber hacer):

    Describir por escrito preguntas teóricas de la materia.
    Resolver ejercicios y problemas de la materia.
    Buscar información de la asignatura.
    Programar, compilar y depurar programas que implementen ejercicios de
    la materia en cuestión.
    
  • Actitudinales:

    Compromiso ético.
    Trabajo continuado.
    Razonamiento crítico.
    Creatividad.
    Toma de decisiones.

Objetivos

Introducir las técnicas para que los alumnos sean capaces de describir, analizar
y traducir lenguajes formales. Incluyendo la construcción de pequeños
compiladores, intérpretes y procesadores de varios lenguajes formales sencillos.

Programa

CONTENIDO TEÓRICO (30 horas)
Tema 1. Introducción. (4 horas)
• Compiladores. Definición y tipos de compiladores.
• Contexto de un compilador.
• Fases de un compilador y agrupación de las fases.
• Cambios en la representación interna.
• Herramientas para construcción de compiladores.
Tema 2. Análisis lexicográfico (Scanning) (6 horas)
• El papel del analizador lexicográfico.
• Descripción y reconocimiento de los tokens.
Tema 3. Análisis sintáctico (Parsing) (14 horas)
• Papel de un analizador sintáctico.
• Gramáticas libres de contexto. y jerarquía de Chomsky.
• Análisis descendente (Top-Down) versus ascendente (Bottom-Up).
Tema 4. Introducción a la Traducción Dirigida por Sintaxis. (6 horas)
• Gramáticas atribuidas y esquemas de traducción.
• Evaluación ascendente con atributos sintetizados.
• Evaluación "Primero en profundidad" con atributos por la izquierda.
• Evaluación ascendente con atributos heredados.


CONTENIDO PRÁCTICO (45 horas)
Tema 1. Análisis léxicográfico. (12 horas)
• Construcción de un analizador léxico a mano.
• Programa LEX (FLEX) para construcción de un analizador.
• Programas de ejemplo utilizando FLEX.
Tema2. Análisis sintáctico. (15 horas)
• Implementación de un analizador descendente.
• Transformación de una gramática para su análisis descendente.
• Analizadores ascendentes LR, y SLR.
• El programa YACC (BISON) generador de analizadores.
• Programas de ejemplo utilizando BISON.
• Gramáticas ambiguas.
Tema 3. Traducción dirigida por sintaxis (18 horas)
• Implementación de un traductor descendente.
• Traducción ascendente con YACC (BISON

Metodología

Las clases de teoría consistirán en la exposición de los contenidos teóricos, por
parte del profesor, con ayuda de los medios audiovisuales necesarios. Por otra
parte se propondrán ejercicios a solucionar en casa por los alumnos y que se
discutirán, por los propios alumnos, en las clases siguientes.

En las clases de prácticas se mostrará, por parte del profesor, ejemplos típicos
de traductores, discutiendo la solución adoptada. Se desarrollarán algunos
seminarios para mostrar la utilización de las herramientas, Flex y Bison, que se
utilizan en la asignatura y, por último, se pedirá que los alumnos diseñen,
implementen y depuren sobre el ordenador, pequeños analizadores léxicos,
sintácticos así como pequeños traductores propuestos por el profesor.

Tanto los ejemplos típicos como los enunciados de los programas propuestos se
publicarán, con la suficiente antelación, en el aula virtual de la asignatura
(Campus Virtual).

Distribución de horas de trabajo del alumno/a

Nº de Horas (indicar total): 150

  • Clases Teóricas: 26  
  • Clases Prácticas: 33  
  • Exposiciones y Seminarios:  
  • Tutorías Especializadas (presenciales o virtuales):
    • Colectivas: 7  
    • Individules:  
  • Realización de Actividades Académicas Dirigidas:
    • Con presencia del profesorado: 9  
    • Sin presencia del profesorado:  
  • Otro Trabajo Personal Autónomo:
    • Horas de estudio: 61.5  
    • Preparación de Trabajo Personal: 7.5  
    • ...
        
  • Realización de Exámenes:
    • Examen escrito: 6 horas = 3 horas exm. teor�+ 3 horas exm. pr�icas  
    • Exámenes orales (control del Trabajo Personal):  

Técnicas Docentes

Sesiones académicas teóricas:Si   Exposición y debate:Si   Tutorías especializadas:Si  
Sesiones académicas Prácticas:Si   Visitas y excursiones:No   Controles de lecturas obligatorias:No  

Criterios y Sistemas de Evaluación

Los alumnos deben entregar las prácticas y ejercicios pedidos en el tiempo
especificado.
De entre todos los trabajos y prácticas entregadas se evaluarán algunos, al menos
uno, y formará una parte de la calificación final.
Se realizará un examen final que constará de una parte teórica y de otra
práctica a realizar sobre el ordenador.
El examen teórico consistirá en preguntas y ejercicios escritos. El alumno
debe contestar a todas las preguntas demostrando dominar, suficientemente,
todos los objetivos básicos de la asignatura.
El examen práctico requerirá el diseño, escritura, depuración y ejecución de
programas sobre un ordenador.
Para superar la asignatura habrá que tener aprobados tanto el examen teórico
como el práctico, y para poder realizar el examen de prácticas, el alumno debe
tener aprobada la parte de teoría.
La calificación final será la suma ponderada de la parte relativa a los
ejercicios y prácticas entregados durante el curso, al examen de teoría, y al
examen de prácticas.

Recursos Bibliográficos

• José Antonio Jiménez Millán. "Compiladores y Procesadores de Lenguajes".
Edita: Servicio de Publñicaciones de la Universidad de Cádiz, 2004.
• Aho, Alfred V. & Lam, Monica & Sethi, Ravi & Ullman, Jeffrey D. "Compiladores:
Principios, Técnicas y Herramientas 2ª edición". Edita: Addison-Wesley, 2008.
• Manuales de Bison y Flex (dentro de la documentación del sistema operativo
Linux).
• John E. Hopcroft & R. Motwani & Jeffrey D. Ullman. “Teoría de
autómatas,lenguajes y computación. 3ED”. Ed. Addison-Wesley. 2008.
• Bjarne Stroustrup. "El Lenguaje de Programación C++". Addison Wesley.

 

El presente documento es propiedad de la Universidad de Cádiz y forma parte de su Sistema de Gestión de Calidad Docente. En aplicación de la Ley 3/2007, de 22 de marzo, para la igualdad efectiva de mujeres y hombres, así como la Ley 12/2007, de 26 de noviembre, para la promoción de la igualdad de género en Andalucía, toda alusión a personas o colectivos incluida en este documento estará haciendo referencia al género gramatical neutro, incluyendo por lo tanto la posibilidad de referirse tanto a mujeres como a hombres.