безліч не перетинається з безліччю символів, що забезпечують інші переходи з поточні в інші стани (позначені як "інші").
Побудова кінцевого автомата відповідно до даних правил можна розглянути на прикладі опису ідентифікатора. Діаграма Вірта для ідентифікатора й отриманий по ній кінцевий автомат наведені на рисунку 5.1
Рисунок 5.1- Перетворення діаграми Вірта в еквівалентний кінцевий автомат
Для наочності на дугах відзначені точки, що відповідають станам кінцевого автомата. Вони позначені тими ж номерами, що й стану. Заключний стан відзначений міткою "end". Треба ще раз відзначити, що буква й цифра на діаграмі розглядаються як термінали, тому що ці поняття формуються транслітератором.
Діаграми Вірта можуть використовуватися й для того, щоб мінімізувати загальне подання правил, що відповідає методам мінімізації, застосовуваним до кінцевих автоматів. Ця мінімізація здійснюється за рахунок об'єднання однакових підграфів діаграм. Приклад можливої мінімізації поняття "ідентифікатор представлений на рисунку .2
Рисунок 5.2- Мінімізована діаграма Вірта, що задає ідентифікатор
Висновок.
Слід зазначити, що не завжди мінімізація діаграми Вірта веде до мінімізації відповідні їй кінцевого автомата. Наведений малюнок показує, що, незважаючи на скорочення загального числа символів, розмітка, що відповідає станам кінцевого автомата, залишилася незмінною.
Наявність однозначного й легко зрозумілої відповідності між діаграмами Вірта й кінцевими автоматами дозволяє не будувати останні, а переходити до написання програми лексичного аналізатора безпосередньо від діаграм Вирта. Це скорочує технологічний ланцюжок, що зв'язує формальний опис елементів мови програмування і їхню програмну реалізацію.
Список_використаної_літератури.
1. Грис Д. Конструювання компіляторів для цифрових обчислювальних машин.
2. Хантер Р. Проектування і конструювання компіляторів.
3. Ахо А., Сети Р., Ульман Дж. Компілятори. Принципи, технології, інструменти. М.: Вид-во «Вільямс», 2001.–768 с.
4. Ахо А., Ульман Дж. Теорія синтаксичного аналізу, перекладу і компіляції. Том 1,2. М., Світ.
5. Льюис Ф., Розенкранц Д., Стирна Р. Теоретичні основи проектування компіляторів.
6. Пратт Т. Мови програмування: розробка і реалізація.