Recursive Descent and Operator Precedence:
- Easy to control, understand.
- Good error messages can be produced.
- More code to write.
- Grammar not as clear.
Does the program really match the grammar?
- Less code to write.
- Grammar is clear and easy to change.
- The programmer may get ``stuck'' on grammar errors that are hard
- Error messages during compilation may be unhelpful and
far from the actual error.