Design and implementation of a programming language with LLVM
Domingo Catafal, Josep Maria
Sánchez Pujadas, Francisco Javier, dir. (Universitat Autònoma de Barcelona. Departament de Ciències de la Computació)
Universitat Autònoma de Barcelona. Escola d'Enginyeria

Título variante: Disseny i implementació d'un llenguatge de programació utilitzant LLVM
Título variante: Diseño e implementación de un lenguaje de programación utilizando LLVM
Fecha: 2023
Resumen: This article presents the design and development of a new programming language called Craft, using Rust and LLVM. The goal of the project is to gain a deeper understanding of how compilers work by creating one from scratch using these tools. The language is designed to be simple and easy to understand, but at the same time, it aims to be fast and efficient, so some sacrifices have to be made. The article covers the design and implementation of the language, including the lexer, parser, semantic analysis, and code generation. The project also includes a discussion of the challenges encountered during development and suggestions for future work. Overall, the project serves as a valuable learning experience for understanding the inner workings of compilers and the capabilities of Rust and LLVM.
Resumen: Aquest article presenta el disseny i desenvolupament d'un nou llenguatge de programació anomenat Craft, utilitzant Rust i LLVM. L'objectiu del projecte és aconseguir una millor comprensió de com funcionen els compiladors creant-ne un des de zero amb aquestes eines. El llenguatge està dissenyat per ser senzill i fàcil d'entendre, però al mateix temps, pretén ser ràpid i eficient, per la qual cosa s'han de fer alguns sacrificis. L'article cobreix el disseny i la implementació del llenguatge, incloent-hi el lexer, el parser, l'anàlisi semàntica i la generació de codi. El projecte també inclou una discussió sobre els reptes trobats durant el desenvolupament i suggeriments per a treballs futurs. En general, el projecte serveix com una valuosa experiència d'aprenentatge per comprendre el funcionament intern dels compiladors i les capacitats de Rust i LLVM.
Resumen: Este artículo presenta el diseño y desarrollo de un nuevo lenguaje de programación llamado Craft, utilizando Rust y LLVM. El objetivo del proyecto es conseguir una mejor comprensión de cómo funcionan los compiladores, creando uno desde cero con estas herramientas. El lenguaje está diseñado para ser sencillo y fácil de entender, pero al mismo tiempo, pretende ser rápido y eficiente, por lo que deben realizarse algunos sacrificios. El artículo cubre el diseño y la implementación del lenguaje, incluyendo el lexer, el parser, el análisis semántico y la generación de código. El proyecto incluye también una discusión sobre los retos encontrados durante el desarrollo y sugerencias para trabajos futuros. Por lo general, el proyecto sirve como una valiosa experiencia de aprendizaje para comprender el funcionamiento interno de los compiladores y las capacidades de Rust y LLVM.
Derechos: Aquest document està subjecte a una llicència d'ús Creative Commons. Es permet la reproducció total o parcial, la distribució, i la comunicació pública de l'obra, sempre que no sigui amb finalitats comercials, i sempre que es reconegui l'autoria de l'obra original. No es permet la creació d'obres derivades. Creative Commons
Lengua: Anglès
Titulación: Grau en Enginyeria Informàtica [2502441]
Plan de estudios: Grau en Enginyeria Informàtica [958]
Documento: Treball final de grau ; Text
Área temática: Menció Computació
Materia: Llenguatge de programació ; LLVM ; Rust ; SSA ; Fortament tipat ; Compilat ; Lenguaje de programación ; Fuertemente tipado ; Compilado ; Programming Language ; Strongly Typed ; Compiled



11 p, 1.1 MB

El registro aparece en las colecciones:
Documentos de investigación > Trabajos de Fin de Grado > Escuela de Ingeniería. TFG

 Registro creado el 2023-03-07, última modificación el 2024-06-15



   Favorit i Compartir