Дополнительные инструменты синтаксического анализа Python

dopolnitelnye instrumenty sintaksicheskogo analiza python Текст и язык

Если у вас есть некоторая подготовка в теории синтаксического анализа, то вы должны знать, что ни регулярных выражений, ни операций разбиения строк недостаточно для работы с более сложными грамматиками языков (грубо говоря, у них нет «памяти», необходимой настоящим грамматикам), и поэтому они неспособны обеспечить поддержку языковых конструкций, произвольно вложенных друг в друга, например вложенные инструкции if в языках программирования. Фактически именно этим обусловлена необходимость использования парсеров XML и HTML, представленных в предыдущем разделе: оба являются языками, допускающими произвольную вложенность синтаксических конструкций, анализ которых в целом невозможно реализовать с применением одних только регулярных выражений.

С теоретической точки зрения регулярные выражения в действительности предназначены только для реализации первой стадии анализа — разделения текста на компоненты, — которая известна как лек си че ский ана лиз. Несмотря на то, что шаблоны часто можно использовать для извлечения данных из текста, для истинного синтаксического анализа языков требуется нечто большее. В Python существует целый ряд способов восполнить этот недостаток:

Использованная литература:

Марк Лутц — Программирование на Python, 4-е издание, II том, 2011

Каталог сайтов Всего.ру
Оцените статью
Секреты программирования
Добавить комментарий