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

来源:互联网 发布:如何申请淘宝贷款额度 编辑:程序博客网 时间:2024/06/04 19:36

如果你是一个程序员,对状态机应该有一定的了解,甚至会经常使用。

        使用状态机的时候,一般都是自己设计程序去实现状态机,但,当要维护代码时,就会显得不方便,特别是比较复杂的时候。

        我幻想着有一个软件,能在图形界面上设计状态图,然后自动生成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函数中实现和调用:



原创粉丝点击