[self-interest] Re: Grammar changes - comments?

David Ungar David.Ungar at Eng.Sun.COM
Mon Sep 6 06:04:11 UTC 1999

Great to see such familiarity with the system!
You are quite right.
Of course, there are ways to get arbitrary objects in there without 
extending the parser,
though with your VM expertise, you could also extend the parser.
And the transporter only relies on that convention for unparsed annotations.
After the module is filled, there are objects in there, that could be extended.
Anyway, that's all malleable Self code.
I'm sure you could get it to do whatever you needed.

- Dave

At 11:23 AM +0200 9/4/99, Gordon Cichon wrote:
>David Ungar wrote:
>> Just a quick note: Self already allows arbitrary objects as object 
>> (& slot annotations, too).
>> The environment uses this feature to implement the transporter,
>> and it should extensible to other uses, as well.
>Please correct me, if I'm wrong:
>The object system itself would allow arbitrary objects as annotations,
>the parser does not, and the transporter relies on the convention that
>the annotation string contains a list of 'playload' strings which are
>separated with character '\177'. The parser contains explicit checks
>for annotation objects being strings.
>F.e., look at files 'vm/parser/expr.c' and 'vm/parser/parser.c':
>There is a member called 'extend_annotation' (expr.c:270) that builds
>this list of strings inside a single annotation string, and there are things
>>  if (t->type != STRING) {
>>    expecting(t, "a string containing an annotation");
>>    return 0;
>>  }
>(parser.c:295), and (parser.c:600).
>Don't know which one to buy? Productopia does.
>eGroups.com home: http://www.egroups.com/group/self-interest
>http://www.egroups.com - Simplifying group communications


     David Ungar
     Sun Microsystems Laboratories
     (650) 336-2618

More information about the Self-interest mailing list