Overview

Aburi is a C and C++ compiler frontend with a driver named aburi. The frontend handles preprocessing, parsing, semantic analysis, compile-time evaluation, and lowering to LLVM IR.

The name comes from the town of Aburi, Ghana and its botanical garden.

Current Shape

Aburi uses LLVM today for IR construction, optimization, assembly/object emission, and final code generation. The driver is designed to feel familiar to GCC and Clang users, including modes such as -E, -S, -c, --emit-llvm, and -fsyntax-only.

The compiler is still early. It can already compile and run many sample programs and has been validated against a number of real-world C and C++ codebases, but silent miscompiles and incomplete language coverage are still expected.

Project Direction

Near-term work focuses on fixing miscompiles, expanding C++ feature coverage, improving compile-time performance and memory usage, and improving platform coverage beyond the Apple Silicon development environment.

Longer term, Aburi plans to grow a custom backend so the project can reduce its hard dependency on LLVM and explore faster non-optimizing code generation.

AI Disclosure

The project documentation notes that parts of the codebase, especially much of ast2llvm/, were generated with AI coding tools under human review, oversight, and direction. Aburi remains explicitly experimental, and the public tests, sample programs, and validation artifacts are important for judging behavior.