NOTICE: This repository contains a compiler front-end that is in the early stages of development. Its buggy, incomplete, and hard to work with. Use it at your own risk!
Requite is a statically typed systems programming langauge with a homoiconic syntax.
- Read source files
- Parse abstract syntax tree for each file
- Catalogue types and functions (so there is no need for forward declarations later)
- Build ir with LLVM
- Output intermediate files with LLVM
- Compile with clang
Example files can be found in the test_sources folder. There are no command line options yet, and all configuration should be done by changing the C++ source code in <src/main.cpp>. When running the test source files, make sure that there is only one entry_point
operation across all source files. Some files contain definitions used by other sources, so you need to compile them together. For further instructions, look at the <test_sources/test.bash> file.