On 6/10/15, 6:37 AM, "Frédéric THOMAS" <webdoubl...@hotmail.com> wrote:
>Hi Alex, > >I've been reading the instructions before but was a bit confused the same >:-) > >Well, the annotated tree seems to be well constructed by the label(): > >FunctionCallNode(FunctionCallID) "$obj" 0:1 loc: 1-15 abs: 1-15 >flash.tools.debugger > IdentifierNode(IdentifierID) "$obj" 0:1 loc: 1-5 abs: 1-5 >flash.tools.debugger > ContainerNode(ContainerID) SYNTHESIZED 0:5 loc: 6-15 abs: 6-15 >flash.tools.debugger > NumericLiteralNode(LiteralIntegerID) Number 88737825 0:6 loc: 6-14 >abs: 6-14 flash.tools.debugger > >I've got 1 subtree for the identifier and 1 for the container, none for >the NumericLiteralNode though, is that expected ? >Also, for sure I don't get all of this but to me what it describes is a >function, so, I wonder, shouldn't it have a return value node ? No, the return value is not in the expression, it is the result of evaluation the expression, so it is the output of the reducer. At least, that’s how I understand it. > >I didn't get either at what moment and from what, after the reduction, >the expected result of $obj(LiteralIntegerID) is supposed to come from ? > >Out of that, the exception is thrown because after the call to label(), >the reduce()->reduceAntecedent()->getRule() fails to find a rule to >apply, actually, it can't find the cost for rule as it seems to be no >cost function for the goalState 1, at least in the class >JBurgAnnotation_FunctionCallID_2_n. OK, at least you are getting a JBurgAnnotation_FunctionCallID_2_n. But I see now that the object reference # is few enough digits to be parsed as a LiteralInteger, where for me I end up with more digits so it gets parsed as a LiteralDouble, so I have to add a reduction for your kind of tree. Unless, of course, you want to try to fix it yourself. -Alex