def registrar_linea(c_ini, c_fin): #lineas_final.append({"c_ini":c_ini, "c_fin":c_fin}) lineas_final.append(Linea(c_ini[0], c_ini[1], c_fin[0], c_fin[1])) nodo_1 = columnas * parsear_coordenada(c_ini)[0] + parsear_coordenada( c_ini)[1] nodo_2 = columnas * parsear_coordenada(c_fin)[0] + parsear_coordenada( c_fin)[1] matriz_estado.itemset((nodo_1, nodo_2), True) matriz_estado.itemset((nodo_2, nodo_1), True)
def cargarArchivo(self): banderaEnd = False self.fileName = tkFileDialog.askopenfilename( filetypes =[("","*.asm *.txt")] ) if(Util.existeArchivo(self.fileName)): archivoCorto = self.fileName.split("/") archivoCorto = archivoCorto[len(archivoCorto)-1] self.frameArchivo.config( text = archivoCorto ) _file = open(self.fileName, "r") self.fileText = _file.read() _file.close() #Leer el archivo de texto y mandarlo a sus respectivos campos de texto self.fileTextBox.config( state = NORMAL ) self.variablesTextBox.config( state = NORMAL ) self.errorTextBox.config( state = NORMAL ) self.fileTextBox.delete( 1.0, END ) self.variablesTextBox.delete( 1.0, END ) self.errorTextBox.delete( 1.0, END ) lineCount = 1 for line in self.fileText.split('\n'): self.fileTextBox.insert(END, str(lineCount) + "\t" ) lineCount = lineCount+1 self.fileTextBox.insert( END , str( line ) + "\n" ) currentLine = Linea(str(line)) if (currentLine.comentario) : self.variablesTextBox.insert(END, "Comentario\n\n") else: if str(currentLine.codop).upper() == "END": banderaEnd = True self.variablesTextBox.insert(END, currentLine.atributos() + "\n") for error in currentLine.getErrores(): self.errorTextBox.insert(END, str(lineCount - 1) + ": " + error + "\n" ) if not banderaEnd: self.errorTextBox.insert(END, str(lineCount - 1) + ": No se encontró el END\n" ) self.fileTextBox.config( state = DISABLED ) self.variablesTextBox.config( state = DISABLED ) self.errorTextBox.config( state = DISABLED )
def cargarArchivo(self, rutaArchivo): banderaEnd = False if (Util.existeArchivo(rutaArchivo)): archivoCorto = rutaArchivo.split("/") archivoCorto = archivoCorto[len(archivoCorto) - 1] _file = open(rutaArchivo, "r") fileText = _file.read() _file.close() #Leer el archivo de texto y mandarlo a sus respectivos campos de texto lineCount = 1 fileTextBox = "" variablesTextBox = "" errorTextBox = "" for line in fileText.split('\n'): fileTextBox += str(lineCount) + "\t" + str(line) + "\n" lineCount += 1 currentLine = Linea(str(line)) if (currentLine.comentario): variablesTextBox += "Comentario\n\n" else: if str(currentLine.codop).upper() == "END": banderaEnd = True atributos = currentLine.atributos() variablesTextBox += atributos[0] + "\n" variablesTextBox += atributos[1] + "\n" if (currentLine.codop != None): if not currentLine.codop.text.upper() in self.tabop: currentLine.errores.append( currentLine.codop.text + " no se encuentra en la TABOP") else: permiteOperando = self.tabop[ currentLine.codop.text.upper()]['operando'] if permiteOperando and currentLine.operando == None: currentLine.errores.append( currentLine.codop.text + " el CODOP debe tener Operando") if not permiteOperando and currentLine.operando != None: currentLine.errores.append( currentLine.codop.text + " el CODOP NO debe tener Operando") variablesTextBox += " Operando: " + str( permiteOperando) + "\n" for modo in sorted( self.tabop[currentLine.codop.text.upper()] ['modos'].iteritems()): variablesTextBox += " " + modo[0] + "-> " for propiedad in sorted(modo[1].iteritems(), reverse=True): variablesTextBox += propiedad[ 0] + ": " + propiedad[1] + " " variablesTextBox += '\n' variablesTextBox += atributos[2] + "\n\n" for error in currentLine.getErrores(): errorTextBox += str(lineCount - 1) + ": " + error + "\n" if not banderaEnd: errorTextBox += str(lineCount - 1) + ": No se encontró el END\n" return archivoCorto, fileTextBox, variablesTextBox, errorTextBox else: return None
def set_linea(self, num, lf, lt): self.insert_linea(num, Linea.Linea(lf, lt))