PROJECT ASSIGNMENT #2 --------------------- Due Monday, February 14, 2005 1. Modify your lexical analyzer to return tokens to a calling procedure instead of printing the token code. (The source program should be echoed as it is input.) 2. Design a parser for the Two-Level Grammar syntax which calls your lexical analyzer. You may use any parsing method that you wish, but it is recommended that you accomplish your parser by rewriting the given extended BNF grammar into a form suitable for input to Java CUP and then use CUP to automatically generate an LALR(1) parser. If an error is detected, it is sufficient to print an error message and halt processing. Use the test programs you have been given to validate your parser.