# Fichier : milieuuniverselle.txt # PARTIE MILIEU DE LA MACHINE UNIVERSELLE, # VA DE L'ETAT D0u A L'ETAT J0 # 4.RECHERCHE DE L'INSTRUCTION # Déplacement de la petite à gauche jusqu'au prochain u [D0u,o,u,D0o,-1], [D0u,i,u,D0i,-1], [D0o,o,o,D0o,-1], [D0o,i,o,D0i,-1], [D0o,u,o,D1,-1], [D0i,o,i,D0o,-1], [D0i,i,i,D0i,-1], [D0i,u,i,D1,-1], [D1,o,u,D2o,+1], [D1,i,u,D2i,+1], [D1,u,u,E0,+1], [D2o,o,o,D2o,+1], [D2o,i,i,D2o,+1], [D2o,u,o,D0u,-1], [D2i,o,o,D2i,+1], [D2i,i,i,D2i,+1], [D2i,u,i,D0u,-1], [D2u,o,o,D2u,+1], [D2u,i,i,D2u,+1], [D2u,u,u,D0u,-1], # Passage d'un u et décrémentation du compteur [E0,o,o,E1,+1], [E1,o,o,E2,+1], [E2,o,o,E3,+1], [E3,o,i,E3,+1], [E3,i,o,D2u,+1], [E3,u,u,E4,-1], [E4,i,u,E5,-1], [E5,o,o,F0,-1], [E5,i,o,E5,-1], # 5.ENREGISTREMENT DE L'INSTRUCTION # Déplacement de la frontière gauche de la petite tête d'une unité à gauche # avec enregistrement de o,i [F0,o,o,F0,-1], [F0,i,i,F0,-1], [F0,u,u,F1,-1], [F1,o,u,F2o,+1], [F1,i,u,F2i,+1], [F1,u,u,G0,+1], [F2o,u,o,F3o,+1], [F2i,u,i,F3i,+1], [F3o,o,o,F3o,+1], [F3o,i,i,F3o,+1], [F3o,u,o,F4,-1], [F3i,o,o,F3i,+1], [F3i,i,i,F3i,+1], [F3i,u,i,F4,-1], # Déplacement de la frontière droite de la petite tête d'une unité à gauche [F4,o,u,F0,-1], [F4,i,u,F0,-1], # 6.PROPAGATION DE L'INSTRUCTION A DROITE # Déplacement de la petite tête d'une unité à droite [G0,o,o,G0,-1], [G0,i,i,G0,-1], [G0,u,u,G1,+1], [G1,o,u,G2o,+1], [G1,i,u,G2i,+1], [G2o,o,o,G2o,+1], [G2o,i,o,G2i,+1], [G2o,u,o,H0,+1], [G2i,o,i,G2o,+1], [G2i,i,i,G2i,+1], [G2i,u,i,H0,+1], # Propagation de o,i,u à gauche et arrêt sur 'uuu', # qui est alors transformé en 'iiu' [H0,o,u,H1o,-1], [H0,i,u,H1i,-1], [H0,u,i,H3,+1], [H1o,o,o,H1o,-1], [H1o,i,i,H1o,-1], [H1o,u,u,H2o,-1], [H1i,o,o,H1i,-1], [H1i,i,i,H1i,-1], [H1i,u,u,H2i,-1], [H2o,u,o,G0,+1], [H2i,u,i,G0,+1], [H3,o,o,H4,-1], [H3,i,i,H4,-1], [H3,u,i,I0,-1], [H4,i,u,G0,-1], # Positionnement sur la partie symbole de l'instruction [I0,o,o,I0,-1], [I0,i,i,I0,-1], [I0,u,u,I1,+1], [I1,o,o,J0,+1], [I1,i,i,J0,+1], # _______________________________________ # TESTS POUR TP 5 # > sur(complement,ioioi); # oioio # > nbinstructions; # 12 # > sur(universelle,cat(code(complement),ioioi)); # oioio # > nbinstructions; # 8464 # > sur(copie,io); # ioio # > nbinstructions; # 16 # > sur(universelle,cat(code(copie),io)); # ioio # > nbinstructions; # 180250 # > sur(machinevide,io); # io # > nbinstructions; # 0 # > sur(universelle,cat(code(machinevide),io)); # io # > nbinstructions; # 8 # > sur(universelle,cat(code(universelle),cat(code(machinevide),io))); # io # > nbinstructions; # 73674