adding the following changes: (a) changes in tree data structure so it can be integrated into the parser (b) changes in parser so that it returns a parse tree if desired (c) added user options in main program to choose the desired output format (d) added new test cases in test_driver to test correct parse tree output