////////////////////////////////////////////////////////////////////// // Program for testing the program S2.C (solution of Hw #2) // File S2_test.C ////////////////////////////////////////////////////////////////////// #include #include "S2.C" ////////////////////////////////////////////////////////////////////// void main(){ node* n1 = new node ("dec","x"); node* n2 = new node ("num",2); node* n3 = new node ("op","+"); node* n4 = new node ("ide","x"); node* n5 = new node ("num",5); tree* t2 = new tree(n2); tree* t4 = new tree(n4); tree* t5 = new tree(n5); tree* t3 = new tree(n3,t4,t5); tree* t1 = new tree(n1,t2,t3); environment *r = NULL; // empty_environment(); cout << " value of the first expression is: " << eval (t1,r); /************************************************************************ let x = 2 in x+5 end ************************************************************************/ node* n6 = new node ("num", 20); node* n7 = new node ("num", 13); node* n8 = new node ("num", 12); node* n9 = new node ("num", 30); node* n10 = new node ("num", 1); node* n11 = new node ("op","-"); node* n12 = new node ("op","*"); node* n13 = new node ("dec","y"); node* n14 = new node ("ide","y"); node* n15 = new node ("num",4); tree* ta = new tree(n15); tree* t6 = new tree(n3, t4, ta); tree* t8 = new tree(n7); tree* t7 = new tree(n1, t8, t6); tree* t9 = new tree(n3, t7,t4); tree* t10 = new tree(n6); tree* tb = new tree(n1, t10, t9); cout << "\n the value of the second expression is: " <