Situation: "many different tools, possibly even written in different languages."
Many different languages?! Ridiculous! We need to develop one universal system "for any kind of metaprogramming task: to construct parsers for programming languages, to analyze and transform source code, or to define new DSLs with full IDE support. "
Soon:
Situation: many+1 different tools, definitely written in different languages.