public LinkedTreeNode(LinkedTreeNode root, string nonTerminal, List <char> matched, SourceData sourceData) { _root = root == null ? this : root; _nonTerminal = nonTerminal; _matched = matched; _sourceData = sourceData; _children = new List <LinkedTreeNode>(); // TODO Ambiguity problem }
public LinkedTreeNode AddChild(string nonTerminal, List <char> matched, SourceData sourceData) { LinkedTreeNode child = new LinkedTreeNode(Root, nonTerminal, matched, sourceData); Children.Add(child); // TODO Ambiguity problem child.Parent = this; child.Level = Level + 1; child.FirstOnSameLevel = child; return(child); }
public LinkedTreeNode AddNext(string nonTerminal, List <char> matched, SourceData sourceData) { LinkedTreeNode next = new LinkedTreeNode(Root, nonTerminal, matched, sourceData); Next = next; // TODO Ambiguity problem next.Previous = this; next.Parent = Parent; next.Level = Level; next.FirstOnSameLevel = FirstOnSameLevel; return(next); }