您的位置:首页 > 编程语言

一个自动将状态机生成代码的软件

2013-10-16 18:35 369 查看
如果你是一个程序员,对状态机应该有一定的了解,甚至会经常使用。
使用状态机的时候,一般都是自己设计程序去实现状态机,但,当要维护代码时,就会显得不方便,特别是比较复杂的时候。

我幻想着有一个软件,能在图形界面上设计状态图,然后自动生成C\C++代码。生成的代码实现了状态机本身,和状态转换的逻辑关系,程序员与生成的代码之间的接口就是:定义动作、向状态机提交事件。很简单。没错,低耦合高内聚就是代码努力的方向。我们都不想全局变量满天飞。。。

经过我一段时间的努力,终于把这个软件做出来了,取名为“HEART-BLUE”。以下就是界面:



这是一个很简单的三个状态之间的转换。输入事件evGo,驱动状态机发生跳转,于是会执行相应的动作AcEntryA,AcEntryB,AcEntryC。程序输出:



还有复杂一点的状态机。一个电子小时钟,用2个按键,实现调节日期,时间和计时的功能。



用VC2005实现:



时钟VC2005工程资源地址:

http://download.csdn.net/detail/my_jeff/6412633

HEART-BLUE资源地址:

http://download.csdn.net/detail/my_jeff/6408985 ……

状态机生成的3个C++代码文件(simpleABC):

在main函数中实现和调用:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