parser generator
Parser generators can be an alternative to writing recursive-descent parsers by hand. Some parser generators are best used with lexers (although you can also do your lexing with regular expressions).