4

我需要用于图形表示程序中工作流程的工具(例如用图形表示描述电子电路)。表示必须如下所示:函数是框,框之间的箭头是“消息”。像这样:

替代文字 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 页面上找到了很多关于“可视化编程”和“图形编程”等的内容。大多数描述的工具都很酷,但有些复杂。而且这个列表很长,所以要花很多时间来测试所有这些。所以我需要一个真实的,活着的人的意见。

要求是:

  • 自由
  • 简单的
  • 可以导出到至少一种真实语言,如 XML 或 C++ 或 LISP 或任何其他语言。

如果这个工具是可配置的,那就太好了。

我喜欢 FlowDesigner 工具:它似乎几乎是我需要的东西,但它无法导出到任何语言……唉。

UPD:我提到的 wiki 页面:图形编程
UPD2:好吧,我决定编写自己的工具...

4

5 回答 5

3

查看 Microsoft DSL 工具 - http://msdn.microsoft.com/en-us/library/bb126259.aspx

它是一个“设计器生成器”——允许您定义自己的图表格式、指定形状、箭头、颜色等,并为您生成能够编辑此类图表并导出有关图表的任何文本工件的设计器(例如 XML或代码)。

于 2008-12-04T09:43:19.313 回答
2

使用类似Graphviz的东西怎么样?

于 2008-12-04T10:03:35.653 回答
2

警告:无耻的插头

见过Memention Designer吗?

它是围绕可配置引擎构建的,几乎可以输出任何语言。

但我很抱歉。它并不是真正免费的。

替代文字
(来源:memention.com

上面的示例按照 c 代码导出,但可以通过一些重新配置生成其他语言。

#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;
}
于 2008-12-04T14:09:00.837 回答
1

http://www.graphviz.org/

高温高压

于 2008-12-04T13:55:23.750 回答
1

使用基于 .net 和 WPF 的库TUM.CMS.VPLControl怎么样?

在此处输入图像描述

于 2015-08-14T11:13:19.707 回答