diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-02-25 08:49:05 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-02-25 08:49:05 +0000 |
commit | e22462867ca63e41eabe92b12d6182a62bd829a6 (patch) | |
tree | 721fc526e98b6cf7220cc4c288de05d50befa7be /examples/clang-interpreter/README.txt | |
parent | f710691a5a15795e186632ddd62cb0097bb67302 (diff) |
Add a minimal C interpreter example.
- Demonstrates how to build a standalone tool which loads source code using the
Driver and Frontend libraries, and then uses CodeGen and the JIT to actually
execute the code.
- Still more complicated than it should be, but hey its only 153 lines. :)
--
ddunbar@ozzy:tmp$ cat hello.c
#include <stdio.h>
int main() { printf("hello world\n"); return 0; }
ddunbar@ozzy:tmp$ clang-interpreter hello.c
hello world
--
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97133 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'examples/clang-interpreter/README.txt')
-rw-r--r-- | examples/clang-interpreter/README.txt | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/examples/clang-interpreter/README.txt b/examples/clang-interpreter/README.txt new file mode 100644 index 0000000000..7dd45fad50 --- /dev/null +++ b/examples/clang-interpreter/README.txt @@ -0,0 +1,17 @@ +This is an example of Clang based interpreter, for executing standalone C +programs. + +It demonstrates the following features: + 1. Parsing standard compiler command line arguments using the Driver library. + + 2. Constructing a Clang compiler instance, using the appropriate arguments + derived in step #1. + + 3. Invoking the Clang compiler to lex, parse, syntax check, and then generate + LLVM code. + + 4. Use the LLVM JIT functionality to execute the final module. + +The implementation has many limitations and is not designed to be a full fledged +C interpreter. It is designed to demonstrate a simple but functional use of the +Clang compiler libraries. |