Пример #1
0
        public override void VisitTerminal(ITerminalNode node)
        {
            string nodeName = KaleidoscopeLexer.DefaultVocabulary.GetDisplayName(node.Symbol.Type);

            Graph.Nodes.Add(new Node( )
            {
                Id       = node.GetUniqueNodeId( ),
                Label    = nodeName,
                Category = "Terminal"
            });

            if (node.Parent != null)
            {
                Graph.Links.Add(new Link( )
                {
                    Source = node.Parent.GetUniqueNodeId( ),
                    Target = node.GetUniqueNodeId( )
                });
            }
        }