有穷状态机思想——注释转换

有穷状态机思想——注释转换

画状态转换图

所谓自动机思想就是假设有一台机器,上面有状态指示灯,作用是通过传送带前后改变通过的物体。

当状态灯保持时,货物按一定规则输出,当检测到通过的货物满足一定条件,状态灯突变,货物根据另一种规则输出。

利用这种思想,可以将所有有穷的状态列出来,大大清晰了思路,只需要往每一个状态里填对应的处理函数。

例如注释转换问题,把形如/**/的c风格注释转换为c++风格//注释。

如图,开始状态默认为不是注释,线上代表现状态进入下一状态需要读入的字符。

  1. 枚举状态

    c语言通过enum列举所有的状态。

  2. 先写出状态转换框架

    利用switch case语句和while循环配合,完成状态之间跳转。

  3. 添加动作函数

    在每一个case里写函数需要做的任务

测试样例:

输出:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年4月14日
下一篇 2018年4月14日

相关推荐