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测试的生成机器的脚手架。 实质上,你只是
-
#include
生成的C文件 , - 注册所需的回调和
- 运行整个机器,直到没有什么可做的。
示例脚手架稍微复杂一些,因为它可以与所有uSCXML的数据模型一起使用,并支持多个调用的SCXML解释器。 如果您只需要一个状态图,则上述三个步骤就足够了。 生成的源代码已注释, 此处提供了一个精简示例(来自我们的旧分支)(新主分支尚不支持内联SCXML)。
我们用我们的方法评估了微步(T)的性能,它的速度非常快,主要是因为我们预先计算了conflicts(T_1, T_2)
。 使用建议中附录D中的算法作为基线,我们在IRP测试中实现了10-20倍的加速(现在可以在任何一天发布)。
如果这种方法看起来合适但给你带来麻烦,请随时在github上发布一个问题 ,我很乐意添加更多信息。
免责声明:我是uSCXML维护者。