Figure 4
How a parser generator works