efactoring, IDEs (etc) as well as for code
        generation.  GCC is built as a monolithic static compiler, which makes
        it extremely difficult to use as an API and integrate into other tools.
        Further, its historic design and <a 
        href="http://gcc.gnu.org/ml/gcc/2007-11/msg00460.html">current</a>
        <a href="http://gcc.gnu.org/ml/gcc/2004-12/msg00888.html">policy</a> 
        makes it difficult to decouple the front-end from the rest of the
        compiler. </li>
    <l