When it comes to Open Source development GCC is the king in the compiler area (unless you work with some other language…. and even then…). Awhile ago I found lcc however it’s license is restritive if you want to develop commercial software. This I think has prevented its wider adoption.
However, once of the places I leave my virtual self on told me about TenDRA. Best of all it looks like it has a much more liberal license than GCC.
Here’s an announcement from the Mailing List
TenDRA is a C/C++ compiler developed initially in the early 1990s
by the Defense Evaluation and Research Agency in the United Kingdom.
The TenDRA compiler addressed code portability issues in the days just
prior to the creation of the first ANSI C standards (hereafter, “the
age of darkness”). TenDRA uses Architecture-Neutral Distribution
Format (ANDF) as the basis for an IR as well as a distribution format.
The original DRA code is licensed under the Crown License, which
reads like an upper class version of the BSD license. (God save the
Queen!) I’m not that interested in this part of things; I just know
it’s bsdl. Further information about source code licensing can be
obtained by trolling slashdot.
TenDRA’s strengths include:
— An amazing static checker; vastly superior to gcc, even in the
old 4.1.2 version code (nearly 9 years old in parts and
untouched until recently).
— Incredible flexibility in semantic analysis, allowing users to
toggle individual language rules, conventions, and
preferences. Many of the pragmas in tendra anticipated some
— Language agnosticism; producers can be made for any language,
and ANDF tokens created as needed. Recently .NET picked up
this idea. The attempts by Gough and other .NET architects to
distinguish the two really just serve to underscore the
relation, in my admittedly biased opinion.
— A very nice set of tools, some serving as stand-alone crown/bsd
licensed replacements for GNU tools. Check out sid in
Definitely sounds interesting! Although it seems the TenDRA project has a sub-fork which I’m still reading and trying to understand but hopefully it leads to faster progress.