On Adding a Query Language to a Persistent Object System

Markus Knasmüller
BMD Steyr, Sierninger Straße 190, A-4400 Steyr, Austria


Object oriented programming languages as well as persistent object systems are usually accessed by explicit navigation along the relations (i.e. the pointers) between the objects. End users of a "database", however, prefer to have a query language, which allows them to specify database queries regardless of the mechanism that is used to navigate through the database. In this paper we show a simple technique for adding a query language to an object-oriented programming language. We translate the query, in our case an OQL query, into a program and execute the resulting program. So an ordinary program offers the result of the queries. The compilation and execution is done "on the fly", which means that the user is not aware of the translation. In this paper we present how the translator works, how to write such a translator, and the advantages of our chosen method.

Paper at the Joint Modular Languages Conference, JMLC 2000, Zurich, Switzerland, September 2000

Published in Lecture Notes in Computer Science 1897 (pp. 175-185), Springer-Verlag, 2000.

You can download the paper in postscript or in compressed postscript.