yacc

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Yacc
Дата створення / заснування 1970
Названо на честь yet anotherd
Замінений на GNU Bison і Berkeley Yaccd
Розробник Stephen C. Johnsond-1">[1]
Мова програмування C-2">[2]
Репозиторій сирцевого коду tuhs.org/cgi-bin/utree.pl?file=V6/usr/source/yacc
Версія невідомо-1">[1]
Ліцензія невідомо-1">[1]
Статус авторських прав захищено авторським правомd
Змінна середовища для читання LANGd_—_7_—_[[:en:The_Open_Group|The_Open_Group]],_2018.[[d:Track:Q29466943]][[d:Track:Q1061619]]-3">[3], LC_ALLd_—_7_—_[[:en:The_Open_Group|The_Open_Group]],_2018.[[d:Track:Q29466943]][[d:Track:Q1061619]]-3">[3], LC_CTYPEd_—_7_—_[[:en:The_Open_Group|The_Open_Group]],_2018.[[d:Track:Q29466943]][[d:Track:Q1061619]]-3">[3], LC_MESSAGESd_—_7_—_[[:en:The_Open_Group|The_Open_Group]],_2018.[[d:Track:Q29466943]][[d:Track:Q1061619]]-3">[3] і NLSPATHd_—_7_—_[[:en:The_Open_Group|The_Open_Group]],_2018.[[d:Track:Q29466943]][[d:Track:Q1061619]]-3">[3]
Має опцію командного рядка b_—_7_—_[[:en:The_Open_Group|The_Open_Group]],_2018.[[d:Track:Q29466943]][[d:Track:Q1061619]]-3">[3], d_—_7_—_[[:en:The_Open_Group|The_Open_Group]],_2018.[[d:Track:Q29466943]][[d:Track:Q1061619]]-3">[3], l_—_7_—_[[:en:The_Open_Group|The_Open_Group]],_2018.[[d:Track:Q29466943]][[d:Track:Q1061619]]-3">[3], p_—_7_—_[[:en:The_Open_Group|The_Open_Group]],_2018.[[d:Track:Q29466943]][[d:Track:Q1061619]]-3">[3], t_—_7_—_[[:en:The_Open_Group|The_Open_Group]],_2018.[[d:Track:Q29466943]][[d:Track:Q1061619]]-3">[3] і v_—_7_—_[[:en:The_Open_Group|The_Open_Group]],_2018.[[d:Track:Q29466943]][[d:Track:Q1061619]]-3">[3]

yaccкомп'ютерна програма-генератор парсерів розроблена Стівеном С. Джонсоном в AT&T для операційної системи UNIX. Назва є акронімом від "Yet Another Compiler Compiler" (ще один компілятор компіляторів). Генерує синтаксичний аналізатор (частина компілятора яка намагається побудувати синтаксичне дерево коду програми за формальною граматикою, записаною в нотації, подібній до БНФ).

Синтаксичний аналізатор що генерується yacc потребує лексичного аналізатора. Використовуються генератори лексичних аналізаторів такі як Lex чи Flex. Існує стандарт IEEE POSIX P1003.2 що описує функціональність і вимоги як до Lex, так і до yacc.

Деякі версії AT&T Yacc перейшли у відкритий код. Код поширюється наприклад зі стандартними дистрибутивами Plan 9 та OpenSolaris.

Див. також

[ред. | ред. код]

Джерела

[ред. | ред. код]
_1-0">а
_1-1">б
_1-2">в https://www.tuhs.org/cgi-bin/utree.pl?file=V6/usr/source/yacc
  • _2-0">↑ http://openbsd.su/src/usr.bin/yacc/
  • _—_7_—_[[:en:The_Open_Group|The_Open_Group]],_2018.[[d:Track:Q29466943]][[d:Track:Q1061619]]
  • _3-0">а _—_7_—_[[:en:The_Open_Group|The_Open_Group]],_2018.[[d:Track:Q29466943]][[d:Track:Q1061619]]