Yacc

YACC -- Acronym for "Yet Another Compiler Compiler". Used in conjunction with a Lexical Analyzer to create program translators. The lexical analyzer would create a function to break an input string into "tokens", and yacc would write a parser, based on a grammar definition. The GNU version is called BiSOn.