예제 #1
0
        public static void displaySyntaxTree(astNode n)
        {
            StringBuilder sb = new StringBuilder();

            displaySyntaxTree(n, "", sb);
            Console.Out.Write(sb.ToString());
        }
예제 #2
0
 public static void displaySyntaxTree(astNode n, String prefix, StringBuilder sb)
 {
     if (n.children != null && n.children.Count > 0)
     {
         sb.AppendLine(prefix + "  " + n.type + " " + n.name + " " + n.val);
         for (int i = 0; i < n.children.Count; i++)
         {
             displaySyntaxTree(n.children[i], prefix + "| ", sb);
         }
         sb.AppendLine(prefix + " -" + n.type + " " + n.name + " " + n.val);
     }
     else
     {
         sb.AppendLine(prefix + "  " + n.type + " " + n.name + " " + n.val);
     }
 }