Design and Implementation fo Modular Languages Supporting Information Hiding



Christian S. Collberg and Magnus G. Krampell

Department of Computer Sciences,
Lund University,
S-221 00 Lund, Sweden.
collberg@dna.lth.se


Abstract

In this paper we discuss the design of a module-concept for high-level systems programming languages. In particular we show that a modular language that fully supports Parnas' principle of information hiding while at the same time maintaining module independence cannot be translated using standard techniques. We propose an alternative translation process, based on module binding partially at the intermediate code level, which allows the design of modular languages where implementation details of all types of objects exported from a module may be safely hidden. We also show that this translation process will make important language constructions such as inline subprograms, iterators, and generic units efficiently implementable without introducing any module interdependence. This in turn will reduce the amount of recompilation necessary when exported objects are changed.




Gzipped Postscript

GIF
Front page LETTER (129k)
Page 1 LETTER (43k) LETTER (480k)
Page 2 LETTER (49k) LETTER (568k)
Page 3 LETTER (46k) LETTER (512k)
Page 4 LETTER (48k) LETTER (520k)
Page 5 LETTER (48k) LETTER (528k)

Tar'd & Gzipped Postscript
The whole thing... LETTER (360k)

ASCII Text
The BibTeX entry BibTeX.bib (2k)


Back to Collberg's Research Page
Back to Collberg's Home Page