2017-01-17 52 views
0

我正在尋找一個實現有限狀態機(或自動機)並通過狀態機運行時操作的CXX庫?用於有限狀態機/自動機的運行時操作的CXX庫

在SageMath中,有一個模塊Finite State Machines,這正是我正在尋找的。

雖然我看了下面的庫。但是在它們中,應該在代碼中指定狀態機。

但我想add_state(s),delete_state(s),add_transition(s1,s2,input,output), delete_transition(t) 或類似的東西,在運行時間

有沒有可用的CXX庫?

回答

0

Qt的QStateMachine可以做到這一點。

首先,創建一個狀態機。

QStateMachine sm; 

然後,創建狀態。

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

您可以添加轉變爲狀態如下:

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

最後,狀態機添加到狀態爲:1

sm.addState(s1); 

這意味着你可以創建狀態機,狀態和動態轉換。

這裏是一個文件:

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