问题
I'm looking for a good explanation of the definitions of the FIRST, FOLLOW, and PREDICT sets of a RDP when given a grammar.
回答1:
Try Programming Language Pragmatics, by Michael L. Scott (Morgan Kaufmann). Parsing is covered in chapter 2. Recursive-descent parsing is described in section 2.2.3; first and follow sets in 2.2.5.
回答2:
You can automatically calculate first, follow, and predict sets using Calculate Predict, First, and Follow Sets from BNF (Backus Naur Form) Grammar Specification without having to download anything. It's a good way to verify answers or automate the tedium.
If you want to do it manually, the Dragon Book (2nd ed) covers it on pages 221-222.
来源:https://stackoverflow.com/questions/564084/recursive-descent-parser-how-to-find-the-first-follow-and-predict-sets