Related articles |
---|
Iterator takusi@manjiro.net (2002-05-23) |
Re: Iterator neelk@alum.mit.edu (2002-05-27) |
Re: Iterator rhydemscs@aol.com (Randall Hyde) (2002-05-27) |
Re: Iterator joachim_d@gmx.de (Joachim Durchholz) (2002-05-27) |
Re: Iterator haberg@matematik.su.se (Hans Aberg) (2002-05-27) |
Re: Iterator bobduff@shell01.TheWorld.com (Robert A Duff) (2002-05-31) |
From: | neelk@alum.mit.edu (Neelakantan Krishnaswami) |
Newsgroups: | comp.compilers |
Date: | 27 May 2002 01:15:43 -0400 |
Organization: | ATT Broadband |
References: | 02-05-125 |
Keywords: | design |
Posted-Date: | 27 May 2002 01:15:43 EDT |
Takuya Murata <takusi@manjiro.net> wrote:
> Now, I'm making a compiler. I want to support a loop feature as
> iterators like Sather.
>
> http://www.icsi.berkeley.edu/~sather/Documentation/LanguageDescription/webmaker/DescriptionX2Eiterators-chapte-1.html#HEADING1-5
>
> The problem is as if two stacks exists concurrently. I couldn't find
> a compiler construction book about how to implement iterator
> mechanism. Anyone suggestion?
Sure. At the conceptual level you want to understand what
continuations are, and how you can use them to implement coroutines.
Then to use them to implement Sather-style iterators you can look at:
Featherweight Concurrency in a Portable Assembly Language. Ramsey and
Peyton-Jones. http://citeseer.nj.nec.com/ramsey01featherweight.html
"Concurrency" in this paper refers to coroutine-style user threads,
which are basically the same as Sather/CLU-style iterators.
--
Neel Krishnaswami
neelk@alum.mit.edu
Return to the
comp.compilers page.
Search the
comp.compilers archives again.