Покроковий компілятор
Покроковий компілятор (англ. incremental compiler) — це інкрементне обчислення що застосовується до поля складання. В той час як звичайні компілятори роблять так звані чисті будови, тобто побудувати всі програмні модулі, інкрементальний компілятор перекомпілює тільки ті частини програми, які були змінені.
Визначення
Імперативне програмування
В імперативне програмування і розробка програмного забезпечення, інкрементальний компілятор — це той, який при виклику бере лише файл зміни відомого набору вихідні файли і оновлення будь-які відповідні вихідні файли (цільовою мовою компілятора, часто байт-код), які можуть вже існувати з попередніх компіляцій спираючись на раніше скомпільовані вихідні файли, додатковий компілятор уникає марнотратного перекомпілювання цілих вихідних файлів, де більша частина коду залишається незмінною. Для більшості інкрементних компіляторів компіляція програми з невеликими змінами у вихідному коді зазвичай відбувається миттєво. Можна сказати, що інкрементальний компілятор зменшує зернистість традиційних одиниць компіляції мови, зберігаючи при цьому мовні семантика, такі, що компілятор може додавати та замінювати менші частини.
Багато засоби програмування скористайтеся перевагами додаткових компіляторів, щоб надати розробникам набагато інтерактивніше середовище програмування. Незвично, що викликається додатковий компілятор кожен зміна вихідного файлу, така що розробник майже негайно інформується про будь-який помилки компіляції що виникне в результаті його змін до кодексу. Ця схема, на відміну від традиційної компіляції, значно скорочує цикл розробки програміста, оскільки їм більше не доведеться чекати тривалого процесу компіляції, перш ніж отримувати повідомлення про помилки.
Недоліком цього типу додаткового компілятора є те, що він не може легко оптимізувати код, який він компілює, через локальність та обмежений обсяг змін. Зазвичай це не проблема, оскільки оптимізація зазвичай проводиться лише далі звільнення, інкрементальний компілятор буде використовуватися протягом усієї розробки, а стандартний компілятор пакетної роботи буде використовуватися при випуску.
Інтерактивне програмування
В інтерактивне програмування парадигма, напр. в Поплог супутня література, і інтерактивний компілятор відноситься до компілятора, який насправді є частиною система виконання мови-джерела. Компілятор можна викликати під час виконання в якомусь вихідному коді або структурі даних, керованою програмою, яка потім створює новий скомпільований фрагмент програми, що містить машинний код який тоді негайно доступний для використання системою виконання. Якщо щойно скомпільований фрагмент замінює попередню скомпільовану процедуру, буде старий сміття зібране. Ця схема дозволяє отримати ступінь самомодифіковний код і вимагає метапрограмування особливості мови. Можливість додавання, видалення та видалення коду під час запуску відома як гаряча обміна. Деякі платформи інтерактивного програмування поєднують використання інтерпретованого та скомпільованого коду, щоб досягти ілюзії, що будь-які зміни коду доступні програмі негайно.