Спеціалізована програма або система, що здатна генерувати інші компілятори або їх складові частини на основі формального опису мови програмування.
Компілятор, написаний на мові, яку сам же може компілювати, що дозволяє йому бути засобом для створення нових версій самого себе (саморозмноження) або його переносу на інші платформи.