Do not pass superfluous TEE argument
Try to restrict generation process to generators of languages that really take part in the process (i.e. may appear at some generation step), not based on 'extends' dependency between generators (which is misused in almost every case just to stpecify priority rules).
Update dependencies to (a) extend languages with runtime if generator generates into that language (to address classpath); (b) proper 'extends' between languages, don't tell you 'extend' a language unless you really augment it.
Use 'extends' relation between languages to overcome vagueness of 'extends' relation between generators - leave latter for 'accessible' generators, and use true target languages *and languages they extend* to build subset of actually 'engaged' generators.
Update build scripts to reflect updated dependencies between lang aspects, jdk7 (and sharedConcepts, etc) do not supply any runtime and therefore shall not be in classpath of modules that use them.
lang.test nor lang.quotation shall extend lang.typesystem as they add nothing to the latter. Since there's no RT in lang.typesystem, there's no reason to extend it due to hack that uses this kind of dependency to build classpath either.
pattern.testLang is written with expectation of intact pattern (to get variable names), generation fails if testLang happens to get into generation step next to one with lang.pattern (perfectly legal two top-priority steps when lang.typesystem comes into play, with its 'together with' lang.pattern rule) - added explicit rule to denote this requirement.