|Byte-Code compiler references email@example.com (S.Bharadwaj Yadavalli) (1995-07-20)|
|Re: Byte-Code compiler references firstname.lastname@example.org (1995-07-27)|
|Virtual Machines (was: Byte-Code compiler references) email@example.com (Steven D. Majewski) (1995-08-04)|
|Re: Virtual Machines (was: Byte-Code compiler references) firstname.lastname@example.org (1995-08-08)|
|From:||"Steven D. Majewski" <email@example.com>|
|Organization:||University of Virginia|
|Date:||Fri, 4 Aug 1995 14:03:04 GMT|
Ryan Davis <firstname.lastname@example.org> wrote:
>I've asked and looked... I didn't get much...
[ ... Smalltalk & Java VM references deleted ... ]
Well - I missed the original question, and just caught the
followup, so I'm not sure if this is an answer to some OTHER
If you're willing to poke around source code and look at
*implementations* there's a lot of examples to look at:
Python, Xlisp, several versions of Scheme all compile
into byte code for a Virtual-Machine interpreter.
If you want to consider varieties of threaded-code, there
are several books on Forth that go into that taxonomy.
( Not exactly "byte"-code, as, except for token threaded
code, you are usually representing addresses, which are
somewhat larger than a byte. But you will still find some
interesting techniques in the Forth literature.
Lots of other functional language implementations use a
portable Virtual Machine interpreter core - Caml-Light and
Moscow/ML come to mind, although I don't know any details
of the VM architecture don't know if it's appropriate to
describe it as "byte-code".
I guess the grandfather of all of the functional VM's is
the SECD machine - there's a good description of it in
Henderson's Functional Programming ( which I don't have
on hand, so I can't check, but I THINK that was first
described by Landin. )
( Some of the more recent/modern functional VMs are based
on more arcane concepts, but SECD is a pretty good basic
model for an interpreter. )
If this is close to what you wanted, then maybe you asked
the wrong question - "byte-code" is both too vague and too
restricted. If it's NOT, then sorry - but now I get to ask
What I'm interested in is compiling to a byte-code that
serves as both an Virtual Machine interpreter code, and
as intermediate code for machine code generation. ( i.e.
fast compilation to slow interpreter byte code, or slower
compilation to fast machine code when optimization requested.)
Any references on that?
---| Steven D. Majewski (804-982-0831) <sdm7g@Virginia.EDU> |---
---| Computer Systems Engineer University of Virginia |---
---| Department of Molecular Physiology and Biological Physics |---
---| Box 449 Health Science Center Charlottesville,VA 22908 |---
Return to the
Search the comp.compilers archives again.