logo of the SSW institute
Institut für Systemsoftware
Johannes Kepler Universität Linz
Fachbereich Informatik
logo of the Cristian Doppler Research Association
Christian Doppler Labor
Automated Software Engineering

Home

General
Staff
Contact
Partners
Alumni

Research
Areas
Projects
Papers
Books
Reports

Teaching
Lectures
Exams
B.Projects
M.Theses
PhD Theses
Go Abroad

Misc
Library
Seminars
Gallery
Links
Search

Webmaster


logo of the Johannes Kepler University (JKU)

Metaprogramming Facilities in Oberon for Windows and Power Macintosh

Christoph Steindl, Hanspeter Mössenböck
Johannes Kepler Universität Linz
Institute for Practical Computer Science
Altenbergerstraße 69, A-4040 Linz
{steindl, moessenboeck}@ssw.uni-linz.ac.at


Abstract

This report describes metaprogramming facilities in the Oberon V4 system for Power Macintosh and Windows. Metaprogramming means that a module can access the structure of other modules (i.e., procedures, types, run-time data) at run time. The purpose of this report is threefold:

  • It explains the use and the internals of some existing but hardly known modules of the Oberon V4 system (i.e., Modules and Types).
  • It introduces a new module Ref for exploring the structure of types, procedures, stack frames, global data and heap data as well as for accessing the contents of arbitrary variables at run time.
  • It explains the layout of module descriptors, type descriptors, dynamic array descriptors, and stack frames in the Oberon implementations for Windows and Power Macintosh.

We show how metaprogramming can be used in a number of interesting applications such as a post mortem debugger that allows the user to zoom into records, arrays and pointers, a heap inspector, a database interface, and a general output module.


Technical Report 8, University of Linz, Institute of Computer Science (System Software), July 1996.

You can download the report in compressed postscript.