| dc.contributor.advisor | Gómez Pérez, Domingo | |
| dc.contributor.advisor | Stafford Fernández, Esteban | |
| dc.contributor.author | Murillo García, Manuel | |
| dc.contributor.other | Universidad de Cantabria | es_ES |
| dc.date.accessioned | 2025-10-16T15:43:33Z | |
| dc.date.available | 2025-10-16T15:43:33Z | |
| dc.date.issued | 2025-07 | |
| dc.identifier.uri | https://hdl.handle.net/10902/37865 | |
| dc.description.abstract | En este Trabajo de Fin de Grado se desarrolla un lenguaje de dominio específico orientado a la definición constructiva de geometrías a partir de cuerpos sencillos. El proyecto incluye la implementación de un intérprete para dicho lenguaje y el diseño de una interfaz gráfica básica que permite visualizar, editar e interactuar con los objetos generados por el usuario.
El lenguaje diseñado incluye las funcionalidades básicas de un lenguaje de programación como asignaciones, bucles, operaciones aritméticas y definición de funciones, así como un conjunto de funciones predefinidas para la creación de cuerpos primitivos y su manipulación mediante transformaciones afines (traslación, escalado y rotación), permitiendo así la construcción de geometrías complejas mediante técnicas de Geometría Constructiva.
El intérprete ha sido implementado en Python, utilizando un analizador léxico y sintáctico (Lexer y Parser). Con el apoyo de librerías especializadas en gráficos 3D, es capaz de generar los objetos definidos, calcular sus dimensiones reales, coordenadas cartesianas y otros aspectos técnicos relevantes. | es_ES |
| dc.description.abstract | This Final Degree Project presents the development of a domain-specific language aimed at constructive geometry definition based on simple solid shapes. The project includes the implementation of an interpreter for this language and the design of a basic graphical interface that allows users to visualize, edit, and interact with the generated objects.
The designed language incorporates core features found in most programming languages, such as assignments, loops, arithmetic operations, and function definitions, as well as a set of predefined functions for creating primitive solids and manipulating them through affine transformations (translation, scaling, and rotation). This enables the construction of complex geometries using Constructive Solid Geometry techniques.
The interpreter has been implemented in Python, using a lexical and syntactic analyzer (Lexer and Parser). With the help of specialized 3D graphics libraries, it is capable of generating the defined objects, calculating their real-world dimensions, Cartesian coordinates, and other relevant technical properties. | es_ES |
| dc.format.extent | 52 p. | es_ES |
| dc.language.iso | spa | es_ES |
| dc.rights | Attribution-NonCommercial-NoDerivatives 4.0 International | * |
| dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/4.0/ | * |
| dc.subject.other | Lexer | es_ES |
| dc.subject.other | Parser | es_ES |
| dc.subject.other | Python3 | es_ES |
| dc.subject.other | Intérprete | es_ES |
| dc.subject.other | Geometría Constructiva | es_ES |
| dc.subject.other | Interpreter | es_ES |
| dc.subject.other | Constructive Geometry | es_ES |
| dc.title | Lenguaje de dominio para especificación de geometría constructiva | es_ES |
| dc.title.alternative | Domain-specific language for constructive geometry specification | es_ES |
| dc.type | info:eu-repo/semantics/bachelorThesis | es_ES |
| dc.rights.accessRights | openAccess | es_ES |
| dc.description.degree | Grado en Ingeniería Informática | es_ES |