RSS
Home Asignaturas Procesadores de Lenguajes

Procesadores de Lenguajes es una asignatura obligatoria de la Especialidad en Computación de Ingeniería Informática. Se imparte en el 6º semestre de la titulación.

Un procesador para un lenguaje de programación es un sistema capaz de manipular programas escritos en dicho lenguaje con el objeto de ejecutarlo o prepararlo para su ejecución. Esta definición es muy general, y dentro de ella caben distintos sistemas que manipulan programas: por supuesto compiladores e intérpretes de lenguajes de programación, pero también navegadores que interpretan HTML, bases de datos que ejecutan SQL, editores avanzados de texto como Textures, impresoras que interpretan PostScript, cualquier herramienta que efectúa un proceso de traducción/ interpretación/ compilación a partir de una descripción formal de la entrada.

El estudio de los procesadores de lenguajes se plantea desde el punto de vista del diseño e implementación de un procesador de lenguajes. Para poder construir un procesador para un determinado lenguaje, necesitaremos una descripción lo más precisa posible de dicho lenguaje. La descripción (o especificación de un lenguaje de programación) es de interés para el diseñador del lenguaje, que necesita describir los elementos del mismo, para el implementador (que construye procesadores para el lenguaje), pues necesita también conocer todas las características del lenguaje para incluirlas en el procesador, y por último para los programadores (los que usan tanto el lenguaje como los procesadores), que deben conocer todos los elementos del lenguaje para utilizarlos adecuadamente.

Un/a Ingeniero/a en Informática requiere de conocimientos acerca de la construcción de procesadores de lenguajes de cara a la comprensión del funcionamiento (y por lo tanto mejor utilización) de muchas herramientas de las que puede ser usuario intensivo durante su ejercicio profesional. Adicionalmente, las herramientas utilizadas en la construcción de un procesador son de propósito general, y pueden serle útiles para el desarrollo de un traductor de propósito específico.