/// <summary> /// Neuen Knoten einfügen. /// </summary> public void Insert(List <Sign> ll, string tree, AlloTbl atbl, List <Sign> lemma, string[] cats, Dictionary <String, String> additional, String pos) { string tbl; if (tree.Equals("")) { tbl = atbl.Tbl; } else { tbl = tree; } Node current = this.root; if (ll.Count == 0) { current.Last = true; } for (int i = 0; i < ll.Count; i++) { Node child = current.ChildNode(ll [i]); if (child != null) { current = child; } else { current.Children.Add(ll [i], new Node(ll [i])); current = current.ChildNode(ll [i]); } if (i == ll.Count - 1) { current.Last = true; Allomorph allo = new Allomorph(ll, lemma, tbl, cats, additional, pos); current.AlloList.Add(allo); } } }
/// <summary> /// Kopierkonstruktor mit tiefer Kopie. /// </summary> public AlloTbl(AlloTbl at) { this.tbl = at.Tbl; this.arList = new List <AlloRule>(Functions.DeepClone(at.ArList)); this.additional = new Dictionary <string, string>(at.Additional); }