johnl@ima.UUCP (06/29/87)
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. Thanks, | 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!wilson@uxc.cso.uiuc.edu | | P.O.Box 4348 Chicago,IL 60680 (*a.k.a. Human-Computer Interaction) | -- Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.ARPA Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | cca}!ima Please send responses to the originator of the message -- I cannot forward mail accidentally sent back to compilers. Meta-mail to ima!compilers-request