Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [m2t-dev] [MTL] Standard library issues

Hi Laurent,

ad 1). Good idea. Perhaps you can make 2 functions, one that accepts a string,and one that accepts a regular _expression_. In that way, you only extend the M2T spec.
ad 2&3). Ok, are you sure they are mentioned in the OCL spec as standard lib functions? Then we probably overlooked them in the OCL spec.
ad 4). strtok is based on the old-style C strtok function. The flag parameter indicates the sequence number of the token.You could use it for example in an iteration.
For example "a$b$c$d".strtok("$",0) returns a, but "a$b$c$d".strtok("$",3) returns d

Regards, Arjan.


2008/8/5 Laurent Goubet <laurent.goubet@xxxxxxx>
ah, forgot one of the String ones :p.

4) strtok( String s1, Integer flag ) : String
Breaks the string self into a sequence of tokens each of which is delimited by any character in string s1. The parameter flag should be 0 when strtok is called for the first time, 1 subsequently.

We fail to understand the meaning of the second parameter of this method. What did you intend the flag to be used for in the implementation? It seems pointless and troublesome to force the user to pass 0 or 1 explicitely to this method when he wants to make use of it.

Laurent Goubet
Obeo

Laurent Goubet a écrit :
Hi Arjan,

I was looking at the specifications as to how the OCL standard library has been extended for the needs of MTL and stumbled upon a set of issues on which I would need your input. As I only began the implementation, I'll only list the issues I have with the "String" operations :

1) substitute( String r, String t ) : String
Substitutes substring r in self by substring t and returns the resulting string. If there is no occurrence of the substring, it returns the original string.

I think it would be nice to tweak the specification so that the first parameter would be a regular expresion instead of a plain String. I'd love to be able to use an equivalent of the Java's "replaceAll" method for MTL Strings.

2) toUpper() : String
Creates a copy of self with all characters converted to uppercase and returns it.

This has been listed as a method that should be added to "extend the OCL standard library", but this method is *already* specified in the OCL specifications for the aforementioned library and should be removed from the MTL specification.

3)toLower() : String
Creates a copy of self with all characters converted to lowercase and returns it.

As above, this is already present in the OCL standard library and should probably be removed from the MTL specification.

I will list more of these issues here as I encounter them while implementing the specification.

Regards

Laurent Goubet
Obeo
_______________________________________________
m2t-dev mailing list
m2t-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/m2t-dev
 


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



Back to the top