Semester: SS-2021
Instructor: Prof. Dr. Peter Faber
Project: Introduce a different type (suggested: void type) that can be used at least for function declarations and definitions
- Rashed Al-Lahaseh – 00821573
This project consists of different tasks, where each task is a stepping stone for the next task. In the first task, we will start with the Lex (lexical analysis), where we have to split our input data into a set of tokens such as identifiers, keywords, brackets, etc. This helped us understand how Flex works. In the second task, we deal with the semantic parsing, where we use Bison to generate an AST while parsing the tokens, and what’s nice here is that Bison is going to do most of the legwork here, as we will notice we are only going to define our needed AST.
In the third task, we further interact with our assembly using LLVM. This part is responsible for generating the machine code for each node where it walks over our AST. In general, this workshop (project) is a good experience for learning new things, solving problems, and understanding how programming languages work, as long as you get deeper into them and start realizing that not all the parts are hard to understand.
So, in the end, I would like to thank you Prof. Dr. Ing. Peter Faber for the material was provided through the course and for your help during our classes. Because we believe that this course gave us the good knowledge to dig in more on this field because as I believe this field is very important and still actively in the market with the new languages being provided in our days such as (Kotlin, Dark, Elm, etc.).