Consider the grammar: -> or | -> and | -> not | ( ) | true | false * <..> represents a non-terminal. a) Construct a parse tree for the sentence "not ( true or false)". b) Construct a leftmost derivation for the sentence. c) Construct a rightmost derivation for the sentence d) Perform left-recursion elimination and left-factoring on this grammar. e) Is the resulting grammar in d) a LL(1) grammar? If yes, construct the LL(1) parsing table (please show the intermediate steps such as the FIRST and FOLLOW sets). If no, explain why.