Парсер - компьютерная программа, которая анализирует входные данные в соответствии с фиксированной структурой.

Программа предназначена для извлечения данных, сохраненных с использованием определенной структуры, в форму, в которой эти данные могут использоваться в программном обеспечении (для дальнейшего использования). Она выполняет синтаксический анализ входных данных, предполагая их определенную структуру. А структура входных данных может быть совершенно другой и зависит от того, что будет дано на входе анализатора и какие данные должны быть извлечены. Примером является анализ файла XML, созданного в соответствии с синтаксисом, принятым для этого типа файла. XML-файл - это текстовый файл, в структуре которого сохраняются данные. Parser, имеющий алгоритм построения файла XML, может извлекать данные из него и сохранять их в форме, совместимой с форматом данных, используемым другим программным обеспечением. Парсер ВКонтакте ОКТаргет, например, отбирает целевую аудиторию в Одноклассниках и ВКонтакте для рекламы в MyTarget и ВКонтакте Это позволяет увеличивать продажи и сокращать расходы в несколько раз!

Применение

Анализ языков программирования является наиболее распространенным применением парсеров. У них обычно есть простая грамматика с несколькими исключениями. Однако контекстно-свободные грамматики имеют ограниченное применение, поскольку они могут описывать только ограниченный набор языков.

Написание парсера вручную, особенно для больших языков, является довольно утомительной задачей, поэтому были созданы их генераторы. Одним из самых популярных генераторов является yacc, который позволяет создавать парсеры на языке C. Его аналог, распространяемый на принципах свободного программного обеспечения, - это GNU Bison, созданный Free Software Foundation. Примеры генераторов синтаксического анализатора для других языков включают ocamlyacc для OCaml и JavaCC и SableCC для Java.

Пример разбора текста для формирования структуры данных

Парсеры можно назвать программным обеспечением, которое изменяет формат данных с текстового файла на объекты для дальнейшего использования в другом программном обеспечении. Парсеры используются, например, самой известной поисковой системой Google, которая загружает различные интернет-страницы, анализирует их, извлекает желаемый контент и сохраняет в своих базах данных для последующего использования в результатах поиска.