summaryrefslogtreecommitdiffstats
path: root/Master/Software Architektur/SWA_Prakt3/src/swa/prakt3/Main.java
blob: 919baaae27310b3ec5f5cbf4ec49216c41d5e83f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package swa.prakt3;

public class Main {

	public static void main(String[] args) {
		ArithmeticVariable a = new ArithmeticVariable("a", 2);
		ArithmeticVariable b = new ArithmeticVariable("b", 77);
		ArithmeticVariable c = new ArithmeticVariable("c", 0.1);
		ArithmeticVariable d = new ArithmeticVariable("d", 0.00003);
		
		ArithmeticExpression aAddb = new ArithmeticAddition(a,b);
		ArithmeticExpression aSubc = new ArithmeticSubstraction(a,c);
		ArithmeticExpression bMuld = new ArithmeticMultiplication(b, d);
		
		ArithmeticExpression ae1 = new ArithmeticMultiplication(aAddb, aSubc);
		ArithmeticExpression ae2 = new ArithmeticSubstraction(bMuld, a);
		
		ArithmeticExpression root = new ArithmeticAddition(ae1, ae2);
		
		Iterator iter = new Iterator();
		iter.traverse(root, new PrintVisitor());
		System.out.println();
		System.out.println(iter.traverse(root, new EvalVisitor()));
	}

}