cambiar a curso:   2016-17   2018-19


Grado en Ingeniería Informática


TRABAJOS FIN DE GRADO
curso: 2017-18

Desarrollo de un compilador para un lenguaje de programación web


Tecnologías Específicas

Computación
 


Descripcion y Objetivos

Los lenguajes actuales utilizados para la creación de paginas web(html, Css) tienen ciertas carencias que dificultan la realización de tareas cada día más comunes. Estas carencias hacen que el código obtenido resulte poco legible y en el mismo existan partes que podrían evitarse sin afectar a la funcionalidad. La eliminación de este código haría del código más legible y las paginas web mas ligeras en su carga.

El objetivo principal de este TFG será la definición de un lenguaje que permita introducir características de lenguajes de alto nivel en la programación de front-ends de paginas web, como el uso de variables, creación de etiquetas html personalizadas, uso de iteradores para facilitar la creación de listas y tablas, y mucho más. Con la introducción de estas características directamente en el lenguaje permitirá a los creadores de paginas web no tener que recurrir al uso de tecnologías distintas como

Polymer o AngularJS y Javascript, lo cual dificulta en grandísima medida el desarrollo y la curva de aprendizaje es mucho mayor.

 

Tras la definición del lenguaje, será necesario crear un compilador para el mencionado lenguaje, el cual nos permita traducir el código fuente a código HTML, CSS y javascript para poder mostrar la pagina web en todos los navegadores


 

 


Metodología y Competencias

La metodología utilizada para el desarrollo de este TFG será la utilizada tradicionalmente para el desarrollo de un compilador de un lenguaje.

Las competencias que se adquirirán son las siguientes

  •  Competencias generales UCLM: UCLM3
  • Competencias instrumentales:  INS1, INS2, INS5
  • Competencias sistemicas:SIS3, SIS8
  • Comunes a la rama de informatica:CO7, CO8
  • Competencias de Tecnologia especifica de computación:CM2
 


Medios a utilizar

Ordenador con sistema operativo Windows o Linux

Compilador y entorno de desarrollo para C o Python 2.7

Generadores automáticos de analizadores Lexicos y sintácticos

Procesador de textos


 

 


Bibliografía

* Construccion de compiladores Principios y práctica.  Kenneth Louden. Ed Thomson 2004

* Compiladores. Principios, técnicas y herramientas. Alfred Aho, Monica Lam, Ravi Sethi.  Ed Addison Wesley 2008

 

 


Tutor


PARDO MATEO, JUAN JOSÉ
 

Alumno


VICENTE CHARCO, CARLOS