Please use this identifier to cite or link to this item: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/18365
Title: Compiler backend implementation for Noisy
Authors: Πλεύρης, Άγγελος
Σούντρης Δημήτριος
Keywords: LLVM
code generation
CSP
coroutines
compilers
embedded systems
Issue Date: 6-May-2022
Abstract: With this diploma thesis we develop a compiler backend for a subset of the programming language Noisy. Noisy is a new high level programming language designed for embedded systems and real-time computing platforms. Noisy aims to provide embedded systems designers and users with a new set of tools to simplify and also boost their work. Our current work implements the basic computational core of Noisy and should act as a solid foundation for the further development of this language. In this thesis we used the already implemented lexer and parser of Noisy and we created a semantic analyzer as well as a code generator. For the code generation we used the LLVM toolchain which enables us to generate assembly code for many different target architectures. Also, since Noisy aims to implement the CSP (Communicating sequential processes) model, we experimented on its implementation using the LLVM’s coroutines. Finally, we wrote and tested a variety of programs in Noisy in order to evaluate and measure our compiler’s performance as well as the performance of generated code.
URI: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/18365
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File Description SizeFormat 
noisy-backend-NTUA-thesis.pdf1.64 MBAdobe PDFView/Open


Items in Artemis are protected by copyright, with all rights reserved, unless otherwise indicated.