Parser Generator
Build a parser driven by a grammar file as a DSL.
A grammar file is a natural way of describing the syntactic structure of a DSL. Once you have a grammar, it's tedious work to turn it into a handwritten parser, and tedious work should be done by a computer.
A Parser Generator uses this grammar file to generate a parser. The parser can be updated merely by updating the grammar and regenerating. The generated parser can use efficient techniques that would be hard to build and maintain by hand.
For more details see chapter 23 of the DSL book