【问题标题】:Is there a library for editing program flow?是否有用于编辑程序流程的库?
【发布时间】:2010-03-16 13:57:09
【问题描述】:

我想知道是否有用于编辑程序流程的库。我指的是条件 if、循环(dowhilefor)和其他可以存在于程序。

我想要的是某种 CAD 应用程序(类似于 UML 编辑器),我可以从中获取一些元素并编辑它们的属性,在它们之间建立联系。

你知道类似的软件可以做到这一点,或者有点类似于我想要实现的目标吗?

谢谢,

尤利安

PS:它应该类似于image

PS2:我想为此编写代码,我想知道这样的事情是否存在。

【问题讨论】:

  • UML 编辑器有什么问题?他们就是这样做的。
  • @SLott 您的意思是 UML 允许轻松绘制 if/for/while 吗?怎么样?
  • 我想为此编写代码,我想知道是否存在这样的事情。 (我编辑了问题)
  • 是的,顺序语句是用活动图描述的。 en.wikipedia.org/wiki/Activity_diagram
  • 我需要编写软件来做到这一点。就像我说的,我正在寻找已经存在的东西的例子——最好是在许可许可下开源

标签: java c++ user-interface editor graph


【解决方案1】:

你可以考虑LabView

【讨论】:

  • +1 Labview 可以调用共享库中的 C 函数。这允许您将 Labview 用作图形化编程的“前端”,可以连接到具有 C API 的现有代码库。 Labview 在科学和工程学科中很受欢迎。
  • 我相信 C/C++ 应用程序也可以调用 Labview VI(虚拟仪器),但我忘记了这个功能叫什么。
  • LabVIEW 有一个 ActiveX 接口,可以从其他语言调用 LabVIEW 代码
【解决方案2】:

一个简短的建议。

编程语言实际上是为了描述程序流程而发明的......

画流是可以的,但是由于符号的功能要弱得多,你会发现设计琐碎或简单的流会变得容易,而即使是中等复杂的流也无法设计。

换一种说法;复杂* 问题不会因为您使用功能有限的工具而变得不那么复杂。

(这正是使 BPEL [JBMP 等人] 彻底崩溃的一厢情愿。)

【讨论】:

  • * 复杂 = 任何类似于真正问题的东西。
  • 你是对的;不幸的是,对我来说,客户希望拥有一个内部语言的可视化编辑器(这是遗产......)。代码很简单,但我们正在与非技术人员打交道,他们以视觉方式进行编辑更好(...不是我的决定,客户的需求)。
  • @Iulian Şerbănoiu:他们能在这个可视化编辑器中做所有事情吗?听起来他们在特定的业务领域工作,而成熟的流程图到代码工具可能会给他们太多的权力。如果您编写自己的解决方案,您可以使用 Graphviz 之类的东西进行可视化显示,然后编写代码将其转换为可用于业务领域的可执行文件。
  • 我认为FrustratedWithFormsDesigner 是对的。他们想要的是普通用户以非常复杂的方式配置某些东西。我开始在这里闻到“电信”的味道,所以让我们假设他们想设计自己的交互式语音响应菜单。在这种情况下,创建“IVR-builder”而不是成熟的图形编程语言更有意义。第一个实际上可能变得有用,而后者将导致永恒的悲叹。看看你能否说服他们简化和模块化他们的需求。
  • ...除非 - 当然 - 你是一名顾问并且想要一份很长的任务。
【解决方案3】:

不是很正确,所以我怀疑你会接受这个答案,但有一个 JBPM 用于 Java,它有一个 graphical editor。它更多地用于编辑业务流程,但它可能正是您正在寻找的。​​p>

【讨论】:

    【解决方案4】:

    this 是您正在寻找的东西吗? Flowchart4j 貌似可以把Java转成流程图的东西,我觉得它甚至还有Eclipse plugin

    免责声明:我在大约 3 分钟内通过 Google 搜索找到了这些内容。我实际上并没有使用它们,所以我不能从用户体验中说出来。我使用了 PL/SQL Developer,它有一个名为“代码大纲”的功能,它根据当前代码编辑器中的程序片段显示分层树:分支语句(if、else、case、when 等)、循环、异常和高级结构,例如过程和函数、游标、类型。对于非平凡的文件(大于 200 行,结构嵌套超过 2 或 3 层深),此功能毫无价值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-02
      • 2017-08-24
      • 2016-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多