private void analiseRegistro() {
        if (!acabouListaTokens()) {
            nextToken();
            if (tipoDoToken[0].equals("Identificador")) {
                if (!acabouListaTokens()) {
                    nextToken();
                    if (tipoDoToken[1].equals(" {")) {
                        if (!acabouListaTokens()) {
                            nextToken();
                        }
                        this.listaDeCamposRegistro();
                    } else {//erro para caso nao tenha a chave aberta
                        errosSintaticos.semChaveAbertaParaRegistro(tipoDoToken[3], tipoDoToken[1]);
                        this.listaDeCamposRegistro();
                    }
                } else {
                    errosSintaticos.erroFimDeArquivo(tipoDoToken[3], tipoDoToken[1], "registro");
                    zerarTipoToken();
                }
            } else {//erro para caso não seja um identificador
                errosSintaticos.semIdentificador(tipoDoToken[3], tipoDoToken[1]);
                if (tipoDoToken[1].equals(" {")) {
                    if (!acabouListaTokens()) {
                        System.out.println("ENTREI DEPOIS NECTTPKEN");
                        nextToken();
                        this.listaDeCamposRegistro();
                    } else {
                        errosSintaticos.erroFimDeArquivo(tipoDoToken[3], tipoDoToken[1], "registro");
                        zerarTipoToken();
                    }
                } else {
                    errosSintaticos.semChaveAbertaParaRegistro(tipoDoToken[3], tipoDoToken[1]);
                    this.listaDeCamposRegistro();
                }
            }
        } else {
            errosSintaticos.erroFimDeArquivo(tipoDoToken[3], tipoDoToken[1], "registro");
            zerarTipoToken();
        }
    }