Related articles |
---|
Implementation of "class inheritance" in a compiler dev@gioelebarabucci.com (Gioele Barabucci) (2004-09-08) |
Re: Implementation of "class inheritance" in a compiler pohjalai@cc.helsinki.fi (A Pietu Pohjalainen) (2004-09-13) |
Re: Implementation of "class inheritance" in a compiler arnold@skeeve.com (2004-09-13) |
Re: Implementation of "class inheritance" in a compiler tzvetanmi@yahoo.com (2004-09-13) |
Re: Implementation of "class inheritance" in a compiler dev@gioelebarabucci.com (Gioele Barabucci) (2004-09-24) |
Re: Implementation of "class inheritance" in a compiler hannah@schlund.de (2004-10-02) |
Re: Implementation of "class inheritance" in a compiler arnold@skeeve.com (2004-10-04) |
From: | A Pietu Pohjalainen <pohjalai@cc.helsinki.fi> |
Newsgroups: | comp.compilers |
Date: | 13 Sep 2004 10:46:59 -0400 |
Organization: | University of Helsinki |
References: | 04-09-072 |
Keywords: | OOP, Java |
Posted-Date: | 13 Sep 2004 10:46:59 EDT |
Gioele Barabucci <dev@gioelebarabucci.com> wrote:
> may you suggest me some readings (web, books, magazines) that examplain how
> compilers can implement classes (memory layout...), templates and
> inheritance in compiled languages like C++ or Java?
> Usually the standards don't mandate a precise implementation, so compilers'
> writers must have deal with these problems. Are there papers or books that
> on this topics that reports their attempts?
Java defines the exact representation of inheritance in the bytecode
form. In the bytecode file, there is a field that defines that class'
super class, this field being an index in the class constant pool.
Then, all the interfaces implemented by this class are listed in two
fields, where the first field tells the number of implemented interfaces
and the next one lists indexes to constant pool, where the actual names
of the interfaces are specified.
This organization is possible, as the resolving of inheritance is
performed at run-time. For further information, I'd suggest O'Reilly's
book 'Java Virtual Machine'; it is a bit old in terms of years, but the
class file format hasn't changed since its printing, which seems to have
been 1997.
br,
Pietu Pohjalainen
Return to the
comp.compilers page.
Search the
comp.compilers archives again.