Added left recursion ellimination.