It would probably be a bad idea to separate these aspects into separate programs. Who would want an
idl
compiler implemented as
six
separate programs?!