# Problem In lecture, we saw the following context-free grammar (CFG), for simple arithmetic expressions: ``` expr : expr add_op term | term term : term mult_op factor | factor factor : id | number | '-' factor | '(' expr ')' add_op : '+' | '-' mult_op : '*' | '/' ``` Modify the grammar to allow a binary infix exponentiation operator. As in mathematics, it should have higher precedence than the other operators, and be right associative. For example, `2**2**3` means $2^{2^3}$ and evaluates to $2^8=256$, not $4^3=64$. ## (a) Adapt the CFG, for exponentiation. ## (b) Draw a parse tree for `2**(1+1)**4`, using your new CFG. # Process ... # Answer ...