Creating, Coding and Compiling a Compiler with LLVM

Andrew Bennett

At one point or another many developers like to try their hand at writing a programming language, this is why there are so many awful programming languages out there. This talk births another of those languages, experience the horrific gore and miracle of programming language creation. This talk briefly covers parsing text, interpreting it as the guttural tongue of your primitive language, then using LLVM to interpret those horrific utterances into compiled native code.

LLVM is the technology at the heart of many of Apple’s core technologies; JavaScriptCore, OpenCL, and XCode’s default compiler to name a few. The overarching goal of this talk is to understand the structure of the LLVM API, how to interface with it, and how to leverage its amazing power and a few straightforward concepts to be able to make a flexible and optimised compiler without needing to be a super-computer-rocket-scientist.


Andrew has been coding iOS apps since day one, he’s a hard-core programmer and honours graduate from the University of Tasmania. He’s been a frequent contributor to AUC events, and in his spare time he likes to make and break things that most sane people would steer well clear of.