#include "expr.h"

void main() {
	
	for (int i=0; i<1; i++){
		expr one("1");expr two("2"); expr three("3");expr four("4"); 
		expr fifty("50"); expr seven("7"); expr ten("10"); expr forty("40");
		expr s1; expr s2; expr s3; expr s4; expr e1; expr e2; expr e3; expr e4;
		
		one.pParen(); cout << endl; // 1
		
		s1 = one + two;
		s1.pParen(); cout << endl; // (1+2)
		s1.pPolish();cout << endl; // 1 2 + 
		
		s2 = s1 + fifty;
		s2.pParen(); cout << endl; // ((1+2)+50)
		s2.pPolish(); cout << endl;// 1 2 + 50 +
		
		e1 = s2 * four;
		e1.pParen(); cout << endl; // (((1+2)+50)*4)
		e1.pPolish(); cout << endl;// 1 2 + 50 + 4 *
		
		e2 = e1 / s2;
		e3 = e2 - e1;
		e3.pParen(); cout << endl; 
			// (((((1+2)+50)*4)/((1+2)+50))-(((1+2)+50)*4))
		e3.pPolish(); cout << endl;
			// 1 2 + 50 + 4 * 1 2 + 50 + / 1 2 + 50 + 4 * -
		one.pParen(); cout << " = " << one.eval() << endl; 
			// 1 = 1
		s1.pParen(); cout << " = " << s1.eval() << endl;
			// (1+2) = 3
		e1.pParen(); cout << " = " << e1.eval() << endl;
			// (((1+2)+50)*4) = 212
		e2.pParen(); cout << " = " << e2.eval() << endl;
			// ((((1+2)+50)*4)/((1+2)+50)) = 4
		e3.pParen(); cout << " = " << e3.eval() << endl;
			// ((((1+2)+50)*4)/((1+2)+50))-(((1+2)+50)*4)) = -208
	}

	cout << "If you got here, your deletes work fine (yo DO have them?)" << endl;
}