Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [henshin-dev] Problem with nested multirules

Hei.

I was wrong with it only going through the last iteration,

So my multirule */rules go through all expected indexes of the list. But the nested multirule */rules/nodes is only applied for the first mulirule */rules.

The leftNodes contains 2 nodes for the first production, 2 nodes for the second production and 2 nodes for the third production. So basically the lhs graph should contain 2 nodes for all 3 created rules. Instead i only get 2 nodes for the first rule.

I also get some side effects warnings for each rule. Can these make problems for the nested multirule */rules/nodes? 

Side effect warning: deleting 'lhs'-edge from Rule to Graph Lhs
Side effect warning: deleting 'rhs'-edge from Rule to Graph Rhs
Side effect warning: deleting 'lhs'-edge from Rule to Graph Lhs
Side effect warning: deleting 'rhs'-edge from Rule to Graph Rhs
Side effect warning: deleting 'lhs'-edge from Rule to Graph Lhs
Side effect warning: deleting 'rhs'-edge from Rule to Graph Rhs

Thank you in advance

Regards,
Petter


2013/6/12 Petter Barvik <petter.barvik@xxxxxxxxx>
So i found out that the nested multirule */rules/nodes actually is executed, but only for the last iteration. My leftNodes list contains elements for every Production. But for my generated HenshinRules only the nodes for the last Production is translated, and not the other elements.

Regards,
Petter


2013/6/11 Petter Barvik <petter.barvik@xxxxxxxxx>
Hei,

Yes, that was what i ment. 

I tried this, and now it is correct in in both the graphical editor and the tree editor, but the problem is that i don't think that the nested rule is being executed for some reason.

Because if I put the list of leftNodes for DNode and the Node connected with the lhs in the same multirule as Production and Rule, namely */rules. There is then created only 3 rules, since the list for leftNodes is empty for one production. But i might be doing something wrong. 

Regards,
Petter


2013/6/11 Christian Krause <henshin.ck@xxxxxxxxx>
Hi Petter,

I assume you mean by "map" to create an edge between the LHS and the node. This is just a missing functionality of the editor. Creating links between nodes with different actions is only partially implemented (especially for nested multi-rules). 

There is an easy way to get around this though. Set the action of the Node to <<create*/rules>>. Then create the edge (should work now). And then change the action back to <<create*/rules/nodes>>.

Hope this helps.

Cheers,
Christian


2013/6/11 Petter Barvik <petter.barvik@xxxxxxxxx>
Hello,

I have some problems with the amalgamation unit, more precisely, nesting multirules.

So i have a kernel rule, and for this kernel rule, i have a multirule /rule, that goes through a list of Productions. And for each production i create a Rule and the corresponding Lhs and Rhs for this Rule. 

And for each Production, i have another multirule, /nodes, where i go through a list of "leftNodes". For each node i have in this list of nodes, i want to create a new Henshin Node in the left hand side of the HenshinRule. But for some reason, i cannot map this new node to the LHS of the Graph with 

"create*/rules/nodes"

I cant neither do this in the Graphical Editor or in the Tree Editor.

Thank you in advance,
Petter


_______________________________________________
henshin-dev mailing list
henshin-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/henshin-dev



_______________________________________________
henshin-dev mailing list
henshin-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/henshin-dev





Back to the top