Incremental Table-Based Method Dispatch for Reflective Object-Oriented Languages
نویسندگان
چکیده
A collection of algorithms and data structures are presented which provide incremental dispatch table modification. Incrementally modified dispatch tables allow table-based dispatch techniques to be used in reflective, dynamically typed, single-receiver languages with type/implementation-paired multiple inheritance. By storing a small amount of information, the algorithms can incrementally maintain the entire dispatch environment during the four fundamental environment modification requests: adding/removing selectors to/from classes and adding/removing class hierarchy links. The algorithms combine method dispatch calculation, inheritance management, and inheritance conflict detection into a single process, making the algorithms highly efficient. The algorithms also incrementally compute hierarchy information to establish which method addresses can be uniquely identified during compilation.
منابع مشابه
A General Framework for Inheritance Management and Method Dispatch in Object-Oriented Languages
This paperpresents the DT Framework, a collection of object-oriented classes representing a generalized framework for inheritance management and table-based method dispatch. It demonstrates how most existing table-based dispatch techniques can be generalized and made incremental, so that relevant entries in the dispatch table are modified each time a selector or class hierarchy link is added or...
متن کاملIncremental Table-based Method Dispatch for Reeexive Object-oriented Languages
A collection of algorithms and data structures are presented which provide incremental dispatch table modiication. Incrementally modiied dispatch tables allow table-based dispatch techniques to be used in reeexive, dynamically typed, single-receiver languages with type/implementation-paired multiple inheritance. By storing a small amount of information, the algorithms can incrementally maintain...
متن کاملMultiple dispatch in reflective runtime environment
Message dispatch in object-oriented programming (OOP) involves target method lookup in dispatch table/tree. Reflective environment builds dispatch data-structure at runtime as types can be added at runtime. Hence, algorithms for reflective environments require dynamic data structure for dispatch. In this paper, we propose a tree-based algorithm for multiple dispatch in reflective runtime enviro...
متن کاملA First Implementation of Modular Smalltalk
A "first" implementation of the Modular Smalltalk object-oriented programming language is presented. The implementation includes an object-oriented parser, object-oriented representation for code fragments and an object-oriented C-code generator, all implemented in Smalltalk-80. This implementation validates two of the five design principles of the Modular Smalltalk language and provides a vehi...
متن کاملInheritance Management and Method Dispatch in Reeexive Object-oriented Languages
A collection of algorithms and data structures are presented which represent a generalized framework for inheritance management and method dispatch in reeexive, dynamically typed, single-receiver languages with type/implementation-paired multiple inheritance. By storing a small amount of information, the algorithms can incrementally maintain the entire dispatch environment during the four funda...
متن کامل