Алгоритм синтаксического анализа в Pyparsing включает три этапа: 13
- Определение грамматики исходного текста. 13 Грамматика — это способ описания формального языка, в котором последовательности допустимых символов несут смысловую нагрузку. 1 Лексемы формируются из отдельных групп символов — токенов. 1
- Применение грамматики к исходному тексту. 13 Обычно для этого используют вызов функции parseString или scanString. 13
- Анализ полученных результатов в виде списка. 13
С помощью модуля Pyparsing сначала определяют базовые части грамматики, а затем комбинируют их в более сложные выражения для различных ветвей полного грамматического синтаксиса. 2
Комбинирование возможно с помощью определения связей, таких как: 2
- Какие выражения должны следовать друг за другом в грамматике, например: «за ключевым словом if следует булево выражение, заключённое в скобки». 2
- Какие выражения являются заменами друг друга в определённом случае в грамматике, например: «команда SQL может начинаться со слов SELECT, INSERT, UPDATE или DELETE». 2
- Какие выражения являются необязательными, например: «телефонный номер необязательно начинается с кода города, заключённого в скобки». 2
- Какие выражения являются повторяющимися, например: «открытый тег XML может содержать ноль или более атрибутов». 2
По умолчанию Pyparsing игнорирует все лишние пробелы и переводы строк между элементами разбираемого текста. 5