public String getCText(){
        System.out.println(parseTree.toString());
        CText = "";
        //Первоначально меняем некоторые синтаксические конструкции
        for (Tree<TokenParser> child : parseTree.getSubTrees()) {
            if(child.getHead().equals("%BlockProgram%")){
                clearAllChildrens( child );
            }else{
                 for(Tree<TokenParser> childOfChild : child.getSubTrees()) {
                    switch(childOfChild.getHead().getText()){
                        case "%constblock%":{
                            shiftChildrens(childOfChild,"="," ");
                            clearChildrens(childOfChild, ";");
                            break;
                        }
                        case "%varglobalblock%":{
                            clearChildrens(childOfChild, ":");
                            shiftPositionsToCurrent(childOfChild, "%variableblock%");
                            break;
                        }
                        case "%mainblock%":{
                            for(Tree<TokenParser> childOfChildofChild : childOfChild.getSubTrees()) {
                                childOfChildofChild.getHead().setText("void main()\n{\n");
                                clearNextToken(parseTree, "end");
                                break;
                            }
                            break;
                        }
                    }
                } 
            }
        }
        CText = traversalOfTheTree(parseTree);
        //Затем обходим дерево в глубину
        
        return CText;
    }