I vaguely remember reading a theoretical article about a compiler that would embed a virus in the result. If it propagated itself somehow, it could be impossible to remove it.
not impossible. build an interpreter for your language and run the compiler in it, to build itself. the result will likely not be "infected" since the compiler hook that reinserts itself misses its cue. (also: compilers with a different structure)