Principles of programming languages - Project 2 - Finding first and follow sets of given grammar