Мовний процессор – це програмний комплекс, що реалізує мову програмування. При розробці мовних процесорів беруться до уваги три аспекти: прагматичний, семантичний, синт`аксичний.
Прагматичний аспект в мовному процесорі визначає область адекватного використання системи: транслятори та інтерпретатори. Транслятор - на вхід якого подається текст (програма) на вхідний мові, а на виході подається текст на вихідній мові. Інтерпретатор - на вхід якого подається програма, на виході отримуємо результат роботи програми по вхідним даним.
В залежності від того, яка вхідна мова використовується при трансляції, існує дві спеціалізації трансляторів: компілятори і асемблери. Якщо вихідною мовою є об’єктний код, то такі транслятори - компілятори. Якщо вхідна мова транслятора - асемблер, а вихідна - машинний код, то такі транслятори - асемблери.
Архітектура ЕОМ в певній мірі впливає на структуру мовного процесора. В залежності від структури ЕОМ мовні процесори поділяють на: 1) однопрохідні мовні процесори (він отримує результат за один перегляд вхідної програми, як приклад Pascal); 2) багатопрохідні мовні процесори (він отримує результат за багато переглядів вхідної програми, як приклад Assembler). Кількість переглядів мовним процесором вхідної програми залежить від структури мови програмування.
Оптимізація семантичного терму
|
Генератор вихідного тексту (об’єктний код)
|
Мовні таблиці
транслятора
|
Структура мовного процесора типу ТРАНСЛЯТОР
Структура мовного процесора типу ІНТЕРПРЕТАТОР
Інтерпретація семантичного терму
|
Мовні таблиці
транслятора
|
Системне програмування