List Info

Thread: Re: Re: Syntax error with alias which started with '<'




Re: Re: Syntax error with alias which started with '<'
country flaguser name
Russian Federation
2007-08-05 00:13:17

THANKS!

I JUST READ IN OOSC THAT FREE OPERATORS COULD BE STARTED FROM <.
I DON'T SEE ANY LIMITATION ON ECMA 367 AND SEE EXAMPLES IN ECMA (8.5.20,
P.41):

FREE OPERATORS ENABLE DEVELOPERS TO DEFINE THEIR OWN OPERATORS WITH
CONSIDERABLE LATITUDE. THIS IS PARTICULARLY USEFUL IN SCIENTIFIC
APPLICATIONS WHERE IT IS COMMON TO DEFINE SPECIAL NOTATIONS, WHICH EIFFEL
WILL RENDER AS PREFIX OR INFIX OPERATORS. YOU MAY FOR EXAMPLE DEFINE
OPERATORS SUCH AS ˆ—ˆ—, |€“|(MAYBE AS AN INFIX ALIAS FOR A DISTANCE
FUNCTION), OR VARIOUS FORMS OF ARROW SUCH AS <€“>, €“|€“>, =>.

THANKS AGAN FOR YOUR LINK.

ON SUN, 05 AUG 2007 00:16:16 +0400, COLINLEMA < CLEMAHIEU%40GMAIL.COM">CLEMAHIEUGMAIL.COM> WROTE:

> < IS NOT A FREE OPERATOR.
>
&GT; SEE HTTP://WWW.GOBOSOFT.COM/EIFFEL/SYNTAX/INDEX.HTML#FREE_OPERATOR
>
> --- IN EIFFEL_SOFTWARE%40YAHOOGROUPS.COM">EIFFEL_SOFTWAREYAHOOGROUPS.COM, "YAUHENI AKHOTNIKAU"
&GT; <EAO197...> WROTE:
&GT;>
&GT;> HI!
>;>
>;> I TRIED TO DEFINE SOME METHOD ALIASES WHICH STARTED WITH '<' (I TRIED
&GT;> "<==", "<<=", "<--", "<-<") AND ALWAYS GOT SYNTAX ERROR IN CLASS
&GT;> APPLICATION IN LINE WHERE I TRIED TO USE ALIAS. BUT WHEN I TRIED '|<<'
>>; EVERYTHING WORKED FINE.
&GT;>
&GT;> WHY?
>;>
>;> I USE EIFFEL STUDIO 6 (6.0.6.9201 GPL EDITION - WINDOWS).
>>
>> THERE IS MY SAMPLE:
>>
>> CLASS
&GT;> MESSAGE
>>
>> CREATE
&GT;> MAKE
>;>
>;> FEATURE
>> MAKE (MSG_TEXT: STRING) IS
>&GT; REQUIRE
>> VALID_TEXT: MSG_TEXT /= VOID
>;> DO
>&GT; TEXT := MSG_TEXT
>> END
>> TEXT: STRING
&GT;> END
>>
>> CLASS
&GT;> ENVELOPE
>>
>> CREATE
&GT;> MAKE
>;>
>;> FEATURE
>> MAKE (A_RECEIVER: STRING; A_MSG: MESSAGE; A_SENDER: STRING) IS
>&GT; REQUIRE
>> VALID_RECEIVER: (A_RECEIVER /= VOID) AND THEN (0 <
>;> A_RECEIVER.COUNT)
&GT;> VALID_MSG: A_MSG /= VOID
>;> VALID_SENDER: (A_SENDER /= VOID) AND THEN (0 < A_SENDER.COUNT)
>;> DO
>&GT; RECEIVER := A_RECEIVER
>> MSG := A_MSG
&GT;> SENDER := A_SENDER
>> END
>> RECEIVER: STRING
&GT;> MSG: MESSAGE
>> SENDER: STRING
&GT;> END
>>
>> CLASS
&GT;> ENVELOPER
>>
>> CREATE
&GT;> MAKE
>;>
>;> FEATURE
>> MAKE (A_RECEIVER: STRING; A_SENDER: STRING) IS
>&GT; REQUIRE
>> VALID_RECEIVER: (A_RECEIVER /= VOID) AND THEN (0 <
>;> A_RECEIVER.COUNT)
&GT;> VALID_SENDER: (A_SENDER /= VOID) AND THEN (0 < A_SENDER.COUNT)
>;> DO
>&GT; RECEIVER := A_RECEIVER
>> SENDER := A_SENDER
>> END
>>
>> ENVELOPING_RESULT ALIAS "<==" (MSG: MESSAGE): ENVELOPE IS
>&GT; REQUIRE
>> VALID_MSG: MSG /= VOID
>;> DO
>&GT; CREATE RESULT.MAKE (RECEIVER, MSG, SENDER)
>> END
>>
>> FEATURE
&GT;> RECEIVER: STRING
&GT;> SENDER: STRING
&GT;> END
>>
>> CLASS
&GT;> APPLICATION
>>;
>>; CREATE
&GT;> MAKE
>;>
>;> FEATURE
>> MAKE IS
>&GT; LOCAL
&GT;> ENVELOPER: ENVELOPER
>> ENVELOPED_MSG: ENVELOPE
>> DO
>&GT; CREATE ENVELOPER.MAKE ("ALICE", "BOB&QUOT;)
&GT;> -- THERE I GOT ERROR:
&GT;> ENVELOPED_MSG := ENVELOPER <== (CREATE .MAKE
> ("HELLO!"))
>>
>> IO.PUT_STRING ("RECEIVER: " + ENVELOPED_MSG.RECEIVER + "; ")
>> IO.PUT_STRING ("SENDER: " + ENVELOPED_MSG.SENDER + "; ")
>> IO.PUT_STRING ("MSG: " + ENVELOPED_MSG.MSG.TEXT)
>&GT; IO.PUT_NEW_LINE
>;> END
>> END
>>
>>
>> --
>&GT; REGARDS,
>> YAUHENI AKHOTNIKAU
>> SENIOR PROGRAMMER
>> INTERVALE
>> E-MAIL:EAO197... <MAILTO:EAO197...>
>>
>
>;

--
REGARDS,
YAUHENI AKHOTNIKAU
SENIOR PROGRAMMER
INTERVALE
E-MAIL: EAO197%40INTERVALE.RU">EAO197INTERVALE.RU <MAILTO: EAO197%40INTERVALE.RU">EAO197INTERVALE.RU>

__._,_.___
.

__,_._,___
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )