Figure 3 How a parser generator works