implementation of a top-down recursive-decscent parser. converted a context-free grammar to be unambiguous, LL(1), and to handle precedence.