~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 52A93B7DB2F9BC8C9B7607DA889687B0__1693026840 ✰
Заголовок документа оригинал.:
✰ Scannerless parsing - Wikipedia ✰
Заголовок документа перевод.:
✰ Бессканерный анализ — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Scannerless_parsing ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/52/b0/52a93b7db2f9bc8c9b7607da889687b0.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/52/b0/52a93b7db2f9bc8c9b7607da889687b0__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 10:34:46 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 26 August 2023, at 08:14 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Бессканерный анализ — Википедия Jump to content

Бессканерный парсинг

Из Википедии, бесплатной энциклопедии

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

Разделение обработки на лексер, за которым следует синтаксический анализатор, является более модульным; Бессканерный анализ в основном используется, когда четкое различие между лексером и парсером не нужно или нежелательно. Примеры того, когда это уместно, включают TeX , большинство вики- грамматик, make-файлы , простые языки сценариев для конкретных приложений и Raku .

Преимущества [ править ]

  • только один метаязык Нужен
  • Нерегулярная лексическая структура легко обрабатывается.
  • «Классификация токенов» не требуется, что устраняет необходимость в конструктивных приспособлениях, таких как « лексер-хак » и зарезервированных словах языка (например, « while» в C ).
  • Грамматики могут быть композиционными (можно объединять без вмешательства человека) [а]

Недостатки [ править ]

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

Реализации [ править ]

  • SGLR — это анализатор модульного формализма определения синтаксиса (SDF), который является частью мета-среды ASF+SDF и Stratego/XT . системы преобразования программ
  • JSGLR — чистая Java-реализация SGLR, также основанная на SDF.
  • TXL поддерживает синтаксический анализ на уровне символов.
  • dparser генерирует код ANSI C для парсеров GLR без сканирования .
  • Spirit позволяет выполнять анализ как без сканирования, так и с использованием сканера.
  • SBP — это анализатор логических грамматик без сканирования (расширение контекстно-свободных грамматик), написанный на Java.
  • Laja — это двухфазный генератор синтаксического анализатора без сканера с поддержкой отображения правил грамматики в объекты, написанный на Java.
  • Грамматики Raku — это особенность языка программирования общего назначения Raku .
  • PyParsing — это парсер без сканера, написанный на чистом Python.
  • META II Имеет встроенные функции парсера токенов.
  • TREE-META Как и META II, он также не требует сканирования и имеет встроенные функции лексера.
  • Компилятор CWIC для написания и реализации компиляторов. Имеет правила токена как часть своего языка. Правила в CWIC были скомпилированы в логические функции, возвращающие успех или неудачу.

Примечания [ править ]

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

Ссылки [ править ]

  1. ^ Экономопулос, Джорджиос; Клинт, Пол; Винью, Юрген (2009). «Быстрый анализ GLR без сканирования» (PDF) . Конструкция компилятора . Конспекты лекций по информатике. Том. 5501. стр. 126–141. дои : 10.1007/978-3-642-00722-4_10 . ISBN  978-3-642-00721-7 .

Дальнейшее чтение [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 52A93B7DB2F9BC8C9B7607DA889687B0__1693026840
URL1:https://en.wikipedia.org/wiki/Scannerless_parsing
Заголовок, (Title) документа по адресу, URL1:
Scannerless parsing - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)