Разница между компиляторами и трансляторами заключается в их функциях:
- Компилятор переводит весь исходный модуль на машинный язык. 1 Он читает всю программу целиком, делает её перевод и создаёт законченный вариант программы на машинном языке, который затем и выполняется. 2 Результат работы компилятора — бинарный исполняемый файл. 2
- Транслятор переводит программу из одного языка в другой, например, из высокоуровнего языка в низкоуровневый машинный. 5 Результирующая программа транслятора в общем случае может быть написана на любом языке. 1
Таким образом, компилятор отличается от транслятора тем, что его результирующая программа написана обязательно на языке машинных команд или языке ассемблера, в то время как результирующая программа транслятора может быть написана на любом языке. 1