2011-11-04 69 views
2

我必须在Perl中编写状态机。我尝试过使用SMC,但它没有Perl的AppClass_sm。我无法从任何地方获得任何有关如何解决此问题的反馈。 是否有类似于SMC的东西,或者我应该尝试使用DFA:StateMap类。我必须先阅读并理解它,然后才能确定它是否有用。 任何输入赞赏有助于在Perl中构建状态机的软件

+1

你能否澄清你的第二条陈述?文档似乎与它相矛盾(http://smc.sourceforge.net/SmcManSec3.htm#Perl) – DVK

+0

你是对的。该文档没有提到需要Appclass_sm。如果您查看源代码中的示例,EX1目录包含一个文件checkstring.pl,该文件使用Appclass.sm中定义的Appclass类,这反过来表示使用Appclass_sm; Appclass_sm在任何地方都不可用。也许我错过了一些明显的东西。我是新来的perl – doon

+0

我不熟悉SMC,但对我来说,似乎Appclass_sm是从您的状态机生成的。这只是一个模糊的印象,可能是100%错误的。 – DVK

回答

0

我联系了SMC的开发者。他解释说,我需要运行示例目录中的makefile来创建Appclass_sm模块。这解决了这个问题。

1
+0

谢谢。我早先在C++中使用过这些原则。但我正处于SMC原理看起来非常好的阶段。只需提供规格,代码将为您生成。我面临的实际问题是,在这个项目上,我的时间确实非常有限,我不是一个perl程序员,并且由于缺乏状态机设计本身的清晰度,我宁愿花我所有的时间来重复状态机设计而不是代码并且另外调试 – doon

+0

@doon:状态机是如此简单而巨大?我的意思是,只要状态是一个整数而不是整数的记录,并且有多个信号需要考虑,我不会看到在工具中设计FSM要容易得多,因为大多数逻辑是状态转换的方式执行。为什么它必须在perl中呢? – Alex