Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Транслятори



Транслятор - це програмна оболонка, призначена для перекладу тексту програми на мову, зрозумілу для комп’ютера. Процес перекладання називаєть­ся трансляцією.

Транслятори бувають двох видів: компілятори та інтерпретатори.

Компілятор - це програма, призначена для перекладу про­грами, яка написана мовою високою рівня, у програму в машин­них кодах. Процес такого перекладання називається компіля­цією.

Інтерпретатор - це пpoгрaмa, призначена для покомандних трансляцій та виконання початкової програми. Такий процес називається інтерпретацією.

Компілятори – ефективніші перекладачі програм. Компілятор транслює програму набагато швидше, ніж інтерпретатор, але повідомляє про знайдені помилки після за­вершення компіляції всієї програми. 3найти та виправити помилки в цьому разі важче.

Інтерпретатор повідомляє про знайдені помилки після трансляції кожної команди програми. Це значною мірою полегшує процес пошуку та виправлення помилок у програмі, але суттєво збільшує час трансляції.

Мови, для яких існують програми-компілятори, - це компільовані мови Pascal, С++, Delphi, Fortran тощо. Найпростіша і найпоширеніша з них - мова програмування Basic. Іншими прикладами є інтерпретовані мови JavaScript і VBScript, які широко застосовуються під час створення Web-сторінок, доступних через Інтернет.

97 Компілятор

Компілятор — комп'ютерна програма (або набір к. програм), що перетворює (компілює) сирцевий код, написаний певною мовою програмування (мова джерела, англ. sourcelanguage), на семантичноеквівалентний код в іншій мові програмування (мова цілі, англ. targetlanguage), який, як правило, необхідний для виконання програми машиною, наприклад, комп'ютером.

Коротко компілятор можна визначити, як програму або технічний засіб, що виконує компіляцію.

Історично компілятором називалась програма що зв'язувала підпрограми, чим й зумовлено походження слова. Сьогодні це завдання виконує компонувальник.

Для виконання програма не завжди повинна бути перекладена компілятором, існує також інший принцип: покрокове виконання програмних інструкцій інтерпретатором.

Компілятор – це програма, що читає програму записану початковою мовою і записує цільовою мовою. Цей процес називають компіляцією (трансляцією, перекладом). Він складається з двох частин

  1. Аналіз (parsing) – розбиття початкової програми на складові частини та створення проміжного представлення
  2. Синтез – побудова цільової програми з проміжного представлення

Початкова мова визначається її синтаксисом – описом того, з яких конструкцій складається мова, та семантикою – набором правил, що визначають суть цих конструкцій.

Фази компіляції

Концептуально компілятор працює фазово, в процесі кожної фази відбувається перетворення початкової програми з одного представлення до іншого. На практиці фази можуть об'єднуватись і деякі проміжні представлення можуть не будуватись в явному вигляді. Типове розбиття компілятора на фази:

  1. Лексичний аналізатор — на цьому етапі послідовність символів сирцевого файлу перетвориться в послідовність лексем.
  2. Синтаксичний аналізатор, коли послідовність лексем перетвориться в дерево розбору
  3. Семантичний аналізатор, де дерево розбору обробляється з метою встановлення його семантики (смислу): наприклад, прив'язка ідентифікаторів до їхніх декларацій, типів, перевірка сумісності, визначення типів виразів тощо. Результат зазвичай називається «проміжним поданням/кодом», і може бути доповненим деревом розбору, новим деревом, абстрактним набором команд або чимось ще, зручним для подальшої обробки.
  4. Генератор проміжного коду
  5. Оптимізатор. Виконується вилучення зайвих конструкцій та спрощення коду із збереженням його смислу. Оптимізація може бути на різних рівнях і етапах, наприклад, над проміжним кодом або над кінцевим машинним кодом.
  6. Генератор цільового коду, з проміжного представлення породжується код цільовою мовою.

У конкретних реалізаціях компіляторів ці етапи можуть бути розділені або, навпаки, поєднані в тому чи іншому вигляді.





Дата публикования: 2015-09-18; Прочитано: 1047 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...