很多時侯我們寫了很複雜的程式流程,搞到最後自己都不知道程式走到哪裡去了,而且也完全trace不出來。這個時候,我們都會希望能夠有個清楚的方式來幫忙描述這樣的程式流程。其實,學術借的前輩們早就發現了一個好的方法論。這個就是所謂的有限狀態機(Finite State Machine)。其實,FSM並非只是學術界在用的東西,他是一個非常適合整理複雜邏輯的工具。通常,一個程式如果是使用FSM做出來的,他的穩定度多半都遠遠超過直接hard-code的方式。
這裡要介紹的是一個稱為狀態機編譯器(The State Machine Compiler, SMC)。這個工具提供了一種描述狀態機的語法,您使用這個語法寫出自己的狀態機描述,並且儲存於一個副檔名為.sm的檔案中。然後SMC就可以幫您產生出任一種下面語言的程式:
- C/C++
- C#
- VB
- Perl
- Python
- Java
- Ruby
- incr Tcl
SMC網站: