private static void PrintTree(CommonTree node) { var currentID = id++; var nodeLabel = node.GetType().Name; //node.ToString().Replace("\"", ""); SW.WriteLine(string.Format("\"{0}_{1}\" [label = \"{2}\", shape=\"rectangle\"];", nodeLabel, currentID, nodeLabel)); if (node.Children != null) { foreach (var u in node.Children) { var childLabel = u.GetType().Name; //u.ToString().Replace("\"", ""); SW.WriteLine(string.Format(" \"{0}_{1}\" -> \"{2}_{3}\";", nodeLabel, currentID, childLabel, id)); PrintTree((CommonTree)u); } } }