CS 331, Spring 2008 Assignment #5: 10 points Date Due: Friday, 2/29/08. Reading Assignment: Class notes, Sections 4.1-4.4 of Sebesta. (2) 1. In problem 4.2 do the rules (a-c) together define an LL(1) grammar? A, B, S are nonterminals and S is the start symbol. Explain your answer. (2) 2. Determine FIRST(expression) and FOLLOW(expression) for the grammar given in Example 3.1. (2) 3. Problem 4.6(c) (4) 4. Compile and test the recursive descent calculator calc.c. Verify that the '+' and '*' operators have correct precedence. Modify the grammar to include subtraction ('-') and division ('/') operators with correct precedence and associativity. Implement the new operators in the calculator and demonstrate correct precedence and associativity. Construct test expressions carefully so they do actually test for correct precedence as well as correct associativity.** **For full credit, hand in well commented source code and output exactly as produced by the program from test runs.