Несмотря на изобилие инструментов в рассматриваемой области, тем не менее, универсальные возможности языка программирования Python позволяют вручную создавать парсеры для решения нестандартных задач синтаксического анализа. Например, син так си че ский ана лиз мето дом ре кур сив но го спус ка — довольно хорошо известная методика анализа языковой информации. Хотя они и не отличаются широтой возможностей, как некоторые другие инструменты, тем не менее, парсеры, реализующие синтаксический анализ методом рекурсивного спуска, вполне можно применять для решения разнообразных задач синтаксического анализа.
Для иллюстрации в этом разделе будет разработан специальный парсер для простой грамматики — он разбирает и вычисляет строки арифметических выражений. Несмотря на то, что основной темой здесь является синтаксический анализ, этот пример также демонстрирует возможности Python как универсального языка программирования. Хотя Python часто используется в качестве интерфейса или языка быстрой разработки приложений, он полезен и для таких вещей, которые обычно пишутся на системных языках, таких как C или C++.
Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, II том, 2011