SCXML解析IOS

有没有人知道在IOS中编写SCXML解析器?

我浏览了这个http://www.w3.org/TR/scxml/并了解了SCXML。

我现在需要创建解析架构。

如果有人有想法,请告诉我。

提前致谢。

SCXML只是XML,因此如果您只想解析文档,则只需要一个XML解析器。 本文对iOS可用的各种XML解析器进行了很好的概述: http : //www.raywenderlich.com/553/how-to-chose-the-best-xml-parser-for-your-iphone-project

另一方面,如果您需要将SCXML文档作为状态机执行,那么您需要一个SCXML引擎。 如果您使用UIWebView / PhoneGap创建iOS应用程序,那么您可能会使用SCION作为您的SCXML引擎,因为它是通过JavaScript实现的。 免责声明:我是这个图书馆的作者。

不确定可以在iOS上运行的SCXML解释器,但是uSCXML可以为给定SCXML文件中隐含的控制流生成ANSI-C,并且您只需要为datamodel特定表达式提供回调。

$ uscxml-transform -tc -i your.machine.scxml -o your.machine.c 

这里给出了通过所有IRP测试的生成机器的脚手架。 实质上,你只是

  1. #include 生成的C文件 ,
  2. 注册所需的回调和
  3. 运行整个机器,直到没有什么可做的。

示例脚手架稍微复杂一些,因为它可以与所有uSCXML的数据模型一起使用,并支持多个调用的SCXML解释器。 如果您只需要一个状态图,则上述三个步骤就足够了。 生成的源代码已注释, 此处提供了一个精简示例(来自我们的旧分支)(新主分支尚不支持内联SCXML)。

我们用我们的方法评估了微步(T)的性能,它的速度非常快,主要是因为我们预先计算了conflicts(T_1, T_2) 。 使用建议中附录D中的算法作为基线,我们在IRP测试中实现了10-20倍的加速(现在可以在任何一天发布)。

如果这种方法看起来合适但给你带来麻烦,请随时在github上发布一个问题 ,我很乐意添加更多信息。

免责声明:我是uSCXML维护者。