 Recursive descent with backtracking is not limited to LL("k") grammars, but is not guaranteed to terminate unless the grammar is LL("k").Even when they terminate, parsers that use recursive descent with backtracking may require exponential time.Although predictive parsers are widely used, and are frequently chosen if writing a parser by hand, programmers often prefer to use a table-based parser produced by a parser generator, either for an LL("k") language or using an alternative parser, such as LALR or LR.