Skip to main content

Zusammenfassung

In diesem Kapitel wird Programmvariablen ein gewisser Objektcharakter zugebilligt: sie können beispielsweise als Bestandteile von Zusammensetzungen auftreten (,organisierte Speicher‘). Die sich damit ergebenden Notwendigkeiten — etwa „Erzeugung“ von Variablen — , Besonderheiten hinsichtlich der ldentität wie auch die Möglichkeiten der Implementierung rekursiv definierter Objektstrukturen mittels organisierter Speicher werden erörtert. Die Bildung von Nexen von Variablen führt nach Übergang zu einem anderen semantischen Modell zur Einführung von Zeigern und der Bildung von Geflechten. Schließlich wird der Übergang zu Adressen diskutiert. Diese Begriffe führen an eine Grenze heran, hinter der die eigentliche Domäne der maschinennahen (System-)Programmierung erst beginnt. Für Weiterführungen und Ergänzungen siehe: G. Seegmüller, „Einführung in die Systemprogrammierung” (Mannheim 1974). Es kommt uns hier jedoch darauf an, zu zeigen, daß man zunächst keine spezielle Maschinenorganisation an die Spitze der Darlegung stellen muß.

“Machine language coding is ... the original dark craft from which we try to abstract ourselves, but into which we all lapse from time to time.” Turski 1978

“Von Neumann languages constantly keep our noses pressed in the dirt of address computation and the separate computation of single words.” Backus 1978a

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 49.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Referenzen

  1. In diesem Zusammenhang ist es wichtig, daß auf x außer der universellen Gleichheitsoperation keine weiteren Operationen vorausgesetzt sind. 2 „Puffer“ im engeren Sinn gebraucht.

    Google Scholar 

  2. Eine solche Konstruktion zu verbieten, würde nichts nützen, da man das Verbot stets durch Verwendung von Zusammensetzungen der Art bool array var µ umgehen kann.

    Google Scholar 

  3. In maschinennaher Programmierung wird dies durch den sog. „call by reference“ bewirkt.

    Google Scholar 

  4. In ALGOL 60 ist allerdings die Adressierung, die einheitliche Implementierung in einem einzigen linearen Speicher, unzugänglich.

    Google Scholar 

  5. Es ist zu vermuten, daß Turski, auf der Linie von Wirth und Hoare, dies stillschweigend annimmt.

    Google Scholar 

  6. Die Korrespondenz isaccessible(a, I)⇤⇥ val (â [I]) * m gilt nicht! Damit sie gilt, muß co durch das feste Sonderelement l ersetzt werden.

    Google Scholar 

  7. val bekommt die Bedeutung eines Operators, der den Inhalt eines Behälters liefert.

    Google Scholar 

  8. Die next-Komponente ist nicht von der Isequ var x entsprechenden Art pt s x, sondern von der Art var pt s x, entsprechend dem Umstand, daß wir für Zeiger Behälter vorgesehen haben.

    Google Scholar 

  9. ,record‘ wird noch heute häufig in diesem originalen Sinn gebraucht: ‘An object may refer to objects. For example, a record object refers to the objects that are components of the record’ (Liskov et al. 1977).

    Google Scholar 

  10. Allerdings wird nunmehr das Geflecht revertiert, vom „falschen“ Ende her, aufgebaut — die Implementierung ist nicht homolog.

    Google Scholar 

  11. Zum Vergleich mit Wirth 1975 (4.20).

    Google Scholar 

  12. Zum Vergleich mit Wirth 1975, Programm 4.1.

    Google Scholar 

  13. Haben Rechenvorschriften Zeiger als Ergebnisse, so sind für die Außenwelt nicht die Zeiger selbst, sondern die Inhalte derjenigen Zusammensetzung von Variablen, auf die sie deuten, von Belang. Die sog. „Ausgabe“ besteht dann in einer Rückverwandlung in eine entsprechende Zusammensetzung von Objekten.

    Google Scholar 

  14. Da nil als universeller Zeiger auf das „leere Wort“ eingeführt ist, ist deref nil also stets definiert, es ist ein 0-tupel von Variablen, also keine Variable, und weder ist ein Inhalt von deref nil definiert, noch eine Zuweisung an deref nil erlaubt.

    Google Scholar 

  15. In ALGOL 68, wo kein Unterschied zwischen Referenzen und Variablen besteht, ist dies allerdings nicht möglich. ALGOL 68-Konstruktionen der Systemprogrammierung werden dadurch mit einer zusätzlichen Referenzstufe belastet.

    Google Scholar 

  16. Seegmüller 1974, S. 205.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 1984 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Bauer, F.L., Wössner, H. (1984). Organisierte Speicher und Geflechte. In: Algorithmische Sprache und Programmentwicklung. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-05654-7_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-05654-7_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-05655-4

  • Online ISBN: 978-3-662-05654-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics