public String parse(CodeType codetype, boolean printLineNumbers, boolean genNewName){
		Tree.printLineNumber = printLineNumbers;
		Tree.generateNewNames(genNewName);
		Tree.initializeIdentifierTable();

		Tree tree = programPro();
		if(codetype == CodeType.JS_MINIFIED)
			return tree.toString();
		else if(codetype == CodeType.THREE_ADDRESS)
			return tree.getCode();
		else if(codetype == CodeType.THREE_ADDRESS_LABELED)
			return tree.getLabelCode();
		else if(codetype == CodeType.SIMPLE_CODE)
			return tree.getSimpleCode();
		//System.out.println(tree.getCode());
		//System.out.println(tree.getLabelCode());
		//System.out.println(tree.getSimpleCode());
		//System.out.println(ConstantFolding.optimize(tree.getSimpleCode()));
		return "";
	}