Esempio n. 1
0
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)
Esempio n. 2
0
	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 )
Esempio n. 3
0
    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
Esempio n. 4
0
 def set_linea(self, num, lf, lt):
     self.insert_linea(num, Linea.Linea(lf, lt))