Перейти к содержанию

Генераторы парсеров

В самом общем случае, парсер — программа, производящая синтаксический разбор текста по некоторой формальной грамматике. В настоящее время, в основном парсеры используются:

  • компиляторами и интерпретаторами для получения синтаксического дерева программ;
  • серверами для извлечения информации о запросе от клиента;
  • встроенными устройствами для общения по бинарным протоколам;
  • ...

Поскольку это задача классическая и хорошо изученная, существуют также и всевозможные классические алгоритмы по написанию парсеров для своих языков. Более того, задача это максимально техническая; для её автоматического решения и были созданы так называемые генераторы парсеров, по поданной на вход грамматике генерирующие парсер (либо выдающие сообщение об ошибке, что сгенерировать парсер для данной грамматики невозможно).

В данном проекте Вы узнаете, какие могут быть сложности при парсинге грамматик, какие бывают классы грамматик (и классы сложности грамматик!), а также напишете свой генератор парсеров.