Skip to content
This repository

This is a preliminary implementation of a clang JIT/interpreter Objective-C runtime bridge. The purpose is to create a functioning Objective-C (and therefore Eero) interpreter. This, in turn, could at some point be used with an interactive interpreter, such as cling or ccons.

Clang's clang-interpreter example has been modified here to demonstrate this project's functionality. With this version, the following is possible:

$ clang-interpreter helloworld.m
$ 2012-02-12 13:24:09.982 clang-interpreter[65176:903] Hello world!

This also works with GUI source (see example gui.m).

Contributions welcome!

Notes

  • Based on llvm/clang trunk
  • Mostly tested on OS X, but designed to work with any popular Objective-C runtime
    • Requires a functioning host machine objective-c runtime
    • Minimally tested with GNUStep runtime on Linux

Limitations

  • Must currently be built with assertions off, since not all llvm types are properly used
  • Exceptions not fully working
  • Still very rough -- needs proper option switch (e.g. "-jit-runtime"), lots of cleanup, testing, etc..
Something went wrong with that request. Please try again.