Hi Johan: I have removed Boaz from this mailing list because of the bouncing. We will bring him in again when we need help with an algorithmic problem. Thank you for the onion metaphor; that is a good way to explain wrapper ordering. -- Karl >From johan@ccs.neu.edu Tue Oct 21 12:45:27 1997 >From: Johan Ovlinger >To: lieber@ccs.neu.edu >CC: dougo@ccs.neu.edu >Subject: Re: APstudio feedback > >(dem removed from CC: list because boaz's mail bounces) > >you: > me: > >I have changed my visualition of alternation classes to onions rather than > >pyramids, in that you don't always have to go to the center, but you > >always have to go through the outer layers. > > > > I did not get that one. Can you explain? > >regardless of flattening, you still have to call all wrappers in the >correct order when entering a concrete class at the base of an >alternation tree: > > Top = B. > > A : B. > B = . > >traversing to B from Top, we still have to call "before A" before "before >B". This is not immediately clear if you visualise the hierachy as a >pyramid: > > A > /\ > || >Top ----> B > >But is quite obvious if you see it as an onion: > _________ >Top --> / _____ \ > | / \ | > | | B | | > | \_____/ | > | | > | A | > \_________/ > >You have to go "through" A to get to B. I visualise wrappers as >attached to the layers of the onion. > >Even if you flatten parts, you still have to keep the layers to know >in which order to call the wrappers and when to traverse the parts. > >Flattening is useful for simplifying subgraph computation. It is less >useful for clarifying semantics > >Johan >