-
Notifications
You must be signed in to change notification settings - Fork 1
Home
andyarvanitis edited this page Feb 13, 2012
·
10 revisions
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..