【问题标题】:CXX Library for Finite State Machines/Automata with Run-time Operations具有运行时操作的有限状态机/自动机的 CXX 库
【发布时间】:2017-06-01 22:18:47
【问题描述】:

我正在寻找一个 CXX 库,它实现了有限状态机(或自动机),并在状态机上运行时操作?

在 SageMath 中,有一个模块 Finite State Machines 正是我正在寻找的。​​p>

我查看了以下库。但在所有这些中,状态机都应该在代码中指定。

但我想add_state(s)delete_state(s)add_transition(s1,s2,input,output)delete_transition(t) 或类似的东西,在运行时

有没有可用的 CXX 库?

【问题讨论】:

    标签: c++ boost


    【解决方案1】:

    Qt 的 QStateMachine 可以做到这一点。

    首先,创建一个状态机。

    QStateMachine sm;
    

    然后,创建状态。

    QState *s1 = new QState();
    QState *s2 = new QState();
    

    您可以按如下方式向状态添加转换:

    //                Event source  Event        Transition to state
    s1->addTransition(button, SIGNAL(clicked()), s2);
    

    最后,将状态机添加到状态如下:

    sm.addState(s1);
    

    这意味着您可以动态创建状态机、状态和转换。

    这是一个文件:

    http://doc.qt.io/qt-5/statemachine-api.html

    【讨论】:

      猜你喜欢
      • 2015-01-10
      • 2015-06-29
      • 1970-01-01
      • 2018-04-30
      • 1970-01-01
      • 2016-10-17
      • 1970-01-01
      • 2020-09-05
      • 2013-10-19
      相关资源
      最近更新 更多