dc.contributor.advisor | Gómez Pérez, Domingo | |
dc.contributor.author | Río Ruiz, Eduardo del | |
dc.contributor.other | Universidad de Cantabria | es_ES |
dc.date.accessioned | 2023-09-29T10:23:45Z | |
dc.date.issued | 2023-07 | |
dc.identifier.uri | https://hdl.handle.net/10902/30046 | |
dc.description.abstract | En este trabajo de fin de grado se propuso crear un intérprete para el lenguaje Lox, tal como se explica en el libro «Crafting Interpreters» de Robert Nystrom. El objetivo es que esta implementación se utilice en la asignatura «Lenguajes de programación».
Se llevó a cabo esta implementación en Python, sin librerías adicionales, realizando las siguientes tareas:
• presentar especificaciones de los tokens e implementación mediante expresiones regulares
• generar una gramática libre de contexto para el lenguaje Lox que sea adecuada para un analizador recursivo descendente
• programar un intérprete, basado en el recorrido del árbol de derivación
• diseñar una batería de tests para comprobar la validez de la implementación.
El diseño ha sido modificado para centrarse en la adquisición de conceptos y la sencillez del código a programar. | es_ES |
dc.description.abstract | In this work, we proposed to create an interpreter for the Lox language, as explained in the book ”Crafting Interpreters” by Robert Nystrom. The objective is that this implementation will be used in the subject ”Programming Languages”.
It was carried out using Python, without additional libraries, by performing the following tasks:
• present token specifications and implementation using regular expressions.
• generate a context-free grammar for the Lox language that is suitable for a downstream recursive parser
• to program an interpreter, based on the path of the derivation tree
• design a battery of tests to check the validity of the implementation.
The design has been modified to focus on concept acquisition and simplicity of the code to be programmed. | es_ES |
dc.format.extent | 56 p. | es_ES |
dc.language.iso | spa | es_ES |
dc.rights | Attribution-NonCommercial-NoDerivatives 4.0 International | es_ES |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/4.0/ | * |
dc.subject.other | Intérprete | es_ES |
dc.subject.other | Parser | es_ES |
dc.subject.other | Lexer | es_ES |
dc.subject.other | Lox | es_ES |
dc.subject.other | Python3 | es_ES |
dc.subject.other | Interpreter | es_ES |
dc.title | Intérprete del leguaje Lox en Python3 | es_ES |
dc.title.alternative | Lox language interpreter in Python3 | es_ES |
dc.type | info:eu-repo/semantics/bachelorThesis | es_ES |
dc.rights.accessRights | embargoedAccess | es_ES |
dc.description.degree | Grado en Ingeniería Informática | es_ES |
dc.embargo.lift | 2028-07-07 | |
dc.date.embargoEndDate | 2028-07-07 | |