Recursive descent parser generator supporting LL(k>=1) grammars and arbitrary lookahead with backtracking.