public String getToken() {
        cadtmp = "";
        for (int x = this.getBegin(); x < this.getCad().length(); x++) {
            chartmp = this.getCad().charAt(x);
            this.setBegin(x);
            if (chartmp != ' ') {
                if (Pattern.matches(this.getMatchValue(), chartmp + "")) {
                    cadtmp = cadtmp + chartmp;
                    if (this.getMatchValue().equals(this.getMatchOperacion())) {
                        this.setBegin(x + 1);
                        if (cadtmp != "") {
                            ListToken.add(new Nodo(cadtmp, this.getMatchName(this.getMatchValue())));
                        }
                        return cadtmp;
                    }
                } else {
                    if (cadtmp != "") {
                        ListToken.add(new Nodo(cadtmp, this.getMatchName(this.getMatchValue())));
                    }
                    this.changeMatchValue(chartmp);
                    return cadtmp;
                }

            } else {
                if (cadtmp != "") {
                    ListToken.add(new Nodo(cadtmp, this.getMatchName(this.getMatchValue())));
                }
                this.setBegin(x + 1);
                return cadtmp;
            }

        }
        if (cadtmp != "") {
            ListToken.add(new Nodo(cadtmp, this.getMatchName(this.getMatchValue())));
        }
        this.setHaveToken(false);
        return cadtmp;
    }