De compiler is geschreven in een eerdere versie. Dan kan je de comiler gebruiken om de nieuwe versie van de compiler te compileren.
De allereerste compiler zal geschreven zijn in een taal die niet gecompileerd hoeft te worden. Daarna kan je in die taal waarvoor je een compiler geschreven hebt, ook compilers maken die andere talen kunnen compileren.