Make GOTO and ACTION tables for the following context-free grammars. S is the start symbol, unless otherwise noted. -------------------- S -> a S -> bLn L -> empty string L -> bSLn -------------------- S -> a S -> bLn L -> empty string L -> bLSn This looks almost identical to the one above, but the rules are different. -------------------- S -> empty string S -> aSa S -> bSb This grammar is unambiguous, but there is no way to design the ACTION and GOTO tables. Try it and see why. -------------------- The start symbol is E. E -> x E -> y E -> EE (representing multiplication) E -> E+E (addition) This grammar is ambiguous. Construct the tables such that addition has left-to-right associativity and multiplication has right-to-left associativity. -------------------- S -> empty string S -> iS (represents an "if" statement without the "else") S -> iSeS (represents an "if" statement with the "else") This grammar is ambiguous. Construct the tables such that each e is matched with the nearest possible i to its left. -------------------- S -> empty string S -> SS S -> (S) This grammar is ambiguous, and there is more than one way to parse it, and more than one way to design the ACTION and GOTO tables. Pick one. --------------------