有人对在 IOS 中编写 SCXML 解析器有任何想法吗?
我浏览了这个http://www.w3.org/TR/scxml/并对 SCXML 有所了解。
我现在需要创建解析架构。
如果有人有想法,请告诉我。
提前致谢。
有人对在 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,您只需为数据模型特定表达式提供回调。
$ uscxml-transform -tc -i your.machine.scxml -o your.machine.c
此处给出了通过所有 IRP 测试的生成机器的脚手架。本质上,你只是
示例脚手架更加精细,因为它将与所有 uSCXML 的数据模型一起使用,并支持多个调用的 SCXML 解释器。如果只需要一张状态图,上面三个步骤就足够了。生成的源代码已注释,并且在此处提供了一个精简的示例(来自我们的旧分支)(新的主分支尚不支持内联 SCXML)。
我们确实用我们的方法评估了 microstep(T) 的性能,而且速度快得离谱,主要是因为我们预先计算了conflicts(T_1, T_2)
. 以推荐中附录 D 中的算法作为基准,我们在 IRP 测试中实现了 10-20 倍的加速(现在随时发布)。
如果这种方法看起来合适但给您带来麻烦,请随时在 github 上发布问题,我很乐意添加更多信息。
免责声明:我是 uSCXML 维护者。