Re: Academic references on interpreters (Anton Ertl)
24 May 2004 00:22:36 -0400

          From comp.compilers

Related articles
Academic references on interpreters (2004-05-16)
Re: Academic references on interpreters (2004-05-24)
Re: Academic references on interpreters (2004-05-24)
Re: Academic references on interpreters (Neelakantan Krishnaswami) (2004-05-24)
Re: Academic references on interpreters (Eliot Miranda) (2004-05-24)
Re: Academic references on interpreters (2004-05-24)
| List of all articles for this month |

From: (Anton Ertl)
Newsgroups: comp.compilers
Date: 24 May 2004 00:22:36 -0400
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
References: 04-05-046
Keywords: interpreter, bibliography
Posted-Date: 24 May 2004 00:22:36 EDT (Glenn Rowe) writes:
>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

Well, one example of a journal paper is [ertl+02]. You can find some
references to related papers there.

If you are also interested in refereed workshop and conference papers,
take a look at IVME (,; the next will be held on
June 7th, 2004) and (with less interpreter content) the Usenix VM
Symposium ( You can
also find other papers through the bibliographies of these papers. In
addition, now and then you see an interpreter paper at general
conferences like PLDI, POPL, and ASPLOS.

    author = {M. Anton Ertl and David Gregg and Andreas Krall and
                                    Bernd Paysan},
    title = {\textsf{vmgen} --- A Generator of Efficient Virtual
                                    Machine Interpreters},
    journal = {Software---Practice and Experience},
    year = {2002},
    volume = {32},
    number = {3},
    pages = {265--294},
    OPTmonth = {},
    url = {},
    abstract-url = {},
    keywords = {interpreter; virtual machine; generator; stack
                                    architecture; superinstruction; byte code},
    abstract = {In a virtual machine interpreter, the code for each
                                    virtual machine instruction has similarities to code
                                    for other instructions. We present an interpreter
                                    generator that takes simple virtual machine
                                    instruction descriptions as input and generates C
                                    code for processing the instructions in several
                                    ways: execution, virtual machine code generation,
                                    disassembly, tracing, and profiling. The generator
                                    is designed to support efficient interpreters: it
                                    supports threaded code, caching the top-of-stack
                                    item in a register, combining simple instructions
                                    into superinstructions, and other optimizations. We
                                    have used the generator to create interpreters for
                                    Forth and Java. The resulting interpreters are
                                    faster than other interpreters for the same
                                    languages and they are typically 2-10 times slower
                                    than code produced by native-code compilers. We also
                                    present results for the effects of the individual
                                    optimizations supported by the generator.}

- anton
M. Anton Ertl

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.