компілятор
Компілятор - це комп'ютерна програма, яка перетворює вихідний код, написаний на мові програмування, на іншу комп'ютерну мову. Для того, щоб машина експлуатувала його, компілятор перекладає вихідний код, написаний мовою високого рівня абстракції, легко зрозумілою людиною, мовою нижчого рівня, мовою зборів або машинна мова. У випадку напівскладованої мови вихідний код переводиться на проміжну мову, в двійковій формі, перш ніж сам інтерпретується або компілюється. І навпаки, програма, яка перетворює мову низького рівня на мову вищого рівня, є декомпілятором. Компілятор виконує такі операції: лексичний аналіз, попередня обробка, синтаксичний аналіз, семантичний аналіз, генерація коду та оптимізація коду. Коли скомпільована програма може запускатися на комп'ютері, процесор або операційна система якої відрізняється від компілятора, вона називається крос-компіляцією. За компіляцією часто послідовно виконується кроки редагування посилань, для створення виконуваного файлу.