blob: b4f8a935cef8393cc8a4112c1fdba30583bdc7af [file] [log] [blame]
This is an example of Clang based interpreter, for executing standalone C/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.
5. Intercepting a Win64 library call to allow throwing and catching exceptions
in and from the JIT.
The implementation has many limitations and is not designed to be a full fledged
interpreter. It is designed to demonstrate a simple but functional use of the
Clang compiler libraries.