Mini Pascal to LLVM complier written in C++. The project uses flex
and bison
to construct an AST and perform some validity checks in the process. The tree can then be traversed via visitors to perform aditional checks or produce IR from it.
The end goal is to implement an LLVM visitor that will generate valid LLVM IR code from the tree.
- Simple project structure (lexical and syntaxical analysis, Makefile)
- Implement basic AST
- Support function prototypes, definitions and function calls
- Support basic arithmetic/relational operations
- Support control structures (if-else, while)
- Support functions
- Perform semantic analysis
- Include LLVM
- Generate LLVM IR
- Add arrays
- Allow passing of arrays to/from functions
- Add vectors
Author: Stefan Pantic.
Contact: stefanpantic13@gmail.com