Ця стаття містить перелік посилань, але походження тверджень у ній залишається незрозумілим через практично повну відсутність внутрішньотекстових джерел-виносок. |
yacc — комп'ютерна програма-генератор парсерів розроблена Стівеном С. Джонсоном в AT&T для операційної системи UNIX. Назва є акронімом від "Yet Another Compiler Compiler" (ще один компілятор компіляторів). Генерує синтаксичний аналізатор (частина компілятора яка намагається побудувати синтаксичне дерево коду програми за формальною граматикою, записаною в нотації, подібній до БНФ).
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, LC_ALLd, LC_CTYPEd, LC_MESSAGESd і NLSPATHd |
Має опцію командного рядка | b, d, l, p, t і v |
Синтаксичний аналізатор що генерується 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).
- Нотація Бекуса — Наура — метасинтаксис для опису контекстно-вільної граматики.
Джерела ред.
- ↑ https://www.tuhs.org/cgi-bin/utree.pl?file=V6/usr/source/yacc
- http://openbsd.su/src/usr.bin/yacc/
- ↑ The Open Group Base Specifications, Issue 7 // The Open Group Base Specifications, Issue 7 — 7 — The Open Group.
Посилання ред.
- Стівен Джонсон. YACC: Yet Another Compiler-Compiler [ 11 липня 2011 у Wayback Machine.]. Unix Programmer's Manual Vol 2b, 1979.
- Інтерв’ю Computerworld зі Стівеном Джонсоном про YACC [ 4 жовтня 2011 у Wayback Machine.]
- Теорія Lex та Yacc [ 10 липня 2011 у Wayback Machine.]
- Paper "Parsing Non-LR(k) Grammars with Yacc [ 15 жовтня 2012 у Wayback Machine.]" by Gary H. Merrill
Версії для різних мов ред.
- ML-Yacc [ 26 червня 2011 у Wayback Machine.] версія yacc для мови Standard ML.
- ocamlyacc [ 16 серпня 2019 у Wayback Machine.] версія yacc для Objective Caml.
- CL-Yacc [ 6 липня 2011 у Wayback Machine.], генератор LALR(1) парсерів для Common Lisp.
- PLY [ 10 березня 2015 у Wayback Machine.] версія yacc для Python
- Racc [ 24 вересня 2009 у Wayback Machine.] версія yacc для Ruby.
Це незавершена стаття про програмування. Ви можете допомогти проєкту, виправивши або дописавши її. |