本文整理汇总了Python中node.Node.getName方法的典型用法代码示例。如果您正苦于以下问题:Python Node.getName方法的具体用法?Python Node.getName怎么用?Python Node.getName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类node.Node
的用法示例。
在下文中一共展示了Node.getName方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: noAceptarVacia
# 需要导入模块: from node import Node [as 别名]
# 或者: from node.Node import getName [as 别名]
def noAceptarVacia(self):
# Verificamos que el AFD acepta una palabra vacia
if self.validateSecuence(""):
# Transiciones que tenemos que agregar al nuevo nodo inicial
transitions = self.nodes[self.getFirst()].getTransitions()
# Buscamos un nombre valido para el nuevo nodo
nodesCounter = 0
newNodeName = "Q" + str(nodesCounter)
while self.nodes.has_key(newNodeName):
nodesCounter += 1
newNodeName = "Q" + str(nodesCounter)
# Seteamos el nuevo nodo como final y agregamos la transicion al inicial actual
node = Node(newNodeName, True)
for symbol, transitionsToAdd in transitions.iteritems():
for destination in transitionsToAdd:
node.addTransition(symbol, destination)
# Reiniciamos el listado de nodos (No podemos agregar una entrada al inicio en un orderecDict)
newNodes = collections.OrderedDict()
# Agregamos el nodo al AF usando el nombre del nodo como llave
newNodes[node.getName()] = node
self.first = node.getName()
# Agregamos el resto de los elementos al nuevo listado de nodos
for nodeName, node in self.nodes.iteritems():
newNodes[nodeName] = node
# Reemplazamos el listado de nodos
self.nodes = newNodes
示例2: kleene
# 需要导入模块: from node import Node [as 别名]
# 或者: from node.Node import getName [as 别名]
def kleene(self):
first = self.getFirst()
# Buscamos un nombre valido para el nuevo nodo
nodesCounter = 0
newNodeName = "Q" + str(nodesCounter)
while self.nodes.has_key(newNodeName):
nodesCounter += 1
newNodeName = "Q" + str(nodesCounter)
# Seteamos el nuevo nodo como final y agregamos la transicion al inicial actual
node = Node(newNodeName, True)
node.addTransition("E", first)
# Reiniciamos el listado de nodos (No podemos agregar una entrada al inicio en un orderecDict)
newNodes = collections.OrderedDict()
# Agregamos el nodo al AF usando el nombre del nodo como llave
newNodes[node.getName()] = node
self.first = node.getName()
# Agregamos el resto de los elementos al nuevo listado de nodos
for nodeName, node in self.nodes.iteritems():
newNodes[nodeName] = node
# Si es final agregamos la transicion vacia al nodo inicial
if node.isFinal():
node.addTransition("E", first)
# Reemplazamos el listado de nodos
self.nodes = newNodes
示例3: union
# 需要导入模块: from node import Node [as 别名]
# 或者: from node.Node import getName [as 别名]
def union(self, af):
currentNodes = copy.copy(self.getNodes().keys())
extraNodes = af.getNodes()
nodesCounter = 1
renames = {}
# Renombramos los nodos del nuevo AF que existen en el primero
for nodeName, node in extraNodes.iteritems():
if nodeName in currentNodes:
newNodeName = "Q" + str(nodesCounter)
while newNodeName in currentNodes:
nodesCounter += 1
newNodeName = "Q" + str(nodesCounter)
renames[nodeName] = newNodeName
node.setName(newNodeName)
nodesCounter += 1
for oldNodeName, newNodeName in renames.iteritems():
for nodeName, node in extraNodes.iteritems():
node.replaceTransition(newNodeName, oldNodeName)
firstNodeAF = af.getFirst()
if renames.has_key(firstNodeAF):
firstNodeAF = renames[firstNodeAF]
# Buscamos un nombre valido para el nuevo nodo
newNodeName = "Q" + str(nodesCounter)
while self.nodes.has_key(newNodeName) or renames.has_key(newNodeName):
nodesCounter += 1
newNodeName = "Q" + str(nodesCounter)
# Seteamos el nuevo nodo como no-final y agregamos la transicion al inicial de cada AF
node = Node(newNodeName, False)
node.addTransition("E", self.getFirst())
node.addTransition("E", firstNodeAF)
# Reiniciamos el listado de nodos (No podemos agregar una entrada al inicio en un orderecDict)
newNodes = collections.OrderedDict()
# Agregamos el nodo al AF usando el nombre del nodo como llave
newNodes[node.getName()] = node
self.first = node.getName()
# Agregamos los elementos del AF actual al nuevo listado de nodos
for nodeName, node in self.nodes.iteritems():
newNodes[nodeName] = node
# Agregamos los elementos del nodo que se une al nuevo listado de nodos
for nodeName, node in af.nodes.iteritems():
# Tenemos que reescribir la variable, cuando cambiamos el nombre no cambiamos
# el indice en el listado de nodos
nodeName = node.getName()
newNodes[nodeName] = node
# Reemplazamos el listado de nodos
self.nodes = newNodes
# Actualizamos el listado de simbolos validos
self.updateSymbols()