"Most people never need to know what lex and yacc do. You
occasionally need to have them installed to compile something you
downloaded, but for the most part, it just works. Maybe an
occasional README file refers to 'shift/reduce' conflicts. However,
these tools remain a valuable part of the Unix toolbox, and a bit
of familiarity with them will go a long way.
"In fact, while lex and yacc are almost always mentioned in the
same breath, they can be used separately. A number of very
entertaining if trivial programs have been written entirely in lex.
Programs using yacc, but not lex, are rarer..."