public static void preperation() {
		table = new HashMap<Integer, ArrayList<Node>>();
		if (Config.verbose >= 2){
			System.out.println("========================================");
			System.out.println("Generating possible Atoms");
		}
		generateLeafs();
		

	
	
		if (Config.verbose >= 2){
			System.out.print("Generating possible Constructors..... ");
		}
		
		mainList.add(new ArrayList<Node>());
		ArrayList<Composant> list = Config.hash.get(Config.labels.get(0));
		for (int j = 0; j < list.size(); j++) {
			Composant c = list.get(j);
			ArrayList<Node> x = generateConstructers(c, Config.labels.get(0));
			for(int z = 0 ; z < x.size() ; z++){
				if(!mainList.get(0).contains(x.get(z)))
					mainList.get(0).add(x.get(z));
			}
		}

		if (Config.verbose >= 2){
			System.out.println("OK");
		}
		Collections.sort(Generator.constructers, new NodeCompartor());
		
		int i = 0;
		while(i < mainList.get(0).size()){		
			if(!mainList.get(0).get(i).getType().equals(Config.labels.get(0))){
				mainList.get(0).remove(i);
			}else{
				i++;
			}				
		}
	}