Blöcke (2)


Die Speicherverwaltung für die Objekte eines Blocks geschieht auf folgende Weise: Ist ein im Block deklariertes lokales Objekt eine Prozedur oder eine Funktion, so wird daran bei der Aktivierung des Blockes dessen  gerade erzeugtes Aktivierungsobjekt als direkte Umgebung  gebunden (Hülle, auf Englisch: closure). Diese Zuordnung bleibt erhalten, auch wenn die Prozedur später in einem anderen  Kontext aktiviert wird, etwa aus einem inneren Block heraus, oder gar an einer ganz anderen Stelle, nachdem sie als Parameter  weitergegeben wurde (in einigen Sprachen, darunter Modula 2, ist das möglich).


zurück | Inhalt | Index | vor | Vorlesung

Klaus Lagally, 22. Februar 2000, 19:36