Lenguaje de dominio para especificación de geometría constructiva
Domain-specific language for constructive geometry specification
Ver/ Abrir
Identificadores
URI: https://hdl.handle.net/10902/37865Registro completo
Mostrar el registro completo DCAutoría
Murillo García, ManuelFecha
2025-07Derechos
Attribution-NonCommercial-NoDerivatives 4.0 International
Palabras clave
Lexer
Parser
Python3
Intérprete
Geometría Constructiva
Interpreter
Constructive Geometry
Resumen/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.
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.








