Repeat Exercise 21 but add the ability to enclose expressions with parentheses, to control how expressions are grouped together. Thus, the value of ((3 + 4)× 5) * 2 is 1225.
Exercise 21
Extend the grammar as directed in Exercise 20, but introduce an exponentiation operator that is right-associating. Let the operator (denoted by "*") have the highest priority, so that the value of 3 + 4 × 5 * 2 is 103.
Exercise 20
Extend the grammar given in Figure 6.20 to accommodate standard expressions involving addition, subtraction, multiplication, and division. Model the syntax and semantics for these operators according to Java or C.
Figure 6.20