I know that there are two types of restriction on grammars that are used with recursive descent parsers.
- the grammar cannot have any left recursive productions
- the grammar must not require more than on token look ahead.
I understand the first one but am a little lost on the second restriction. Why is this restriction necessary and can production even exist without it?