Якк

Yacc Обзор Yacc Yacc — это генератор синтаксического анализатора для Unix, разработанный Стивеном Си. Джонсоном.  Он генерирует синтаксический анализатор LALR […]

Yacc

  • Обзор Yacc

    • Yacc — это генератор синтаксического анализатора для Unix, разработанный Стивеном Си. Джонсоном. 
    • Он генерирует синтаксический анализатор LALR на основе формальной грамматики в нотации Бэкуса-Наура. 
    • Yacc является стандартной утилитой для BSD и AT&T Unix, а в Linux дистрибутивах на основе GNU его заменяет Bison. 
  • История и разработка

    • Стивен К. Джонсон разработал Yacc в начале 1970-х для вставки оператора exclusive or в компилятор языка B. 
    • Эл Ахо направил Джонсона к работе Дональда Кнута по синтаксическому анализу LR, что послужило основой для Yacc. 
    • Yacc был написан на языке программирования B, но позже был переписан на C Аланом Снайдером. 
    • Он появился в Unix версии 3 и был опубликован в 1975 году. 
    • Джонсон использовал Yacc для создания переносимого компилятора C, а Бьярне Страуструп использовал его для реализации Cfront. 
  • Описание и использование

    • Входные данные для Yacc — это грамматика с фрагментами кода на C, связанными с правилами. 
    • Результатом является синтаксический анализатор, который выполняет действия C, связанные с правилами. 
    • Для полного синтаксического анализа требуется внешний лексический анализатор. 
    • Стандарт IEEE POSIX P1003.2 определяет требования для Lex и Yacc. 
  • Влияние и развитие

    • Yacc и подобные программы были популярны и использовались для реализации различных языков программирования. 
    • Berkeley Yacc стал более популярным, чем AT&T Yacc, благодаря производительности и отсутствию ограничений. 
    • Yacc был переписан для многих языков программирования, включая OCaml, Ada, Pascal и другие. 
  • Рекомендации и внешние ссылки

    • В статье есть ссылки на руководства по использованию Yacc для различных Unix-систем и на игровую среду для изучения и тестирования синтаксиса. 

Полный текст статьи:

Якк — Википедия

Оставьте комментарий

Прокрутить вверх