Engee 文档

有限自动机的代码生成

*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,…​)`

  • 评论过渡的状态、身体状况和行动

  • 支持回溯机制(当状态之间有中间节点时)

  • 当状态之间的转换跨越状态块的边界时,支持超级转换机制。 这些可能是之间的过渡:

    • 嵌套深度大于一时的外部状态及其嵌套状态;

    • 互不嵌套的两个不同外部状态的嵌套状态。

  • 当超级转换不是从父状态开始,而是来自父状态之外时,也支持默认超级转换。