parser generator
A program which takes a formal description of a {grammar}
(e.g. in {BNF}) and outputs source code for a parser which will
recognise valid strings obeying that grammar and perform
associated actions. {Unix}'s {yacc} is a well known example.