Main { // main program (@ public static void main(String args[]) throws Exception { A parsed = A.parse(System.in); A parsed2 = A.parse(System.in); System.out.println("parsed..."); if(parsed.Equal(parsed2)) { System.out.println("Equal."); } else { System.out.println("Not Equal."); } } @) } A { traversal EqualTraversal(EqualVisitor v) { to *; } (@ boolean Equal(A second) { EqualVisitor v = new EqualVisitor(); v.SetSecond(second); this.EqualTraversal(v); return v.IsEqual(); } @) }