Yacc
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.
Q40056
компьютерная программа
Concept
Q25379402
синтаксических анализаторов (парсеров)
UNK
Q11368
Unix
Concept
Q101244
акроним
Concept
Q1076785
компилятор компиляторов
Concept
Q211577
BNF
ORG
Q15777
языке программирования Си
Concept
Q35476
AT&T
ORG
Q11368
Unix
Concept
Q1071969
GNU bison
Concept
Q237580
OpenSolaris
MISC
Q14647
Sun
ORG
Q251
Java
Concept
Q2370
C#
MEDIA
Q81571
Pascal
Concept
Q154755
Ada
MEDIA
Q4115288
Ratfor
Concept
Q860654
ML
MEDIA
Q544927
Limbo
MEDIA
Q334879
Erlang
MEDIA
Q37227
Go
MEDIA
Q835922
лексического анализатора
Concept
Q306650
lex
MISC
Q1050437
flex
Concept
Q131566
IEEE
ORG
Q14658
POSIX
Concept
Q305932
Yacc
MISC
Q305932
Yacc
MISC
Q305932
Yacc
MISC
Q305932
Yacc
MISC
1003-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
1003
DATE
+1003.2^^http://www.w3.org/2001/XMLSchema#decimal
1003.2
NUMBER
programming language
developer
use
programming language