Forking Clang

Hi,
I'm going to fork Clang to make a teaching toy. I've decided to fork because nobody should ever want the features I have in mind in a production grade compiler (at least nobody sane) and they mostly apply only to C99 (support for other C based languages would be either way too complicated or outright impossible).

The goal of my project is to create a tool which would allow using C99 as the first programming language for complete beginners and force them to adopt some coding style in the process, mostly by nagging them about anything that even remotely looks like beginner mistake.

I prefer to use GPLv2 for my extensions but if you like some of my code, just let me know and I'll relicense it to University of Illinois Open Source License. I'll also appreciate any hint how to improve my code or criticism how badly I abuse Clang code. The project will be hosted at repo.or.cz in a few days.

Regards,
Martin Doucha

Have you considered writing this as an ASTConsumer? ASTConsumers are
easy to put in as extensions, and you can access most interesting
properties of the source without messing with normal parsing and
semantic analysis.

-Eli

Eli Friedman napsal(a):

Have you considered writing this as an ASTConsumer? ASTConsumers are
easy to put in as extensions, and you can access most interesting
properties of the source without messing with normal parsing and
semantic analysis.

-Eli

Of course. Though I need to analyze macro expansion as well and insert code for runtime checks (I'd prefer doing this in LLVM IR where possible).

Martin Doucha