A bootstrap compiler is often a temporary compiler, used for compiling a more permanent or better optimised compiler for a language. A cross-compiler produces code for a different CPU or operating system than the one on which the cross-compiler itself runs. There are many different types of compilers which produce output in different useful forms. assembly language, object code, or machine code) to create an executable program. The name 'compiler' is primarily used for programs that translate source code from a high-level programming language to a low-level programming language (e.g. In computing, a compiler is a computer program that translates computer code written in one programming language (the source language) into another language (the target language).