|List of research compilers, VMs/interpreters, and tools firstname.lastname@example.org (2004-04-15)|
|List of research compilers, VMs/interpreters, and tools email@example.com (2004-04-21)|
|From:||firstname.lastname@example.org (Will Benton)|
|Date:||15 Apr 2004 12:27:20 -0400|
|Posted-Date:||15 Apr 2004 12:27:20 EDT|
I have taken the first few steps toward creating a web resource for
tools and infrastructure that would be useful for programming language
and compiler researchers; it is available here:
This differs from other lists of compilers in a couple of ways:
1. Its focus is on "research" tools. While this is obviously a
fuzzy category, I define a "research" tool as one that is sufficiently
modular to enable a researcher to experiment with different strategies
for accomplishing certain tasks without dealing with a large amount of
unrelated code. In the case of compilers, this means that it should
be easy to write a new pass, write a new backend, or replace some
existing component. In the case of virtual machines or interpreters,
it means that it should be easy to replace the memory
allocation/collection system, or the threading implementation, or the
dispatch mechanism, and so on. Tools are included if I feel (or can
be convinced) that there is a compelling application for them in a
research context. Note that not every compiler produced by a
researcher is a "research compiler"!
2. It is searchable by target and implementation languages, ISA,
and intermediate representation. (Some intermediate representations,
like SUIF, are widespread enough that they are supported by multiple
3. It is dynamic and community-driven: you can post comments and
share your experiences with other users. I am also receptive to
suggestions for new tools, especially if they fit in the "research"
rubric. Furthermore, I attempt to distill a description of each tool
on the list itself, so that one can quickly examine several related
tools without opening a ridiculous number of browser windows.
Right now there are a few dozen high-quality tools listed, ranging
from interesting projects-in-development to mature infrastructures
with a wide variety of composable built-in analyses and optimizations.
While my main focus is on freely-available tools (since they are
easier to evaluate), I also have included pointers to tools that
require licences, NDAs, or a fee. Of course, I'd appreciate pointers
to any other tools that readers of this group feel are useful.
Finally, what's good for the researcher is also good for the working
programmer and the hobbyist -- I anticipate that this list will also
be useful to folks who want to develop a custom compiler quickly to
meet some particular need, or who are interested in tinkering with the
inner workings of a compiler that has been designed for such
Return to the
Search the comp.compilers archives again.