aboutsummaryrefslogtreecommitdiff
path: root/examples/clang-interpreter/README.txt
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-02-25 08:49:05 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-02-25 08:49:05 +0000
commite22462867ca63e41eabe92b12d6182a62bd829a6 (patch)
tree721fc526e98b6cf7220cc4c288de05d50befa7be /examples/clang-interpreter/README.txt
parentf710691a5a15795e186632ddd62cb0097bb67302 (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.txt17
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.