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]);
}
Problema com função de repetição em algoritmo Brainfuck
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:
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
Já tentou usar o depurador?
Criado 26 de julho de 2010
Ultima resposta 26 de jul. de 2010
Respostas 1
Participantes 2