Beispiel #1
0
 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
 }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }