0

ルールの右側(変更または置換に関係なく)には、eval、exec、emit、subpatternsなどのあらゆる種類のステートメントを含めることができます...

これらのステートメントが実行される定義された順序はありますか、それとも右側に表示される順序で実行されるだけですか?

PS:GrGen.NETは、.NET-frameworkに基づく非常に人気のあるグラフ変換ライブラリです( http://grgen.netで確認してください)。誰かがGrGen.NETのタグを定義できたら、それは素晴らしいことです。私には十分な評判がありません:-)。乾杯!

4

1 に答える 1

0

はい、注文があり、それは重要です!

たとえば、execステートメントは常に最後に適用されます。したがって、execからの変数をルールに渡すことはできません(ルールでスクリプトを実行し、booggie 2のルールに値を戻すにはどうすればよいですか?を参照)。

実行順序はGrGen.NETのマニュアルに記載されており、次のとおりです。

  1. 一致から必要な要素を抽出します
  2. 新しいノードを作成する
  3. 使用されたサブパターンの書き換えコードを呼び出します(およびevalhere、emithere、alternative Name、iterated Name)
  4. ネストされた反復の書き換えコードを呼び出す
  5. ネストされた代替のリライトコードを呼び出す
  6. エッジをリダイレクトする
  7. ノードの再入力(およびマージ)
  8. 新しいエッジを作成する
  9. エッジを再入力します
  10. サブパターンを作成する
  11. 属性の再評価
  12. エッジを削除します
  13. ノードを削除する
  14. サブパターンを削除する
  15. Emit / Exec
  16. 戻る
于 2012-11-14T11:34:16.920 に答える