Hello! Not too long ago I discovered Clang and it is a shame it took
me so long. I really like compilers, that was my focus during my last
undergraduate years and then forgot about it since I could not find
vacancies for compiler engineers. Taking so long to notice is just a
proof of my lack of hope.
I decided to do some work for any open source project because I am so
scared of getting rusty with just my real job (and Clang seems way so
nicer!). When I found out about Clang I went straight to the open
projects page, but it is so hard to choose something. Therefore here I
am, introducing myself and asking for your advice.
I know there is a lot of work to do, but also, since Clang is young, I
think I still have a chance to work on tasks that don't show up too
often. For example, I think most of parsing is finished :_( but maybe
there is some code generation work for C++ (still in alpha state?) So
just to make a clear question...
* Which key parts of the compiler do you think I should try to help?
By "key parts" I mean the type of work which I will not easily find in
other projects. Those parts that are unique to a compiler and still
need work because Clang is young. I want to know where are those good
chances that don't show up too often. Which are the fun parts that
will be gone in a future?
I am interested in static analysis, code generation, c++ compiler and
garbage collection. All of it seems too hard to step in from day 0,
and regarding garbage, I think there are more important things to do
first. In the past I wrote myself a very reduced C++ compiler
generating mips code, just int types, easy expressions and simple
inheritance stuff. So the next questions are...
* which are the best jobs to get to know clang? what should I start
learning? (also not sure about how many hours I will be able to
if you want to know something more about me or the type of work I
like, you could also look at the latest entries of my blog:
(and yes, you will notice immediately I am no native speaker)
please, ignore my undergraduate work since I bet that it is more like
baby-compiler stuff for all of you