A bootstrap compiler is frequently a temporary compiler used to build a more permanent or optimized compiler for a language. It is a compiler that is written in the programming language for which it is intended. This means the compiler can compile its source code, often known as bootstrapping. This strategy is often used in compiler development to verify that they can host and sustain themselves.