компилятор
Компилятор - это компьютерная программа, которая преобразует исходный код, написанный на языке программирования, на другой язык компьютера. Для того, чтобы машина могла быть использована машиной, компилятор переводит исходный код, написанный на языке высокого уровня абстракции, который легко понимается человеком, на языке более низкого уровня, языке сборки или машина язык. В случае полукомпилированного языка исходный код преобразуется на промежуточный язык в двоичной форме, прежде чем сам интерпретировать или компилировать. И наоборот, программа, которая переводит язык низкого уровня на язык более высокого уровня, является декомпилятором. Компилятор выполняет следующие операции: лексический анализ, предварительную обработку, синтаксический анализ, семантический анализ, генерацию кода и оптимизацию кода. Когда скомпилированную программу можно запустить на компьютере, чей процессор или операционная система отличается от процессора, он называется кросс-компиляцией. За компиляцией часто следует шаг редактирования ссылки, чтобы сгенерировать исполняемый файл.