Index: darg.py ================================================================== --- darg.py +++ darg.py @@ -214,13 +214,14 @@ return self.__str__() == other.__str__() def getNodeAsDict (self): "returns the node as a dictionary structure" dNode = {} - dReValue = {} # regex for token values - dReMorph = {} # regex for morph - dMorph = {} # simple search in morph + dReValue = {} # regex for token values + dReMorph = {} # regex for morph + dMorph = {} # simple search in morph + dReMultiMorph = {} # regex for morph in multi-tokens dLemma = {} dPhonet = {} dMeta = {} dTag = {} dRule = {} @@ -227,10 +228,12 @@ for sArc, oNode in self.dArcs.items(): if sArc.startswith("@") and len(sArc) > 1: dReMorph[sArc[1:]] = oNode.__hash__() elif sArc.startswith("$") and len(sArc) > 1: dMorph[sArc[1:]] = oNode.__hash__() + elif sArc.startswith("&") and len(sArc) > 1: + dReMultiMorph[sArc[1:]] = oNode.__hash__() elif sArc.startswith("~") and len(sArc) > 1: dReValue[sArc[1:]] = oNode.__hash__() elif sArc.startswith(">") and len(sArc) > 1: dLemma[sArc[1:]] = oNode.__hash__() elif sArc.startswith("%") and len(sArc) > 1: @@ -245,10 +248,12 @@ dNode[sArc] = oNode.__hash__() if dReValue: dNode[""] = dReValue if dReMorph: dNode[""] = dReMorph + if dReMultiMorph: + dNode[""] = dReMultiMorph if dMorph: dNode[""] = dMorph if dLemma: dNode[""] = dLemma if dPhonet: