Головна Головна -> Реферати українською -> Технічні науки -> Основи побудови трансляторів

Основи побудови трансляторів

Назва:
Основи побудови трансляторів
Тип:
Реферат
Мова:
Українська
Розмiр:
4,26 KB
Завантажень:
355
Оцінка:
 
поточна оцінка 5.0


Скачати цю роботу безкоштовно
Пролистати роботу: 1  2  3 
«Основи побудови трансляторів».


 


Організація лексичного аналізу.

Зміст.
Вступ.
1.Транслітератор.
2.Граматика та розпізнавачі для лексичного аналізу.
3.Звязок між діаграмою Вірта і кінцевим автоматом.
Висновок.
Список використаної літератури.




Вступ.
Лексичний аналіз - перша фаза процесу трансляції, призначена для групування символів вхідного ланцюжка в більші конструкції, названі лексемами. З кожною лексемою зв'язано два поняття:
клас лексеми, що визначає загальну назву для категорії елементів, що володіють загальними властивостями (наприклад, ідентифікатор, ціле число, рядок символів і т.д.);
значення лексеми, що визначає підрядок символів вхідного ланцюжка, що відповідають розпізнаному класу лексеми. Залежно від класу, значення лексеми може бути перетворене у внутрішнє подання вже на етапі лексичного аналізу. Так, наприклад, чинять із числами, перетворюючи їх у двійкове машинне подання, що забезпечу більше компактне зберігання й перевірку правильності діапазону на ранній стадії аналізу.
У принципі, завдання, розв'язувані сканером, можна покласти на синтаксичний аналізатор. Але такий підхід незручний по наступних причинах:
- Заміна, ланцюжків символів, що представляють елементарні конструкції мови, робить внутрішньо подання програми більш зручним для подальшого аналізу розпізнавачем. Останній маніпулює не окремими символами, а закінченими елементарними конструкціями, що полегшує їхнє загальне сприйняття й подальший семантичний аналіз. Крім цього, при побудові лексем може здійснюватися найпростіша семантична обробка. Наприклад, перетворення й перевірка числових констант.
- Зменшується довжина програми, що надходить у синтаксичний аналізатор, за рахунок усунення з її несуттєвих для подальшого аналізу пробілів, коментарів, ігнорованих символів. Зменшення розміру тексту підвищує продуктивність розпізнавачів, особливо для багато прохідних компіляторів.
-Та сама мова програмування може мати різні зовнішні подання елементарних конструкцій. Тому, наявність декількох лексичних аналізаторів, що породжують на виході ту саме безліч лексем, дозволяє не переписувати синтаксичний аналізатор. Написати новий лексичний аналізатор набагато простіше, ніж синтаксичний. Прикладом мови, що має різні вхідні набори символів, є PL/1. Для нього визначені 48-символьний і 60-символьний алфавіти.
-Лексичний аналізатор використовує більше прості, у порівнянні із синтаксичним аналізатором, методи розбору. Отже, на тих самих ланцюжках і при виконанні розбору тих самих конструкцій його продуктивність буде вище.
- Блок лексичного аналізу природно вписується в ієрархічну структуру компілятора, що теж важливо при системному підході до розробки трансляторів.
1.Транслітератор.
Незважаючи на те, що лексичний аналізатор обробляє вхідний ланцюжок, зручніше на його вхід подавати не просто окремі символи, а символи, згруповані по категоріях. Тому, перед лексичним аналізатором здійснюється додаткова обробка, що зіставляє з кожним символом його клас, що дозволяє сканеру маніпулювати єдиним поняттям для цілої групи символів, іноді досить великий. Пристрій, що здійснює зіставлення класу з кожним окремим символом, називається транслітератором. Найбільш типовими класами символів є:
-буква - клас, з яким зіставляється безліч букв, причому необов'язково тільки одного алфавіту;
-цифра - безліч символів, що ставляться до цифр, найчастіше від 0 до 9;
-роздільник - пробіл, переклад рядка, повернення каретки переклад формату;
-ігнорований - може зустрічатися у вхідному потоці, але ігнорується й тому просто відфільтровується з нього (наприклад, невидимий код звукового сигналу й інші аналогічні коди);
-заборонений - символи, що не відносяться до алфавіту мови, але зустрічається у вхідному ланцюжку;
-інші - символи, що не ввійшли в жодну з певних категорій.
Пари, клас символу і його значення, надходять на вхід сканера, що вибирає для аналізу той її елемент, що найбільш зручний у цей момент. Наприклад, при аналізі ідентифікатора зручніше маніпулювати поняттям "буква", тоді як при аналізі дійсного числа можна відразу дивитися значення букви "E" або "e", що означає початок порядку.

Завантажити цю роботу безкоштовно
Пролистати роботу: 1  2  3 



Реферат на тему: Основи побудови трансляторів

BR.com.ua © 1999-2017 | Реклама на сайті | Умови використання | Зворотній зв'язок