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 + 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

1 Expert Approved Answer
Step: 1 Unlock

Here is one possible solution in C Alternative formulations are possible ... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Language Pragmatics Questions!