Left recursive top down parser generator