当前位置: 首页>>代码示例>>Python>>正文


Python Node.getName方法代码示例

本文整理汇总了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
开发者ID:jpverdejo,项目名称:plf,代码行数:35,代码来源:af.py

示例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
开发者ID:jpverdejo,项目名称:plf,代码行数:34,代码来源:af.py

示例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()
开发者ID:jpverdejo,项目名称:plf,代码行数:67,代码来源:af.py


注:本文中的node.Node.getName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。