Ll(1) grammar analysis and elimination of left recursion