Furlang is a toy programming language developed by Cach30verfl0w for learning Compiler Engineering and working with the LLVM API, completely designed in Kotlin/Native. This repository contains the complete toolchain with embeddable compiler, IntelliJ Idea Plugin, Gradle Plugin and parser frontend.
This project would not have been possible or much more complicated without the work of the following people and projects listed below.
- Marc-André Moreau's LLVM prebuilt repository (GitHub) providing prebuilts for the CInterop module for the LLVM usage on Kotlin/Native (MIT License)
- Alexander Hinze's help with a few design choices in the language itself and some ANTLR4 knowledge (some of the grammar is copied/inspired from the Ferrous Compiler Parser-Lexer Frontend Vanadium)
- The syntax of the language is heavily inspired by the Kotlin programming language and other parts are inspired by the Rust programming language