Меню
Последние новости России и Мира » Другое » Парсинг: синтаксический анализ

Парсинг: синтаксический анализ

  • 22 октября 2020
  • 345
  • 0
  • viamidgardcom
  • Функционал
Парсинг: синтаксический анализ

 

Синтаксический анализ происходит, когда мы загружаем данные определенного синтаксиса. Задача синтаксического анализатора (так называемого парсера) - проверить правильность синтаксических данных и распознать синтаксическую структуру загружаемых данных. Если вам нужен парсинг товаров сантехники, то лучше обратиться к экспертам.


Особенности операции


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


  • Построение парсера, особенно для компиляторов или более сложных языков, является сложной задачей.
  • Поэтому были созданы инструменты, помогающие создавать парсеры. Это так называемые генераторы синтаксических анализаторов.
  • Bison является преемником генератора Yacc. Bison предназначен для генерации парсеров в C++.

 

Тем не менее, есть много генераторов парсеров, и в основном для каждого языка программирования вы можете найти генератор, предназначенный для данного языка.


Как выполняется парсинг

 

Генератор парсеров на основе соответствующей спецификации генерирует исходный код синтаксического анализатора. Эта спецификация содержит описание синтаксиса загружаемого языка и фрагменты кода, которые выполняются для отдельных синтаксических конструкций. Для описания синтаксиса используются недвусмысленные грамматические элементы.


Синтаксический анализ представляет собой следующий этап обработки загружаемых данных после лексического анализа. Таким образом, вход для синтаксического анализа — это поток токенов и атрибутов. Токены представляют собой терминальные символы в контекстно-свободной грамматике, описывающей синтаксис. Результатом работы парсера является воссоздание дерева вывода (или, точнее, его обходного пути) для загружаемого текста.


Автоматически сгенерированные парсеры имеют форму соответствующих детерминированных автоматов стека. Код, сгенерированный Bison на основе спецификации парсера, может быть скомпилирован вместе с кодом, сгенерированным Flex на основе спецификации сканера. В частности, токены определяются в спецификации парсера, а их определения на языке программирования помещаются в код парсера. С другой стороны, в коде сканера их можно использовать.


Расскажи в социальных сетях:



Какие эмоции у вас вызвала публикация? (УКАЖИТЕ НЕ БОЛЕЕ ДВУХ ВАРИАНТОВ)

Комментариев - 0