2009-11-08 71 views
0

我想从源代码使用GLEE图库和C#语言绘制控制流图(CFG)。问题是,我是GLEE的新手。我需要一个教程或示例程序/项目来帮助我快速开始使用GLEE。我需要绘制CFG的源代码具有以下结构:需要帮助来绘制控制流图GLEE和C#

begin myProcedure 
    statement 1; 
    statement 2; 
    if(condition) then 
    statement 3; 
    else 
    statement 4; 
    end if 
end myProcedure 

任何想法?

回答

0

看起来你还是C#的新手,因为GLEE已经有近2年的时间了(已被MSAGL取代,这是一个带有例子的付费产品)我想你可能会觉得很难首先,找到任何例子,其次,获得任何支持。看起来你可以得到MSAGL为$99 at the moment(低于295美元),可能值得为节省的时间进行投资。

1

除非您将控制流程图硬连接到答案(作业?),否则绘图不是这个问题的难题。从你的语言的源代码中提取控制流图。

你的例子显然不是C#(BEGIN?),所以你需要找到一个语言解析器; 您将需要做某些事情来完成名称和类型解析(将GOTO处理为标签或已命名块的退出),并将流程图构造为图形数据结构。如果您正在处理GCC(类似于间接GOTO的C语言),您需要使用指针分析来确定间接GOTO的可能目标。如果您打算处理C#或Java,你也许能够从类文件(具有许多相同的问题)中抽出控制,然后你就必须是映射回源代码。

这是最简单的,如果你有很多可用的机械(解析,名称解析,控制流图结构库),在其上建立自己的控制流图提取做这样的任务。 DMS Software Reengineering Toolkit提供所有这些基础,以及许多语言的解析器。对于C,Java和COBOL,DMS还提供了直接提取处理所有上述问题的控制流图,甚至还提供了数据流图。见sample control and data flow graphs