Code Generation Perspective
Consider:
- A code-generator which takes a set of (UML) class files and produces C++ files.
- A makefile-generator which knows about the set of classes.
- As tool implementers, we own and control the code-generator and the makefile-generator, but not the compiler (the user provides the compiler).