Exemplo n.º 1
0
        private void populateTreeV2Semantic(TreeNode root, Node2 tree)
        {
            for (int i = 0; i < tree.sons.Count; i++)
            {
                string nName = tree.sons[i].name;
                String attrs = "";
                if (tree.sons[i].type != null)
                {
                    attrs += " (type=" + tree.sons[i].type;
                }
                if (tree.sons[i].val != null)
                {
                    attrs += ", val=" + tree.sons[i].val;
                }
                if (attrs != "")
                {
                    attrs += ")";
                }

                TreeNode newNode = new TreeNode(nName + attrs);
                root.Nodes.Add(newNode);
                populateTreeV2Semantic(newNode, tree.sons[i]);
            }
            if (tree.bro != null)
            {
                string nName = tree.bro.name;
                String attrs = "";
                if (tree.bro.type != null)
                {
                    attrs += " (type=" + tree.bro.type;
                }
                if (tree.bro.val != null)
                {
                    attrs += ", val=" + tree.bro.val;
                }
                if (attrs != "")
                {
                    attrs += ")";
                }

                TreeNode newNode = new TreeNode(nName + attrs);

                root.Parent.Nodes.Add(newNode);
                populateTreeV2Semantic(newNode, tree.bro);
            }
        }