Guia docente
DATOS IDENTIFICATIVOS 2023_24
Asignatura PROCESADORES DE LENGUAJE Código 00709035
Enseñanza
0709 - GRADO EN INGENIERÍA INFORMÁTICA
Descriptores Cr.totales Tipo Curso Semestre
6 Obligatoria Cuarto Segundo
Idioma
Castellano
Ingles
Prerrequisitos
Departamento ING.MECANICA,INFORMAT.AEROESP.
Responsable
DIEZ ALVAREZ , RUBEN
Correo-e rdiea@unileon.es
raferd@unileon.es
Profesores/as
FERNÁNDEZ DÍAZ , RAMÓN ÁNGEL
DIEZ ALVAREZ , RUBEN
Web http://
Descripción general Introduce al alumno en el análisis y valoración de herramientas de procesamiento de lenguajes.
Tribunales de Revisión
Tribunal titular
Cargo Departamento Profesor
Presidente ING.MECANICA,INFORMAT.AEROESP. PEREZ GARCIA , HILDE
Secretario ING.MECANICA,INFORMAT.AEROESP. PANIZO ALONSO , LUIS
Vocal ING.MECANICA,INFORMAT.AEROESP. CASTEJON LIMAS , MANUEL
Tribunal suplente
Cargo Departamento Profesor
Presidente ING.MECANICA,INFORMAT.AEROESP. SANCHEZ GONZALEZ , LIDIA
Secretario ING.MECANICA,INFORMAT.AEROESP. MATELLAN OLIVERA , VICENTE
Vocal ING.MECANICA,INFORMAT.AEROESP. BARREIRO GARCIA , JOAQUIN

Competencias
Código  
A18138 709ULE3 Capacidad para conocer los fundamentos teóricos de los lenguajes de programación y las técnicas de procesamiento léxico, sintáctico y semántico asociadas, y saber aplicarlas para la creación, diseño y procesamiento de lenguajes.
B5619 709CG9 Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad. Capacidad para saber comunicar y transmitir los conocimientos, habilidades y destrezas de la profesión de Ingeniero Técnico en Informática.
B5623 709CT1 Capacidad para el análisis, síntesis, resolución de problemas y la toma de decisiones.
B5625 709CT3 Capacidad para comunicar y transmitir de forma oral o por escrito conocimientos y razonamientos derivados de su trabajo individual o en grupo de forma clara y concreta.
C2 CMECES2 Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
C5 CMECES5 Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía

Resultados de aprendizaje
Resultados Competencias
Conoce los fundamentos teóricos de los lenguajes de programación y las técnicas de procesamiento léxico, sintáctico y semántico asociadas, y sabe aplicarlas para la creación, diseño y procesamiento de lenguajes. A18138
B5619
B5623
B5625
C2
C5
Aplica la teoría de lenguajes a la construcción de procesadores de lenguajes. A18138
B5619
C2
Es capaz de realizar y evaluar soluciones a problemas de procesadores de lenguajes. A18138
B5619
B5623
C5

Contenidos
Bloque Tema
Bloque 1: FUNDAMENTOS DE PROCESADORES DE LENGUAJES Tema 1: INTRODUCCIÓN A LOS PROCESADORES DE LENGUAJES
Funciones de los procesadores de lenguajes. Estructuras lógica y física. Tipos.

Tema 2: ANÁLISIS LÉXICO
Descripción funcional. Tokens, lexemas y patrones. Errores léxicos. Especificación y reconocimiento de tokens. Tratamiento de errores.

Tema 3: ANÁLISIS SINTÁCTICO
Descripción funcional. Gramáticas libres de contexto. Análisis sintáctico descendente. Análisis sintáctico ascendente.Recuperación de errores.

Tema 4: ANÁLISIS SEMÁNTICO
Descripción funcional. Traducción orientada por la sintaxis. Tablas de Símbolos.

Tema 5: GENERACIÓN DE CÓDIGO INTERMEDIO
Código de tres direcciones. Tipos y declaraciones. Traducción de expresiones. Comprobación y conversión de tipos.

Tema 6: ENTORNO DE EJECUCIÓN. GENERACIÓN Y OPTIMIZACIÓN DE CÓDIGO
Organización del almacenamiento, asignación y acceso. Generación de código: selección de instrucciones, asignación de registros, bloques básicos. Principales fuentes de optimización.

