Skip to content
EntityQ305932· pop 28· linked from 295 articles

Also known as Yet Another Compiler Compiler, yet another compiler of compilers

Yacc (Yet Another Compiler-Compiler) is a computer program for the Unix operating system developed by Stephen C. Johnson. It is a lookahead left-to-right rightmost derivation (LALR) parser generator, generating a LALR parser (the part of a compiler that tries to make syntactic sense of the source code) based on a formal grammar, written in a notation similar to Backus–Naur form (BNF). Yacc is supplied as a standard utility on BSD and AT&T Unix. GNU-based Linux distributions include Bison, a forward-compatible Yacc replacement.

Key facts

Software.name
Yacc
Software.other_names
Bell Labs Yacc; AT&T Yacc
Software.author
Stephen C. Johnson
Software.programming language
C
Software.operating system
Unix, Unix-like, Plan 9, Inferno
Software.platform
Cross-platform
Software.genre
Command
Software.license
Plan 9: MIT License

via Wikipedia infobox

Wikidata facts

Show 4 more facts
Stack Exchange tag
stackoverflow.com/tags/yacc
inception
1970-00-00
has command line option
v
Sources (4)

via Wikidata · CC0

~5 min read

Article

6 sections
Contents
  • History
  • Description
  • Impact
  • See also
  • References
  • External links

Yacc (Yet Another Compiler-Compiler) is a computer program for the Unix operating system developed by Stephen C. Johnson. It is a lookahead left-to-right rightmost derivation (LALR) parser generator, generating a LALR parser (the part of a compiler that tries to make syntactic sense of the source code) based on a formal grammar, written in a notation similar to Backus–Naur form (BNF). Yacc is supplied as a standard utility on BSD and AT&T Unix. GNU-based Linux distributions include Bison, a forward-compatible Yacc replacement.

== History == In the early 1970s, Stephen C. Johnson, a computer scientist at Bell Labs / AT&T, developed Yacc because he wanted to insert an exclusive or operator into a B language compiler (developed using McIlroy's TMG compiler-compiler), but it turned out to be a hard task. As a result, he was directed by his colleague at Bell Labs Al Aho to Donald Knuth's work on LR parsing, which served as the basis for Yacc. Yacc was influenced by and received its name in reference to TMG compiler-compiler.

Connections

Categories