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 | Size | Format | |
---|---|---|---|---|
noisy-backend-NTUA-thesis.pdf | 1.64 MB | Adobe PDF | View/Open |
Items in Artemis are protected by copyright, with all rights reserved, unless otherwise indicated.