need modifiable source for clean interpreter written in an HLL

sphinx! (paul robinson wilson)
29 Jun 87 04:47:57 GMT

          From comp.compilers

Related articles
need modifiable source for clean interpreter written in an HLL sphinx! (1987-06-29)
| List of all articles for this month |

From: sphinx! (paul robinson wilson)
Newsgroups: comp.lang.misc,comp.sources.wanted,comp.lang.c,comp.lang.pascal,comp.lang.smalltalk,comp.compilers
Keywords: elegant reversible interpreter
Date: 29 Jun 87 04:47:57 GMT
Followup-To: comp.sources.wanted
Organization: U Chicago Computation Center

I am looking for the source code for a nice, clean interpreter, preferably
written in C for UNIX. Any target language will do, with a preference for
C, or Pascal, or maybe Smalltalk or Scheme (if we can cope with the memory
complexity -- see below).

This interpreter is needed to test a very strange pseudo-memory architecture.
That is, we would like to be able to convert all memory reads and writes to
subroutine calls to a database that "looks like a memory" to the interpreter.
(That is, all of the program variables' values would be stored in the database,
though the program's code can be stored in plain memory.)

Another desideratum is that we would like to be able to associate chunks of
the interpreter's operation with target-language instructions. We need to
keep track of which "step of the program" each chunk of the interpreter's
operation represents. (For single-stepping, etc.)

The point of this experiment is to construct a useful interpreter that can
be run backwards. (We've already got a prototype, but we're going to scrap
it and start over for the real McCoy.) Our pseudo-memory is really a database
of previous values of memory locations, and can be "backed up" to any
previous state.

The language interpreted doesn't have to be a complete one, but a useful
subset would be nice, so we can test the data-compression algorithms in our
database on some relatively realistic and varied programs. Something with
an existing body of actual code, like Small-C, would be ideal.

We also want to be able to examine stack frames, etc. This combination of
features means that elegant, straightforward design is much more important
than efficiency. In fact, my guess is that we will have to write our own
from scratch. But if anybody knows any nice, clean, interpreters written
in a high-level language, please let me know.

Cost IS a factor. We'd really like to be able to give our system away when
we're finished with it.

(By the way, if anybody has addresses, especially net addresses, for the
people behind Little Smalltalk and Tiny C, please e-mail them to me.)

Please reply directly to me at the address below. (Don't trust the address
fields in the header.) If people express interest, I'll summarize to the net.

| Paul R. Wilson ph.: (312) 947-0740 uucp: ...!ihnp4!uicbert!wilson |
| Electronic Mind Control* Lab if no answer: ...ihnp4!gargoyle!sphinx!code |
| UIC EECS Dept. (M/C 154) arpa: uicbert! |
| P.O.Box 4348 Chicago,IL 60680 (*a.k.a. Human-Computer Interaction) |

Post a followup to this message

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