Ejemplo n.º 1
0
 def traverseTree(self, tree):
     
     if type(tree) is Tree:
         print "LABEL: " + tree.label()
         if tree.label() == "ROOT":
             return self.traverseTree(tree[0])
         #elif tree.label() == "S":
         #    return self.traverseTree(tree[0])
         else:
             p = Phrase()
             p.type = tree.label()
             word_idx = 0
             for subtree in tree:
                 if type(subtree) == Tree:
                     if is_pos_type( subtree.label() ):
                         w = Word()
                         w.type = subtree.label()
                         w.order = word_idx
                         w.text = str( subtree[0] )
                         word_idx += 1
                         p.words.append(w)   
                     elif is_phrase_type( subtree.label() ):
                         child_phrase = self.traverseTree( subtree )
                         p.children.append(child_phrase)
             return p
     return None
     
     
Ejemplo n.º 2
0
Archivo: Phrase.py Proyecto: dqyi11/DCG
    def from_xml(self, node, doc):

        self.type = node.nodeName
        for c in node.childNodes:
            if c.nodeType == c.ELEMENT_NODE:

                if is_phrase_type( c.nodeName ):
                    p = Phrase()
                    p.from_xml( c, doc )
                    self.children.append( p )
                
                elif is_pos_type( c.nodeName ):
                    w = Word()
                    w.from_xml( c, doc )   
                    self.words.append( w )