Question: Design a class hierarchy to represent syntax trees for the CFG of Figure 4.5. Provide a method in each class to return the value of
Design a class hierarchy to represent syntax trees for the CFG of Figure 4.5. Provide a method in each class to return the value of a node. Provide constructors that play the role of the make_leaf, make_un_op, and make_bin_op subroutines.
Figure 4.5:

+ E2 + T E1.ptr := make bin_op("+", E2.ptr, T.ptr) E1 E + E2 - T E1.ptr := make bin_op("-", E2.ptr, T.ptr) E T E.ptr := T.ptr T + T2 * F T1.ptr := make bin_op("x", T2.ptr, F.ptr) T - T2 / F T1.ptr := make bin_op(":", T2.ptr, F.ptr) T + F T.ptr := F.ptr - F2 F1.ptr := make.un.op("+/", F2.ptr) F (E ) Fptr := E.ptr F + const F.ptr := make leaf(const.val)
Step by Step Solution
3.40 Rating (162 Votes )
There are 3 Steps involved in it
Here is one possible solution in C Alternative formulations are possible ... View full answer
Get step-by-step solutions from verified subject matter experts
