[TDR] Token-Based Compilers

tdarcos@mcimail.com (Paul Robinson)
Wed, 20 Jan 1993 09:39:06 GMT

          From comp.compilers

Related articles
[TDR] Token-Based Compilers tdarcos@mcimail.com (1993-01-20)
Re: [TDR] Token-Based Compilers pcbeard@ucdavis.edu (1993-01-23)
Re: [TDR] Token-Based Compilers kieron@root.co.uk (1993-01-25)
P-Code (was Re: [TDR] Token-Based Compilers) mdg@netcom.com (1993-01-26)
Re: [TDR] Token-Based Compilers nigel@socs.uts.EDU.AU (1993-02-01)
| List of all articles for this month |

Newsgroups: comp.compilers
From: tdarcos@mcimail.com (Paul Robinson)
Organization: Tansin A. Darcos & Company, Silver Spring, MD USA
Date: Wed, 20 Jan 1993 09:39:06 GMT
Keywords: Pascal, interpreter, code, comment

I'd like to ask what people think of the idea of Compilers that generate
ficticious machine code, i.e. tokens for an optimized machine which is
then interpreted on the target.

One point to this is that a compiler, if it is self-compilable, can be
ported to a new installation in a much easier fashion than trying to
create a bootstrap compiler to create the compiler that creates the
compiler that creates...

If you think that creation of P-Code is a valid concept for some
implementations, i.e. for porting applications, then what is the minimum
class of instructions needed in the "pseudo code"? There should be some
for file I/O and a few others. Does anyone know of anyone having written
something on minimum support features for any professional language?

This may be a more effective means of obtaining certain classes of
compilers on some implementations over waiting for someone to do a full
port along with writing the run-time system in assembler (or C or any
language giving enough features to startup the user's program.)

While it may not necessarily be efficient, sometimes efficiency is
unimportant. Who cares if a recompile of a compiler to make machine code
takes four hours when interpreted, but only 2 minutes when compiled, if
it's only going to be done once?
[There have been lots of such systems, particularly for database and
application systems. They can be slow but are very portable. For the
database parts, they're not even that slow since the database operations
are single ops and can run at full speed. -John]

Post a followup to this message

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