A toy programing language.
- Mac OS or Linux
- libclang 7 development library
- A cc binary that can link things
- Python 3.7+
Installation on Mac OS with HomeBrew:
brew update && brew upgrade && install llvm python3
- The parser is written by hand, writing parsers is good fun
- Everything connected to code generation is handled by llvmlite, great library
- libclang is used to parse C headers (libclang Python bindings are vendored by this project to not depend on them being installed separately, tricky on Linux)
To run tests (assumes activated Python 3.7 virtualenv and the current directory being a cloned repository root):
pip install --upgrade '.[dev]' make ci