Right-to-left (was: Re: entry a

Raymond Dunn ray at philmtl.philips.ca
Sat Sep 2 05:56:28 AEST 1989


>In article <818 at skye.ed.ac.uk> richard at aiai.UUCP (Richard Tobin) writes:
>....  there are lisp systems without an interpreter at all - 
>when you type in an expression, they compile it and execute the code 
>immediately.  
 
and ray at philmtl.philips.ca replies:  
>This just shows that a very hazy line separates "compilers" and "interpreters"
>There are many of us who would still call such an incremental compiler an 
>interpreter.  

then mcdonald at uxe.cso.uiuc.edu writes:  
>There is an obvious distinction between an incremental compiler 
>and an interpreter:  an incremental compiler generates actual machine 
>code of the CPU at hand (NOT pseudocode) and then executes it.  
> 
> [goes on to say you can nearly always write an interpreter in 'C' but 
> have no guarantee that you can generate and execute real machine code
> in 'C']

I'm sorry, I've got us bogged down in semantics.  (:-(

I've no problem with the substance of the above argument, I have a problem
with the narrow use of the word "interpreter".

To me, there are many shades of implementations which fall under the
interpreter umbrella, including those which start from source every
execution, those which save pseudo code, and those which actually produce
code which is executed, whether it is saved for the next time each statement
is executed or not.

Even the boundary between pseudo code and real code is fuzzy.  There are
systems which, instead of producing actual pseudo code produced a sequence of
subroutine calls which is executed, or a minimal code set like push,pop,call
and jump.  Putting it another way, it is possible to chose a "pseudo" code
which is directly executable.

Hey, who cares huh?  All I'm contending is that the line where these systems
stop being "interpreters" and start being something else, is fuzzy.

Follow-ups to comp.lang.misc.
-- 
Ray Dunn.                    | UUCP: ..!uunet!philmtl!ray
Philips Electronics Ltd.     | TEL : (514) 744-8200  Ext: 2347
600 Dr Frederik Philips Blvd | FAX : (514) 744-6455
St Laurent. Quebec.  H4M 2S9 | TLX : 05-824090



More information about the Comp.lang.c mailing list