Typically, neither sort of compiler allows additional functionality to be added, thereby, in the first case, causing additional complexity on the part of the high-level language programmer in order to carry out the desired functions, and in the second case, causing the compiler to fail to be used for the other functions.