In computer science, a recursive descent parser is a kind of top-down parser built from a set of mutually recursive procedures where each procedure implements one of the nonterminals of the grammar. The structure of the resulting parser closely mirrors that of the grammar it recognizes.