|VM to support an OO language firstname.lastname@example.org (1991-10-11)|
|Re: VM to support an OO language email@example.com (Eliot Miranda;W211) (1991-10-15)|
|From:||"Eliot Miranda;W211" <firstname.lastname@example.org>|
|Keywords:||interpreter, smalltalk, bibliography|
|Organization:||Computer Science Dept, QMW, University of London, UK.|
|Date:||15 Oct 91 14:19:53 GMT|
In article 91-10-038 email@example.com writes:
> Our company is working on a project, part of which is a 4GL with
>object oriented extensions. For various reasons we have decided to
>translate the 4GL to a VM code and have a VM interpreter which executes
Look at the definition of the Smalltalk-80 virtual machine in
%A Adele Goldberg
%A David Robson
%T Smalltalk-80: The Language and its Implementation
%C Reading, MA
%L Blue Book
To find out about efficient implementation read
%B Smalltalk-80: Bits of History, Words of Advice
%E Glenn Krasner
%C Reading, MA
%L Green Book
%A L. Peter Deutsch
%A Allan M. Schiffmann
%T Efficient Implementation of the Smalltalk-80 System
%J 11th Annual Symposium on Principles of Programming Languages
%D January 1984
you could also get hold of the papers on the Self implementation from the
Stanford self group, & read various other papers (Pat Caudill's, mine)
on Smalltalk implementation in OOPSLA '86 & '87.
> . . .
> - An internal representation of the inheritance hierarchy that
> naturally supports multiple inheritance.
The machine needs some way to traverse the inheritance hierarchy. The
simplest thing I can think of is to choose some traversal, e.g.
breadth-first left-to-right, and precompute this for each class. The
traversal order can be kept in e.g. an array, which is simple for a VM to
> - The 4GL supports dynamic binding which means that we will
> need to pass the above representation to the VM and have a
> fast way of interrogating it at runtime.
> - We wish to support incremental compilation, which will
> complicate multiple inheritance.
Again the blue book will give you plenty of ideas for these last two points.
Eliot Miranda email: firstname.lastname@example.org
Department of Computer Science ARPA: email@example.com
Queen Mary Westfield College UUCP: firstname.lastname@example.org
Mile End Road, LONDON E1 4NS Tel: 071 975 5229 (+44 71 975 5229)
[Some of the Smalltalk books have been in and out of print, but there should
be lots of copies in libraries.
Return to the
Search the comp.compilers archives again.