WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

yacc — компьютерная программа, служащая стандартным генератором синтаксических анализаторов (парсеров) в Unix-системах. Название является акронимом «Yet Another Compiler Compiler» («ещё один компилятор компиляторов»). Yacc генерирует парсер на основе аналитической грамматики, описанной в нотации BNF (форма Бэкуса-Наура) или контекстно-свободной грамматики. На выходе yacc выдаётся код парсера на языке программирования Си.

Yacc был разработан Стефеном Джонсоном (Stephen C. Johnson) в AT&T для операционной системы Unix. Позже были написаны совместимые версии программы, такие как Berkeley Yacc, GNU bison, MKS yacc и Abraxas yacc (обновлённый вариант AT&T-версии с открытым исходным кодом также вошёл в проект OpenSolaris от Sun). Каждый вариант предлагал незначительные улучшения и дополнительные возможности по сравнению с оригиналом, но концепция осталась той же. Yacc также был переписан на других языках, включая Java, C#, Pascal, Ada, Ratfor, EFL, ML, Limbo, Erlang, Go и т. д.

Поскольку парсер, генерируемый с помощью yacc, требует использования лексического анализатора, то часто он используется совместно с генератором лексических анализаторов, в большинстве случаев это lex либо flex. Стандарт IEEE POSIX P1003.2 определяет как функциональность, так и требования для lex и yacc.

См. также

  • lex — лексический анализатор, часто использующийся с yacc.
  • GNU bison — GNU-версия yacc.
  • Форма Бэкуса — Наура — синтаксис, используемый для описания контекстно-свободных грамматик, то есть формальный способ описания языков.

Ссылки

  • Создание анализаторов текста при помощи yacc и lex
  • Lex и YACC в примерах
  • Gardens Point Parser Generator (gppg) — yacc, генерирующий код на языке C#

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии