This is an implementation of (some of) the language from the LLVM Kaleidoscope tutorial.
The project itself does its parsing with KaleidoscopeLang and codegen using LLVM.swift.
-
Build LLVM (currently tested with 3.6.2). Homebrew is the easiest way to do this:
brew install llvm
-
Clone the repository and its submodules
-
In
Carthage/Checkouts/LLVM/LLVM.xcconfig
, setLLVM_PREFIX
to be the prefix used when buildingLLVM
. For homebrew this will typically be/usr/local/Cellar/llvm/3.6.2
, for you it may be/usr/local
or similar depending on your setup. -
Open
Kaleidoscope.xcworkspace
and run it!