- Транслятор ― обслуживающая программа, преобразующая исходную программу, предоставленную на языке программирования, в рабочую программу, представленную на машинном коде.
- Разновидности трансляторов:
- Ассемблер (проверяет весь файл на ошибки и переводит на машинный код по типу «одну символическую команду в одну машинную»). Применяется для низкоуровневого языка (Assembly);
- Компилятор (проверяет весь файл на ошибки и переводит на машинный код всю программу). Применяется для языков высокого уровня (C/С++, Java, Pascal и так далее);
- Интерпретатор (воспринимает входную программу на исходном языке и выполняет её построчно). Применяется для всех скриптовых языков, например: Basic, Java, JavaScript, Python, PHP.
- Этапы компиляции для языка Pascal:
- синтаксический анализ (проверка соответствия программного кода синтаксису языка программирования);
- парсинг (разбиение на токены и построение синтаксического дерева);
- семантический анализ (проверка согласованности кода);
- оптимизация (повышение скорости выполнения программного кода и уменьшение занимаемой памяти);
- генерация кода (перевод кода в машинные инструкции).
