从流程图生成源代码解决方法

从流程图生成源代码
要做一个小软件,从程序流程图生成C语言源代码。流程图部分已经做的差不多了,现在正在考虑做逻辑部分,包括流程图如何存储,代码如何生成。在网上搜了一下,有人说可以保存成XML,感觉这是种方案。但是如何从XML生成代码还需要比较复杂的处理。希望大家帮我想想办法。能够给一些实现的方案。谢谢了
------解决方案--------------------
  xml文件里面保存的是什么?  操作xml文件有开源的TinyXML 可参考
------解决方案--------------------
将流程图转换成树形结构,XML正好是个树形文档

生产源码的时候再读取XML里面的每个节点,生产对应的代码。

这个说好说,工作量还是蛮大的,lz加油


------解决方案--------------------
参考这里:http://www.boost.org/doc/libs/1_40_0/libs/serialization/doc/index.html
------解决方案--------------------
想开发出这样的工具,首要的问题就是定制一套详细的规则,然后再考虑具体的实现;如果一下子就考虑实现的问题,估计会越做越混乱!!
------解决方案--------------------
将流程图转换为代码属于正向工程范畴,首先将流程图变成流程树,根节点表示整个流程,子节点可以是控制节点(顺序、分支、循环)或代码节点(函数调用、表达式或代码段),然后对流程树进行深度优先遍历,输出每个流程节点所表示的代码,最终得到源文件。
------解决方案--------------------
保存成XML绝对是正确的选择,有点像组态
------解决方案--------------------
VS2008 内置的工作流开发模式就类似于从流程图生成可执行代码。

据我自己的测试,工作流开发的程序执行效率颇低。它的开发界面反应也比较慢,但是非常直观,维护和查找逻辑错误极其方便。

VS2008的工作流的描述是放在XML形式的文本里的。开发界面解析XML生成图形。编译程序也是解析XML生成可执行代码。

你不妨先弄一个VS2008试试,看看能不能激发你的一些灵感。
------解决方案--------------------
我觉得得对要处理的流程图进行严格的格式定义再研究怎么转成代码
------解决方案--------------------
引用:
想开发出这样的工具,首要的问题就是定制一套详细的规则,然后再考虑具体的实现;如果一下子就考虑实现的问题,估计会越做越混乱!!

正如兄弟所言,规则在编译中很重要.如果LZ单纯的为了每个节点或功能去实现功能的话,会越来越乱.
------解决方案--------------------
我觉得还是自己设计一套二进制标准,不要用XML,太慢了,那东西用来做外部数据交换还行。