Hello All,<div><br></div><div>This semester, as part of a personal Computer Science project course in my undergraduate studies, I decided to see if I could make an interactive console for the C programming language (like "irb" for Ruby) based on clang and LLVM. This would answer the questions: a) is such a thing possible and b) are the clang and LLVM libraries well suited for this.</div>

<div><br></div><div>The answer to a) is yes, it is possible. I was able to use the libraries and create something that works pretty well (excluding some obscure things which are not yet supported).</div><div><br></div><div>

The answer to b), from my experiences, is that more work is needed on the clang and LLVM APIs to expose more functionality for diverse clients, such as this project. I will not go into details here, but will probably follow-up on this another time.</div>

<div><br></div><div>The resulting project is Open Source (MIT Licensed) and is available on Google Code:</div><div><br></div><div><a href="http://code.google.com/p/ccons">http://code.google.com/p/ccons</a></div><div><br>
</div>
<div>You can check out the code and refer to the README.txt on how to build and run the code. It currently supports Mac OS X and Linux.</div><div><br></div><div>To see some of the features that ccons supports, you can take a look at my presentation about it:</div>

<div><br></div><div><a href="http://fizzysoft.net/personal/ccons.pdf">http://fizzysoft.net/personal/ccons.pdf</a><br></div><div><br></div><div>Cheers,</div><div><br></div><div>-Alexei Svitkine</div>