if a compiler can convert the same instruction text into machine code for different computers (like smartphones or video game machines), it is a 'cross-compiler'. if the compiler can make instruction text that is easier for people to read, it is a 'de-compiler'. people who write these instructions are called programmers. some even made programs that can translate the instructions that describe how a compiler should work, into a compiler. that kind of program is called a compiler-compiler.