An Extension Mechanism for the Java Language (1999) [22 citations — 0 self]
Abstract:
This thesis presents the design and implementation of an extensible dialect of the Java language,named OpenJava. Although the Java language is well polished and dedicated to cover applications of a wide range of computational domain,it still lacks some mechanisms necessary for typical kinds of applications. Our OpenJava enables programmers to extend the Java language and implement such mechanisms on demand. It is an advanced macro processor based on the technique called compile-time reflection. In this thesis,first,the problems of traditional compile-time reflection systems are pointed out; with those systems,it is difficult to write meta-level programs. Those reflective systems are not suitable for macro processing which are non-local,scattered,and spreaded in source programs,although such macro processing are typical in object-oriented languages. Also,those reflective systems do not provide sufficient supports of using different extensions together. Then this thesis proposes a new compile-time reflection system for Open-Java. With OpenJava,translation of source code is indirectly performed through an abstract data structure called metaobjects. This data structure gives meta programmers an intuitive view in object orientation. Meta programmers in OpenJava can describe extensions of the base Java language more intuitively and safely than in traditional reflective systems. Finally, several examples are presented to show the good usability of OpenJava. i
Citations
No citations identified.

