може бути перетворене у внутрішнє представлення вже на етапі лексичного аналізу. Так, наприклад, роблять з числами, перетворюючи їх у двійкове машинне представлення, що забезпечує більш компактне збереження і перевірку правильності діапазону на ранній стадії аналізу
3.Символи, шаблони, лексеми.
У загальному випадку є множина вхідних рядків, для яких лексичний аналізатор видає той самий відповідний їм термінальний символ мови (поняття, token). Ця множина рядків задається шаблоном, що пов'язаний з даним символом мови. Говориться, що шаблон відповідає (match) кожному рядку множини. Лексема - це ланцюжок символів вхідної програми, відповідна шаблону для символу.
Символи (tokens) | Приклади лексем | Неформальний опис шаблону
const | const | const
if | if | if
relation | <, <=, = | < або <= або = або <> або >= або >
id | pi, count, D2 | буква з наступними за нею буквами і цифрами
num | 3.1416, 6.02E23 | будь-яка цілочисельна константа
Шаблон - це правило, що описує множину лексем. Шаблон для символу const - це єдиний рядок const, що повторює ключове слово. Шаблон для символу relation є множина усіх відношень Паскаля. Для точного опису шаблонів більш складних символів, таких як id чи num використовується нотація регулярних виразів.
Висновок.
Сьогодні штучні мови широко застосовуються не тільки в програмуванні, але і в інших областях. З їхньою допомогою описується структура різного роду документів, тривимірних віртуальних світів, графічних інтерфейсів користувача й багатьох інших об'єктів, що використовуються у моделях і в реальному світі. Для того, щоб ці текстові описи були коректно складені, а потім правильно розпізнані й інтерпретовані, використовуються спеціальні методи їхнього аналізу й перетворення. В основі методів лежить теорія мов і формальних граматик, а також теорія автоматів. Програмні системи, призначені для аналізу й інтерпретації текстів (в тому числі текстів програм), називаються трансляторами.
Список_використаної_літератури.
1. Ахо А., Сети Р., Ульман Дж. Компілятори. Принципи, технології, інструменти. М.: Вид-во «Вільямс», 2001.–768 с.
2. Ахо А., Ульман Дж. Теорія синтаксичного аналізу, перекладу і компіляції. Том 1,2. М., Світ.
3. Хантер Р. Проектування і конструювання компіляторів.
4. Льюис Ф., Розенкранц Д., Стирна Р. Теоретичні основи проектування компіляторів.
5. Пратт Т. Мови програмування: розробка і реалізація.
6. Грис Д. Конструювання компіляторів для цифрових обчислювальних машин.