ABC 0.1

ABC is a small C-like programming language and compiler developed for teaching high-performance computing at Ulm University. It is designed to let students explore how a compiler works without first having to deal with the complexity of a production language. The compiler supports functions, variables, pointers, structs, control flow and other basic language features, and uses LLVM for native code generation. The project also led to not-abc, an even smaller compiler written in ABC that can compile its own source code: https://github.com/michael-lehn/not-abc

Tags compiler llvm programming-language
License
State stable

Recent Releases

0.101 Sep 2026 21:09 major feature: ABC v0.1 is now available, marking the first official release of the small C-like programming language originally developed for teaching high-performance computing. This release adds initial x86-64 System V ABI support, allowing ABC programs to interoperate with C libraries. Several raylib examples are included as a first practical demonstration. ABC now supports LLVM 17 through 22 and includes improved automatic detection of installed LLVM versions. The ABI implementation is designed to support additional target architectures, with ARM planned next.