From a65f02b19897c68a3be15be39e3d7734c4972d39 Mon Sep 17 00:00:00 2001 From: Rnhmjoj Date: Sun, 25 Aug 2013 19:31:57 +0200 Subject: [PATCH] Correzione PEP8 --- 666.py | 15 +++++++------ malbolge/macchina.py | 51 +++++++++++++++++++++++--------------------- 2 files changed, 35 insertions(+), 31 deletions(-) diff --git a/666.py b/666.py index 8f4fb5e..f18f08a 100755 --- a/666.py +++ b/666.py @@ -2,21 +2,22 @@ import malbolge import sys istruzioni = [ - "Utilizzo:", - "666 [-f] input", - " * -f: specifica un file.", + "Utilizzo:", + "666 [-f] input", + " * -f: specifica un file.", " * input: file o codice da eseguire." ] -def utilizzo(): + +def utilizzo(): print(*istruzioni, sep="\n") exit(1) - + try: programma = sys.argv[1] except IndexError: utilizzo() - + if sys.argv[1] == "-f": try: programma = open(sys.argv[2]).read() @@ -28,6 +29,6 @@ if sys.argv[1] == "-f": exit("File vuoto.") else: programma = sys.argv[1] - + macchina = malbolge.Macchina() macchina.esegui(programma) diff --git a/malbolge/macchina.py b/malbolge/macchina.py index a80ab54..60ca6f1 100644 --- a/malbolge/macchina.py +++ b/malbolge/macchina.py @@ -1,13 +1,14 @@ from .trinario import * + class Macchina: - + def esegui(self, programma): """Esegue il programma Malbolge fornito come stringa.""" - + #Accumulatore self.a = trin(0) - + #Registri self.d = trinlist() self.c = trinlist() @@ -15,7 +16,7 @@ class Macchina: #Puntatori self.puntatore_c = trin(0) self.puntatore_d = trin(0) - + istruzioni = { "j": self.__scambia_d, "i": self.__scambia_c, @@ -26,19 +27,21 @@ class Macchina: "v": self.__esci, "o": self.__nulla, } - + #Controllo lunghezza massima - if len(programma) > 3**10: + if len(programma) > 3 ** 10: raise MemoryError("Memoria esaurita. Limite di 3^10 word superato.") #Copia il programma nel registro c for indice, word in enumerate(programma): - if word not in ("\n"," "): - if trinord(word) not in range(32,127): - raise SyntaxError("Carattere non consentito nel programma: '%c' a %d." % (word, indice)) + if word not in ("\n", " "): + if trinord(word) not in range(32, 127): + raise SyntaxError("Carattere non consentito nel programma:\ + '%c' a %d." % (word, indice) + ) else: self.c[indice] = trinord(word) - + #Esecuzione del programma while self.puntatore_c < len(programma): #Calcola ed esegue l'istruzione @@ -53,10 +56,10 @@ class Macchina: self.__traduci() self.puntatore_c += 1 self.puntatore_d += 1 - + def __calcola_istruzione(self, carattere): """ - Calcola l'istruzione da eseguire + Calcola l'istruzione da eseguire in base al carattere presente nel puntatore. """ tabella = "+b(29e*j1VMEKLyC})8&m#~W>qxdRp0wkr \ @@ -64,44 +67,44 @@ class Macchina: ?Z';FNQuY]szf$!BS/|t:Pn6^Ha" istruzione = (trinord(carattere) - 33 + self.puntatore_c) % 94 return tabella[istruzione.decimale] - + def __traduci(self): """ Trascive l'istruzione nel registro del - codice seguendo la tavola di conversione. + codice seguendo la tavola di conversione. """ trascrizione = str.maketrans( '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN \ OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~', - '5z]&gqtyfr$(we4{WP)H-Zn,[%\\3dL+Q;>U!pJS72FhOA1 \ - CB6v^=I_0/8|jsb9m<.TVac`uY*MK\'X~xDl}REokN:#?G"i@' + '5z]&gqtyfr$(we4{WP)H-Zn,[%\\3dL+Q;>U!pJS72FhOA1 \ + CB6v^=I_0/8|jsb9m<.TVac`uY*MK\'X~xDl}REokN:#?G"i@' ) istruzione = str.translate(trinchr(self.c[self.puntatore_c]), trascrizione) self.c[self.puntatore_c] = trinord(istruzione) #Istruzioni - + def __scambia_d(self): """ Istruzione Malbolge "j" Assegna al data pointer il valore a cui punta. """ self.puntatore_d = self.d[self.puntatore_d] - + def __scambia_c(self): """ Istruzione Malbolge "i" Assegna al code pointer il valore puntato dal data pointer. """ self.puntatore_c = self.d[self.puntatore_d] - + def __ruota(self): """ Istruzione Malbolge "*" Ruota la word puntata dal data pointer di un trit verso destra. """ self.d[self.puntatore_d] = trin(self.a[-1] + self.a[0:-1]) - + def __pazza(self): """ Istruzione Malbolge "p" @@ -109,13 +112,13 @@ class Macchina: puntato dal data pointer. Poi salva il risultato nell'accumulatore e nel registro dei dati. """ - operazione = [[1,0,0],[1,0,2],[2,2,1]] + operazione = [[1, 0, 0], [1, 0, 2], [2, 2, 1]] risultato = [] - for i,j in zip(self.a, self.d[self.puntatore_d]): + for i, j in zip(self.a, self.d[self.puntatore_d]): risultato += operazione[i][j], self.d[self.puntatore_d] = trin(risultato) self.a = trin(risultato) - + def __leggi(self): """ Istruzione Malbolge "<" @@ -128,7 +131,7 @@ class Macchina: raise TypeError("Si attendeva un carattere: letta una stringa nulla.") else: self.a = trinord(carattere) - + def __stampa(self): """ Istruzione Malbolge "/"