Well, it's pretty simple. You just traverse all the nodes, and pick the parent :P.
Stack<ParseTreeNode> stack = new Stack { yourRootTreeNode };
while(!stack.Empty)
{
var current = stack.Pop();
if(current.ChildNodes != null)
{
if(current.ChildNodes.Contains(yourChildNode))
return current; /*parent of yourChildNode */
foreach(var child in current.ChildNodes)
stack.Push(child);
}
}
I have taken a look at ParseTreeNode and quite frankly, I can't see anything that will give you the information you need. You can either download the source and add the functionality, or use the code I have given.
Alternatively, you can build AST tree which allows your nodes to have all the properties you ever want, and make sure that nodes always have Parent property.