zoukankan      html  css  js  c++  java
  • GLEE: Graph Layout Execution Engine from Microsoft Research

    GLEE 是 Microsoft Research 的 Lev Nachmanson  开发的一个.NET 图形布局和查看的工具, 遵循了 Sugiyama 方案, 可以生成有层次的的布局, 自然地使用图形表示流程的信息, 如程序流程, 状态机, 类图等等.. 项目主页: http://research.microsoft.com/users/levnach/GLEEWebPage.htm

    我用它来画语法分析中的状态图..非常方便.. 只需要下面几句代码便可以呈现整个语法分析的状态流程:

                Graph graph = new Graph("States");
                LRStateContainer states = new LRStateContainer(g);
                foreach (LRState st in states)
                {
                    foreach (Symbol nextSym in st.FollowStates.Keys)
                    {
                        graph.AddEdge(st.GetShowText(),
                                                          nextSym.Name, st.FollowStates[nextSym].GetShowText());
                    }
                }
                graph.GraphAttr.NodeAttr.Shape = Shape.Box;
                graph.GraphAttr.Orientation = Microsoft.Glee.Drawing.Orientation.Portrait;
                graph.GraphAttr.LayerDirection = LayerDirection.LR;
                gViewer1.Graph = graph;

    效果如下:


     
    GLEE 主页上的示例图的内容有点 tricky: (Opera, FireFox copy IE5)
    image

  • 相关阅读:
    python time 转换&运算tips
    Web.py session用户认证
    简单的内存池实现gko_alloc
    cpp(第十章)
    cpp(第九章)
    cpp(第八章)
    cpp(第七章)
    cpp(第六章)
    cpp(第五章)
    结构中的位字段
  • 原文地址:https://www.cnblogs.com/Dah/p/780965.html
Copyright © 2011-2022 走看看