Tema 7: PROCEDIMIENTOS Y HERRAMIENTAS GENERALES DE CONSTRUCCIÓN DE PROCESADORES DE LENGUAJES. HERRAMIENTAS DE PRODUCCIÓN BASADAS EN LENGUAJES Y SUS PROCESADORES
Generadores de analizadores léxicos y sintácticos, analizadores de gramáticas, máquinas de traducción dirigida por sintaxis, generadores automáticos de código.


Planificación
Metodologías  ::  Pruebas
  Horas en clase Horas fuera de clase Horas totales
Tutorías 2 0 2
 
Practicas a través de TIC en aulas informáticas 20 30 50
Resolución de problemas/ejercicios en el aula ordinaria 10 15 25
 
Sesión Magistral 23 25 48
 
Pruebas de desarrollo 5 20 25
 
(*)Los datos que aparecen en la tabla de planificación són de carácter orientativo, considerando la heterogeneidad de los alumnos

Metodologí­as
Metodologías   ::  
  descripción
Tutorías Tiempo que cada profesor tiene reservado para atender y resolver dudas de los alumnos.
Practicas a través de TIC en aulas informáticas Aplicar, a nivel práctico, la teorí­a de un ámbito de conocimiento en un contexto determinado. Ejercicios prácticos a través de las TIC.
Resolución de problemas/ejercicios en el aula ordinaria Formulación, análisis, resolución y debate de un problema o ejercicio, relacionado con la temática de la asignatura.
Sesión Magistral Exposición de los contenidos de la asignatura.

Tutorías
 
Tutorías
descripción
Orientaciones personalizadas a petición del estudiante

Evaluación
  descripción calificación
Practicas a través de TIC en aulas informáticas Realización, entrega dentro de los plazos que se establezcan y defensa (pruebas orales y/o escritas) de trabajos de carácter práctico consistentes en desarrollo de software 30%
Pruebas de desarrollo Pruebas escritas consistentes en ejercicios y resolución de casos 50%
Otros Entrega de trabajos de carácter opcional, asistencia y participación del alumno en las actividades del curso 20%
 
Otros comentarios y segunda convocatoria

OTROS COMENTARIOS:

Para superar la asignatura es necesario obtener una calificación de al menos 5 puntos (sobre un máximo de 10 puntos) tanto en la parte correspondiente a las pruebas de desarrollo como en la parte de prácticas de laboratorio. Para poder superar la parte de prácticas, se deberán haber entregado todos los trabajos de tipo práctico dentro de los plazos que se establezcan. 

La asignatura estará superada si la calificación final ponderada es mayor o igual que 5 puntos sobre un máximo de 10.

SEGUNDA CONVOCATORIA:

Examen final de la totalidad de la asignatura. Se conservará la calificación de las prácticas de laboratorio para aquellos alumnos que las hubieran superado.


Fuentes de información
Acceso a la Lista de lecturas de la asignatura

Básica

Aho A.H., Lam M.S., Sethi R & Ullman J.D. Compilers: principles, techniques and tools Addison Wesley 2007

Aho A.H. & Ullman J.D. The theory of parsing translation and compiling Vol 1 Parsing 1972 Vol 2 Compiling 1973 Prentice-Hall

Bauer F.L. & Eickel J. Ed. Compiler construction . An advanced course Lecture Notes in Computer Science nº 21, Springer 1974

Bornat R. Understanding and writing compilers MacMillan 1979

Deransart P., Jourdan M. & Lorho B Attribute grammars Springer 1988 Lecture Notes in Computer Science 323

Gries D. Compiler construction for digital computers Wiley 1971

Grune D., Jacobs C., Parsing techniques http://www.cs.vu.nl/~dick/PTAPG.html

Grune D., Jacobs C., Parsing techniques (segunda edición) Springer 2008

Grune D., et al. Modern compiler design Wiley 2000 (hay traducción al español)

Garrido A. et al. Diseño de compiladores Universidad de Alicante

Louden K. C. Construcción de compiladores Thomson Mexico 2004

Jones R. Lins R. Garbage collection Wiley 1996

Watt D. A Programming Language Design Concepts Wiley 2004 " "

Palabras clave para las búsquedas:

compiladores, intérpretes, pragmática de lenguajes de programación (compilers, interpreters, programming language pragmatics)

calidad y estilo (quality and style)

lenguaje de especificación (specification language)

Spark, JML (java modeling language), ACSL (ANSI C specification language)

Complementaria


Recomendaciones