有限自动机的代码生成
*Engee*支持块的代码生成 图表. *Chart*块允许您描述状态图、转换图及其组合。 Engee有限状态机库是为需要使用条件、循环和开关的复杂结构的目标设备开发此类自定义算法的有效工具。
在*Chart*块的状态、操作和条件中,*Engee*代码生成器支持以下Julia语言结构:
-
'If-else`elseif’运算符
-
"While"运算符
-
为。.. 在M:N`运算符
-
算术运算符'+'和'-'(一元和二元),
*
,/
,%
-
逻辑运算符'&&','//
和'!
-
比较运算符`<`,
⇐
,>
,>=
,==
,!=
(只支持有两个操作数的二进制)
由*Engee代码生成器*块特性*图表支持*:
-
无条件和条件转换
-
类型为`v’的输入,局部,输出变量(在Julia中由类型为`Float64’表示)
-
几个不相关的状态图,过渡图
-
多个指令写在一行中,在转换动作的主体和状态中用分隔符(
;
)分隔 -
状态下的多行指令
-
操作员组"进入"、"期间"、"退出"、"开启`
-
运算符组的缩写名称*Chart*('en','du`,'ex')
-
时间逻辑运算符’after','at','before','elassed`,'et','every','t','temporalCount`
-
函数楼(Int64,…)'和’ceil(Int64,…)`
-
评论过渡的状态、身体状况和行动
-
支持回溯机制(当状态之间有中间节点时)
-
当状态之间的转换跨越状态块的边界时,支持超级转换机制。 这些可能是之间的过渡:
-
嵌套深度大于一时的外部状态及其嵌套状态;
-
互不嵌套的两个不同外部状态的嵌套状态。
-
-
当超级转换不是从父状态开始,而是来自父状态之外时,也支持默认超级转换。