Cthulhu
0.2.10
Cthulhu compiler collection
|
Wow this project got out of hand.
Cthulhu was born out of frustration with existing compilers and tooling. Cthulhu is a set of tools for building compilers, designed to be low friction to start with and easily extensible.
Started in 2019, Cthulhu now contains 2 complete language frontends:
And 1 language frontend in progress:
Long term language support is planned for both jvm bytecode and the ifc c++ modules that msvc produces.
Currently cthulhu is the only compiler (to my knowledge) that supports language interop between languages without boilerplate. This is achieved by using common interfaces between language drivers.
tree
. allowing for interop between languages.As alot of code can be shared, adding a feature for one language may often require no work for other languages to implement.
Building Cthulhu Building the compiler
Usage Consuming the framework as a library.
Contributing Contributing to Cthulhu
TODO The ever growing todo list
All source code under the src/common
directory is licensed under LGPLv3. All other code, unless explicitly stated, is licensed under GPLv3.
All source code is available on Github