我需要用于图形表示程序中工作流程的工具(如电子电路用图形表示来描述)。表示必须如下所示:函数是框,框之间的箭头是“消息”。像这样:
alt text http://img372.imageshack.us/img372/8471/functionsqv0.png
该图显示如下:(c(a)(b))
其中c()的参数命名为d和e。在C上它将是
void c( someType1 d, someType2 e );
someType1 a( void );
someType2 b( void );
....
c( a(), b() );
所以我认为我需要用于操纵和可视化表示s表达式的工具,如:
(a (b c d) e)
或
f(g(z(x,y))+5)
它不是关于链表,而是关于功能之间的逻辑连接 该工具只需从图形中生成文本表示 好吧,我在Wiki页面上发现了很多关于“可视化编程”和“图形编程”等的东西。大多数所有描述的工具都很酷,但有些复杂。列表很长,因此需要花费大量时间来测试所有这些。所以我需要一个对真实,活泼的人的看法。
要求是:
如果这个工具是可配置的,那将是非常好的。
我喜欢FlowDesigner工具:它似乎几乎是我需要的东西,但它无法导出到任何语言......唉。
UPD :我提到的维基页面:Graphical Programming
UPD2 :好吧,我决定编写自己的工具......
答案 0 :(得分:3)
查看Microsoft DSL工具 - http://msdn.microsoft.com/en-us/library/bb126259.aspx
它是一个“设计器生成器” - 允许您定义自己的图表格式,指定形状,箭头,颜色等,并为您生成一个能够编辑此类图表并导出有关图表的任何文本工件的设计器(例如XML或代码)。
答案 1 :(得分:2)
使用像Graphviz这样的东西呢?
答案 2 :(得分:2)
警告:无耻插件
它围绕一个可配置的引擎构建,几乎可以用任何语言输出。
但是,对不起。这不是真的免费。
(来源:memention.com)
上面的示例导出了c-code,但是可以通过一些重新配置来生成其他语言。
#include <stdio.h>
/* there are 8 blocks */
int running;
/* there are 1 out blocks */
int state_curr_1;
int state_next_1;
int main(int argc, char *argv[]) {
running = 1;
state_curr_1 = 0;
while (running) {
state_next_1 = (state_curr_1 + 19);
running = (state_curr_1 != (19 * 12));
state_curr_1 = state_next_1;
printf("out = %d\n", state_curr_1);
}
return 0;
}
答案 3 :(得分:1)
答案 4 :(得分:1)
使用基于.net和WPF的库TUM.CMS.VPLControl?