Рассматривали ли вы написание внешнего интерфейса для GCC ? Я упоминаю об этом только ради полноты - насколько я знаю, интерфейс бэкэнда довольно сложен, а кодовая база огромна и ее трудно понять.
С другой стороны, GCC является зрелым продуктом, над которым работают многие опытные программисты. По крайней мере, это, вероятно, обеспечивает наиболее прочную основу из всех альтернатив.
Лично я бы предпочел LLVM (захватывающую архитектуру) или IL .NET: очень, очень прост в использовании, имеет отличную поддержку инструментов ( Reflector , Cecil , Reflexil и, что не менее важно, API отражения .NET) и две очень эффективные реализации (а именно каноническая реализация Microsoft и Mono).
Но я не могу требовать экспертизы ни в одной из архитектур, поэтому примите этот ответ с недоверием.