Skip to content

Files

Latest commit

f11cc49 · Mar 14, 2018

History

History

clang-interpreter

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Mar 14, 2018
Mar 14, 2018
Mar 14, 2018
Mar 14, 2018
Mar 14, 2018
Mar 14, 2018
Mar 14, 2018
Mar 14, 2018
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.