The algorithms I've seen for building an LL(1) parse table involve calculating
follow sets such that:
predict(nonterminal, production) == if epsilon in FIRST(production): first(production) union follow(nonterminal) else: first(production)
where production is a sequence of symbols which can include nonterminals, terminals, and epsilon.
what's the algorithm for an LL(2) parse table?