Indeed!
Alexandre
Le 28-09-2014 à 12:40, Tudor Girba tudor@tudorgirba.com a écrit :
Hi,
We should probably add FAMIXPrototype with dedicated semantics that are separate from FAMIXType.
Please keep this discussion on the mailing list.
Cheers, Doru
On Sun, Sep 28, 2014 at 9:27 PM, Alexandre Bergel alexandre.bergel@me.com wrote: Hi Leonardo,
Indeed, the MSE file you provide miss crucial information. You probably want to add some FAMIX.Attribute for each variable. As a first step I would only consider the “this.radius”, since it adds an attribute to the prototype. I advice you to do it in a step-wise fashion. Add in the MSE what you actually need. Extracting information from the code can be a bit tedious time to time.
Cheers, Alexandre
On Sep 26, 2014, at 3:46 PM, Alexandre Bergel alexandre.bergel@me.com wrote:
Hi!
I will try to answer you more in detail ASAP. But you are missing the notion of prototype and attributes. A prototype may contains attributes and functions. If things are missing in Famix, the. We can easily extend it. It is made to be expandable.
I reply to the moose mailing list since many expert in modeling will we this email.
Alexandre
Le 26-09-2014 à 19:18, Leonardo Silva leonardo.humberto@gmail.com a écrit :
Hi Alexandre,
I've checked the JS2Moose project.
Suppose the following JS code:
function circle (radius) { this.radius = radius; } circle.prototype.getArea = function () { return (this.radius * this.radius * 3.14); }
For this code, JS2Moose generated the following MSE:
( (FAMIX.Function (id: 4) (name 'window') (staticUseStrictEnabled true) (numberOfLinesOfCode 1) (numberOfStatements 1))
(FAMIX.Function (id: 5) (name 'circle') (parentScope (ref: 4)) (staticUseStrictEnabled true) (numberOfLinesOfCode 52) (numberOfStatements 1))
(FAMIX.Function (id: 6) (name '$5_27') (parentScope (ref: 4)) (staticUseStrictEnabled true) (numberOfLinesOfCode 60) (numberOfStatements 1)) )
So, I am not sure this MSE has all the data we need. For example:
- "radius" is not described in the MSE
- "getArea" in the MSE is represented using another name, "$5_27"
- there is not association between getArea (id: 6) and circle (id: 5)
Of course, maybe we are doing something wrong, but it seems the MSE does not include many important nodes that are available in a JSON file generated by Esprima.
We can also have a skype meeting to better clarify this question.
Leonardo
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"Every thing has its own flow" _______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev