Project 3: LL(1) Parser Generator