Next quarter, the Demeter Seminar will meet on Tuesdays from 3-5 in 206 Egan. Reminder: David Lorenz will talk today at 3.15 pm in 306 Egan. -- Karl L. =================== You are invited to the seminar by David Lorenz: Title: Compilation of Source Code into Object-Oriented Patterns Speaker: David H. Lorenz Date: DEC 22, 1997 Time: 3.15 pm Place: 306 Egan Center (Third floor) Abstract: There is much more to the source code of a program than a precise description of its execution. Important information may be embedded deeply in the syntax and in the semantics of the program's programming language. The analysis of a program's source code and the explicitation of this information by object-oriented patterns can be used to make software much more understandable, measurable, maintainable, reliable, and efficient. Stated in terms of the vocabulary of design patterns, the Interpreter and Visitor patterns are adapted for source code handling. The Interpreter captures the grammatical structure of programs. The Visitor processes grammatically correct programs. In practice, however, these patterns are not intended for full-scale programming languages because of complexity of the grammar of most languages and the lack of support in the programming environment for propagating inherited grammar-attributes. This work presents a systematic approach to compiling a program into a strongly-typed, class-based representation for the use of software engineering tool builders, and introduces a new inheritance-like abstraction mechanism named acquisition for which an object acquires, via a static type mechanism, features from the classes of objects in its environment. By examining the declarations of classes, it is possible to determine which kinds of classes may contain a component and which components must be contained in a given kind of composite. These relationships are the basis for supporting environmentally acquired grammar attributes, such as symbol tables. Tiling, a novel pattern application technique, lays the ground for further manipulation of the data by client tools. Joint work with J. Gil. -- David H. Lorenz david@cs.technion.ac.il Computer Science Dept., www.cs.technion.ac.il/~david/ Technion-Israel Institute of Technology. Tel:+972-482-94226 Fax:-21128