marina@ai.toronto.edu (Marina Haloulos) (09/22/89)
ACTIVITIES FOR THE WEEK COMMENCING (GB = Gailbraith Building, 35 St. George Street) ------------------------------------------------------------- THEORY SEMINAR GB244, at 2:00 p.m., Tuesday 3 October 1989 Dr. Khalid Azim Mughal University of Bergen, Norway "Incorporating Runtime Facilities in Language-Based Programming Environments" We present an approach to providing runtime facilities in language-based programming environments generated from the specification of the runtime semantics of the programming language. Language-based programming environments that support incremental code generation have usually done so using ad hoc techniques for incremental recompilation. Our aim is to provide one uniform operational model based on attribute grammars that allows the specification of the runtime semantics, and thus code generation, to be incorporated with the specification of the syntax and static semantics of the language. The proposed semantic model of incremental code generation allows specification of compact code. It severely limits the repropagation of semantic information in the program tree due to changes in the code caused by modifications to the source program. The code representation maintained is essentially an indirect threaded control-flow graph attached to the attributed derivation tree representing the program. Extended with interactive execution, this representation also facilitates the implementation of such debugging features as control- flow tracing, single-stepping and value-monitoring at the source level. We demonstrate the feasibility of the proposed model by examples of code generation for imperative language constructs as exemplified by Pascal. The specification is written in SSL (Synthesizer Specification Language) and forms the input to the Cornell Synthesizer Generator.