private void iterTree(Node n){
		//update map
		double v=0;
		if(map.containsKey(n.sym)){
			v=map.get(n.sym);
		}
		map.put(n.sym, v+1);
		//
		if(n.right==null){//update lrules
			LexicalRule lr=new LexicalRule(n.sym,n.left.sym);
			if(lrules.containsKey(lr)){
				v=lrules.get(lr);
			}else{
				v=0;
			}
			lrules.put(lr, v+1);
		}else{//update srules
			SyntacticRule sr=new SyntacticRule(n.sym,n.left.sym,n.right.sym);
			if(srules.containsKey(sr)){
				v=srules.get(sr);
			}else{
				v=0;
			}
			srules.put(sr, v+1);
			iterTree(n.left);
			iterTree(n.right);
		}
	}