yacc
![]() | Ця стаття містить перелік джерел, але походження окремих тверджень у ній залишається незрозумілим через практично повну відсутність виносок. |
Yacc | |
Дата створення / заснування | 1970 |
---|---|
Названо на честь | yet anotherd |
Замінений на | GNU Bison і Berkeley Yaccd |
Розробник |
Stephen C. Johnsond |
Мова програмування |
C |
Репозиторій сирцевого коду | tuhs.org/cgi-bin/utree.pl?file=V6/usr/source/yacc |
Версія |
невідомо |
Ліцензія |
невідомо |
Статус авторських прав | захищено авторським правомd |
Змінна середовища для читання |
LANGd_—_7_—_[[:en:The_Open_Group|The_Open_Group]],_2018. |
Має опцію командного рядка |
b_—_7_—_[[:en:The_Open_Group|The_Open_Group]],_2018. |
yacc — комп'ютерна програма-генератор парсерів розроблена Стівеном С. Джонсоном в AT&T для операційної системи UNIX. Назва є акронімом від "Yet Another Compiler Compiler" (ще один компілятор компіляторів). Генерує синтаксичний аналізатор (частина компілятора яка намагається побудувати синтаксичне дерево коду програми за формальною граматикою, записаною в нотації, подібній до БНФ).
Синтаксичний аналізатор що генерується yacc потребує лексичного аналізатора. Використовуються генератори лексичних аналізаторів такі як Lex чи Flex. Існує стандарт IEEE POSIX P1003.2 що описує функціональність і вимоги як до Lex, так і до yacc.
Деякі версії AT&T Yacc перейшли у відкритий код. Код поширюється наприклад зі стандартними дистрибутивами Plan 9 та OpenSolaris.
- Парсер LALR: алгоритм на якому базується Yacc.
- GNU Bison: версія Yacc у проекті GNU.
- Lex (та Flex) — лексичні аналізатори що зазвичай використовуються з yacc (та Bison).
- Нотація Бекуса — Наура — метасинтаксис для опису контекстно-вільної граматики.