private void AddTreeNode(TreeNode parent, PegNode node, NodeToString nodeToString) { if (node == null) return; string txt = nodeToString(node); if (node.parent_ == null) txt = "^" + txt; TreeNode tn = (parent == null ? tvParseTree.Nodes.Add(txt) : parent.Nodes.Add(txt)); tn.Tag = node; AddTreeNode(tn, node.child_, nodeToString); AddTreeNode(parent, node.next_, nodeToString); }
private void AddTreeNode(TreeNode parent, PegNode node, NodeToString nodeToString) { if (node == null) { return; } string txt = nodeToString(node); if (node.parent_ == null) { txt = "^" + txt; } TreeNode tn = (parent == null ? tvParseTree.Nodes.Add(txt) : parent.Nodes.Add(txt)); tn.Tag = node; AddTreeNode(tn, node.child_, nodeToString); AddTreeNode(parent, node.next_, nodeToString); }
public string GetNodePathAsString(char separator, NodeToString <T> toString) { string s = ""; DTreeNode <T> node = this; while (node != null) { if (s.Length != 0) { s = toString(node) + separator + s; } else { s = toString(node); } node = node.Parent; } return(s); }
private void BuildTree(PegNode root, NodeToString nodeToString) { tvParseTree.Nodes.Clear(); AddTreeNode(null, root, nodeToString); ExpandTop(10); }
private void BuildTree(PegNode root, NodeToString nodeToString) { tvParseTree.Nodes.Clear(); AddTreeNode(null, root, nodeToString); ExpandTop(100); }