是否有一个固定的顺序,如何在GrGen.NET中执行规则的右侧?

时间:2012-11-14 11:34:17

标签: .net graph transformation rule booggie

规则的右侧(无论是修改还是替换)都可以包含各种语句,例如: eval,exec,emit,subpatterns,...

是否存在执行这些语句的已定义顺序,或者它们是否按照它们出现在右侧的顺序执行?

P.S。:GrGen.NET是一个非常流行的图形转换库(在http://grgen.net上查看)基于.NET框架。如果有人可以为GrGen.NET定义Tag,那将会很酷,我没有足够的声誉:-)。干杯!

1 个答案:

答案 0 :(得分:0)

是的,有订单,这很重要!

例如,exec语句始终适用于最后。因此,exec中的变量不能传递给规则(参见How can I execute a script in a rule and pass a value back to a rule in booggie 2?)。

执行顺序可以在GrGen.NET手册中找到,如下:

  1. 从匹配
  2. 中提取所需的元素
  3. 创建新节点
  4. 调用已使用子图案的重写代码(以及evalhere,e​​mithere,替代名称,迭代名称)
  5. 调用嵌套迭代的重写代码
  6. 调用嵌套替代品的重写代码
  7. 重定向边
  8. 重新输入(和合并)节点
  9. 创建新边
  10. 重新输入边
  11. 创建子图案
  12. 属性重新评估
  13. 删除边缘
  14. 删除节点
  15. 删除子模式
  16. Emit / Exec
  17. 返回