Для чего нужны регулярные выражения

 

Автоматные грамматики, регулярные выражения и синтаксические диаграммы являются эквивалентными способами задания автоматных языков.

По сравнению с грамматиками синтаксические диаграммы обладают большей наглядностью.

Регулярные же выражения имеют то важное достоинство, что представляют собой строки символов, которые могут быть легко обработаны с помощью компьютерных программ.

Обработка регулярного выражения, выступающего в роли исходных данных для некоторой программы, может иметь целью его анализ, преобразование и даже... создание распознавателя автоматного языка, порождаемого этим выражением.

Последнее представляет безусловный интерес, поскольку открывает возможность автоматизации построения синтаксических анализаторов. Работа подобной программы может происходить по одной из схем, показанных на рис. 16.


 

 

Рис.16. Использование регулярных выражений

 

Регулярные выражения наглядней порождающих грамматик. Это обусловлено тем, что предусмотрено явное обозначение повторения (знак итерации «*»). В нотации грамматик итерация задается с помощью рекурсии.

Сравните, например, грамматики G10 и G12, задающие язык идентификаторов, с эквивалентным регулярным выражением из примера 2.