In Thomas Sudkamp's book, Machine and Languages, there is a depth-first top-down parsing algorithm (please see the algorithm here).
My main question is:
1) Is this algorithm a (backtracking) recursive descent top-down parsing? This is because I am confused with the difference between the terms depth-first top-down parsing and recursive descent top-down parsing.
Additionally, I would appreciate it if you would answer these two questions also, as it is related to the algorithm:
2) In Step 2.3.3.3, why there is a need to assign $i=0$? If we want to backtrack, isn't the correct way is to keep $i$ as it is?
3) Does this algorithm uses a pushdown automaton? Is parsing using pushdown automaton different than just using a stack?
i
from the stack. $\endgroup$