| OCR Text |
Show directing commands. Since a complete execution stream contains a large number of events, the interpreter provides an event filter. This filter is set up by the director and removes from the execution stream events not interesting to the director. The interpreter maintains a history stream which records the history of the executor. The history stream enables reverse execution of the executor. 4.2.1 Compiler The compiler translates ANSI C programs to hypothetical code. It is based on the lcc compiler [23]. The lcc compiler provides a very simple interface between a processor-independent front end and a processor-specific back end. A new back end has been written for the Dynascope hypothetical processor. 4.2.2 Interpreter The interpreter represents the central part of Dynascope. The basic purpose of the interpreter is to emulate the hypothetical processor. The interpreter has the following features in support of introspection: • it emits the execution stream, • it communicates with directing routines, • it combines hypothetical and host code, • it supports dynamic loading and linking of hypothetical and host code, • it supports the filtering of the execution stream, • it supports reverse execution of hypothetical code, • it maintains symbol tables. 65 |