|Academic references on interpreters email@example.com (2004-05-16)|
|Re: Academic references on interpreters firstname.lastname@example.org (2004-05-24)|
|Re: Academic references on interpreters email@example.com (2004-05-24)|
|Re: Academic references on interpreters firstname.lastname@example.org (Neelakantan Krishnaswami) (2004-05-24)|
|Re: Academic references on interpreters email@example.com (Eliot Miranda) (2004-05-24)|
|Re: Academic references on interpreters firstname.lastname@example.org (2004-05-24)|
|From:||Neelakantan Krishnaswami <email@example.com>|
|Date:||24 May 2004 00:23:16 -0400|
|Organization:||Carnegie Mellon Univ. -- Computer Science Dept.|
|Posted-Date:||24 May 2004 00:23:16 EDT|
Glenn Rowe wrote:
> I was wondering if anyone knows of any academic (i.e. refereed
> journal papers or books) references on the writing of interpreters
> specifically (that is, NOT compilers). I'm mainly interested in
> interpreters for languages such as C++, Java or C#, but if anyone
> knows of *any* academic references on interpreters it would still be
> It seems that there must be something out there but I've been unable
> to find anything.
One paper I found very, very helpful was Xavier Leroy's tech report on
the implementation of the Caml light interpreter.
This is an extremely high-quality bytecode interpreter for a higher
order functional language, so much of the discussion should be easily
adapted to OO languages.
Anton Ertl has written a number of papers about interpretation,
with an special focus on how interpreters and real CPUs interact.
He's also written the vmgen program, which takes a virtual machine
description and generates an interpreter for it that uses a lot of
the techniques he describes.
Finally, if you are interested in the relationship between operational
semantics and virtual machines, Olivier Danvy wrote a paper "A
Functional Correspondence Between Evaluators and Abstract Machines",
which shows how to systematically transform recursive AST interpreters
into abstract machines.
Return to the
Search the comp.compilers archives again.