Show simple item record

Visualización avanzada de la ejecución de programas funcionales

dc.contributor.authorSánchez García, José Luis
dc.date.accessioned2012-01-23T11:53:59Z
dc.date.available2012-01-23T11:53:59Z
dc.date.issued2012-01-23
dc.identifier.urihttp://hdl.handle.net/10115/5943
dc.description.abstractEntre la variedad de paradigmas de programación, uno de los más utilizados es el paradigma funcional. Este paradigma establece unas premisas que hacen de este tipo de programación un entorno muy útil para fines lúdicos o académicos. El paradigma funcional establece su comportamiento en la definición de funciones, las cuales sólo dependerán de sus argumentos de entrada. De esta manera se evitan posibles efectos colaterales, y obligan a un mismo comportamiento de la función ante los mismos argumentos recibidos. Una expresión inicial será evaluada mediante dichas re-escrituras y el aprovechamiento de las funciones definidas, hasta llegar a una expresión final resultante. Gracias a este comportamiento tan bien definido, este paradigma se aprovecha con fines académicos. Por este motivo, un complemento ideal para el compilador sería una aplicación añadida que ofrezca informes sobre la estrategia de evaluación o los pasos de re-escritura realizados, traza de ejecución. El objetivo de dicha traza es facilitar la comprensión de la evaluación del programa hasta la expresión final. Una vez planeado y comprendido el problema, para resolverlo hemos recurrido al diseño e implementación de un compilador, que se comporte de igual manera que los compiladores ya disponibles. Diseñar un compilador completo conlleva múltiples tareas: desde comprender a la perfección cada expresión o palabra del lenguaje, la gramática impuesta por el lenguaje, o el método de evaluación inherente al mismo lenguaje. El compilador que hemos implementado recibe un fichero de entrada con el programa implementado por el usuario. Interpreta dicho programa para construir una estructura que almacene toda la información de las evaluaciones, re-escrituras, o aplicación de funciones u otras expresiones del lenguaje. El objetivo de la creación y utilización de estas estructuras es aprovechar dichas estructuras para almacenar la información de todos los pasos por los que ha pasado la expresión introducida por el usuario, hasta llegar a la expresión resultante. Con este planteamiento, al finalizar la ejecución de nuestra aplicación obtenemos una estructura con toda la información necesaria para mostrarla al usuario en cualquier navegador. Este fichero permitirá al usuario ver cada paso de evaluación con mayor o menor detalle de cada re-escritura, según sus preferencias. Esto ofrece una aplicación completa que evalúe el programa introducido por el usuario y muestre por pantalla toda la traza de ejecución completamente explicada para una perfecta comprensión.es
dc.language.isospaes
dc.rightsAtribución-NoComercial-SinDerivadas 3.0 España
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/es/
dc.subjectVisualizaciónes
dc.titleVisualización avanzada de la ejecución de programas funcionaleses
dc.typeinfo:eu-repo/semantics/bachelorThesises
dc.rights.accessRightsinfo:eu-repo/semantics/openAccesses
dc.subject.unesco3304 Tecnología de Los Ordenadoreses
dc.description.departamentoLenguajes y Sistemas Informáticos I


Files in this item

This item appears in the following Collection(s)

Show simple item record

Atribución-NoComercial-SinDerivadas 3.0 EspañaExcept where otherwise noted, this item's license is described as Atribución-NoComercial-SinDerivadas 3.0 España