« Back to Glossary Index

[GROUP 1: History]
– Developed by Stephen C. Johnson at Bell Labs / AT&T in the early 1970s
– Created to insert an exclusive or operator into a B language compiler
– Directed by colleague Al Aho to Donald Knuth’s work on LR parsing
– Influenced by McIlroy’s TMG compiler-compiler and named in reference to TMG
– Originally written in B programming language, later rewritten in C by Alan Snyder

[GROUP 2: Description]
– Yacc takes a grammar with C code snippets as input
– Outputs a shift-reduce parser in C that executes code snippets associated with each rule
– Actions involve constructing parse trees
– Special identifiers like $$, $1, and $3 refer to items on the parser’s stack
– Full syntactic analysis typically requires an external lexical analyzer for tokenization

[GROUP 3: Impact]
– Yacc was popular and widely used, but has been replaced by newer programs like Berkeley Yacc, GNU Bison, etc.
– Implemented the first versions of languages like AWK, C++, eqn, and Pic
– Used to implement the Portable C Compiler and parsers for various languages
– Rewritten for other languages like OCaml, Ratfor, ML, Ada, Pascal, Java, Python, Ruby, Go, Common Lisp, and Erlang
– Berkeley Yacc became more popular than AT&T Yacc due to performance and lack of reuse restrictions

[GROUP 4: See also]
– Compiler-compiler
– hoc (programming language)

[GROUP 5: References]
– The A-Z of Programming Languages: YACC
– Lex & yacc by John Levine
– Flex & bison by John Levine
– Stephen Curtis Johnson: Geek of the Week
– The Development of the C Language

Yacc (Wikipedia)

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.

Original author(s)Stephen C. Johnson
Written inC
Operating systemUnix, Unix-like, Plan 9, Inferno
LicensePlan 9: MIT License
« Back to Glossary Index

Submit your RFP

We can't wait to read about your project. Use the form below to submit your RFP!

Gabrielle Buff
Gabrielle Buff

Just left us a 5 star review

Great customer service and was able to walk us through the various options available to us in a way that made sense. Would definitely recommend!

Stoute Web Solutions has been a valuable resource for our business. Their attention to detail, expertise, and willingness to help at a moment's notice make them an essential support system for us.

Paul and the team are very professional, courteous, and efficient. They always respond immediately even to my minute concerns. Also, their SEO consultation is superb. These are good people!

Paul Stoute & his team are top notch! You will not find a more honest, hard working group whose focus is the success of your business. If you’re ready to work with the best to create the best for your business, go Stoute Web Solutions; you’ll definitely be glad you did!

Wonderful people that understand our needs and make it happen!

Paul is the absolute best! Always there with solutions in high pressure situations. A steady hand; always there when needed; I would recommend Paul to anyone!

Vince Fogliani

The team over at Stoute web solutions set my business up with a fantastic new website, could not be happier

Steve Sacre

If You are looking for Website design & creativity look no further. Paul & his team are the epitome of excellence.Don't take my word just refer to my website "stevestours.net"that Stoute Web Solutions created.This should convince anyone that You have finally found Your perfect fit

Jamie Hill

Paul and the team at Stoute Web are amazing. They are super fast to answer questions. Super easy to work with, and knows their stuff. 10,000 stars.

Paul and the team from Stoute Web solutions are awesome to work with. They're super intuitive on what best suits your needs and the end product is even better. We will be using them exclusively for our web design and hosting.

Dean Eardley

Beautifully functional websites from professional, knowledgeable team.

Along with hosting most of my url's Paul's business has helped me with website development, graphic design and even a really cool back end database app! I highly recommend him as your 360 solution to making your business more visible in today's social media driven marketplace.

I hate dealing with domain/site hosts. After terrible service for over a decade from Dreamhost, I was desperate to find a new one. I was lucky enough to win...

Paul Stoute has been extremely helpful in helping me choose the best package to suite my needs. Any time I had a technical issue he was there to help me through it. Superb customer service at a great value. I would recommend his services to anyone that wants a hassle free and quality experience for their website needs.

Paul is the BEST! I am a current customer and happy to say he has never let me down. Always responds quickly and if he cant fix the issue right away, if available, he provides you a temporary work around while researching the correct fix! Thanks for being an honest and great company!!

Paul Stoute is absolutely wonderful. Paul always responds to my calls and emails right away. He is truly the backbone of my business. From my fantastic website to popping right up on Google when people search for me and designing my business cards, Paul has been there every step of the way. I would recommend this company to anyone.

I can't say enough great things about Green Tie Hosting. Paul was wonderful in helping me get my website up and running quickly. I have stayed with Green...