Problema com função de repetição em algoritmo Brainfuck

1 resposta
DavidUser
montei um método para representar a estrutura de repetição do Brainfuck "[" "]" mas ando tendo problemas com uma estrutura de repetição dentro da outra... o código vai abaixo:
void loop(String instrucao) {
    String instLoop = "";
    int loopStatus = -1;

    int i = 0;
    do {
        if (loopStatus == -1) {
            if (instrucao[i] == '>') ponteiro++;
            else if (instrucao[i] == '<') ponteiro--;
            else if (instrucao[i] == '+') incrementaByte();
            else if (instrucao[i] == '-') decrementaByte();
            else if (instrucao[i] == '.') imprimeByte();
            else if (instrucao[i] == ',') leEAdiciona();
            else if (instrucao[i] == '#') imprime10Primeiras();
            else if (instrucao[i] == '[') loopStatus = 1;
            else if (instrucao[i] == ']') loopStatus = 0;
        }

        if (loopStatus == 1) instLoop += instrucao[i];
        if (loopStatus == 0){
            loop(instLoop);
            loopStatus = -1;
        }

        i++;
        if(i > instrucao.length()) i = 0;
    } while (fita[ponteiro]);
}
quando coloco uma instrução para estrutura de repetição dentro da outra entra em um loop infinito... o que há de errado?

1 Resposta

ViniGodoy

Já tentou usar o depurador?

Criado 26 de julho de 2010
Ultima resposta 26 de jul. de 2010
Respostas 1
Participantes 2