Comme je suis de passage, autant poster quelques programmes.
Voilà un interpréteur brainfuck (pour ceux qui ne connaissent pas le langage: http://fr.wikipedia.org/wiki/Brainfuck )
Vous avez une garantie de marche de 50%, c'est possible qu'en plus de la lenteur, il plante
J'ai ajouté des instructions: V pour afficher l'état de la mémoire.
Les espaces sont ignorés
Voilà un interpréteur brainfuck (pour ceux qui ne connaissent pas le langage: http://fr.wikipedia.org/wiki/Brainfuck )
Vous avez une garantie de marche de 50%, c'est possible qu'en plus de la lenteur, il plante
J'ai ajouté des instructions: V pour afficher l'état de la mémoire.
Les espaces sont ignorés
- Code:
:Input Str1
:{0→L1
:Ans→L2
:1→B
:For(A,1,length(Str1
: sub(Str1,A,1
: If Ans="+
: Then
: 1+L1(B→L1(B
: Else
: If Ans="-
: Then
: L1(B)-1→L1(B
: Else
: If Ans=">
: Then
: B+1→B
: If B>dim(L1
: B→dim(L1
: Else
: If Ans="<
: Then
: B-1→B
: Else
: If Ans=".
: Then
: Pause L1(B
: Else
: If Ans=",
: Then
: Input C
: C→L1(B
: Else
: If Ans="[
: Then
: A→L2(1+dim(L2
: Else
: If Ans="]
: Then
: If L1(B
: L2(dim(L2→A
: Else
: If Ans="V
: Then
: Pause L1
: Else
: If Ans≠"
: Then
: Disp "ERR: "+Ans+" IND:
: Pause A
: Menu("DELETE?","Y",0,"N",1
: Lbl 0
: " "+sub(Str1,1,A-1)+sub(Str1,A+1,length(Str1)-A→Str1
: Lbl 1
: Pause Str1
: End
: End
: End
: End
: End
: End
: End
: End
: End
: End
:End