Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
25
Добавлен:
27.03.2016
Размер:
141 Кб
Скачать
☆

У вхідному тексті лексеми не обмежені спеціальними символами. Визначення меж лексем - це виділення тих рядків в загальному потоці вхідних символів для яких треба виконувати розпізнавання. Якщо межі лексем завжди визначаються (а вище була прийнята саме така угода), то їх можна визначити по заданих термінальних символах і по символах почала наступної лексеми. Термінальні символи - це пропуски, знаки операцій, символи коментарів, а також роздільники (коми, крапки з комою і ін.). Набір таких термінальних символів може варіюватися залежно від вхідної мови. Важливо відзначити, що знаки операцій самі також є лексемами і необхідно не пропустити їх при розпізнаванні тексту.

Таким чином, алгоритм роботи простого сканера можна описати так:

  • є видимим вхідний потік символів програми на початковій мові до виявлення чергового символу, що обмежує лексему;

  • для вибраної частини вхідного потоку виконується функція розпізнавання лексеми;

  • при успішному розпізнаванні інформація про виділену лексему заноситься в таблицю лексем, і алгоритм повертається до першого етапу;

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

Робота програми-сканера продовжується до тих пір, поки не будуть проглянуті всі символи програми на початковій мові з вхідного потоку.

30

Соседние файлы в папке Методична література