private void generalize() throws Exception {
        //Remove all whitespace charactors
        unSpace();
        //Code functions with @ + funcIndex
        funcExtract();

        //(...)(...) --> (...)*(...)
        //123@0 --> 123*@0
        //Correct all repeated operators.
        //Regex is everywhere.
        exp = exp.replace(")(", ")*(").
                replaceAll("(?<=\\d+)(@)", "\\*@").
                replaceAll("(?<=\\d+)(\\Q$\\E)", "\\*\\$").
                replaceAll("\\++", "\\+").
                replaceAll("\\-+", "\\-").
                replaceAll("\\*+", "\\*").
                replaceAll("\\\\+", "\\\\").
                replaceAll("\\^+", "\\^");

        exp = exp.trim(); //Useless
    }