Procesadores de lenguajes

Código Asignatura:
1397
Nº Créditos ECTS:
6
Duración:
Semestral
Idioma:
Castellano
Plan de estudios:
Profesor(es):

Descripción

Procesadores de Lenguajes es una asignatura de tipo obligatorio que consta de 6 créditos y que introducirá al estudiante en las áreas fundamentales de la teoría de autómatas, lenguajes formales y gramáticas que constituyen la base del funcionamiento de los procesadores de lenguajes. Se exploran los problemas y técnicas que se plantean en la construcción de procesadores, compiladores, traductores e intérpretes de los diferentes lenguajes de programación. El estudio de dichas técnicas ofrecerá al estudiante una visión más amplia de los lenguajes de programación, previamente estudiados desde el punto de vista del programador y no del constructor de intérpretes o compiladores. Otras aplicaciones de la teoría de autómatas son los analizadores del lenguaje natural, los sistemas de control de máquinas industriales y la robótica.

En esta asignatura se abordarán principalmente los siguientes temas:

  • Teoría de autómatas, que incluye autómatas finitos deterministas (AFD) y no deterministas (AFND), autómatas a pila.
  • Lenguajes y expresiones regulares, y transformaciones.
  • Gramáticas independientes del contexto.
  • Análisis sintáctico y semántico.

Son dos los prerrequisitos básicos que debería cumplir todo estudiante antes de abordar esta asignatura:

  • Es necesario contar con habilidades básicas de programación, que permitan desenvolverse en un entorno de Programación Orientada a Objetos, así como manipular estructuras de datos. Por lo tanto se recomienda cursar previamente las asignaturas “Metodología de la Programación” y “Estructuras de Datos”.
  • Es recomendable superar previamente la asignatura “Estructuras Discretas”.

Antes de matricular la asignatura, verifique los posibles requisitos que pueda tener dentro de su plan. Esta información la encontrará en la pestaña "Plan de estudios" del plan correspondiente.

Competencias generales

El objetivo de la asignatura es introducir al estudiante a la teoría de autómatas como base de la compilación y el procesamiento de lenguajes.

Competencias específicas

  • Reconocer los modelos formales que sostienen la teoría del procesamiento de lenguajes.
  • Dominar los conceptos y aplicaciones de los Lenguajes y Gramáticas Formales.
  • Ser capaz de construir los distintos tipos de autómatas, incluyendo AFD, AFND y autómatas a pila.
  • Describir los distintos tipos de gramáticas, tales como las dependientes del contexto, las independientes del contexto y las regulares.
  • Conocer las distintas fases y algoritmos utilizados en la traducción y generación de código desde el programa fuente al ejecutable, incluyendo el análisis léxico, sintáctico y semántico.

Los objetivos basados en los contenidos de la asignatura son los siguientes:

  • Conceptos de teoría de autómatas y lenguajes formales.
  • Tipos de procesadores de lenguajes y sus componentes principales.
  • Análisis léxico.
  • Análisis sintáctico.
  • Comprobación de tipos.
  • Generación y optimización de código.

Metodología

La metodología adoptada en esta asignatura para el aprendizaje y evaluación de sus contenidos, se encuentra adaptada al modelo de formación continuada y a distancia de la UDIMA.

Los conocimientos de la asignatura se adquieren a través del estudio razonado de todas las unidades didácticas propuestas en el Aula Virtual y que guían al estudiante en el estudio del material didáctico básico de la asignatura, así como del material didáctico complementario que se ponga a disposición de los estudiantes en el Aula Virtual.

Además, es preciso que los estudiantes realicen las actividades de evaluación continua (AEC), de aprendizaje y controles planificados en el “cronograma de actividades didácticas”, y definidos en el “sistema de evaluación”, apartados que figuran en la guía docente de la asignatura.

Dedicación requerida

Se estima que la lectura y comprensión de los contenidos teóricos abarcados en las diversas unidades didácticas ocupará aproximadamente unas 60 horas, mientras la realización de las Actividades de Evaluación Continua (AECs), las Actividades de Aprendizaje y la realización de los Controles, llevará unas 75 horas aproximadamente. También podemos considerar que con el empleo de unas 15 horas por parte del alumno, de cara a preparar el examen final presencial, será suficiente para consolidar los conocimientos y habilidades adquiridas durante el trascurso de la asignatura.

Tutorías

Las dudas conceptuales que surjan tras el estudio razonado de las unidades del manual y/o del material complementario deben plantearse en los Foros de Tutorías disponibles en el Aula Virtual.

No obstante, está a disposición de los estudiantes un horario de tutorías telefónicas o consultas mediante correo electrónico.

Se quiere destacar la importancia de los foros como principal canal de comunicación con el profesor y con los compañeros del aula, además de ser una herramienta primordial para el intercambio de conocimientos, facilitando así el aprendizaje de los conceptos asociados a la asignatura.

La participación en las tutorías, que serán adaptadas en función de las características y necesidades de cada estudiante, también es muy recomendable. Estas sesiones de tutorización se realizarán prioritariamente utilizando los foros virtuales o el teléfono.

A continuación se recogen diferentes recursos de apoyo para la metodología de la asignatura:

Aula Virtual: Por medio del aula el estudiante se puede comunicar a cualquier hora con su profesor y con sus compañeros.

Materiales didácticos

Para el desarrollo del aprendizaje teórico, sobre el que versará el examen final, se proporcionará al estudiante un manual constituido por unidades didácticas, que se corresponden con la descripción de contenidos de la asignatura. Este manual podrá tener diferentes formatos dependiendo de la asignatura.

La bibliografía recomendada y los materiales complementarios asociados al desarrollo de cada asignatura serán facilitados en el Aula Virtual al hilo del desarrollo de las unidades didácticas.

La UDIMA también cuenta con múltiples recursos para el aprendizaje de sus estudiantes, como pueden ser:

Librería Virtual e-brary: Nuestros alumnos tienen a su disposición una librería virtual con más de 65.000 títulos.

Youtube: UDIMA dispone de su propio canal donde los profesores pueden colgar vídeos interesantes para la formación de los estudiantes.
(www.youtube.com/universidadudima)

Manual de la asignatura:
Lezcano, L.. "Procesadores de Lenguajes", Ed: CEF.

Contenidos de la asignatura

Unidad 1. Introducción a los Procesadores de Lenguajes.
Unidad 2. Autómatas Finitos Deterministas.
Unidad 3. Autómatas Finitos No-Deterministas y sus Aplicaciones.
Unidad 4. Lenguajes y Expresiones Regulares.
Unidad 5. Transformaciones entre Sistemas Formales.
Unidad 6. Gramáticas Independientes del Contexto.
Unidad 7. Autómatas a Pila.
Unidad 8. Análisis Sintáctico Descendente.
Unidad 9. Análisis Sintáctico Ascendente.
Unidad 10. Análisis Semántico.

Sistema de evaluación

El sistema de evaluación del aprendizaje de la UDIMA contempla la realización de diferentes tipos de actividades de evaluación y aprendizaje. El criterio de valoración establecido se detalla a continuación:

Actividades de aprendizaje
10%
Controles
10%
Actividades de Evaluación Continua (AEC)
25%
Examen final presencial
55%
TOTAL 100%