llvm-project/clang/examples/clang-interpreter
Hans Wennborg b212b34f19 Move Compilation::PrintJob and PrintDiagnosticJob into Job::Print.
This moves the code to Job.cpp, which seems like a more natural fit,
and replaces the "is this a JobList? is this a Command?" logic with
a virtual function call.

It also removes the code duplication between PrintJob and
PrintDiagnosticJob and simplifies the code a little.

There's no functionality change here, except that the Executable is
now always printed within quotes, whereas it would previously not be
quoted in crash reports, which I think was a bug.

Differential Revision: http://llvm-reviews.chandlerc.com/D1653

llvm-svn: 190620
2013-09-12 18:23:34 +00:00
..
CMakeLists.txt The IRReader header is now part of its own library. Update the include 2013-03-26 02:25:54 +00:00
Makefile [Driver] Refactor clang driver to use LLVM's Option library 2013-06-14 17:17:23 +00:00
README.txt
main.cpp Move Compilation::PrintJob and PrintDiagnosticJob into Job::Print. 2013-09-12 18:23:34 +00:00

README.txt

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.