Транслятор
Матеріал з Вікіпедії — вільної енциклопедії.
Трансля́тор (англ. translator) — програма або технічний засіб, який виконує перетворення чи іншу обробку текстів програм.
Транслятори поділяються на:
- компілятори — перетворюють текст програми мови високого рівня в об'єктний код чи байт-код.
- декомпілятори — навпаки, намагаються отримати початковий текст.
- асемблери — перетворюють текст програми мови асемблера в машинний код.
- дизасемблери — навпаки, намагаються розшифрувати машинний код.
- інтерпретатори — отримують текст програми та набір вхідних даних, і повертають результат виконання програми над вхідними даними.
- препроцесори — отримують текст програми, і повертають перетворений певним чином текст програми.[Джерело?]
Оскільки компілятори та інтерпретатори реалізують мови програмування, вони мають спільні риси: їх структура досить схожа, в основу їх реалізації покладено спільні теоретичні результати та практичні методи реалізації.
[ред.] Структура транслятора
| Текст програми |
![]() |
![]() |
| Послідовність токенів |
![]() |
|
| Синтаксичне дерево повідомлення про синтаксичні помилки |
![]() |
![]() |
| Семантичне дерево повідомлення про семантичні помилки |
![]() |
|
| Оптимізоване семантичне дерево |
![]() |
|
Генератор вихідного коду / виконання семантики
|
![]() |
| Код / результати роботи |

