TY - GEN
T1 - DESIGN AND IMPLEMENTATION OF MODULAR LANGUAGES SUPPORTING INFORMATION HIDING.
AU - Collberg, Christian S.
AU - Krampell, Magnus G.
PY - 1987
Y1 - 1987
N2 - The design of a module concept for high-level systems programming languages is discussed. It is shown that a modular language that fully supports D. L. Parnas' (1972) principle of information hiding while at the same time maintaining module independence cannot be translated using standard techniques. An alternative transition process is proposed that is based on partial module binding at the intermediate code level and allows the design of modular languages where implementation details of all types of objects exported from a module may be safely hidden. It is shown that this translation process will make important language constructs such as inline subprograms, iterators, and generic units efficiently implementable without introducing any module interdependencies. This in turn will reduce the amount of recompilation necessary when exported objects are changed.
AB - The design of a module concept for high-level systems programming languages is discussed. It is shown that a modular language that fully supports D. L. Parnas' (1972) principle of information hiding while at the same time maintaining module independence cannot be translated using standard techniques. An alternative transition process is proposed that is based on partial module binding at the intermediate code level and allows the design of modular languages where implementation details of all types of objects exported from a module may be safely hidden. It is shown that this translation process will make important language constructs such as inline subprograms, iterators, and generic units efficiently implementable without introducing any module interdependencies. This in turn will reduce the amount of recompilation necessary when exported objects are changed.
UR - http://www.scopus.com/inward/record.url?scp=0023171553&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0023171553&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:0023171553
SN - 0818607653
T3 - Conference Proceedings - Annual Phoenix Conference
SP - 224
EP - 228
BT - Conference Proceedings - Annual Phoenix Conference
PB - IEEE
ER -